FAQrobot 聊天机器人笔记

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


 

 




转载于:https://www.cnblogs.com/combfish/p/7132782.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值