Owe*_*ker 6 grammar nlp linguistics internationalization
有些语言,特别是斯拉夫语言,根据语法背景改变了人们名字的结尾.(对于那些懂语法或学过语言的人,如德语或俄语,以及帮助搜索关键词,我说的是名词变形.)
这可能是最简单的一组示例(波兰语,以保存整个不同的字母表问题):
现在,如果在这些例子中,这里的名字是用户输入的,那就引入了一个语法噩梦的世界.重要的是,如果我选择Katie(Kasia),这些例子不能直接比较 - 3和4都是Kasi,而不是*Kasy和*Kasie - 男性名字将再次完全不同.
我猜之前有人已经处理过这种情况,但今天我的Google-fu似乎很弱.我可以找到很多关于自然语言处理的链接,但我不认为这是我想要的.需要明确的是:我只是从来没有准备有每个用户一个用户输入的名字和我会需要它们下降到已知的配置-我会,将有占位符像一个本地化的文本{name nominative}和{name dative},为求论点.我真的不想对文本进行词法分析来解决问题,我只需要拒绝那个用户输入的名字.
任何人都有关于如何做到这一点的任何建议,或者我是否需要开始致电本地化机构; o)
进一步阅读(所有在维基百科上)感兴趣的:
免责声明:我知道这种情况会发生在许多其他语言中; 突出斯拉夫语言仅仅是因为我有一个项目将被本地化为一些斯拉夫语言.
在德语中,唯一被修改的是冠词:Der、Die、Das。而名字却没有这些。所以德语没什么特别的。(顺便说一句,这不是斯拉夫语)
\n\n关于俄语(我的母语)。改变结尾的整个概念对于处理来说是痛苦的,但是(!)如果你只有人名并且有像 {name nominative} 这样的提示,那就相对容易了。大多数女性名字都有共同的结构:root + a/ya (\xd0\xb0/\xd1\x8f),并且每个提示都会给你明确的如何改变结尾的方法。我看到波兰语中的内容是相同的:Dorot|a,Dorot|\xc4\x99。男性的名字也很简单。它们要么遵循完全相同的规则(如果以 a/ya (\xd0\xb0/\xd1\x8f) 结尾),要么以 j/y 结尾(就像我的名字 Andrey),映射略有不同。
\n