在近几年中,问答回答(QA)应用的快速发展彻底改变了我们获取信息的方式。无论是在搜索引擎、聊天机器人,还是在从大量主题数据中检索相关信息的应用程序中,QA应用的身影无处不在。
简而言之,QA应用的主要目的是在文本段落中找到对特定问题最合适的答案。早期的一些方法包括基于关键词的简单搜索或使用正则表达式,但很明显,这些方法并不理想。问题或文本可能包含打字错误,而正则表达式无法识别同义词,这对于查询中的某个词来说可能非常关键。因此,这些早期方法被新的、更为强大的方法所取代,特别是在Transformers和向量数据库时代。
本文将介绍构建现代且可扩展QA应用的三种主要设计方法:
抽取式问答 | 开放式生成问答 | 封闭式生成问答 | |
外部上下文的使用 | √ | √ | × |
答案获取方式 | 抽取 | 生成 | 生成 |
一:抽取式问答
抽取式问答系统由三个核心部件构成:检索模块、数据库、解析模块。
问题输入到检索模块。检索模块的目标是生成与问题相对应的嵌入向量。检索模块的实现方式多样,从简单的向量化方