我有一个 csv 文件,它有两列和大约 9,000 行。第 1 列包含调查中受访者的名字,第 2 列包含调查中受访者的姓氏,因此每一行都是一个观察值。
这些调查是在一个非常多样化的地方进行的。我试图找到一种方法来判断受访者的名字是否来自英语(英国或美国)。他的姓也一样。
这个任务离我的专业领域很远。看完网上有趣的讨论here , 和 here .我想过三种方式:
1- 获取最常见的三胞胎(3 个字母的家族在英语中经常一起出现)或四胞胎(4 个字母的家族在英语中经常一起出现)的数据集,并检查每个名字和姓氏是否包含这些字母家族。
2- 使用英国名字的数据集(比如 20 世纪早期英国最常见的 X 个名字,并根据与我的数据集的接近程度匹配这些名字。我认为这些数据集可能不错,data1, data2 , data3 .
3- 使用 python 和接口(interface)来检测(最有可能)英语和非英语的内容。
如果有人对此有建议,可以分享经验等,那就太好了!
我附上了一个数据示例(我编造了名称)和预期输出。
注意:请注意,我完全清楚根据英语/非英语二分法对名称进行分类并非没有缺点和语义问题。
最佳答案
我不久前构建了一些非常相似的东西。总结如下。
- 创建了 2 个源列表,一个名字列表和一个姓氏
- 创建了 4 个以上的比较列表(英文名字列表、英文姓氏列表等)
- 然后使用 in_array 函数将源名字与比较名字进行比较
- 然后我使用一个大的 if 语句来相互检查列表。 Eng.First vs Src.First,American.First vs Src.First,Irish.First vs src.First。
等等。如果您正在考虑使用您的第一个项目符号作为一个选项(例如,名称的组成部分,我写了一篇论文,其中也包含一些源代码,这可能会有所帮助。
Ordered Match Ratio as a Method for Detecting Program Abuse / Fraud
关于python - 如何检查名字和姓氏是否为英文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65967459/