第11课:词句分布式表达——词建模工具

Posted wangongxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第11课:词句分布式表达——词建模工具相关的知识,希望对你有一定的参考价值。

下面两节课我将为大家介绍,如何基于 Deeplearning4j 的框架来实现词和句子的分布式/向量化建模。目前 Deeplearning4j 支持对词建模的 word2vec、GloVe,对文档建模的 doc2vec/paragraph2vec,以及对图结构进行建模的 DeepWalk 算法。在具体介绍这些建模工具之前,我们首先回顾下对文本建模的一些手段。本节课核心内容包括:

  • 文本建模的词袋和词嵌入模型
  • word2vec 的原理与建模
  • GloVe 的原理与建模

11.1 文本建模的词袋和词嵌入模型

文本由很多的段落和很多的句子构成,同时,每个句子又由若干个词构成。因此在早期对文本建模时,很容易想到将一段文本表示成词的集合,也就是我们在 NLP 问题经常讲到的词袋模型(Bag of Words)。具体落地的时候,我们用一个很长的向量来表示这个词袋。向量中的每个索引位置即代表文本当中的词。那么每个位置的具体值可以看情况而定,我们可以直接用 0/1 来表示该词是否出现,也可以用 TF-IDF 的值来填充。

词袋模型是经典的文本特征表示方法。直到现在,基于词袋模型对长文本进行特征表示依然会取得非常好的效果。它的表示方法简单、直接、易于理解。但它的缺点其实也是很突出的,就是向量的维度很高,且容易忽略上下文的信息(可以基于一些如 N-Gram 的语言模型进行补充调整,但会加重高维的问题)。当然对于这些问题我们有些手段可以处理,例如对于高维灾难的问题可以借助于 PCA/SVD 进行降维,或者基于统计的一些方法进行特征抽取,这些在这里就不展开讨论了。

词的分布式表达/词嵌入是从另外一个角度来表示词或者文本,即对于每个词都用一个稠密向量来表示。这

以上是关于第11课:词句分布式表达——词建模工具的主要内容,如果未能解决你的问题,请参考以下文章

python使用正则表达式去除句子中的重复词

中文分词工具——jieba

中文分词工具——jieba

深度之眼Paper带读笔记NLP.10:DCNN

fastText一个库用于词表示的高效学习和句子分类

基于词向量使用Pytorch常规自编码器对句子进行向量表示与降维