algorithm - 蒙古语名字的处理

标签 algorithm parsing culture countries

有几个国家(土耳其、蒙古、吉尔吉斯斯坦等)通常男人的名字可以没有中间名,而是使用“oglu、uulu”等词代替。

例如“Michael oglu Bret”,意思是“Bret 的儿子 Michael”。

我曾经将这类词拆分并假定为中间名,所以在过去的一周里,我怀疑我这样做的方式是否正确。

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

最佳答案

我无法告诉您什么最适合您,但总的来说,中间名的概念并不适用于许多文化。即使在西方(欧洲和北美),它最终制造的问题也多于解决的问题。最好放弃中间名,只使用两个字段作为姓名:GivenNames 和 FamilyNames。在每个字段中,您必须允许一个名称包含多个名称词,并且允许名称很长。名字是作为个人给予 child 的名字,即个人名字,而姓氏是来自家庭和/或氏族的名字。通常,我们西方人认为的名字和中间名是名字,而姓氏是姓氏。

例如,西类牙裔命名惯例是有两个姓氏 - 父姓和母姓。问题在于,习惯于一个名字、一个中间名和一个姓氏概念的数据录入人员会将其中一个姓氏放在中间名槽中,这是不正确的。

阿拉伯语名称遵循类似于您在问题中描述的约定(参见 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”改为姓氏。但是,如果您的系统将处理所有这些类型的名称,您可以使用三个字段:给定/个人名称、父亲姓名和家庭/家族名称。只有一个名称字段是另一种选择。

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

这个网页讨论了很多与名称相关的问题:

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

关于algorithm - 蒙古语名字的处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12427240/

相关文章:

algorithm - 迭代BTreeSet和HashSet的时间复杂度是多少?

python - 在排序列表中找到大于给定数字的最小数字

python - BeautifulSoup : Parsing "Span" element

正则表达式解析类型 3 语法

c# - 在 C# 中解析来自不同文化的数字

c# - 无法复制文件,找不到部分路径

algorithm - 如何计算给定算法的时间复杂度(岭回归)?

ruby - 在此凯撒密码中, "print i[-1]"是如何从 z 换行到 a 的?

java - 将输入字符串解析为整数似乎会使我的应用程序崩溃

asp.net - CurrentCulture 在 ASP.net 中错误地默认为 en-US