微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

什么是分类文本文档的好方法?

我编写了一个测量文本重要性的应用程序.它需要一篇文章文章,将其分成单词,删除停用词,执行词干,并计算词频和文档频率.字频是衡量给定单词在所有文档中出现次数的度量,而文档频率是计算给定单词出现的文档数量的度量.

这是两个文章文章的示例:

>第一条)“狐狸跳过另一只狐狸.”
>第二条)“一个猎人看到了一只狐狸.”

第一条被分成单词(在后续词语中删除):

> [“狐狸”,“跳”,“另一个”,“狐狸”].

第二条分为两个词:

> [“猎人”,“看”,“狐狸”].

这两篇文章产生了以下词频和文档频率计数器:

>狐狸(字频:3,文档频率:2)
>跳(字频:1,文档频率:1)
>另一个(字频:1,文档频率:1)
>猎人(字频:1,文档频率:1)
>见(字频:1,文档频率:1)

鉴于新的文章文章,我如何衡量本文与之前文章的相似之处?

我已经阅读了关于df-idf测量但是它不适用于这里,因为我正在删除停用词,因此像“a”和“the”这样的单词不会出现在计数器中.

例如,我有一篇新的文章文章说“猎人爱狐狸”,我怎么想出一个措施,说这篇文章与之前看到的很相似?

一个例子,我有一篇新的文章说“鹿很有趣”,然后这篇文章是一篇全新的文章,相似性应为0.

我想我在某种程度上需要对词频和文档频率计数器值进行求和,但是什么是一个好的公式?

解决方法

标准解决方案是应用朴素贝叶斯分类器,其在给定文档D的情况下估计类C的后验概率,表示为P(C = k | D)(对于二元分类问题,k = 0和1).

这是通过从类标记文档的训练集计算先验来估计的,其中给出文档D我们知道它的类C.

P(C|D) = P(D|C) * P(D)              (1)

朴素贝叶斯认为术语是独立的,在这种情况下你可以写P(D | C)为

P(D|C) = \prod_{t \in D} P(t|C)     (2)

P(t | C)可以简单地通过计算一个项在给定类中出现的次数来计算,例如你希望足球这个词在属于班(类)体育的文件中会出现很多次.

当涉及到另一个因素P(D)时,你可以通过计算从每个班级给出的标签文件数量来估计它,可能你有更多的体育文章而不是金融文章,这使你相信有更高的可能性一个看不见的文件被归类为体育类别.

将因子重要性(idf)或术语依赖性等因素纳入等式(1)非常容易.对于idf,您可以将其作为术语采样事件添加到集合中(与该类无关).
对于术语依赖,您必须插入形式为P(u | C)* P(u | t)的概率,这意味着您对不同的术语u进行采样并将其更改(转换)为t.

朴素贝叶斯分类器的标准实现可以在Stanford NLP package,WekaScipy中找到.

原文地址:https://www.jb51.cc/html/226113.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