工作原理
聊天机器人有三个重要模块:提问处理模块、检索模块、答案抽取模块
- 提问处理模块要做三项重要工作:查询关键词生成、答案类型确定、句法和语义分析。
查询关键词生成:从提问中提取出关键的几个关键词 ,再关联出几个扩展词,形成原始资料
答案类型确定:确定提问属于哪一类
句法和语义分析:对问题的深层含义做剖析,比如问题是:聊天机器人怎么做?那么就要知剖析出问的是聊天机器人的研发方法
- 检索模块
和搜索引擎类似,就是根据查询关键词进行信息检索,返回句子或段落,形成下一步要处理的原料 。
- 答案抽取模块
通过分析和推理从检索出的句子或段落里抽取出和提问一致的实体,再根据概率最大对候选答案排序 ,选出最佳结果
关键技术
1)海量文本知识表示:网络文本资源获取、机器学习方法、大规模语义计算和推理、知识表示体系、知识库构建;
2)问句解析:中文分词、词性标注、实体标注、概念类别标注、句法分析、语义分析、逻辑结构标注、指代消解、关联关系标注、问句分类(简单问句还是复杂问句、实体型还是段落型还是篇章级问题)、答案类别确定;
3)答案生成与过滤:候选答案抽取、关系推演(并列关系还是递进关系还是因果关系)、吻合程度判断、噪声过滤
技术方法
基于检索的技术:即信息检索技术,简单易实现,但无法从句法关系和语义关系给出答案,即搞不定推理问题
基于模式匹配的技术:把问题往已经梳理好的几种模式上去靠,推理简单,但是模式涵盖不全
基于自然语言理解的技术(首选):把浅层分析加上句法分析、语义分析都融入进来做的补充和改进
基于统计翻译模型的技术:把问句里的疑问词留出来,然后和候选答案资料做配对,能对齐了就是答案,对不齐就pass