处理蒙古名字

时间:2012-09-14 15:09:21

标签: algorithm parsing culture countries

有几个国家(土耳其,蒙古,吉尔吉斯斯坦等),一般男性的名字可能没有中间名,而不是使用“oglu,uulu”等词语。

例如“Michael oglu Bret”,意思是“布雷特的迈克尔之子”。

我曾经把这种词分开并假设它们作为中间名,所以在过去的一周里,我对我这样做的方式感到怀疑。

是否有任何标准化或一套如何处理此类名称的规则?

1 个答案:

答案 0 :(得分:7)

我不能告诉你什么对你最好,但总的来说,中间名的概念并没有很好地映射到许多文化。即使在西方(欧洲和北美),它最终会产生比它解决的问题更多的问题。放弃中间名可能更好,并且只使用两个字段作为名称:GivenNames和FamilyNames。在每个字段中,您必须允许名称包含多个名称字,并允许使用非常长的名称。名字是指作为个人给予孩子的名字,即个人姓名,姓氏是来自家庭和/或家族的名字。通常情况下,我们在西方认为的名字是中名和中名,姓氏是姓氏。

例如,西班牙语命名惯例是有两个姓氏 - 父姓和母姓。问题是进行数据输入的人习惯于使用一个名字,一个中间名和一个姓的概念,将其中一个姓名放在中间名称槽中,这是不正确的。

阿拉伯语名称遵循与您在问题中描述的类似的约定(请参阅http://en.wikipedia.org/wiki/Arabic_name#Arab_family_naming_convention)。在给定的/家庭模型中,诸如“Saleh ibn Tariq ibn Khalid al-Fulan”(Saleh,Tariq的儿子,Khaled的儿子,al-Fulan家族)的名称将“Saleh”映射到给定的名称,并且ibn Tariq ibn Khalid al-Fulan“以姓氏命名。但是,如果这些类型的名称都是您的系统将处理的,则可以使用三个字段:given / personal name,father name和family / clan name。只有一个字段用于名称是另一种选择。

最大的问题是让数据输入人员在处理来自不同文化和命名惯例的人时,能够始终如一地正确地映射名称。无论您选择哪种模型存储名称,它们都会错误地从命名约定与其自身不同的文化中输入名称。在编写名称查找时,这需要更多的编程工作来解决这个问题。

此网页讨论了许多与名称相关的问题:

http://www.w3.org/International/questions/qa-personal-names