欢迎大家点击体验 ---》得名传送门
---------- 以下是正文 -----------
最近在逛知乎的时候,偶然看到起英文起名这个问题。
想想当时刚入职腾讯时第一件事就是要取个英文ID,不过当时傻不拉几地取了中文名的前缀做 ID,所以当时取的ID是cmm,导致后面无论是自己用还是别人看起来都极其尴尬....
在知乎上面翻了下,发现有很多人有这个困惑,但是却没有发现一个可以解决英文起名的产品。
跟小伙伴们讨论了技术的可行性之后,所以我们决定做一款英文起名的产品 --得名。
具体我们是怎么做的呢?主要有以下两点
1、取英文名的本质是选英文名
首先要明白的是,取英文名的本质是我们从已有的一些英文名字库中选出适合自己的名字,而不是凭空想象去造一些新的名字。因为不是 native speaker 的话,生搬硬造名字更容易闹出笑话。
既然是这样的话,那我们确定的方向是,给一定条件来让计算机选出合适的名字。这对于计算机而言是「轻车熟路」的。
所以,我们首先收集了很多英文名字的数据库,包括像:美国社保局统计的官方数据、behindthename、imdb上影视库中的出现的角色人物名称等等,然后利用机器学习给这些名字分别打上各种各样的标签(也就是计算机需要做出判断的各种条件)。
这样就能基本做到可以根据用户输入的条件输出符合条件的英文名。
2、注重含义的同时优先考虑读音的相关性
根据调查,国人在选择英文名称的时候,会优先考虑跟中文读音相近的英文名,比如【周杰伦】的英文名【Jay Zhou】。
考虑到这一点,我们采用了Phonetics 语音算法,简单来说就是将文字拆解成音素,再去语音库里匹配相同音素的语音片段。
比如【墨翟(modi)】这个中文名我们会匹配【Medivh】这个英文名,因为这两个名字读音是非常相关的,而且也符合我们在取英文名的习惯,就是尽量读音相关。
这是我们最后的生成效果图:
3、内测用户使用评价
做好了产品之后,我们找到了一些用户来测试使用,普遍反映还可以,当然由于使用的是机器学习,需要不断地调教我们的算法。
欢迎大家点击体验 ---》得名传送门