Java:API中的remove-common-words-method?

时间:2010-04-25 02:23:58

标签: java parsing nlp

相关:

  1. Forum post
  2. 在重新发明轮子之前,我需要知道这种方法是否存在。根据诸如list之类的列表来剥离单词听起来并不具有挑战性,但是存在语言方面,例如哪些词在剥离中压力最大,上下文如何?

1 个答案:

答案 0 :(得分:2)

您尝试执行的操作是从文本中删除“stop words”。您可以在链接中找到list of English stopwords。根据您使用的停用词的数量,创建HashSet个单词可能更有效,这样您就可以判断单词是否是固定时间的停用词(使用contains() } function),这意味着过滤整个文本将占用单词数量的线性时间。这是一个如此简单的操作,我怀疑你会找到一些库来做,但它不应该花很长时间。

在选择使用哪个词方面......这实际上取决于你想要做什么。如果你在bag of words model上执行某种机器学习算法,那么你真的必须尝试不同的单词选择,看看哪些会导致最少的验证错误。就上下文而言,确实不需要很多单词。任何说英语的人都可以在你放弃“the”或“a”或“an”时告诉你。可能有一些常见的词对某些消歧很重要,但根据您的申请,它们可能是必要的,也可能是不必要的。例如,如果你想知道是谁做了什么,那么消除“他”,“她”等可能是一个问题,但是如果你只关心这样的行为是否发生而你真的没有关心谁做了,然后消除代词就好了。