“这就是她所说的”问题的朴素贝叶斯分类

机器算法验证 机器学习 朴素贝叶斯
2022-04-11 22:32:59

在阅读了以下论文后,我开始对在 C# 中执行此操作感兴趣:

http://www.cs.washington.edu/homes/brun/pubs/pubs/Kiddon11.pdf

我还查看了http://www.cs.rpi.edu/academics/courses/fall03/ai/misc/naive-example.pdf作为我实施的具体示例。

我现在有一个有效的实现,但我想确保我正确地接近它。我只想拥有一个可靠的朴素贝叶斯分类器(unigram)。

问题陈述和设置

我正在使用两组数据,一个是“这就是她所说的”的句子列表和一个带有“这就是她所说的”后缀的句子列表。

接下来我解析所有句子中的所有单词并记录每个单词以及在两组中的每一个中找到它的次数,所以我最终可能会得到如下所示的数据:

Word         PositiveCount             NegativeCount
wet          23                        4
hard         30                        5
haiti        0                         20
to           60                        77

我遍历所有单词并使用以下\Pr(\text{Negative}|\text{<word>})我在上面的示例文件中发现:Pr(Positive|<word>)Pr(Negative|<word>)

P(Positive|wet) = (23 + p * m) / ((23 + 4) + m)
P(Negative|wet) = (4 + p * m) / ((23 + 4) + m)

其中m 是等效样本大小p 是先验估计然后为了检查一个未知的句子,看看它是否是一个 TWSS,我迭代了句子中的每个单词,并将它们的正 [概率分布?] 相乘,然后将所有这些乘以 p。对负数做同样的事情。然后,如果正数更大,我说这句话是“这就是她说的”。

问题

  1. 目前我使用p=.5表示正面和负面。我觉得我可以做得更好。这就是贝叶斯与常客的事情吗?我将如何为p获得更好的数字?

  2. 另外,我正在使用估计我应该这样做吗?我应该什么?变大/变小有什么影响?mPr(Yes/No|<word>)mm

超级小问题:关于从哪里获取样本数据的建议将是一个奖励。

3个回答
  1. 您没有使用朴素贝叶斯,您实际上使用的是我称之为“乘法决策树桩”-Classifer 的东西;)。你可以这样做,但我建议在这种情况下计算句子中所有单词的微观或宏观平均值(而不是相乘)。例如宏观平均: p(Positive|sentence)=1nwordsentencep(Positive|word)
  2. 我将设置为用于计算分别用于计算pPositivePositive+Negativep(Positive|.)NegativePositive+Negativep(Negative|.)
  3. m是先验词的权重,而 word-count 是出现词的权重。越低,词频计算的概率越重要,反之亦然。假设例如 =8 和 word-count=2(对于某个单词),那么结果分数将包含 80% 的先验信息和 20% 的非先验信息。因此,我总是将与重要单词的字数进行比较(即那些是/否概率与先前有很大差异的单词)。不幸的是,这个变量没有“金锤”值,所以我建议稍微玩一下。mmm
  4. 如果你想尝试朴素贝叶斯,我建议在关于朴素贝叶斯的维基文章中的“文档分类”部分

这是一个使用分类器来确定文本作者性别的网站:

       http://bookblog.net/gender/genie.php

网站上有很多关于这个主题的文章,网站的作者也写了很多关于这个主题的文章。有许多好的方法可以用于分类

  1. 贝叶斯逻辑回归
  2. 线性判别分析
  3. 二次判别分析
  4. 贝叶斯分类器

玩得开心

关于这个问题的一个有趣的建议来源可能是Quora 上的 That's What She Said 线程具体来说,第一条评论指出使用 Twitter 流作为声明的来源可能是有意义的,对此的回应是“这就是她所说的”。您可以做的另一件事是制作一个简单的 UI,该 UI 将从 twitter 获取输入,然后让人工注释者决定“这就是她所说的”是否是适当的响应。

华盛顿大学的论文提到了他们的数据来源;我假设(尽管您没有具体提及)您已经在使用这些数据?(看起来你可以从那篇论文中稍微增加训练集的大小,但不是很多。)

另一个需要研究的潜在数据来源可能是分析电视节目对话中的正面例子。(例如,“知道什么时候说“这就是她所说的”的计算机”文章提到了办公室。)使用 Hulu 的标题搜索(搜索她所说的)可以识别 179 个示例,尽管它看起来像前 10 个,只有 2 个是正训练示例,因此这可能是一个有点嘈杂的数据源。Officequotes.net 似乎拥有更大的潜在数据来源,但同样,清理和使用它可能需要一些工作。