鉴于我们假设的一些(英语)单词是复数,是否可以推导出单数形式?如果可能的话,我想避免使用查找/字典表。
一些例子:
Examples -> Example a simple 's' suffix Glitch -> Glitches 'es' suffix, as opposed to above Countries -> Country 'ies' suffix. Sheep -> Sheep no change: possible fallback for indeterminate values
或者,this seems to be a fairly exhaustive list.
对语言x
中的库的建议是好的,只要它们是开源的(即,有人可以检查它们以确定如何用语言y
进行)
答案 0 :(得分:11)
这实际上取决于“以编程方式”的含义。部分英语适用于易于理解的规则,而部分不适用。它主要与频率有关。简要概述一下,你可以阅读Pinker的“单词和规则”,但要帮自己一个忙,不要把整个语言学的生成理论完全放在心上。那里的经验主义比思想学派真正有助于追求。
很多英语可以在统计学上被引理。顺便说一句,词干或词形还原是你正在寻找的术语。使用基于频率的异常引导的统计规则的最有效的引理器之一是Morpha Lemmatizer。如果你有一个需要这种简化字符串的项目,你可以试一试,这些字符串代表英文的特定术语。
在规范相关术语方面,还有更多天真的方法可以取得很大成就。看一下Porter Stemmer,它足以将英语中的大多数术语聚集在一起。
答案 1 :(得分:5)
从单数变为复数,与我熟悉的其他一些欧洲语言相比,英语复数形式实际上非常规律。例如,在德语中,制作复数形式非常复杂(例如Land - >Länder)。我认为大约有20-30个例外,其余的遵循一个相当简单的规则集:
话虽如此,复数到单数形式变得更难,因为相反的情况有歧义。例如:
所以它可以完成,但你会有一个更大的异常列表,你将不得不存储很多误报(即看似复数但不是的东西)。
答案 2 :(得分:3)
“轴”是“ax”或“轴”的复数吗?即使是没有背景的人也无法分辨。
答案 3 :(得分:1)
你可以看看Inflector.net - 我的Rails'拐点类的端口。
答案 4 :(得分:0)
不 - 英语不是一种符合许多规则的语言。
我认为你最好的选择是:
答案 5 :(得分:-3)
这是不可能的,正如尼克已经说过的那样。对于你所描述的词汇类别来说,这很简单,但是所有以s结尾的词语自然呢?例如,我的名字Marius不是Mariu的复数。我觉得和巴士一样。英语单词的多元化是单向函数(哈希函数),你通常需要句子的其余部分或段落用于上下文。