我们在之前文章《NLP系列(2)_用朴素贝叶斯进行文本分类(上)》探讨过,朴素贝叶斯的局限性来源于其条件独立假设,它将文本看成是词袋子模型,不考虑词语之间的顺序信息,就会把“武松打死了老虎”与“老虎打死了武松”认作是一个意思。那么有没有一种方法提高其对词语顺序的识别能力呢?有,就是本节要接到的N-gram语言模型。...
分类:
编程语言 时间:
2016-02-09 12:02:14
阅读次数:
508
上一篇文章我们主要从理论上梳理了朴素贝叶斯方法进行文本分类的基本思路。这篇文章我们主要从实践上探讨一些应用过程中的tricks,并进一步分析贝叶斯方法,最后以情绪褒贬分析和拼写纠错为例展示这种简单强大的方法在自然语言处理问题上的具体应用。...
分类:
其他好文 时间:
2016-02-03 16:40:01
阅读次数:
452
贝叶斯方法非常强大,有着坚实的理论基础。很多高级自然语言处理模型也可以从它演化而来。因此,学习贝叶斯方法,是研究自然语言处理问题的一个非常好的切入口。 贝叶斯公式贝叶斯公式就一行:P(Y|X)=P(X|Y)P(Y)P(X)P(Y|X)...
分类:
其他好文 时间:
2016-02-01 15:52:47
阅读次数:
483
4.5 使用Python进行文本分类4.5.1 准备数据:从文本中构建词向量#coding:utf-8from numpy import *#准备数据:从文本中构建词向量def loadDataSet(): postingList = [['my', 'dog', 'has', 'flea',...
分类:
其他好文 时间:
2016-01-19 00:09:13
阅读次数:
226
贝叶斯学习方法中实用性很高的一种为朴素贝叶斯学习期,常被称为朴素贝叶斯分类器。在某些领域中与神经网络和决策树学习相当。虽然朴素贝叶斯分类器忽略单词间的依赖关系,即假设所有单词是条件独立的,但朴素贝叶斯分类在实际应用中有很出色的表现。
朴素贝叶斯文本分类算法伪代码:
朴素贝叶斯文本分类算法流程:
通过计算训练集中每个类别的概率与不同类别下每个单词的概率,然后利用朴素贝叶斯公式计...
分类:
其他好文 时间:
2016-01-17 23:20:01
阅读次数:
478
文本分类,首先它是分类问题,应该对应着分类过程的两个重要的步骤,一个是使用训练数据集训练分类器,另一个就是使用测试数据集来评价分类器的分类精度。然而,作为文本分类,它还具有文本这样的约束,所以对于文本来说,需要额外的处理过程,我们结合使用libsvm从宏观上总结一下,基于libsvm实现文本分类实现...
分类:
其他好文 时间:
2016-01-15 22:43:35
阅读次数:
219
文本分类算是自然语言处理领域最最常见的问题了,开源的工具也很好用,但是苦于训练速度缓慢,需要引进多核的版本,开源提供的多核支持参数有限,而同事提供的又有语言障碍,觉得自己探索下多分类器。 分类算法有很多,但是效果较好的基本就是LR和SVM,而这两个算法业内著名的开源代码应该就是liblinea...
分类:
其他好文 时间:
2015-12-14 22:44:41
阅读次数:
2141
之前学习了CNN的相关知识,提到Yoon Kim(2014)的论文,利用CNN进行文本分类,虽然该CNN网络结构简单效果可观,但论文没有给出具体训练时间,这便值得进一步探讨。 Yoon Kim代码:https://github.com/yoonkim/CNN_sentence 利用作者提供的...
分类:
其他好文 时间:
2015-12-05 19:33:36
阅读次数:
294
在文本分类中,需要先对文本分词,原始的文本中可能由几十万个中文词条组成,维度非常高。另外,为了提高文本分类的准确性和效率,一般先剔除决策意义不大的词语,这就是特征词提取的目的。本文将简单介绍几种文本特征词提取算法。信息增益(IG)对于一个系统,其信息熵为\(H(S)=-\sum_{i}^{C}P_i...
分类:
编程语言 时间:
2015-12-04 06:27:53
阅读次数:
214
####需要先安装几个R包,如果有这些包,可省略安装包的步骤。#install.packages("Rwordseg")#install.packages("tm");#install.packages("wordcloud");#install.packages("topicmodels")例子中...
分类:
编程语言 时间:
2015-11-15 23:17:03
阅读次数:
686