FAQ相关论文阅读

汇总介绍

给出rank-k的弊端
1 用户需要浏览长list
2 没有在语义上分组而是简单地组织
3 很多个FAQ可能回答课问题。用户需找出其中最接近的回答
4 可能答案在多个文档中被分散的回答
任务:对候选进行排序,返回最高得分的那个
CQA(社区问答)和FAQ的区别
1 CQA的问题比query更长,有主题和主体
2 CQA与一组用户相关的,FAQ则不是
3 CQA 一个问题多个答案,FAQ仅一个
4 CQA用户上下文,FAQ不是
FAQ挑战
1.问答文本较短,由于篇幅较短且上下文有限,因此很难弥合用户查询与FAQ问题之间的词汇和语义差距
2.非正式表述、领域特异性、缩写和正式口语术语不匹配,可能难以准确理解用户问题。例如,考虑“我如何密封我的汽车的储气罐中的洞”和“如何在我的货车燃料舱中修补漏洞”的问题,这在语义上是匹配的,但是表现出低的词汇重叠和正式的口语不匹配。

论文list

名称:Sequence-to-Sequence Learning on Keywords for Efficient FAQ Retrieval
时间:IJCAI 2021
FAQ挑战
1.问答文本较短,由于篇幅较短且上下文有限,因此很难弥合用户查询与FAQ问题之间的词汇和语义差距
2.非正式表述、领域特异性、缩写和正式口语术语不匹配,可能难以准确理解用户问题。例如,考虑“我如何密封我的汽车的储气罐中的洞”和“如何在我的货车燃料舱中修补漏洞”的问题,这在语义上是匹配的,但是表现出低的词汇重叠和正式的口语不匹配。
前人工作
FAQ检索的初始工作依赖于基于文本相似性的手动特征工程,使用解析、编辑距离、TF-IDF度量、最长公共子序列、匹配模板构造],以及统计方法等等。
之后研究了在排名模型中使用查询问题和查询答案向量空间的相似性。然而,请注意,在不同答案的重要部分可能相似的情况下,过分强调查询答案的相似性将是低效的。此外,答案可能会根据流程和手册的更新而变化,这可能需要对整个框架进行成本高昂的重新培训。
诸如BERT等语境化语言模型已被证明能够捕捉语义关联性,并且此类嵌入技术已与传统IR技术结合用于常见问题检索。在这种情况下,通过使用entityconcept“anchors”,还研究了知识图在问答(Q-A)中的使用。深度学习通过构建高维潜在特征空间,在分类任务中取得了显著的成功。
为了解决FAQ系统中基于注意力的深度学习模型,查询扩展和查询生成中上下文有限的问题,最近进行了研究。还研究了通过sequenceto序列对文件进行排序。
TI-S2S检索方法
步骤一:预处理
对每一个Q,去除停用词以及词根化。接着-创建(手动或通过自动转述技术)或提取(通过重复检测或相似性度量从查询日志中)问题的几个变体
这些变体也会被加到FAQ中,一起来用作监督训练

可实现方案:
聚类
1所有query表示成向量,存起来,然后拿其中一个的向量,去找最相近的,卡个阈值
2 原query和召回数据必须实体一致
3 加一些后处理规则:
例如公倍数,偶数,一氧化碳,二氧化碳等

步骤二:学习意图关键词:
将相同意思的聚成一个组,包括原文题和变体问题,以及聚类的问题
提取tf-idf大于某一阈值的词作为意图关键字
这些意图关键字捕获了问题组的上下文和主题。因此,这些意向关键字为每组类似问题启用了“共同代表序列”,为后续模块培训中的薄弱监督提供了线索。
步骤三:seq2seq学习:
学习question到意图关键词。
使用tearcher-forcing方法,输入为word2vecb表示,使用注意力机制
例如:image, photo 将会被统一为picture。告别语义鸿沟
步骤四:语义转换:
将每个question转换为(Q,Q’,A)三元组格式表示,
Q’为意图关键词的语义表示,来自seq2seq模型
Q’的目标是和语义表示完全相似。因此loss是减小这种误差
步骤五:检索:
quer预处理去除停用词以及词根化
计算q’,意图关键词表示
q’与所有Q’对比,得到一个score
score计算:Word Mover’s Distance以及编辑距离,因此预测代表性序列的顺序并不重要,我们的框架对其不敏感。这为我们的框架提供了灵活性,并且不会在seq2seq生成过程中强制执行严格的顺序。此外,我们的框架的模块化结构使其能够轻松适应具有算法变体的不同应用场景——Seq2Seq学习的注意机制或不同相似性度量的组合。
GTI-S2S变种
高领域特异性和噪声训练过程的场景
采用额外的RNN模型,通过实体重叠、编辑距离和两个q之间的embedding相似性等特征 预测问题相关性。
RNN为二分类器,根据标记是否是原问题和变种问题来训练
quer预处理去除停用词以及词根化【相同】
计算q’,意图关键词表示【相同】
q和Q对比score:由RNN预测得到,获取topk Q作为候选【不同】
q’与对应Q’对比,得到一个score【不同】

