在过去,我曾编写代码来查找正文中的常用单词,但我很好奇是否有一种已知的方法可以在正文中查找常用短语?(在java中)
有人知道如何在没有Lucene或nlp的情况下完成这样的事情吗?还有其他的工具或解决方案吗?
发布于 2012-05-09 04:43:29
如果不确切地知道你想做什么,就很难给你一个答案。对于您的问题,一个天真的答案是用标点符号拆分文本,并使用数据结构来存储文本中每个句子的计数器,为您从文本中解析的每个句子递增计数器。
例如,您可以使用优先级队列来按其计数器对句子进行排序。然后,您可以删除n个最常见句子的最大元素n次,或者弹出句子,直到计数器大于您想要的数字。
然而,如果你不想要精确的句子,要么你必须改变你存储在优先级队列中的内容,要么你将不得不完全使用另一个算法。
希望这至少能有所帮助!
发布于 2012-05-09 04:58:44
一个间接的算法:
可以创建一个置换索引:对于每个句子中的所有单词,存储句子并按单词排序,然后是剩余句子,然后是之前的所有。前面的部分是不相关的。
然后,你应该能够计算两个或更多单词的常见短语。
https://stackoverflow.com/questions/10505709
复制相似问题