zoukankan      html  css  js  c++  java
  • 基于SmartQQ协议的QQ聊天机器人-7

    本节的主题是:记录遇到的错误:

    1. SQLite报错

    1. 很奇葩的错误:
      当时在main里面测试OK,但是把它封装成一个包,外部调用它,就报下面的错误:
    SQL logic error or missing database no such table: t_answers
    

    原因是:SQLite如果不是Main中执行,必须用绝对路径,不可以相对路径
    参考:https://blog.csdn.net/friendan/article/details/52598395

    2. 想到后期改善交互的一个方式:

    1. 目前的困境:小薇项目依托的SmartQQ组件本身只支持文字,图片、链接及其他任何带有交互性的方式

    2. 我想到一个比较好的交互方式:今天使用滴滴的提问工单模块,它会把问题分级分层次,等价于人工导引用户对“提问进行分级,打标签”,这就大大降低了“分词识别关键字的压力”。我后面机器人的设想如下:

      1. 用户发送一个问题
      2. QQ机器人识别出其中的关键字集合,返回一个提问模板:
          您想问是哪些问题?:A类、B类、C类 {三个链接}
      
      3. 用户点击一个A类的链接
      
      4. 机器人继续返回一堆提问的模板,您是想问A.1,A.2,A.3,等
      
      5. 用户继续交互。
      
      依次问答,就能逐步细化“问题的答案”,也能提高精确度。
      
    3. 警醒:后面真正接入QQ群,用户多了,一定有并发,就要考虑并发地为每个用户提供服务,防止相互间的干扰。

    4. 修改一个遗留问题:之前处理跑【QQ机器人死循环:自问自答引起的】的bug时,把小薇机器人的QQ号写死了,现在改成配置文件。见QQService.java下面的onQQGroupMessage这个函数。把s_botId的input改成从配置文件中读。

  • 相关阅读:
    iOS开发
    Xcode
    UITextField
    iOS
    过场动画
    iOS 网络状态监听和检查,
    线程互动,GCD小应用,(功能实现并代码聚集---加载动画,弹框AlertView定时消失。)
    drawRect: 小注
    FMDB_and_Sqlite3
    UIGestureRecognizer手势。
  • 原文地址:https://www.cnblogs.com/LS1314/p/9042230.html
Copyright © 2011-2022 走看看