文本分析个人理解

文本分析是在机器学习数据挖掘中经常要用到的一种方法,主要是指对文本处理,并对文本建模取得有用的信息。文本分析主要用在如垃圾邮件分类,搜索词聚类等等。文本分析中主要面临的一个问题就是对文本做向量转换以后,数据的维度会很高,也就是所谓的维度灾难。
文本分析的主要步骤为:
文本分析一般主要由三步组成,解析数据,搜索检索,文本挖掘。解析数据主要是为了将非格式化的数据处理成格式化的数据以方便以后的分析。非结构化的数据主要有文本,日志,网页,xml,json等。搜索检索主要是指对结构化的数据识别关键字,主题,以及相关性等。文本挖掘主要是根据识别的关键字,主题等找出其中的我们感兴趣的东西,并展示出来。
文本分析常用的技术:
1. TF-IDF
TF-IDF是一种统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
公式的定义:
这里写图片描述
tf(t, d) 指的词频,意思是文档d中t出现的次数,指的是一个文档。
这里写图片描述
Nd是指文档的总词数,指的是文档集。df(d, t)指的是所有文档集中出现出现t的次数。
2. LDA
LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,包含词、主题和文档三层结构。通常认为一篇文章的每个词都是通过一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语,从文档—主题—词语,这个模型我还在慢慢的理解中,如有分享会及时贴出来。

以下信息参考 Latent Dirichlet Allocation论文
LDA中主要涉及三个术语,词语,文档,语料库。LDA不仅可以用来处理文本,还可以用来处理协同过滤,以及基于内容的图片生物信息、生物信息检索。LDA的目标是不仅分配高概率给语料的成员,还分配高概率给相似文档。LDA是语料的生成概率模型,他的基本思想是文档是一些潜在的主题的随机组合,并且主题在词上也满足一定的分布。
LDA的处理过程:

根据Poisson分布选择词N
根据Dirichlet分布选择主题T
对N中的每一个词:
从满足多项式分页的T中选择一个主题Z
再根据主题和词的约束去选择词 p(w|z,c)
其中C是p(w’|z)

文本分析个人理解_第1张图片

其中d代表文档集,T代表主题集,W代表词集。

LDA文档主题生成模型要特别注意和降维方法中的LDA线性差别分析区分开来。
3. word2Vec
word2vec 是Google在2013年年中开源的一款将词表征为实数值向量的高效工具,采用的模型有 CBOW(Continuous Bag-Of-Words,即连续的词袋模型)和Skip-Gram 两种。word2vec 通过训练, 可以把对文本内容的处理简化为 K 维向量空间中的向量运算, 而向量空间上的相似度可以用来表示文本语义上的相似度。 因此, word2vec输出的词向量可以被用来做很多 NLP 相关的工作,比如聚类、找同义词、词性分析等等。

以上三种方式是我在文本分析中会用的,在代码中会使用一些开源的实现,当然对一些实现原理不是特别清晰。机器学习是一个不断刷理论刷paper并不断实验的过程。

你可能感兴趣的:(机器学习)