这是一个家庭作业。我不一定要寻找确切的解决方案,而是寻找开放的答案和可能的策略。我有一组段落和一组单词。我需要检测这些段落中的哪些可能包含某些关键字并输出这些段落的标题
蛮力方法是进行简单的字符串匹配并检查段落是否包含所需的字符串,但我认为这根本不是一个很好的解决方案。此外,作业要求我确定文章是否可能包含关键字,这基本上意味着将涉及某种机器学习/数据挖掘。
您的所有意见都受到高度重视,非常感谢!
PS:如果重要的话,我将使用 Java 编程语言来解决这个问题。
这是一个家庭作业。我不一定要寻找确切的解决方案,而是寻找开放的答案和可能的策略。我有一组段落和一组单词。我需要检测这些段落中的哪些可能包含某些关键字并输出这些段落的标题
蛮力方法是进行简单的字符串匹配并检查段落是否包含所需的字符串,但我认为这根本不是一个很好的解决方案。此外,作业要求我确定文章是否可能包含关键字,这基本上意味着将涉及某种机器学习/数据挖掘。
您的所有意见都受到高度重视,非常感谢!
PS:如果重要的话,我将使用 Java 编程语言来解决这个问题。
我不确定我是否正确理解了您的任务,但您可以使用 Bloom 过滤器。
布隆过滤器是一种概率数据结构:它告诉我们元素要么肯定不在集合中,要么可能在集合中。
在guava 库页面上查看它的解释或玩一个简单的实现来看看它是如何工作的。
您可以通过使用 Lucene 来做到这一点。
以下是一些稍微高级的参考:
http://www.cnlp.org/apachecon2005/AdvancedLucene.ppt
机器学习/数据挖掘方法将需要您没有提到的大量数据(训练数据)。
可能的词可能建议使用某种形式的模式匹配(更轻松的一种,而不是确切的词)。
我曾经有一项任务,其中包括为一组给定的文档构建一个搜索引擎。我们将解析它们并构建一个倒排索引,然后使用余弦度量来执行使用关键字的查询。我们还有一个停用词列表,并将所有关键词转为小写。
这是一些基本理论,并参考了更高级的材料。