2015-11-30 46 views
2

我在基於lucene的搜索中搜索一個詞,我想在java中將字符串'eating','eats'轉換爲'eat'。我搜索並找到了詞形解析的解決方案,但我遇到的所有英文lemmatizer工具都使用wordlist或字典查找。有沒有任何lemmatizer避免字典查找和高效率,可能是一個基於規則的lemmatizer。是的,我不是在尋找「幹部」。或者是否有任何方法(不重要的準備使用庫,任何算法,方法等)來獲取根/原始單詞。英語Lemmatizer沒有詞典爲JAVA?

回答

1

對於英語沒有基於規則的lemmatizer工具,因爲很多單詞不可能構造規則規則,例如,所有不規則動詞或一些複數名詞,如兒童/小孩或男人/男人。如果您尋找身高有效的解決方案,我可以推薦看項目English/Russian morphology for Lucene。它的速度每秒大約800 000字,消耗少量內存 - 幾兆字節,併爲未知單詞的規範化提供了一些啓發。