【AI大模型技术】8.大模型文本理解与生成
更多内容:XiaoJ的知识星球
目录
- 8.大模型文本理解与生成
- 8.1 Information Retrieval(IR,信息检索)
- 8.1.1 formulation:
- 8.1.2 Evaluation Metrics(评估指标):
- 8.1.3 传统IR-BM25
- 8.1.4 神经网络IR
- 8.2 Question Answering(问答系统)
- 8.3 Text Generation(文本生成)
- 8.3.1 文本生成任务
- 8.3.2 Neural text generation(神经网络文本生成)
- 8.3.3 Control Text Generation(控制文本生成)
- 8.3.4 文本生成评测
.
8.大模型文本理解与生成
NLP应用分类:
- Information Retrieval(信息检索):
- 它涉及从大量数据中检索出用户需要的信息。涉及到文本挖掘和数据分析。
- Question Answering(问答系统):
-
它能够理解自然语言问题并提供准确的答案。
-
这些系统可以基于知识库、搜索引擎结果或文档集合来回答问题。
- Text Generation(文本生成):
- 它涉及到使用算法自动创建文本。这可以包括从简单的文本模板填充到复杂的创造性写作。

8.1 Information Retrieval(IR,信息检索)
8.1.1 formulation:

8.1.2 Evaluation Metrics(评估指标):
-
准确率(Precision):衡量在所有检索出的文档中,相关文档所占的比例。
-
召回率(Recall):衡量在所有相关文档中,被检索出的文档所占的比例。
-
MRR(Mean Reciprocal Rank,平均倒数排名):
a. 计算被正确检索的文档的排名的倒数的平均值,再对所有查询的平均值取均值。
b. 公式: M R R = 1 ∣ Q ∣ ∑ i = 1 ∣ Q ∣ 1 rank i MRR = \frac{1}{|Q|} \sum_{i=1}^{|Q|} \frac{1}{\text{rank}_i} MRR=∣Q∣1∑i=1∣Q∣ranki1- ∣Q∣ 表示查询的总数。
- rank_i 表示第 i 个查询的第一个正确答案的排名。

-
MAP(Mean Average Precision, 平均准确率均值):
a. 计算每个查询的平均准确率(Average Precision, AP),然后对所有查询的AP值取平均。
b. 公式&示例:

- NDDCG(Normalized Discounted Cumulative Gain,归一化折损累计增益):(存在疑问。。。)
a. Discounted Cumulative Gain(DCG):考虑排序顺序的因素,使得排名靠前的item增益更高,对排名靠后的item进行折损。
b. NDCG:由于不同用户的查询结果列表长度可能不同,直接比较DCG没有意义。因此,需要对DCG进行归一化处理,得到NDCG。
c. 公式&示例:


