赞
踩
在自然语言处理领域,问答系统(Question Answering,QA)是一个广泛且重要的研究方向,其目的是让计算机根据给定的上下文或者无上下文的情况下,回答用户提出的问题。QA系统广泛应用于搜索引擎、虚拟助手、在线客服等场景。
QA系统可根据各种维度进行分类:
按照输入类型:
按照上下文:
一个典型的QA系统通常由以下几个部分组成:
信息检索(Information Retrieval, IR)是一个广泛的领域,涉及到从大规模数据集中获取有用信息的过程。信息检索的目标是提供用户所需的信息,它通过分析和组织大规模的数据集(如文本、图像、音频、视频等),使用户能够快速找到所需的信息。文档检索是信息检索的一个子领域,具体指从文本文档集合中找到与用户查询最相关的文档。
文档检索(Document Retrieval, DR)是问答系统中的关键步骤,目的是从大量的文档库中找到与用户问题最相关的文档或段落。文档检索方法的发展从早期的简单关键词匹配到如今的复杂深度学习模型,极大提升了检索性能。
以下是文档检索的一些常用方法:
布尔检索(Boolean Retrieval):使用布尔逻辑(AND、OR、NOT)进行查询。例如,查询 “cat AND dog” 只返回同时包含"cat"和"dog"的文档。优点是简洁、直观,适用于结构化查询。缺点是无法衡量文档的相关性,返回结果较为生硬,用户体验较差。
词频-逆文档频率(TF-IDF):结合词频(TF)和逆文档频率(IDF)来衡量词语的重要性。TF表示某词在文档中的出现频率,IDF表示词语在整个文档库中的普遍程度。优点是相对简单有效,常用于初步检索和特征工程。缺点是忽略了词语的顺序和语义关系。
向量空间模型(Vector Space Model, VSM):将文档和查询表示为向量,以余弦相似度(Cosine Similarity)衡量文档与查询之间的相似度。计算方法是每个词在文档中的TF-IDF值作为向量的一个维度,然后整体作为文档向量表示。优点是较好的捕捉文档和查询的相似度。缺点是仍然忽略了词语的顺序和深层语义关系。
BM25(Best Matching 25):BM25是一种改进的概率检索模型,综合了词频(TF)和文档长度等因素,提供了一种加权检索方式。优点是对文档长度和词频进行了异常处理,提高了匹配精度。缺点是仍然依赖关键词匹配,对语义信息的捕捉较弱。
BM25
(
q
,
D
)
=
∑
i
=
1
n
IDF
(
q
i
)
⋅
f
(
q
i
,
D
)
⋅
(
k
1
+
1
)
f
(
q
i
,
D
)
+
k
1
⋅
(
1
−
b
+
b
⋅
∣
D
∣
avgdl
)
\text{BM25}(q, D) = \sum_{i=1}^{n} \text{IDF}(q_i) \cdot \frac{f(q_i, D) \cdot (k_1 + 1)}{f(q_i, D) + k_1 \cdot (1 - b + b \cdot \frac{|D|}{\text{avgdl}})}
BM25(q,D)=i=1∑nIDF(qi)⋅f(qi,D)+k1⋅(1−b+b⋅avgdl∣D∣)f(qi,D)⋅(k1+1)
神经信息检索(Neural Information Retrieval):利用深度学习方法,捕捉文档和查询的深层语义关系。常用模型有,DSSM(Deep Structured Semantic Model)采用深度网络分别将查询和文档表示为向量,然后计算它们之间的相似度。DRMM(Deep Relevance Matching Model)专注于局部匹配信息,逐级捕捉匹配的细节。
基于预训练语言模型的检索方法,以BERT为例,BERT预训练模型捕捉了深层次的语义信息。一种方法是直接BERT语义搜索,使用BERT将文档和查询转化为嵌入向量,通过计算向量相似度进行检索。还有一种方法是二阶段检索(Re-Ranking),第一阶段使用传统检索方法如BM25,第二阶段使用BERT进行文档重排序。优点是捕捉到更丰富的语义信息,提升检索精度。缺点是计算复杂度较高,查询时间较长。
答案提取是问答系统中的关键步骤,其目的是从检索到的文档或段落中识别并提取出能够回答用户问题的具体答案。答案提取的方法主要分为提取式(Extractive)和生成式(Generative)两大类。生成式方法在大模型之前效果有限,在大模型之后就成了核心了,以至于名字都已生成为核心了,就是大模型时代的检索增强生成(Retrieval Augmented Generation)。因此以下主要介绍抽取式答案提取,即机器阅读理解(Machine Reading Comprehension, MRC)。
传统方法包括:规则和模板匹配,基于事先定义的规则和模板识别答案。例如,通过正则表达式匹配日期、数字、实体等。基于词汇重叠和相似度计算:通过计算问题和文本中的词汇重叠度或相似度进行答案提取,典型方法包括TF-IDF、BM25等。
深度学习方法有:指针网络(Pointer Networks)通过端到端的神经网络直接从文本中选择答案的起始和结束位置。例如BiDAF(Bidirectional Attention Flow)模型。跨度提取(Span Extraction)使用模型预测文本中的一个连续片段作为答案。例如SQuAD数据集中广泛应用的模型。
预训练语言模型方法以BERT为例,BERT通过预训练的大规模语言模型,编码问题和文本的复杂语义关系,从而高效地进行答案提取。这类方法在各种公开QA数据集上表现优越,大大提升了答案提取的准确性。BERT的答案提取过程:
多跳问答(Multi-hop Question Answering, Multi-hop QA)是一种高级问答任务,它要求系统在不同的文档或文本片段之间进行信息整合,以回答复杂的、需要多步推理的问题。与单一文档或单步问答(单跳问答)相比,多跳问答要求系统能够处理更复杂的推理链条,正确理解和关联多个相关信息源。
多跳问答指的是这样一种情况:一个问题无法单靠一个文档或段落中的信息回答出来,而需要从多个文档或多个文本片段中提取和整合信息。例如,问“马云的公司创建于哪一年?”,可能需要从两个文档中分别找到“马云是阿里巴巴的创始人”和“阿里巴巴创建于1999年”,然后结合起来回答问题。再比如,问题:“莎士比亚的出生地和哥伦布发现新大陆的年份相差多少年?”需要的信息:1. 莎士比亚的出生年份(1564年)2. 哥伦布发现新大陆的年份(1492年)。最终回答:(1564-1492)= 72年
多跳问答的挑战:
多跳问答系统通常由多个模块组成,每个模块完成特定的任务。典型的系统架构包括以下步骤:
MCTest: A Challenge Dataset for the Open-Domain Machine Comprehension of Text
SQuAD: 100,000+ Questions for Machine Comprehension of Text
Adversarial Examples for Evaluating Reading Comprehension Systems
Reading Wikipedia to Answer Open-Domain Questions
Latent Retrieval for Weakly Supervised Open Domain Question Answering
HotpotQA: A Dataset for Diverse, Explainable Multi-hop Question Answering
Understanding Dataset Design Choices for Multi-hop Reasoning
Learning to Retrieve Reasoning Paths over Wikipedia Graph for Question Answering
自然语言处理中的对话系统(Dialogue Systems)或者聊天机器人(Chatbots)是能够与人类进行自然语言交互的计算机程序。它们可以用于多种场景,如智能客服、信息查询、虚拟助手等。
对话系统分类:
一个典型的对话系统通常包括以下几个主要组件:
常见的开源工具和框架:
早期的对话机器人是自然语言处理(NLP)的重要里程碑,这些系统虽然在技术上相对简单,但为现代智能聊天机器人和对话系统奠定了基础。
ELIZA由麻省理工学院的约瑟夫·温森鲍姆在1966年开发,工作原理主要是基于简单的模式匹配和替换规则进行对话。最著名的脚本是模仿罗杰斯心理疗法,这种对话模式常通过反复问用户问题来促进用户的自我表达。
示例对话
用户:我很不开心。
ELIZA:你为什么不开心?
特点
PARRY由斯坦福大学的肯尼斯·科尔比在1972年开发的,工作原理是使用一组逻辑规则和推理机制来生成对话。PARRY被设计成模仿偏执型精神分裂症患者的思维和行为。
示例对话
用户:你认为有人在跟踪你吗?
PARRY:是的,我感觉很多人都在监视我。
特点
Racter由多伦多大学的William Chamberlain和Thomas Etter在1984年开发的,工作原理主要是使用简单的句法结构来生成句子,尝试模拟人类逻辑。Racter基于预定义的文法规则和词汇生成文本。
示例对话
用户:你好,Racter。
Racter:你好,我是Racter,你今天感觉怎么样?
特点
Wizard of Wikipedia: Knowledge-Powered Conversational agents
Task-Oriented Dialogue as Dataflow Synthesis
A Neural Network Approach to Context-Sensitive Generation of Conversational Responses
A Diversity-Promoting Objective Function for Neural Conversation Models
Recipes for building an open-domain chatbot
机器翻译(Machine Translation, MT)是自然语言处理中的一个重要领域,旨在利用计算机自动将一种语言的文本翻译成另一种语言。经过多年的研究和发展,机器翻译经历了几个重要的阶段,从最初的规则基础方法到如今的深度学习模型。
特点:
基于统计的方法(Statistical Machine Translation, SMT):在20世纪90年代和21世纪初,统计机器翻译成为主流。SMT利用统计模型来自动学习源语言和目标语言之间的翻译规则,通常基于大量的平行文本(Parallel Corpora)。
核心技术:
优点:
缺点:
基于神经网络的方法(Neural Machine Translation, NMT):进入2010年代,深度学习技术的兴起带来了神经机器翻译的大发展。NMT通过训练神经网络来自动完成翻译任务,取得了显著的进展。
核心技术:
优点:
著名系统:
近期发展
随着计算能力和算法的进一步发展,机器翻译将在以下几个方面继续提升:
HMM-Based Word Alignment in Statistical Translation
Pharaoh: a beam search decoder for phrase-based statistical machine translation models
Minimum Error Rate Training in Statistical Machine Translation
Revisiting Low-Resource Neural Machine Translation: A Case Study
In Neural Machine Translation, What Does Transfer Learning Transfer?
Multilingual Denoising Pre-training for Neural Machine Translation
Large Language Models Are State-of-the-Art Evaluators of Translation Quality
文本摘要(Text Summarization)是自然语言处理中的一个重要任务,旨在自动生成简洁明了的摘要,从而概括出原始文本的主要内容。文本摘要技术主要分为两大类:抽取式摘要(Extractive Summarization)和生成式摘要(Abstractive Summarization)。
抽取式摘要通过选择和提取原文中的关键句子或段落生成摘要,而不改变原文的文字顺序和表述方式。
核心技术:
优点:
缺点:
生成式摘要通过理解原文并生成新的语句,从而用简洁的语言概括出原文的核心内容。
核心技术:
优点:
缺点:
随着深度学习和预训练语言模型的发展,文本摘要技术取得了显著进步。近年来的研究趋势和方向包括:
文本摘要技术在新闻、社交媒体、法律、医学等领域有着广泛的应用前景。未来的发展可能集中在:
The use of MMR, diversity-based reranking for reordering documents and producing summaries
LexRank: Graph-based Lexical Centrality as Salience in Text Summarization
A Scalable Global Model for Summarization
Revisiting the Centroid-based Method: A Strong Baseline for Multi-Document Summarization
PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization
Evaluating Factuality in Generation with Dependency-level Entailment
Asking and Answering Questions to Evaluate the Factual Consistency of Summaries
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。