当前位置:网站首页>ML - 自然语言处理 - 基础知识
ML - 自然语言处理 - 基础知识
2022-07-25 15:21:00 【sword_csdn】
目录
参考
华为云学院
https://www.cnblogs.com/pinard/p/7160330.html
语言模型
语言模型是根据语言客观事实而进行的语言抽象建模,是一种对应关系,假设有以下这类问题:
(1)机器翻译(I have a dream):P(我有个梦想)>P(我有只梦想)
(2)拼写纠错:P(about fifteen minutes from)>P(about fifteenminuets from)
(3)语音识别:P(你长的像你妈妈)>P(你长得向你妈妈)
(4)音字转换:P(你现在干什么|nixianzaiganshenme)>P(你西安在干什么|nixianzaiganshenme)
如果将以上问题形式化表示,用链式法则可表示如下
神经网络语言模型


N - gram语言模型
利用n元模型(n-gram model)估算条件概率,即忽略距离大于等于n的上文词的影响,因此若用频数计数的比例来计算n元条件概率可表示为:
NN语言模型与统计语言模型的关系
相同点:都是将句子看做一个词序列,然后计算句子的概率
不同点:
(1)计算概率的方式:N-gram基于马尔科夫假设只考虑前n个词,NNLM要考虑整个句子的上下文。
(2)训练模型的方式:N-gram基于最大似然估计来计算参数,是基于词本身的;NNLM基于RNN的优化方法训练模型。
(3)循环神经网络可以将任意长度的上下文信息存储在隐藏状态中,而不仅限于N-gram模型中的窗口限制。
文本向量化
将文本表示成一系列能够表达文本语义的向量。常用的向量化算法有:one-hot,TF-IDF,word2vec(CBOW,Skip-gram),doc2vec/str2vec(DM,DBOW)。
word2vec - CBOW模型
CBOW模型的训练输入是某一个特征词的上下文相关的词对应的词向量,而输出就是这特定的一个词的词向量。
比如下面这段话,我们的上下文大小取值为4,特定的这个词是"Learning",也就是我们需要的输出词向量,上下文对应的词有8个,前后各4个,这8个词是我们模型的输入。由于CBOW使用的是词袋模型,因此这8个词都是平等的,也就是不考虑他们和我们关注的词之间的距离大小,只要在我们上下文之内即可。
word2vec - Skip-gram模型
Skip-Gram模型和CBOW的思路相反,即输入是特定的一个词的词向量,而输出是特定词对应的上下文词向量。还是上面的例子,我们的上下文大小取值为4, 特定的这个词"Learning"是我们的输入,而这8个上下文词是我们的输出。
doc2vec - DM模型

每一个段落表示为一个向量,对应矩阵D中的一个列向量,每一个词表示为一个向量,对应矩阵W中的一个列向量。段落向量和词向量通过取平均值或者相连接来对上下文(context)中的下一个词进行预测。
doc2vec - DBOW模型

该模型是在随机梯度下降的每一次迭代中采样一个文本窗口(text window),再从该文本窗口中随机采样一个词,从而形成一个给定段落向量进行词预测的多分类任务。该模型和Skip-gram模型相似。
边栏推荐
- Spark memory management mechanism new version
- CMake指定OpenCV版本
- Visual Studio 2022 查看类关系图
- Fast-lio: fast and robust laser inertial odometer based on tightly coupled IEKF
- Spark获取DataFrame中列的方式--col,$,column,apply
- Spark judges that DF is empty
- 瀑布流布局
- Promise object and macro task, micro task
- System. Accessviolationexception: an attempt was made to read or write to protected memory. This usually indicates that other memory is corrupted
- outline和box-shadow实现外轮廓圆角高光效果
猜你喜欢

NPM's nexus private server e401 E500 error handling record

MySQL之事务与MVCC

Solve the timeout of dbeaver SQL client connection Phoenix query

瀑布流布局

6月产品升级观察站

延迟加载源码剖析:

记一次Spark foreachPartition导致OOM

VMware Workstation fails to start VMware authorization service when opening virtual machine

一个程序最多可以使用多少内存?

outline和box-shadow实现外轮廓圆角高光效果
随机推荐
spark中saveAsTextFile如何最终生成一个文件
看到很多App出现闪烁的图片,特别是会员页面
C语言函数复习(传值传址【二分查找】,递归【阶乘,汉诺塔等】)
延迟加载源码剖析:
Idea remotely submits spark tasks to the yarn cluster
异步fifo的实现
Rediscluster setup and capacity expansion
Is it safe to open futures online? Which company has the lowest handling charge?
MFC 线程AfxBeginThread基本用法,传多个参数
如何解决Visual Studio中scanf编译报错的问题
海缆探测仪TSS350(一)
My creation anniversary
Spark 判断DF为空
Es5 thinking of writing inheritance
《三子棋》C语言数组应用 --n皇后问题雏形
TypeScript学习1——数据类型
Tasks, micro tasks, queues and scheduling (animation shows each step of the call)
Implementation of asynchronous FIFO
npm的nexus私服 E401 E500错误处理记录
如何解决Visual Stuido2019 30天体验期过后的登陆问题