给定一个单词,该单词可能是也可能不是单数形式的名词,您将如何生成其复数形式?
基于这个NLTK教程和这个关于复数规则的非正式列表,我编写了这个简单的函数:
def plural(word):
"""
Converts a word to its plural form.
"""
if word in c.PLURALE_TANTUMS:
# defective nouns, fish, deer, etc
return word
elif word in c.IRREGULAR_NOUNS:
# foot->feet, person->people, etc
return c.IRREGULAR_NOUNS[word]
elif word.endswith('fe'):
# wolf -> wolves
return word[:-2] + 'ves'
elif word.endswith('f'):
# knife -> knives
return word[:-1] + 'ves'
elif word.endswith('o'):
# potato -> potatoes
return word + 'es'
elif word.endswith('us'):
# cactus -> cacti
return word[:-2] + 'i'
elif word.endswith('on'):
# criterion -> criteria
return word[:-2] + 'a'
elif word.endswith('y'):
# community -> communities
return word[:-1] + 'ies'
elif word[-1] in 'sx' or word[-2:] in ['sh', 'ch']:
return word + 'es'
elif word.endswith('an'):
return word[:-2] + 'en'
else:
return word + 's'
但是我认为这是不完整的。有一个更好的方法吗?
pattern-en软件包(适用于python 2.5+,但不适用于python
3)提供了复数形式
>>> import pattern.en
>>> pattern.en.pluralize("dog")
'dogs'
>>>
我正在从事一个与NLP相关的项目,在这个项目中,我想从一个句子中识别主要动词(我可以使用依赖项解析器),然后将动词转换为其名词形式(或者我们可以说从动词派生的名词),例如或,只要可能。有没有类似于wordnet或verbnet的资源提供这种功能?
问题内容: 是否有任何Java API(S),将提供(如英语单词的复数形式的)? 问题答案: Wolfram | Alpha返回给定单词的变形形式列表。 参见以下示例: http://www.wolframalpha.com/input/?i=word+cactus+inflected+forms 这是他们的API: http://products.wolframalpha.com/api/
基于输入数字返回单词的单数或复数形式。如果第一个参数是一个 object,那么它将使用一个闭包来返回一个函数,该函数可以自动实现多个单词,如果所提供的字典包含这个单词,它不会简单地以 s 结尾。 如果 num 为 -1 或者 1,返回单词的单数形式。如果 num 是任何其他数字,返回复数形式。忽略第三个参数 plural,默认使单词 + s,或在必要时提供自定义的复数单词。如果第一个参数是一个 o
问题内容: 所以我基本上是在一个项目中,计算机从单词列表中提取一个单词,然后为用户弄乱它。只有一个问题:我不想一直在列表中写很多单词,所以我想知道是否有一种方法可以导入很多随机单词,所以即使我也不知道它是什么,并且那我也可以玩游戏吗?这是整个程序的编码,我只输入了6个字: 问题答案: 如果您重复执行此操作,我将在本地下载它并从本地文件中提取。* nix用户可以使用。 例: 从远程字典中提取 如果您
谢谢你。
我正在尝试构建我的第一个签名APK以供发布,但出现了一些错误。看起来效果很好,但现在我就是无法生成APK。我做了研究,但什么也没找到。 Gradle版本:4.8,Android插件版本3.1.4,这是我的应用程序Gradle屏幕截图:link 这来自assembleDebug: 我曾经有过布局和不赞成使用的功能的其他问题,但我解决了它。其中一个就这样消失了,但我什么也没做:-) 我已经尝试过的事情