【发布时间】:2015-03-27 09:23:35
【问题描述】:
我想计算一些文本中使用了多少个独特的词。棘手的部分是,我想将一个单词的不同形式视为一个单词。示例:
I work.
He works.
I am working.
I have worked.
本文中唯一的词就是这 5 个:[I, work, He, am, have] 因为一个(同一个)词有 4 种不同的形式 - work。
我想我需要一些字典或一些图书馆,但经过一番谷歌搜索后没有找到任何东西。任何人都可以帮助我吗?谢谢!
PS:我知道有些词是完全一样的,但是它们的意思是不同的。 (例如:当他离开家时,树叶会覆盖地面)。无论如何,请忽略此类情况 - 很难涵盖它们 + 它们很少见,不会显着影响结果。
【问题讨论】:
-
@ryekayo 正则表达式将如何帮助他处理“go”、“goes”、“went”、“gone”? OP,您将如何处理“当他离开家时,叶子将覆盖地面”?重复还是唯一?
-
@RealSkeptic 因为这种情况无法区分,我可以将它们视为相同的词 - 这是可以接受的“错误”。它很少发生,不会对结果产生太大影响。我想要的只是处理最常见的重复单词的情况。
-
我建议使用英语word stemmer 并找到您语料库的独特根茎。
标签: java parsing dictionary