本文作者 | Charcat
来源 | https://juejin.im/post/5dac6ccd5188253cd0258745
1. 初衷:
2016年,我这个IT屌丝终于拥有了爱情的结晶——老婆怀孕了。随着老婆肚子的一天天变大,一个非常艰巨的任务落在了我的头上,那就是——取名字。因为曾今跟老婆吹牛,自己饱读诗书,文学功底深厚(其实就是看看网络小说),老婆把这任务分派下来之后,我似乎还只能欣然接受。再加上即将成为爸爸的喜悦,让我痛快的拍下胸脯说:没问题,保证取一个好名字。
2. 作为IT人员,有没有高大上解决方案
接到这个任务后,断然不敢敷衍了事,作为IT码农的话,开始拿出了我超强的执行力。首先,我在脑海中一遍一遍的搜刮,各种诗词,散文,小说文学集,古今中外名人,甚至网络小说的主角配角名字。。。
然而,尴尬的是,脑容量有限,我的脑海中并没有留下太多可用的资料。作为一个有创新精神IT屌丝,是不是能用些不一样的方案来解决这个难题呢?想到这儿,我的脑海中突然浮现出一个词:大数据。
3. 数据爬取,一步一步来
3.1 汉字
心动不如行动,作为一名有执行力的IT屌丝,我果断开启数据爬取之旅。汉字作为中国文学的基石,自然是我首先想到必选资料。字典类的网站,随意百度一下,就能找到一大堆,我挑选了几个看起来较为专业的网站作为我的数据来源(具体是哪些网站,就不透露了)。
经过一番努力之后,最终把7900个简体汉字存到了自家的数据库,数据表中包含了它的拼音,笔画,基本释义这三个基本栏位。数据本地化了,是不是大功告成,可以开始取名了?不,我感觉还是少了点什么,让我想想。。。
你应该也想到了,是的,这汉字的信息太粗了,没有多少使用价值,但是那又还缺了哪些信息呢?
- 繁体
- 繁体笔画
- 是否通用规范汉字
- 汉字结构
- 造字法
- 汉字如何拆解
- 偏旁部首
- 汉字五行属性。。。
于是,我又开始了新一轮的数据爬取,这一次,能参考的网站相对少了很多,因为很多网站并没有我想要的这些信息。不过,这一步整体还算顺利,只是考虑到怕整崩溃了人家的服务器,只好在云服务器上挂着爬虫程序,高间隔的爬取。一个晚上之后,总量20800的中国汉字库就正式产生了。
3.2 词语
同一个汉字,出现在不同的词语中,往往会有不一样的含义,因此,词语的数据也非常重要。相对字典来讲,词典相关的网站少了很多,我最终爬取了353000笔数据。
词组的数据内容主要包含:
- 词组汉字
- 词组拼音
- 释义
- 近义词
- 反义词
- 感情色彩
- 常用程度。。。
3.3 成语
成语是中国汉字语言词汇中定型的词,使用广泛,是中国传统文化的一大特色,读起来朗朗上口,而且往往还具有深意。因此,成语和歇后语不容错过。经过排重等简单处理后,总共得到了2W 的数据。
成语的数据内容主要包含:
- 成语汉字
- 成语拼音
- 释义
- 近义词
- 反义词
- 成语典故
- 产生的大致年代
- 感情色彩
- 常用程度。。。
走到这一步,一切十分顺利,接下来还有哪些需要用到呢?
对的,就是它:诗词
3.4 诗词
说到诗词,大家可能第一反应就是唐诗三百首;大家这么想,是能够理解的,因为唐诗的确是中华文化宝库中的一颗明珠,对中国乃至世界文化,都产生了深远的影响。但是,中国的诗词,远不止唐诗,而且数量,也远远不止三百首,以下我按照朝代大致列了一下:
- 先秦诗歌(比如有名的诗经,楚辞)
- 汉朝诗歌(比如汉乐府诗,古诗十九首)
- 魏晋南北朝诗歌(比如曹操,陶渊明等的诗歌)
- 唐诗
- 宋词
- 元曲
- 清代诗词
- 近代诗词
据不完全收集,我这边竟然爬取到了8000 的诗词文章,的确有点出乎意料的多。
3.5 古今名人与高频名字
这数据应该是大家没有想到的吧!
爬取这些数据,主要是为了解决重名的问题。重名是一个很尴尬的事情,比如现在很多人叫子涵,紫涵,紫萱,子轩之类的,上课的时候老师一叫名字,可能好几个人站起来。因此我收集了近年来特别高频使用的名字,以便后续规避使用。
除了这种情况,另一种重名也容易带来尴尬:重名古代名人。
与古代名人重名,容易招致身边朋友的调笑,尤其是重名的古人具有负面形象的时候。比如我有个朋友叫:赵高,长期以来他都受到名字的困扰。
古代名人的收集相对麻烦,因为很少有这类的名字收藏整理。好在通过某度的各种榜单,以及其他各种古代名人录,现当代各个领域的精英人物榜,总共收集到了大概5W的各类名人。
4. 现实与理想,坚持还是放弃
4.1 数据到手,天下我有
上面介绍的数据,其实只是我收集的资料的一部分。其他的我也不再赘述,因为收集数据是一个单调而耗时的工作,没有什么技术含量可言。
经过大概两个月的陆陆续续的收集,总算是把这些想要的数据全部收集并整理好。是不是可以大干一场了?
是的,我觉得我可以开始大干一场了。
4.2 怎么样才算是一个好名字
数据逐渐到手,准备开干的时候,一个急需解决的问题摆在我的面前:怎么样才算是一个好名字?
这个问题不明确下来,就好比开发人员没有需求文档,下一步完全就就没法开展了。不过现在可没有需求人员协助我,所以只好自己动手,丰衣足食了。静下心来,仔细琢磨琢磨,似乎可以从以下方面着手:
- 名字的字形
- 名字的读音
- 名字的释义
- 名字是否契合八字
- 名字三才五格好不好
- 名字与生肖是否冲突
4.3 规则,规则?
上面有提到几个可以着手的点,但是具体的规则,还需要细化理解,然后逐个攻破。
以字形为例,我们可以引申出相关的知识,比如偏旁部首,笔画数量,是左右结构,还是上下结构,汉字又如何拆解。
进一步来分析,笔画的多少,决定汉字的简易,名字笔画太多,会给小孩造成一定的书写障碍;笔画太少,又会让名字看起来显得单薄。同样的道理,汉字的结构与拼音,在不同的组合下,会有不同的效果。因此,如何合理的组合汉字,形成最优的方案,最终再把它们规则化,这是一个棘手的问题。为了解决这个问题,头发又掉了一地。
这样一层层的规则拆解下去,取名的整体规则似乎变得越来越复杂了。
当然,字音与字形相关的知识,其实是相对简单的;更有难度的是:名字的含义,以及八字喜用神推算,三才五格评估,生肖喜好等比较笼统或者玄学的东西。
这样一步步走来,到这儿终于有了放弃的想法。网上一搜索,各种算命大师,取名大师,看起来都十分权威,不仅各种承诺,而且往往折扣力度惊人,原价1888,折后价只要188,甚至更低。如果真如他们所说,花个几十百来块,直接解决问题岂不是更好?抱着这个心态,我常识性的咨询了几家,结果令我十分失望。
这儿暂且不论这些大师的整体水准,但是我这个半吊子学徒,略微一试探,也探出了好些冒充大师的人。
5. 埋头苦学,步步为营
5.1 八字喜用神推算
喜用神推算是最大的难点,也是大部分华人取名专业人士最为看重的一点。我花了很多的时间去理解这些名词的含义,各种时间的推算,以及喜用神与名字之间的关联。
过程甚至复杂,但是单纯从结果来看,又十分的简单。为什么说简单呢,因为归根到底,其实都是一个数学问题。
举例来说,我们确定喜用神往往是通过真太阳时间,而真太阳时间与北京时间的差异,完全可以通过出生地的的经度进行转化,具体公式大家可以在网上搜索一下。
另外一个例子,我们确定喜用神时,会通过四柱八字法来排,它们分别是年干年支,月干月支,日干日支,时干时支。粗看一下,如何去排完全没有头绪,但是如果从数学的角度来想想,就没那么复杂了。
天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸
地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥
四柱八字如果使用穷举法,那就是10的4次方再乘以12的4次方,总计2.0736亿种结果。这样看来,似乎也就没有那么神秘了。
5.1 三才五格
理解了上面的喜用神推算,三才五格似乎就变得更加的简单了。
三才五格的计算,主要是通过笔画的组合,来定义名字的吉凶。注意:笔画一般是指繁体字的笔画,而不是简体字。
同理上面的推断:五格有九九八十一种情形,三才有125种吉凶。国人大部分姓名都是3个字,而每个字的笔画基本都是不会超过36,这样我们来算一下:36 * 36 * 36 = 46656
这样看来,三才五格确实不复杂,而且笔画这个东西,大家也都熟悉,很容易就能理解。市面上大部分的姓名打分,测评软件基本上都是基于这个来实现的;所以大家对于这类软件,看看就行,不要当真。
5.1 生肖喜忌
十二生肖,包括鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪,它们是十二地支的形象化代表,即子(鼠)、丑(牛)、寅(虎)、卯(兔)、辰(龙)、巳(蛇)、午(马)、未(羊)、申(猴)、酉(鸡)、戌(狗)、亥(猪)。
生肖既然对应上了了具体的动物,那自然就赋予了它们各自的喜好与忌讳;而且它们与十二地支一一对应,自然也就拥有了各自的属性。这样一来,大家取名之时,往往会考虑这些因素。
比如:属鸡的宝宝,往往不取带有“犬”、“犭”、“戌”的字,因为大家都知道鸡犬不宁这个成语,鸡和狗难以相处。这些用法,都是比较直白易懂的,规则整理上,也是简单的通过字形的拆解就能达成目的。
6. 为期半年,终成正果
收集整理这些资料,差不多花费了我将近半年的业务时间。虽然看起来没有太大的产出,但是实际上,却给我带来了很大的收获。名字虽然是简简单单的几个字,但它也是我们中华文化的一个缩影,是父母对下一辈的一个期许,更是我们上一辈对下一辈的满满的爱意。
正果不是最终的名字,而是这一路对于中国人对于取名文化的一个理解。
【完】
如果你觉得文章还不错,请大家点赞分享下。你的肯定是我最大的鼓励和支持。