苏州专业网站建设公司,哈尔滨做网站seo,做网站jsp和php,郑州便宜网站建设费用文章目录1 单词作为语言模型的基本单位的缺点2 character level modeling3预训练句子向量3.1 skip-thought3.2 InferSent3.3 句子向量评价数据集4 预训练文档向量5 ELMO1 单词作为语言模型的基本单位的缺点
单词量有限#xff0c;遇到没有见过的单词只能以UNK表示。 模型参数…
文章目录1 单词作为语言模型的基本单位的缺点2 character level modeling3预训练句子向量3.1 skip-thought3.2 InferSent3.3 句子向量评价数据集4 预训练文档向量5 ELMO1 单词作为语言模型的基本单位的缺点
单词量有限遇到没有见过的单词只能以UNK表示。 模型参数量太大。 对于很多语⾔例如英语来说很多时候单词是由⼏个subword拼接⽽成的。 可能的解决方案subword wordpiece
2 character level modeling
Ling et. al, Finding Function in Form: Compositional Character Models for Open Vocabulary Word Representation ⽤BiLSTM把单词中的每个字⺟encode到⼀起。
Yoon Kim et. al, Character-Aware Neural Language Models 使用CNN将一个单词经过模型变成一堆的character。
使⽤subword作为模型的基本单元。subword是将一个单词分成几个子单词
Compositional Morphology for Word Representations and Language Modelling
imperfection im perfect ion perfectly perfect ly
Byte Pair Encoding Neural Machine Translation of Rare Words with Subword Units 参考博客url 1 有一张字母表。所有键盘能打印出来的都算字母。 2 在训练数据集中找出每一个单词。 例如我们原始词表如下 {l o w e r : 2, n e w e s t : 6, w i d e s t : 3, l o w : 5} 每个字母中间加上空格。
3 将一个单词中经常出现在一起的字符,统计出来。key是单词拆分层字母value是出现次数。 第一步发现 s和t同时出现次数最高所以单词表中w i d e s t 变成了 w i d e st。st挨在一起 接着又发现e st 出现次数最高…
这样做的好处是可以控制词表大小迭代一次增加一个单词。 理论上来讲所有的单词都可以使用单词表中的词查找出来。例如 happiest 可以等于 h a p p iest。过LSTM的时候其embedding等于 emb(h), emb(a), emb§, emb§, emb(i), emb(est)。 查找代码实现huggingface transformers,找bert相关代码。
中文词向量 腾讯有公开的版本。词向量这样的方法不再流行。 Is Word Segmentation Necessary for Deep Learning of Chinese Representations? 大牛 Jiwei Li Shannon.AI 不需要了
3预训练句子向量
文本分类
文本通过某种方式变成一个向量wordavg,lstm,cnn最后是一个linear layer 300维的句子向量过一个softmax做分类
训练一个和Resnet一样的东西能够取代从文本到向量的这一段。然后应用到其他任务中。 有很多人提出了一些实现方法。
3.1 skip-thought
Kiros et. al, Skip-Thought Vectors
skip-thought与skip-gram的思想相似。两个句⼦如果总是在同⼀个环境下出现那么这两个句⼦可能有某种含义上的联系。用中心句预测上一句和下一句。
如何把句子map成一个向量compositional modelRNN, LSTM, CNN, WordAvg, GRU
论文中把中心句用一个GRU作为编码器编码了使⽤编码器最后⼀个hidden state来表示整个句⼦。然后使⽤这个hidden state作为初始状态来解码它之前和之后的句⼦。用了解码器。前一句和后一句的解码器不同。
解码器在这里是语言模型。编码器的hidden state参与了每一个门的计算。 我们就可以把encoder当做feature extractor了。
类似的工作还有fastsent。
3.2 InferSent
论文Supervised Learning of Universal Sentence Representations from Natural Language Inference Data
给定两个句⼦判断这两个句⼦之间的关系 entailment 承接关系 neutral 没有关系 contradiction ⽭盾 (non_entailment)
3.3 句子向量评价数据集
SentEval SentEval: An Evaluation Toolkit for Universal Sentence Representations 句子任务句子分类sentiment句子相似度SNLI
senteval的framework使用你的模型将句子变成向量senteval会帮你评分。
这个方法被GLUE替换了。刷GLUE榜单。
4 预训练文档向量
基本不做了。事实上研究者在句⼦向量上的各种尝试是不太成功的。主要体现在这些预训练向量并不能⾮常好地提升。 模型在各种下游任务上的表现⼈们⼤多数时候还是从头开始训练模型。 Learning Deep Structured Semantic Models for Web Search using Clickthrough Data用文档向量和查询向量计算相关性用搜索结果排序。
5 ELMO
ELMO paper: https://arxiv.org/pdf/1802.05365.pdf
contextualized word vectors这是word2vector的加强版。 目前发现word2vector效果不够好。 contextualized word vectors真的有用。 Deep contextualized word representations震惊朋友圈的文章。
先说任务名称 SQuADQA的任务 斯坦福大学收集的数据集 SNLI句子相似性 SRL coref一个名字一个代词指的是不是同一个主体 NER命名实体识别 SST-5斯坦福情感分类5分类数据集
baseline ELMO之后分值大幅提升。
ELMO是什么 是从语言模型学到的embedding。 ELMO有三层。第一层是character CNN第二层和第三层是LSTM。 EMLO就是对三层做加权平均得到contextural word vector。 使用方式是 训练文本-ELMO-词向量-下游任务 γ\gammaγ和sss是可以作为参数参与训练的。