当前位置: 首页 > 面试题库 >

如何使用Lucene获得频繁出现的短语

蒙经纶
2023-03-14
问题内容

我想与Lucene交流一些经常出现的短语。我从TXT文件中获取了一些信息,并且由于没有短语信息而失去了很多上下文,例如“信息检索”被索引为两个单独的词。

怎样获得这样的短语?我在互联网上找不到任何有用的东西,所有的建议,链接,提示,尤其是示例都值得赞赏!

编辑: 我只按标题和内容存储我的文档:

 Document doc = new Document();
 doc.add(new Field("name", f.getName(), Field.Store.YES, Field.Index.NOT_ANALYZED));
 doc.add(new Field("text", fReader, Field.TermVector.WITH_POSITIONS_OFFSETS));

因为对于我而言,最重要的是文件的内容。标题通常根本不是描述性的(例如,我有很多PDF学术论文,其标题是代码或数字)。

我迫切需要从文本内容中索引出现的短语,现在我看到这种简单的“词袋”方法效率不高。


问题答案:

朱莉娅,看来您正在寻找的是n-gram,特别是Bigrams(也称为搭配)。

这是关于从Manning和Schutze的统计自然语言处理基础中找到搭配(PDF)的一章。

为了使用Lucene做到这一点,我建议将Solr与ShingleFilterFactory一起使用。请参阅此讨论以获取详细信息。



 类似资料:
  • 问题内容: 我有一个表Orders(id_trip,id_order),表Trip(id_hotel,id_bus,id_type_of_trip)和表Hotel(id_hotel,name)。 我想在表Orders中获得最常入住的酒店的名称。 问题答案: 分布中的“最常出现的值”是统计学中的一个不同概念,带有一个技术名称。它称为发行版的MODE。Oracle具有此功能。https://docs.

  • 我有mp4视频文件,我需要在我的页面上加载,我正在使用MSE,但我不知道如何将我的视频分成带有. m4s扩展名的片段,以head. m4s作为父片段,并包含有关我的所有信息视频文件存储在其中?请帮助。

  • 问题内容: 我需要 从多个Lucene索引中 提取 频率最高的术语 ,以将其用于某些语义分析。 因此,我想获取可能出现次数最多的前30个词(仍未决定阈值,我将分析结果)及其按索引计数。我知道由于故意删除重复项,我可能会失去一些精度,但是就目前而言,我可以接受。 因此,对于所提出的解决方案,(不必说可能)速度并不重要,因为我会进行静态分析,所以我会强调实现的 简便性 ,因为我不太了解Lucene,也

  • 我正在开发一个PHP项目,需要从特定用户名获取Youtube频道横幅(或封面照片),头像和上传的视频。 对于头像和视频,我使用:https://gdata.youtube.com/feeds/api/channels?q=Username 但是对于频道横幅,我在网上搜索过但没有运气。这里有人可以帮助我吗?非常感谢!

  • 在网上研究了几天后,我来这里寻求帮助。我目前正在为朋友们开发一个简短的2D游戏(实际上只是为了好玩),几天前我了解了剪辑。在这个游戏中,玩家可以收集物体(几乎就像马里奥中的硬币一样)。我的问题是,我在收集硬币时会发出非常短的声音(50kB约1秒),如果玩家在1秒钟内收集3个硬币,那么剪辑会使游戏延迟。如果先例剪辑已经结束,那么就没有延迟。但是如果先例剪辑没有结束,那么尝试再次播放剪辑会使游戏延迟(

  • 12:40:34:正在执行任务“jar”... 任务:包装器 在0s中生成成功1个可操作任务:1个已执行