如何用程序给宝宝起名?

好名字包含了父母对宝宝的美好希望,程序只是按照一些规则生成名字。由于受NLP和语料库的限制,程序生成的名字只能作为参考,质量肯定达不到马宝宝大研究推敲的水平,不如老老实实思考,不考虑全自动制作。

开源代码库

/clg456852/Baby_name

程序是用Python 2.7版写的。该程序只考虑的两个单词的名称。

依赖库:

因为涉及到爬虫,如果在公司跑,需要设置代理。同时在/devnettempvisit.aspx申请访问外网。

我之前说过,一个好名字,最重要的是包含了父母对宝宝的美好希望。

在此基础上,尽量满足意、音、形,中国文化的八字也是一个考虑选项。

含义:名字最重要的属性,比如希望宝宝开心,就是“开心”和“快乐”。个人认为,如果第二个词是动词,或者名字是形容词,可以获得更好的含义,比如“开心”“快乐”。

发音:如果一个名字中其中一个字的元音和姓氏的发音相近,名字读起来会更顺口,但不是两个都是,可能会更迂回。同时最后一个字应该是舌根,短而有力读。

形式:如果姓是上下结构,那么名的其他字就不要用同一个结构。

八字:八字的平衡性最好,八字喜欢的神是由他们的异质性和相似性决定的。其中神是用来平衡八字的,喜神是生成神的属性。

从上面的分析来看,程序的实现方案是:从语料库(古典诗词)中获取词汇,分析词汇的意、音、八字、五格,给出一些最靠谱的选择。

我整理的语料有:《诗经》、《楚辞》、《唐诗三百首》、《宋词三百首》、《论语》、《全唐诗宋词》等。有些已经处理过了,从‘语料库’开始。从语料库中获取句子,按照一定的规则组词、分词,得到符合目标函数的名词作为潜在名称。

我这里没有把名字的形状作为目标函数来考虑,因为这个属性属于为场景添花的类型,马宝宝爸在选择过程中可以自己决定。

算算名字的八字五方。我要用爬虫提交表单/Naming/Default.aspx吗?Tag=4,然后分析返回的结果。所以如果短时间内密集发送表单,可能会被服务器屏蔽。如果需要大量抓取,最好建立一个代理池。

为了满足上述需求,利用现有的一些第三方包来实现部分功能。

其中包括:

SnowNLP可以分析单词的词性、声母和情感。

解霸可以对现有语料进行切分。

Zhconv用于将传统语料库转换为简化版本。

Bs4用于分析爬虫的抓取结果。

Threadpool使用多线程来加速爬虫请求。

运行create_name脚本从语料库中合成单词,并将表单提交给名称评分网络。

如果已经有名字,可以直接运行name_score_post脚本,还有其他脚本作为辅助工具。

程序中有两个主要脚本:‘create _ name . py’和‘name _ score _ post . py’。

从语料库中分组单词,选择符合目标函数的单词,输出到目标文件。

默认可以从楚辞中组词,也可以自己选择其他语料库。整个唐诗宋词太大,不推荐。

构词法规则:选择句首、句尾、句间的词来构词法,用结巴分词得到句中的词。

目标函数:基于snowNLP,用于选择符合特定规则的正词、词性和声音。

读取目标文件并使用爬虫获取& amp;in & amp;网站&;根据分析结果,得出文化印象、八字、姓名五格的得分,输出Excel表格以供参考。

理想很丰满,现实很骨感。

目前NLP和用来爬分析结果的网站都不是很智能,所以生成结果的可用率不高,像“无父”“无母”这样的词就能得高分...

然而,从一个更佛教的角度来看,一些产生的结果仍然可以给马宝宝达一些启发。还是那句话,名字是父母送给宝宝的礼物,还是更积极参与的好。这种经历本身也是一种甜蜜美好的财产。