名称:DTAFA- Decoupled Training Architecture for Efficient FAQ Retrieval
时间:ACL 2021
训练时
EQ-EQ分类模型:
输入:原问题对应的释义变体问题(EQ)
输出:原问题的类别
pair-wiseEQ-QU预处理模块:
得到:{⟨EQ,QU,P⟩}三元组
EQ-QU相似性模块:
输入:EQ + QU
输出:相似度分数P
测试时
EQ-EQ分类模型:query 分类为对应的类别topk.
每个候选问题是一个类别
EQ-QU相似性模块:(查询问题,topk对应的候选问题,topk对应的候选类别分数)
取最高相似度,候选相似问题,为最终问题
FAQ相关论文阅读_第1张图片

名称:Unsupervised FAQ Retrieval with Question Generation and BERT
时间:ACL 2020
解决问题:标注数据Q-q对少的问题
解决方法:使用GPT-2等生成模型生成q 的相似q’
召回方法1:Elasticsearch , (q+a) 建立索引, BM25召回topk
召回方法2:滑窗q+a, 根据BM25相似度最高作为score排序
QA模型:(q, a, a’)训练模型,q-a为一个问答对,a’为其他的answer负例。进一步:(q+a)召回的topk选择作为负例
QQ模型:(p, q, q’)训练模型,p为GPT2+过滤+topk选择
GPT2:训练时:a1[SEP]q1[EOS]a2[SEP]q2[EOS]。。。作为输入
预测时:a1[SEP]作为输入,得到p
模型12融合方法
combsum:直接将score【召回方法2,QA模型, QQ模型】相加
poolrank:先做combsum,分数高的再 经过RM1(非监督模型)排序

名称:Optimized Transformer Models for FAQ Answering
时间:2020
给出rank-k的弊端
1 用户需要浏览长list
2 没有在语义上分组而是简单地组织
3 很多个FAQ可能回答课问题。用户需找出其中最接近的回答
4 可能答案在多个文档中被分散的回答
任务:对候选进行排序,返回最高得分的那个
CQA(社区问答)和FAQ的区别
1 CQA的问题比query更长,有主题和主体
2 CQA与一组用户相关的,FAQ则不是
3 CQA 一个问题多个答案,FAQ仅一个
4 CQA用户上下文,FAQ不是
BILSTM基线
query和question共享参数, triple塔模型
FAQ相关论文阅读_第2张图片
sym-bilMPM模型
bilstm, match block均共享参数
FAQ相关论文阅读_第3张图片
BERT/MT-DNN
输入拼接
MT-DNN,further pretrain bert大规模跨任务数据
FAQ相关论文阅读_第4张图片
MMT-DNN
encoder1 是l层模型,encoder2是12-l层模型
(query, question, answer) 输入encoder1
(query, question) (query, answer)输入encoder2
加粗数据用mask by zero代替
两个encoder2共享参数FAQ相关论文阅读_第5张图片
模型蒸馏压缩

FAQ相关论文阅读_第6张图片
效果对比:MMT-DNN效果最好:
FAQ相关论文阅读_第7张图片
为什么用2,3,4层蒸馏
因为作者实验证明2,3,4层效果最好FAQ相关论文阅读_第8张图片
错误分析FAQ相关论文阅读_第9张图片
FAQ相关论文阅读_第10张图片

名称:FAQ_Retrieval_using_Query-Question_Similarity_and_BERT-Based_Query-Answer_Relevance
时间:ACM 2019
q-Q TSUBAKI 相似度:当query很长的时候,倾向于大。因此做归一化:
Count (ContentWords) × k1 + Count (DependencyRelations) × k2
q-A BERT模型相关性:Q,A, A-,,二分类任务
策略融合:
获得bert q-a的topk
对于TSUBAKI分数大于阈值的,直接使用TSUBAKI分数
否则:Similarity(q,Q) × t + Relevance(q,A)作为分数

FAQ相关论文阅读_第11张图片

名称:Query Expansion with Neural Question-to-Answer Translation for FAQ-based Question Answering
时间:ACM 2018
早期的研究提出了通过增强相似度计算和预处理来提高FAQ检索性能的技术。
FAQ检索系统仍然存在一个关键问题:查询和FAQ之间的词汇差异。以前技巧基于单词或短语对,将问题与答案对齐。
本文提出查询扩展模型弥补之间的差异
查询扩展模型是一种翻译模型,为输入查询输出0到N个单词。该模型基于转换函数f将查询转换为单词。函数f通过学习过程使用训练问答语料库进行训练。
处理流程:
FAQ相关论文阅读_第12张图片
aggresive score:
Sq(Q,d(i,q)) 为query和question之间的相关度分数,余弦相似度
Sa(Q′,d(i,qa)) 为扩写qa和doc[Q&A]之间的相关度分数,Okapi BM25
在这里插入图片描述
问题扩展模型
emdedded:et =Wext; We ∈ RE×|V |
projection:hp=Wp et; Wp ∈ RE ×E
content: hc = tanh(Wc hp) ;Wc ∈ RE ×E
hidden state : hj = A乘积 hc
FAQ相关论文阅读_第13张图片> 数据用来训练扩写模型:
原输入为:question, 输出为:answer
优化1:answer不一定是符合语法的,而是关键字的。最关键的字先出
判断是否关键:训练数据的每个单词的 tf-idf score
对输入判断idf 来 限制输入长度
优化2:如果qa中的词没有在目标文档中出现,不使用这个词
因为训练时间随着词的数量增多而增加

