信息检索11-语言模型

token化后可能有顺序可能无序

无序为词包模型

布尔检索-共现矩阵(无序)

向量空间模型-换为tf-idf权重

概率模型-对tf-idf的权重进行调整,bm25

主题模型-稀疏向量变为稠密向量,但仍为词包模型

若考虑顺序,用语言模型

2.语言模型

根据语言客观事实对语言进行数学建模

句子空间:把所有句子采集起来,句子空间的分布可以描述出来

在句子空间中,每个句子出现的概率和为1

语言模型为计算模型,判断一个文本序列是不是像一个合理的句子,衡量文本出现的可能性或概率

应用:拼写纠错(错误句子出现概率小),语音识别,句子转换

(这里是2-gram,后续会讲)

核心任务:计算一个句子的概率,实际上是这个序列的概率(通过链式法则)

链式法则:联合概率可以表示为一系列条件概率的乘积

训练时,要估计右边所有的参数

有估计参数的不同方法

3.统计语言模型

实现语言模型的具体方法,从概率论视角,从大量数据来估计文本序列中的参数

核心思想:一个词出现的概率依赖于它们前面出现的几个词

存在的问题:

直接算一个长句子,维度灾难问题,用链式法则、马尔可夫假设

马尔可夫假设:一个词典概率只依赖于它前面的有限个词

n-gram语言模型

第n个词只考虑前面的n-1个词

unigram相当于词包模型

n较大时,为什么参数估计不可靠?n大时需要几个词在一起的计数,这个计数可能不存在,因为单词出现符合幂律分布,虽然语料库变大但是词还是偏向常见的,这种几个词在一起的组合变少,概率为0,出现零概率问题,有一些解决方法,这些方法导致参数不可靠

这些解决方法有(不包括增加语料库,因为词还是幂律分布):平滑技术

平滑技术

n-gram模型的优缺点:简单直接,易实现,可解释性强,计算高效;

数据稀疏(未出现的词需用平滑技术处理,还是稀疏

上下文局限,因为有窗口,捕捉的是短距离的词

缺乏语义理解,基于计数实现,没有语义关系

4.神经网络语言模型

词语之间的相似度:上下文共现;语法相似

共线关系更鲁棒,语法关系更精确

NNLM

没有解决长度的依赖关系

(这个课程不需要记训练、损失函数等)

在emb处降维,通过节点控制,进行了单词的降维

拼在一起,保留顺序

文档向量化

解决:循环神经网络?

神经网络语言模型的核心思想:用词向量来表示每个词

优势

(也可能推测错误,这就是幻觉问题)

5.Word2Vec / Doc2Vec

词向量和文档向量直接做内积

word2vec(这是方法)

CBOW continuous Bag of words model

词向量相加,此时在这个范围内位置没有关系(局限性)

连续:指的是连续特定窗口的上下文词

它不是语言模型

但是我们这个过程中可以得到词的emb

word2vec本身也有缺点

训练和实际的语料库要同分布

Doc2Vec

把变长句子变为定长向量

段落向量模型:得到橙色的参数矩阵(用id的向量表示这个段落,在训练时id维度为段落数,会降维到与其他词相同)

gensim

检索流程
优点

解决词汇鸿沟问题: 能够关联不同词语但表达相同概念的情况。

语义理解能力强: 这是最大的优点。 例如,查询"苹果手机", 传统的BM25算法可能无法召回只包含"iPhone"但不包含"苹果"的文档。 Word2Vec/Doc2Vec模型,"苹果"和"iPhone"的向量会很接近,从而能够成功匹配。

对短文本查询友好: 即使查询很短,只要其中的词语语义明确,也能找到相关文档。(社交媒体之类)

缺点与挑战
相关推荐
WhereIsMyChair21 分钟前
BatchNorm、LayerNorm和RMSNorm的区别
人工智能·语言模型
PhDTool22 分钟前
计算机化系统验证(CSV)的前世今生
数据库·安全·全文检索
湘-枫叶情缘38 分钟前
管理认知平权:基于人工操作大语言模型的MBA“具生化”下沉路径
人工智能·语言模型
玄同7651 小时前
Python 函数:LLM 通用逻辑的封装与复用
开发语言·人工智能·python·深度学习·语言模型·自然语言处理
G皮T1 小时前
【Elasticsearch】查询性能调优(三):track_total_hits 和 terminate_after 可能的冲突
大数据·elasticsearch·搜索引擎·全文检索·索引·性能·opensearch
Cherry的跨界思维2 小时前
【AI测试全栈:认知升级】2、AI核心概念与全栈技术栈全景
人工智能·深度学习·机器学习·语言模型·ai测试·ai全栈·测试全栈
Sunsets_Red3 小时前
待修改莫队与普通莫队优化
java·c++·python·学习·算法·数学建模·c#
石去皿3 小时前
高级 RAG 实战指南:从基础检索到智能推理的跃迁
人工智能·语言模型·agent·rag
玄同7653 小时前
Python 项目实战中“高内聚低耦合”的设计方法 —— 基于七大设计原则与拓展技巧
开发语言·人工智能·python·语言模型·pycharm·设计原则·项目实战
laplace01234 小时前
讲清楚 Prompt, Agent, MCP 是什么+大模型测评流程
人工智能·语言模型·prompt·transformer