0

过去我写过代码来查找正文中的常用词,但我很好奇是否有一种已知的方法可以在正文中查找常用短语?(在Java中)

有谁知道如何在没有 Lucene 或 nlp 的情况下完成这样的事情?还有哪些其他工具或解决方案?

4

2 回答 2

0

如果不确切知道您想做什么,就很难给您答案。对您的问题的一个天真的答案是将文本拆分为标点符号,并使用数据结构来存储文本中每个句子的计数器,为您从文本中解析的每个句子增加计数器。

例如,您可以使用优先级队列来保持句子按其计数器排序。然后,您可以删除 n 次最常见句子的最大元素 n 次,或者弹出句子,直到计数器大于您想要的数字。

但是,如果您不想要精确的句子,则要么必须更改存储在优先级队列中的内容,要么必须完全使用另一种算法。

希望这至少有帮助!

于 2012-05-08T20:43:29.460 回答
0

有点间接的算法:

可以创建一个置换索引:对于每个句子中的所有单词,存储句子并对单词进行排序,然后是剩余的句子,然后是之前的所有句子。前部分无关紧要。

然后你应该能够计算两个或更多单词的常用短语。

于 2012-05-08T20:58:44.030 回答