FAQrobot 聊天机器人笔记

这是一个简单的基于问词匹配的自动问答,获取与用户问句Q1最匹配的知识库中的问句Q2,Q2的答案就是Q1的答案。
首先需要准备一个知识库,在这个例子中,知识库以一个txt的形式存在,且主题是减肥
1. 读取知识库
    共18个与减肥相关的话题 
2. 读取词向量(但是词向量在此处感觉没什么用的样子)
3. 用户输入问句  
4. 对用户输入的问句断句,并对所断到的词判断词性
 5. 遍历知识库中的每一个问句,得到其与用户问句的相关性,挑选相关性最大的
 6. 相关性的计算方法:参数:用户问句a的断句后的list(见4中的图),用户问句b及其分词,词性的权重
     
       得到a、b的交集的词,求和这些词对应的词性权重,得到sim_weight
       求和a中的词的词性权重,得到total_weight
       return sim_weight / total_weight if total_weight > 0 else 0
  7. 挑选6中值最大的b的答案返回,6中的值<0.1,则返回
      '抱歉,我没有理解您的意思。请您询问有关减肥的话题。'


 

 




posted @ 2017-07-07 16:12  梳下鱼  阅读(990)  评论(0编辑  收藏  举报