成语大全网 - 成语解释 - 文本向量化的方法

文本向量化的方法

把文本表达为可以让计算机来理解的形式,所谓文本表示,文本向量化。文本向量化,可以分为词语的向量表达,短文本的向量表达,长文本的向量表达, 因为不同的情景需要用到不同的方法和处理方式。

忽视这些细节,对一般情况下文本的向量化做了下调查,常见的思路介绍如下:

一: 向量空间模型 VSM

一般所指的向量空间模型我认为也可以说是bag of words 词袋模型:其中最简单的模式是基于词的独热表示(one-hot reprentation), 用每一个词作为维度key,有单词对应的位置为1,其他为0,向量长度和词典大小相同。工程上比较常用的是用该词的tfidf值作为权重, (word1, word2,word3......word N), itidf是文本处理里最常见的一种权重计算方式,属于入门级方案,基于此也有一系列的优化方法,诸如TFC权重/ITC权重,但是思想和tfidf差不多。 一般会进行归一化处理, 很多工具都带有相应模块来计算tfidf。 在选取不同的词来做维度特征的时候,需要先去除停用词, 又涉及了一个特征选择的问题, 并不是所有的词都适合拿来用。 一般会根据ifidf值或者词频之类的做一些简单的过滤, 也有一些专门选取特征的方法,诸如信息增益,互信息,卡方统计等, 有文章专门介绍。

文本向量化,tfidf这是90%以上的文章和相关机器学习库demo,论文里会提到的方法。关于其优点,简单好用,很大程度上就可以满足我们的需求了。举一个通俗易懂的例子

中文切词会引入误差,尤其是口语化句子,由于级联效应的存在,机器学习最终的文本分析效果会在很大程度上被影响;

这种方法虽然一定程度上弥补了语义丢失的程度,但是没有保留词顺序信息,导致还是会丢失相当一部分语义;

最终句子维度较高,汉语常用词汇在几万到几十万不等,虽然可以进行停用词过滤来降低维度,但是最终维度还是会停留在万级,用sklearn进行学习(万级训练集)可能会占用几十G到上百G内存;对于错别字来说,基本没有容错能力”

总体来说。我认为有2点:

1. 多维度灾难,词的维数比较多

2.语义丢失, 表现为,词的顺序信息丢失,近义词没办法体现,假定词都是独立的,等等。