NLP和Ruby用于表征写作质量

时间:2011-02-14 17:43:46

标签: ruby-on-rails ruby nlp machine-learning

我想在我的应用中将传入文档描述为“好”或“写得不好”。我意识到这不是一件容易的事,但即使是粗略的想法也会有用。我觉得这样做的方法是通过天真的贝叶斯分类器和两个班级,但我愿意接受建议。所以有两个问题:

  1. 这种方法是最佳的(考虑到简单性)方法 假设一个足够大的训练db?

  2. ruby​​中有库吗?     (或任何可集成的JRuby或     无论如何,我可以插入我的     rails app可以轻松实现这一目标吗?

  3. 谢谢!

3 个答案:

答案 0 :(得分:2)

您可以尝试使用词汇矢量分析。在这里覆盖一些:

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

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

无论如何,这并不完美。根据您需要的准确程度,您可能仍需要人类做出最终判断。但我们很幸运将它用作预过滤器以减少审稿人数量。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

你可能会发现有趣的这个Burstein, Chodorow, and Leacock on the Criterion essay evaluation system是一个非常有趣的非常高级的概述,一个特定的系统如何进行论文评估以及风格校正。