如何用程序给宝宝起名?
开源代码库
/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和用来爬分析结果的网站都不是很智能,所以生成结果的可用率不高,像“无父”“无母”这样的词就能得高分...
然而,从一个更佛教的角度来看,一些产生的结果仍然可以给马宝宝达一些启发。还是那句话,名字是父母送给宝宝的礼物,还是更积极参与的好。这种经历本身也是一种甜蜜美好的财产。