第一节 倒排表
1、recap: retrieval-based QA system:
对于一个question,计算知识库中pair中问题与当前问题的相似度。时间复杂度为O(N)*每次相似度计算的复杂度。当N太大时,实用性不强
核心思路:层次过滤思想
先筛除掉完全不可能是答案的那些样本。
只有少部分的question会与输入question做余弦相似度。
使用层级过滤思想,要求从上到下复杂度逐渐递增
2、解决问答系统复杂度过高的问题:
3、引入Inverted Index——倒排表
- 统计文档库中出现的所有的词
- 为每一个词创建一个列表,列表中元素为出现了该词的文档名称
- 当用户输入一个问题时,将这个问题做分词后,依次找到对应的词的列表,返回两个列表的交集(即出现a,也出现b词的文档名称)
4、在问答系统中使用倒排表:
- 过滤:保留那些至少包含了一个问题中其中一个单词的pair。
- 如果第一层过滤后去除的pair数量不理想,可以给予更严格的规则,如保留下的pair 的 问题中包含了至少两个输入问题的单词。
第二节:Noisy Channel Model
给定一些信号,将信号转为文本。
1、机器翻译
English====>Chinese
a r g m a x p ( 中 文 ∣ 英 文 ) ∝ p ( 英 文 ∣ 中 文 ) p ( 中 文 ) argmax p(中文|英文) \propto p(英文|中文)p(中文) argmaxp(中文∣英文)