在文本中查找常用短语

时间:2012-05-08 20:07:13

标签: java text

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

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

2 个答案:

答案 0 :(得分:0)

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

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

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

希望这至少有帮助!

答案 1 :(得分:0)

位间接算法:

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

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