欢迎来到大阳城集团网站

大阳城集团网站

全国咨询热线

86-0411-85927653

最新更新

当前位置:[首页] > 公司荣誉 >

公司荣誉

天然谈话经管根柢 - 算法深度进建NLP口试条记

来源: http://globalbsy.com 发布时间:2021-09-23

  任务: “豆瓣酱用英语怎么说” = translate(豆瓣酱,Eng) 流程设计(序列标注): 子任务1: 找出目标语言 “豆瓣酱用 **英语** 怎么说” 子任务2: 找出翻译目标 “ **豆瓣酱** 用英语怎么说” 收集训练数据: (子任务1) “豆瓣酱用英语怎么说” “茄子用英语怎么说” “黄瓜怎么翻译成英语” 预处理: 分词:“豆瓣酱 用 英语 怎么说” 抽取特征: (前后各一个词) 0 茄子: _ 用 0 用: 豆瓣酱 _ 英语 1 英语: 用 _ 怎么说 0 怎么说: 英语 _ 分类器: SVM/CRF/HMM/RNN 预测: 0.1 茄子: _ 用 0.1 用: 豆瓣酱 _ 英语 0.7 英语: 用 _ 怎么说 0.1 怎么说: 英语 _ 评价: 准确率

  其中p~为测试集中的经验分布——p~(x) = n/N,其中n为 x 的出现次数,N 为测试集的大小

  如果不使用任何模型,那么下一个候选词的数量就是整个词表的数量;通过使用bi-gram语言模型,可以将整个数量限制到200左右

  语言模型是一种对语言打分的方法;而概率语言模型把语言的“得分”通过概率来体现

  其中每个条件概率就是模型的参数;如果这个参数都是已知的,那么就能得到整个序列的概率了

  基于马尔可夫假设,N-gram 语言模型认为一个词出现的概率只与它前面的 n-1 个词相关

  假设词表的规模N=200000(汉语的词汇量),模型参数与 `n· 的关系表

  【输入层】首先,将context(w)中的每个词映射为一个长为m的词向量,词向量在训练开始时是随机的,并参与训练;

  【投影层】将所有上下文词向量拼接为一个长向量,作为w的特征向量,该向量的维度为m(n-1)

  【隐藏层】拼接后的向量会经过一个规模为h隐藏层,该隐层使用的激活函数为tanh

  【输出层】最后会经过一个规模为N的 Softmax 输出层,从而得到词表中每个词作为下一个词的概率分布

  其中m, n, h为超参数,N为词表大小,视训练集规模而定,也可以人为设置阈值

  原文的模型还考虑了投影层与输出层有有边相连的情形,因而会多一个权重矩阵,但本质上是一致的:

  常用的方法——因为本身每个 UNK 都不同,随机更符合对 UNK 基于最大熵的估计