如何使用模糊逻辑在Java中验证文本的章节标题

4
我需要一种解决方案来识别书中不正确的章节标题。我们正在开发一个书籍摄取系统,可以进行各种验证,如拼写检查和过滤冒犯性语言。现在,我们想标记那些与章节内容不符的章节标题。例如,如果标题是“脾脏的功能”,我就不希望这一章节是关于肝脏的。
我熟悉模糊字符串匹配算法,但这似乎更像是自然语言处理或分类问题。如果我能匹配(或接近匹配)短语“脾脏的功能”,那就太好了——高置信度。否则,在文本中出现“功能”和“脾脏”的高频率也会产生置信度。当然,它们越接近越好。
这需要在内存中、即时地,并且使用Java完成。我的当前天真方法是简单地对所有单词进行标记化,删除噪声词(如介词),提取词干,然后计算匹配次数。至少我希望标题中的每个单词在文本中都出现一次。
是否有不同的方法,理想情况下考虑到距离和顺序等因素?
1个回答

1

我认为这是一个分类问题,因此请看WEKA


WEKA很棒,谢谢!我也一直在看其他类似的解决方案,问题是:它们都需要一个训练集。但在这种情况下,我没有训练集。只有一个章节的文本和一个标题。那么如何从仅有的一个样本创建分类器呢?我找不到任何相关信息。我正在考虑:假设这个章节是一致的,并且关于一个专注的主题,只需将其分成小文档并对其进行训练?但我没有看到这样的做法,所以也许有一个固有的原因使它无效? - Jesse Harris
我假设你会解析大量书籍,因此可能会有多个标题涉及相似的主题。如果是这种情况,你可以选择一部分书籍作为训练集(显然需要人类分类)。你还可以使用人类重新评估分类算法来扩充训练集。我会天真地使用KNN算法...我曾经遇到过类似于你的问题,我所在的团队通过分类算法解决了它。我不记得是如何做到的... - Yaneeve
将其标记为最佳答案,因为Yaneeve提供了完美的解决方案,如果我能够分析大量书籍(而不是逐个分析)。 - Jesse Harris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接