【自然语言处理与文本分析】在进行文本非结构数据转结构数据时为什么我们词袋模型不使用one-hot-encoding模型,如何改进。

    1. 文本非结构数据转结构

怎么将非结构化数据结构化:

词袋模型(两种,bag of words,Bow):

最早的非结构化数据转结构:向量空间技术,

Bag of words是无监督的模型-Glove算法

PCA和词嵌入模型

词嵌入模型用的SVD和Glove

Bow——Word 2 vec

——》包含两种模型:词嵌入模型Skip gram,词嵌入模型CBOW

神经网络

词的表示方法:

Discrete representation一个维度只表达一个关键词信息,

一个关键词也只用一个维度表达,也就是one-hot-encoding(独热模型)

Distributed Representation:描述语言的的向量是定长(固定长度dix length)的,一个语义信息可以由多个维度共同描绘。,一个维度也可能觉得多方面的维度信息

Glove&Word2Vec

案例:

【自然语言处理与文本分析】在进行文本非结构数据转结构数据时为什么我们词袋模型不使用one-hot-encoding模型,如何改进。_第1张图片

第一篇文章关键词被我们截取出来

【自然语言处理与文本分析】在进行文本非结构数据转结构数据时为什么我们词袋模型不使用one-hot-encoding模型,如何改进。_第2张图片 

同样,我们过滤出文章2和文章3的关键词

注意我们是按顺序进行写的关键词

关键词在同一段有重复是没关系的。

【自然语言处理与文本分析】在进行文本非结构数据转结构数据时为什么我们词袋模型不使用one-hot-encoding模型,如何改进。_第3张图片

 

现在我们就把这5篇文章的关键词凑合在一起。

【自然语言处理与文本分析】在进行文本非结构数据转结构数据时为什么我们词袋模型不使用one-hot-encoding模型,如何改进。_第4张图片 

我们把重复的关键词去除掉,5篇文章我们提取出来12个关键词

每个关键词就作为一个维度

One hot encoding:

如果我们用离散表示方式,one hot encoding 日本就是(1000000000)

就是每个关键词所在位置是1,其他就是0

【自然语言处理与文本分析】在进行文本非结构数据转结构数据时为什么我们词袋模型不使用one-hot-encoding模型,如何改进。_第5张图片 

TF,通过重叠编码,把他们加起来(superimposed coding),就可以表示文章的词了。有时我们会把它除以3,就是之前时候的,要标准化。或者TF*IDF作为文章表示方式。它和向量空间模型,几乎一模一样。

前提假设是:词与词之间是独立的,没有关系。

于是我们就把非结构化的文章结构化了。

【自然语言处理与文本分析】在进行文本非结构数据转结构数据时为什么我们词袋模型不使用one-hot-encoding模型,如何改进。_第6张图片

这里面的关键词就是输入字段,最后一行就是输出字段

这个表格是我们的训练集

在这个时候我们就可以用数据挖掘中的决策树,机器学习等方法,进行研究了。

例如我们做决策树的算法:

【自然语言处理与文本分析】在进行文本非结构数据转结构数据时为什么我们词袋模型不使用one-hot-encoding模型,如何改进。_第7张图片

 

第一个决策树决定按原油进行切割:如果有原油就是国际新闻,

第二个决策因素是日本,有日本就是社会否则就是社会。

其实他第二个因素,也可以用可口可乐,广告等,因为日本在前面,所以它优先用日本为决策因素

这时我们进入,加入我们有一个记录,进行验证判断,也就是图中那一列

那么它就会被判别到社会,那么他就判断错误。

如果就用这个建立决策树是有盲点的,比如日本其实不合适作为区分社会和娱乐的词,而可口可乐,广告其实更合适作为区分是娱乐新闻还是社会新闻

那么我们为了解决这个问题,就可以使用词嵌入模型。

总结:

1:因为one hot encoding认为所有词相互独立,他的词袋矩阵有数值的位置非常少,是个非常稀疏的矩阵,但是长度又很长,维度很多。可能文章大一点就有上万个维度。

2:word Vetor就是比较稠密,大大的缩小了向量长度,

3:word Vetor会把语义模型,放在一个(fix length)的向量中。这种就叫做词嵌入模型。它的每个维度都具有语义的信息。

举例主要是为了说明one hot encoding的缺点。

你可能感兴趣的:(数据分析师,自然语言处理,机器学习,算法,数据挖掘,python)