8.1.3 传统IR-BM25
1)Best Matching 25(BM25):
-
是一种经典的算法,用于计算查询(query)与文档之间的相似度得分。
-
是TF-IDF(Term Frequency-Inverse Document Frequency)算法的改进版。
2)关键要素:
-
Term Frequency(TF,词频):文档中某个词项的出现次数。
-
Inverse Document Frequency(IDF,逆文档频率):反映了一个词项在所有文档中的普遍程度。如果一个词项在多个文档中出现,那么它的IDF值就会较低。
3)公式:
f ( q , d i ) = ∑ i = 1 n IDF ( q i ) ⋅ TF ( q i , d i ) ⋅ ( k + 1 ) TF ( q i , d i ) + k ⋅ ( 1 − b + b ⋅ ∣ d i ∣ avgdl ) f(q, d_i) = \sum_{i=1}^{n} \operatorname{IDF}(q_i) \cdot \frac{\operatorname{TF}(q_i, d_i) \cdot (k + 1)}{\operatorname{TF}(q_i, d_i) + k \cdot (1 - b + b \cdot \frac{|d_i|}{\text{avgdl}})} f(q,di)=i=1∑nIDF(qi)⋅TF(qi,di)+k⋅(1−b+b⋅avgdl∣di∣)TF(qi,di)⋅(k+1)
-
k 和 b 是超参数,用于优化算法的性能。
-
∣d_i∣ 表示文档 d_i 的长度,即该文档中的单词数。
-
avgdl 表示文档集合中所有文档的平均长度,用于标准化文档长度的影响。
4)问题:
BM25算法在信息检索中面临两个主要问题:
-
Vocabulary mismatch(词汇不匹配):
- BM25依赖于词汇的直接匹配,无法识别同义词或不同表达方式的相同概念,可能导致漏掉相关文档。
-
Semantic mismatch(语义不匹配):
- BM25不考虑词的深层含义,无法区分相同词汇的不同意义,可能将不相关文档误判为相关。
8.1.4 神经网络IR
神经网络IR:
-
是指利用神经网络技术进行信息检索的一种方法。
-
通过训练神经网络模型,可以实现对文本数据的深度理解和分析,从而提高信息检索的准确性和效率。
两种模型架构:
-
Cross-Encoder: Cross-encoder模型将两个句子拼接在一起,并通过一个语言模型来预测它们之间的相似度。这种模型可以充分利用句子之间的语义交互,因此在句子级别的任务上表现非常好。然而,它的缺点在于不产生独立的句子嵌入,这意味着在信息检索场景下,无法预先计算文档嵌入并进行有效的比较或索引,导致在实际应用中的效率较低。Cross-encoder适合于需要高精度比较的场景,例如医疗或法律文档的细微差异比较。
-
Dual-Encoder: Dual-encoder模型,也称为Sentence Transformer,为每个句子独立产生嵌入,这些嵌入可以被预先计算并用于索引,从而在信息检索任务中实现更快的检索速度。虽然在准确性上可能略逊于Cross-encoder,但其效率和实用性在现实世界的应用中更为突出。Dual-encoder适合于需要快速检索大量数据的场景,例如搜索引擎或推荐系统。
.
8.2 Question Answering(问答系统)
机器问答系统(Question Answering, QA)旨在使计算机能够理解自然语言提出的问题,并提供准确、相关的答案。
几种主要类型及其特点:
- 机器阅读理解(Machine Reading Comprehension):
-
检索到相关文档后,让机器代替人类去从相关文档中抽取答案。
-
形式包括完形填空、多项选择类型以及抽取式的阅读理解,其中答案隐藏在文章中。
- 开放式QA(Open-domain QA):
-
假设没有给出相关的文章,模型必须自己去寻找相关的文章,通常从维基百科中寻找。
-
目标是建立一个端到端的QA系统,只需要喂给它问题就能得到答案。
-
开放式QA可以是生成式的,也可以是基于检索的,由Document retriever和Document reader组成。
- 基于知识库的问答系统(Knowledge-based QA):
-
依赖于一个预定义的知识库,包含大量的事实、关系和其他结构化信息。
-
将用户的问题映射到知识库中的相关实体和关系,从而找到或生成答案。
- 基于对话的问答系统(Dialog-based QA):
-
能够处理多轮对话,维护和利用对话上下文,提供更有深度和持续性的回答。
-
它们通常使用RNN、Transformer或其他深度学习架构来维护和利用对话上下文。
.
8.3 Text Generation(文本生成)
8.3.1 文本生成任务
-
Data-to-Text: 将数据转换为自然语言文本,使信息更易于理解和交流。
-
Dialogue(对话): 开发能够与人类进行自然对话的系统。
-
Machine Translation: 将一种语言的文本翻译成另一种语言。
-
Poetry Generation: 创作诗歌,通常需要一定的创造力和对语言的敏感度。
-
Style Transfer: 改变文本的风格,同时保留原始信息。
-
Storytelling: 创作故事,通常需要情节构建、角色发展和情感投入。
-
Summarization: 将长文本压缩成简短的摘要,同时保留关键信息。
8.3.2 Neural text generation(神经网络文本生成)
1)Language Modeling(语言模型):预测文本序列的概率分布的模型。
-
Conditional Language Modeling(条件语言模型):给定条件或上下文预测文本的概率分布。
-
Seq2Seq(序列到序列模型):一种条件语言模型,组成如下:
-
编码器:读取输入序列并将其转换为固定长度的上下文向量。
-
解码器:基于编码器转换的上下文向量生成输出序列。
-
-
Text-to-Text-Transfer-Transformer (T5):基于 Transformer 的预训练语言模型。
- 将所有文本相关的任务,统一为文本到文本的格式。
-
-
Autoregressive Generation(自回归生成):
-
一种文本生成方法,其中每个词的生成依赖于之前生成的词的概率分布。
-
例子包括n-gram模型和基于RNN的模型。
-
-
Non-Autoregressive Generation(非自回归生成):
-
一种文本生成方法,它不依赖于逐步生成每个词,而是一次性生成整个序列。
-
例子包括Transformer的解码器部分,它使用注意力机制来并行生成整个序列。
-
2)Decoding strategy(解码策略)
-
Greedy Decoding 贪心解码:每一步选择概率最高的词。
-
Beam Search 束搜索:每一步考虑多个候选词。
-
Sampling Methods 采样方法:模型以一定的概率选择不同的词。
-
Pure Sampling 纯采样:完全基于概率分布来选择词。
-
Top-n Sampling Top-n采样:只考虑概率最高的n个词。
-
Nucleus Sampling 核心采样:根据概率分布的核心部分来选择词。
-
8.3.3 Control Text Generation(控制文本生成)
Prompt方法:涉及在输入文本中添加特定的提示或模板,以引导模型生成特定风格或主题的文本。
修改概率分布:是一种通过调整模型在生成每个词时的概率分布来控制文本生成的方法。
修改模型结构:涉及到对模型的架构进行调整,以改变其生成文本的方式。
8.3.4 文本生成评测
1)Common metrics(通用指标):
-
BLEU(双语评估辅助)
-
易于计算
-
不考虑语义和句子结构
BLEU = B P × exp ( ∑ n = 1 N w n × log p n ) , B P = { 1 l c > l r exp ( 1 − l r l c ) l c ≤ l r \text{BLEU} = BP \times \exp\left(\sum_{n=1}^{N} w_{n} \times \log p_{n}\right), \quad BP = \left\{\begin{array}{cc}1 & lc > lr \\ \exp\left(1 - \frac{lr}{lc}\right) & lc \leq lr\end{array}\right. BLEU=BP×exp(n=1∑Nwn×logpn),BP={1exp(1−lclr)lc>lrlc≤lr
-
-
PPL(困惑度)
- 评估概率模型预测样本的效果。
perplexity ( S ) = p ( w 1 , w 2 , w 3 , … , w m ) − 1 / m \text{perplexity}(S) = p(w_{1}, w_{2}, w_{3}, \ldots, w_{m})^{-1/m} perplexity(S)=p(w1,w2,w3,…,wm)−1/m
= ∏ i = 1 m 1 p ( w i ∣ w 1 , w 2 , … , w i − 1 ) m = \sqrt[m]{\prod_{i=1}^{m} \frac{1}{p(w_{i} \mid w_{1}, w_{2}, \ldots, w_{i-1})}} =mi=1∏mp(wi∣w1,w2,…,wi−1)1
2)翻译和摘要的常用度量:
-
ROUGE(面向概要评估的召回导向辅助工具)
- 解决遗漏翻转问题(低召回率)
ROUGE- N = ∑ S ∈ { 参考摘要 } gram N ∈ S ∑ Count match ( gram N ) ∑ S ∈ { 参考摘要 } gram N ∈ S ∑ Count ( gram N ) \text{ROUGE-}N = \frac{\sum_{S \in \{\text{参考摘要}\} \text{gram}_N \in S} \sum_{\text{Count}_{\text{match}}(\text{gram}_N)}}{\sum_{S \in \{\text{参考摘要}\} \text{gram}_N \in S} \sum_{\text{Count}(\text{gram}_N)}} ROUGE-N=∑S∈{参考摘要}gramN∈S∑Count(gramN)∑S∈{参考摘要}gramN∈S∑Countmatch(gramN)
- 解决遗漏翻转问题(低召回率)
-
NIST
- 考虑n-gram信息的数量
-
METEOR
- 基于精确度和召回率的调和平均值
3)其他度量:
基于距离的度量
-
编辑距离(余弦相似度)
-
SMD(语义差异度量)
-
YISI(加权相似度指标)
多样性度量
-
独特性(n-gram多样性)
-
熵
-
KL散度
任务导向度量
-
SPICE(语义命题图像描述评估)
-
人工评估
-
内在(流畅性、内部相关性、正确性)
-
外在(在下游子任务上的表现)
-
.
声明:资源可能存在第三方来源,若有侵权请联系删除!
