2011-02-14 42 views
2

我想拍摄一下在我的应用中将传入文档表征为“好”还是“差”。我意识到这并非易事,但即使是粗略的想法也是有用的。我觉得要做到这一点的方法是通过两个类的朴素贝叶斯分类器,但我很乐意提供建议。所以两个问题:NLP和Ruby来描述写作质量

  1. 是这个方法的最佳(考虑到简单)的方式来做到这一点 假设一个足够大的训练分贝?

  2. 是红宝石 有库(或任何可集成的JRuby或 什么),我可以插入我的 Rails应用程序来实现这一目标用有点小题大做?

谢谢!

回答

2

你可能会尝试使用词汇向量分析。讨论了一些在这里:

http://en.wikipedia.org/wiki/Semantic_similarity

基本上你建立你认为“写得很好”或“写得不好”和计数的某些词的频率文本的语料库。为每一个制作一个归一化的矢量,然后计算它们与每个传入文档的矢量之间的距离。我不是统计学家,但我被告知它与贝叶斯过滤类似,但似乎更好地处理拼写错误和异常值。

这并不完美,无论如何。根据你需要的准确度,你可能仍然需要人类做出最终的判断。但是,我们将它作为一个预过滤器来减少审阅者的数量,运气不错。

+0

Ken-您是否在使用特定的库来完成此操作?或者只是手工编码?看起来像一个好地方开始。 – 2011-02-14 18:08:28

1

另一个简单的检出算法是Flesch-Kincaid可读性度量。它使用非常广泛,应该很容易实现。我假设其中一个Ruby NLP libraries有音节方法。