有些语言,特别是斯拉夫语,会根据语法语境改变人名的结尾。(对于那些熟悉语法或学习语言的人来说,比如德语或俄语,为了帮助搜索关键词,我要说的是名词的解密。)
使用一组示例(在波兰语中,以保存完全不同的字母表问题),这可能是最简单的:
现在,如果在这些例子中,这里的名字是用户输入的,那就引入了一个语法噩梦的世界。重要的是,如果我为凯蒂(卡西娅),例子不能直接比较。 -3和4都是卡西,而不是*卡西和*卡西-和男性的名字将是又完全不同了。
我猜以前有人处理过这种情况,但我的Google-fu今天似乎很弱。我可以找到很多关于自然语言处理的链接,但我不认为这正是我想要的。要明确的是:我只会有一个用户--每个用户输入一个名称,我需要将它们拒绝为已知的配置--我将有一个本地化的文本,它将有类似于{name nominative}和{name dative}的占位符,以便于讨论。我真的不想做文字的词法分析来解决问题,我只需要拒绝一个用户输入的名字。
任何人对如何做到这一点有任何建议,或者我是否需要开始打电话给各地的本地化机构;
进一步阅读(全部在维基百科)的感兴趣者:
免责声明:我知道这发生在许多其他语言;突出斯拉夫语言仅仅是因为我有一个项目,将被本地化为一些斯拉夫语言。
发布于 2010-05-20 09:37:02
在我看来你想要一个形态学引擎来做抛光。简而言之,他们可以同时进行分析和生成,从表面形式(我们读和写的)到一些抽象的形式,比如"Dorothy + FEM + DAT",同时考虑到解密和音韵学。
看看这里(我不是波兰人,但看起来很好,而且最重要的是它有下载:) http://nlp.ipipan.waw.pl/~wolinski/morfeusz/
这里是关于这个问题的一些介绍。
发布于 2010-05-19 17:46:29
在德语中,唯一被修改的是文章: Der,Die,Das。名字里没有它们。所以对德语没什么好感的。(顺便说一句,这不是斯拉夫人)
关于俄语(我的母语)。改变结束的整个概念对于处理来说是痛苦的,但是(!)如果您只有人名,并且有类似{名称命名}的提示,则相对容易。大多数女性的名字都有共同的结构: root + a/ya (а/я),每个提示都会告诉你如何改变结尾。我看到波兰人的情况是一样的:多罗,多罗,ę。男性的名字也很简单。它们要么遵循完全相同的规则(如果以a/ya (а/я)结尾),要么以j/y结尾(就像我的名字Andrey),则映射略有不同。
https://stackoverflow.com/questions/2867895
复制相似问题