Java 检测由某些单词组成的段落的可能性

Java 检测由某些单词组成的段落的可能性,java,machine-learning,data-mining,Java,Machine Learning,Data Mining,这是一个家庭作业。我不一定要寻找精确的解决方案,而是公开的答案和可能的策略。我有一套短文和一套单词。我需要检测这些段落中哪些可能包含某些关键字,并输出这些段落的标题 蛮力方法是进行简单的字符串匹配,并检查段落是否包含所需的字符串,但我认为这根本不是一个好的解决方案。此外,作业要求我确定文章是否有可能包含关键字,这本质上意味着将涉及某种机器学习/数据挖掘 非常感谢您的宝贵意见 附言:如果有关系的话,我将用Java编程语言来解决这个问题。你可以用Lucene来解决这个问题 以下是一些稍微高级的参考资

这是一个家庭作业。我不一定要寻找精确的解决方案,而是公开的答案和可能的策略。我有一套短文和一套单词。我需要检测这些段落中哪些可能包含某些关键字,并输出这些段落的标题

蛮力方法是进行简单的字符串匹配,并检查段落是否包含所需的字符串,但我认为这根本不是一个好的解决方案。此外,作业要求我确定文章是否有可能包含关键字,这本质上意味着将涉及某种机器学习/数据挖掘

非常感谢您的宝贵意见


附言:如果有关系的话,我将用Java编程语言来解决这个问题。

你可以用Lucene来解决这个问题

以下是一些稍微高级的参考资料:


机器学习/数据挖掘方法需要大量数据(培训数据),而您没有提到这些数据


很可能这个词可能建议使用某种形式的模式匹配(一种更轻松的模式匹配,而不是确切的模式匹配)。

我曾经有一个任务,就是为给定的搜索引擎构建一个搜索引擎 一套文件。我们将解析它们并构建一个反向索引,然后使用余弦度量来执行使用关键字的查询。我们还有一个停止词列表,并将所有关键字都改为小写


,引用了更高级的材料。

我不确定是否正确理解了您的任务,但您可以使用Bloom过滤器

Bloom filter是一种概率数据结构:它告诉我们元素肯定不在集合中,或者可能在集合中


请查看或上的解释,了解其工作原理。

通常情况下,您不会被分配与课堂内容无关的任务。。。你学习过机器学习吗?我建议你去掉所有标点符号,并在空格周围拆分,得到一个单词数组,然后对它进行排序和二进制搜索,以检查文章是否包含某些字符串。至于机器学习部分,这需要花费更多的时间。@Vulcan我相信他已经考虑过了(很可能是他所说的“蛮力方式”),我理解“蛮力方式”只是简单地使用字符串#contains。@user1020069当多人评论时,有必要对它们进行标记,以确保它们得到通知。按照您的方法,第一步是通过应用停止列表并将它们转换为小写,将它们存储在哈希表中,检查关键字是否存在,从而简单地减少通过量。。。。??不确定这是否是一个很好的方法。我总是可以训练数据,对吗?@user1020069,添加动词-正常形式转换。这看起来很酷。。。。我想我能把这些段落改成a