文とドキュメントを埋め込みます

文とドキュメントを埋め込みます

リンク:データセットの抽出コード:6cgu

「文とドキュメントの分散表現」
-文章や文書が学習分散
著者:コックルとトーマスMokolov
単位:Googleは
、会議や時間を発表:2014 ICML

紙REVIEW

  1. 分散型の文章表現のプロフィール
  2. 分散文は、相関方法を表します
  3. 事前知識

1.はじめ文分散表現

  • 分散文は言った:分散文と文または段落を(この文章は、均等及びドキュメントより長い文に相当する文書を処理されます)を発現する固定长度的向量表現
  • 意味:あなたは正確にベクターで言葉を表現することができれば、それは直接テキスト分類、情報検索、機械翻訳、およびので、このベクトル場とするために使用することができます

下図のように:
ここに画像を挿入説明

2.文は、分散相関法表す
履歴モデル:

統計的分散表現に基づいて、1文:

  • バッグ・オブ・言葉
  • 袋の-nグラム

分散表現の深さの調査に基づいて、2文

  • 加重平均
  • 深学習モデル

(1)単語のバッグ
アルゴリズム:

  1. 各要素は単語がある語彙、語彙を構築
  2. 回数の各語彙単語の単語の、統計がSに表示されます。
  3. 各ワードは、Sで語彙に現れる回数は、ワードベクトルテーブルのサイズを構築します

図の例:
ここに画像を挿入説明
反射:バッグ・オブ・ワード欠点、改善する方法
バッグ・オブ・nグラムを(2)は、テーブル内の単語要素はまた、ワードnグラム表現とすることができます

(3)加えて全体平均法:
アルゴリズム:

  1. ビルド語彙、語彙の各要素
  2. 使用词向量学习方法(skip-gram等)学习每个词的词向量表示
  3. 对于句子s中的每个词(w1,w2,w3,…,wn)对应的词向量(e1,e2,e3,…,en)加权平均,结果为句子的分布式表示:
    (下图公式只有平均,没有加权)ここに画像を挿入説明

(4)深度学习方法:
算法:

  1. 构建词表,词表中每个元素都是词
  2. 使用词向量学习方法(skip-gram等)学习每个词向量表示
  3. 将句子s中的每个向量作为输入送进深度神经网络模型(CNN或RNN),然后通过监督学习,学习每个句子的分布式表示。

模型一般形式如下图,在concatenation部分将句子的每个词进行了加权平均得到了句子的分布式表示
ここに画像を挿入説明

3. 前期知识

  • 熟悉词向量的相关知识
  • 了解使用语言模型训练词向量的方法
    训练模型如下图:-

二 论文精读

  1. 论文整体框架
  2. 传统/经典算法模型
  3. 论文提出改进后的模型
  4. 实验结果
  5. 讨论和总结

1. 论文整体框架
0.摘要
ここに画像を挿入説明
1.介绍
2.句子分布式表示模型
3.实验
4.相关工作
5.结论

2. 传统/经典算法模型

  • Bag-of-words
    其模型的缺点:
    一 因为是词袋模型,所以丢失了词之前的位置信息
    二 句向量知识单纯地利用了统计信息,而没有得到语义信息,或者只得到很少的语义信息

  • Bag-of-n-gram模型的缺点:
    一 因为使用了n-gram,所以保留了位置信息,但是n-gram不会太大,最多是4-gram,所以保留的位置信息很少
    二 N-gram同样没有学习到语义信息

  • 加权平均法的缺点
    对所有的词向量进行平均,丢失了词之前的顺序信息及词与词之间的关系信息

  • 基于深度学习模型的缺点
    只能使用标注数据训练每个句子的句向量,这样训练得到的向量都是任务导向的,不具有通用性

  • 基于语言模型的词向量训练
    语言模型:语言模型可以给出每个句子是句子的概率
    ここに画像を挿入説明
    而每个词的概率定义成n-gram形式,即每个词出现只与前n-1个词有关:
    ここに画像を挿入説明
    评价语言模型的好坏的指标困惑度(perplexity)

  • 接下来就是基于语言模型的词向量训练
    算法:

  • 对于每个词随机初始化一个词向量

  • 取得一个连续的n-1个词,将n-1个词对应的词向量连接(concatenate)在一起形成向量e

  • 将e作为输入,送入一个单隐层神经网络,隐层的激活函数为tanh,输出层的神经元个数为词表的大小
    优点:就像原文提到的,即训练出一组词向量,又得到一个语言模型,其次不需要标注数据,可以使用很大的数据集
    论文:《A Neural Probabilistic Language Model 》

ここに画像を挿入説明
3. 论文提出改进后的模型

本文的模型就是基于语言模型改进而来的分布式句向量训练模型
算法:

  • 类似于前面提到的基于语言模型的词向量训练模型,这里的句向量训练模型也是利用前几个预测后一个词
  • 不同的是,这里将每句话映射成一个句向量,联合预测后一个词出现的概率

这样就学习到了每个词的词向量和每句话的句向量
ここに画像を挿入説明
橘色的是句向量,右边三个是词向量
句向量+词向量得到映射的一个词
本模型可以学到语义和语法信息

窗口大小包括预测的那个词

训练阶段:
通过训练集构建词表,并随机初始化词向量W和训练集的句向量矩阵D。设置n-gram,文中为窗口大小,然后利用句向量训练模型,训练矩阵模型的所有参数,包括词向量矩阵和句向量矩阵

最后将学习到的句向量用于分类器预测句子的类别概率

测试阶段:
固定词向量矩阵W和模型的其他参数,重新构建句向量矩阵D并随机初始化,然后利用梯度训练矩阵D,从而得到测试集每个句子的句向量

无序句向量训练模型
文本还提出了一种Bag-of-words,即忽略词序信息的模型
算法:

  • 每个句子通过随机初始化句向量矩阵映射成一个句向量,然后通过句向量每次随机预测句子中的一个词。
  • 然后将学习到的句向量送到已经训练好的分类器,预测句子的概率
    ここに画像を挿入説明
    本文分别使用提出的两种模型训练得到两个句向量,然后将两个句向量合并(concatenate),得到最终的句向量表示

4. 实验结果

一 数据集:
SST
IMDB
评价方法:SST:5分类也可以2类 IMDB:2分类

二 实验结果

第二列为二分类结果,第三列为五分类结果,实验结果显示本文提出的句向量方法优于朴素贝叶斯、SVM、词向量平均法、神经网络方法,在二分类和五分类任务都取得了最好的结果。
ここに画像を挿入説明
在IMDB也取得了最好结果

ここに画像を挿入説明

5. 讨论和总结

  1. 目前主流的句向量表示方法:
    基于神经网络的句向量学习方法(多快好省),使用预训练的词向量,神经网络可以得到非常好的句向量表示

  2. 训练过程还需要训练,大大降低了效率? 是
    使用基于神经网络的句向量学习方法,当前流行的ELMO,BERT

  3. 方法を訓練し、他の文ベクトルはありますか?
    後世によって提案されたSeq2seq文ベクトルモデルトレーニング方法

  4. メインイノベーション
    Aは新しい教師なしトレーニング方法文ベクトル提案
    Bが下流タスクに直接使用することができる
    紙の出版時に達成されているC SOTA結果

スリーコードの実装

思考の4つの課題

  • 思考:バッグ・オブ・言葉の欠点は、どのように改善するために、
リリース1031元の記事 ウォン称賛22 ビュー20000 +

おすすめ

転載: blog.csdn.net/qq_41375318/article/details/103210152