名称:FAQ-based Question Answering via Word Alignment
时间:2015
1 计算query 和候选Q的相似度矩阵。计算出对齐矩阵。如下图所示
sim(qi, cj ) = max(0, cosine(vqi, vcj ))
FAQ相关论文阅读_第14张图片
2 抽取特征,bootstrap训练抽取得到更好的特征
如上:align3 = 4; sim3 = 0.6
• 相似度similarity:在对齐数据上做相似度计算 在这里插入图片描述
• 分散度dispersion:
FAQ相关论文阅读_第15张图片
• 惩罚penalty:
在这里插入图片描述
• 5个重要单词5 important words:
在这里插入图片描述
• reverse: query和候选Q反着计算上述特征
3.提取特征
•步骤1: 计算所有的候选,如果第一个候选是相关的,直接返回.
•步骤2: 获得第一个相关的候选{C+}其之前的候选作为 {C−}
•步骤3: 计算{C+}的特征{F+},{C-}的特征{F-},{F+}只保留未出现在{F-}中的特征
我们使用此方法提取一组稀疏特征,然后将这些特征添加到模型中并重新训练模型。此过程可以反复多次,直到获得稳定的性能。我们的特征模板包括:对齐查询词、对齐候选词和对齐查询候选词对。在我们的实验中,性能可以通过在10次迭代中,最终模型通常包含少于1500个稀疏特征。
3 优化loss, 除了二分类结果还有以下优化loss
FAQ相关论文阅读_第16张图片

名称:TSUBAKI: An Open Search Engine Infrastructure for Developing New Information Access Methodology
时间:2011
无限制的API:TSUBAKI提供的API没有任何限制,例如每天有限的API调用数和每个查询返回的API结果数,这是现有搜索引擎API的典型限制。因此,TSUBAKI API用户可以开发处理大量网页的系统。This特性对于处理具有长尾特性的Web非常重要。
透明和可复制的搜索结果:TSUBAKI不仅公开其排名指标,还公开其源代码,还通过修复已爬网的网页集合提供可复制的搜索结果。因此,TSUBAKI保持其架构的透明度,并且使用API的系统始终可以获得以前生成的搜索结果.
用于共享预处理网页的Web标准格式:TSUBAKI将爬网网页转换为Web标准格式数据。Web标准格式是TSUBAKI用于共享预处理网页的数据格式。
web标准格式数据。提取的句子用标记括起来,句子的分析结果用标记括起来。网页中的句子及其分析结果可以通过查看与页面对应的标准格式数据中的这些标记来获得。
由deep NLP生成的索引:TSUBAKI不仅通过单词索引所有已爬网的网页,而且还根据网页内容的含义检索网页的依赖关系。
FAQ相关论文阅读_第17张图片
Word Index
同义表达的处理。
利用日本词法分析器JUMAN(Kurohashi et al.,1994)的结果。
JUMAN将句子分割成单词,并同时给出单词的代表形式。
TSUBAKI通过单词代表形式对网页进行索引。这允许我们检索包含不同拼写的查询的网页。
TSUBAKI还为单词位置索引,以提供精确短语搜索等搜索方法。单词位置反映网页中出现在单词之前的单词数。例如,如果页面包含单词,则出现在页面开头的单词和最后一个单词分别被指定为0到N-1分别作为他们的索引
Dependency Relation Index
利用句法的依赖关系,为依赖建立索引
搜索算法
OKAPI BM25
TSUBAKI运行在负载平衡服务器、4台主服务器和27台搜索服务器上。从1亿个网页生成的单词和依存关系索引被分别划分为100个部分,每个部分分配给搜索服务器。简言之,每个搜索服务器的单词和依存关系索引最多由f生成我们的百万页。
步骤1:负载平衡服务器将用户的查询转发到最空闲的主服务器。
步骤2:主服务器从给定的查询中提取索引表达式集,并将和搜索条件集(例如,单词之间的逻辑运算符(即和/或))传输到27个搜索服务器。
步骤3:搜索服务器使用单词和依赖关系索引,根据和搜索条件集检索网页。
步骤4:搜索服务器计算每个检索到的文档的相关性分数,然后将文档及其分数返回给主服务器。
步骤5:主服务器根据返回的文档的计算分数对其进行排序。
步骤6:将最重要的文档作为搜索结果呈现给用户。

你可能感兴趣的:(自然语言处理,自然语言处理,检索,FAQ)