数据挖掘 | 请珍惜你身边的“婷婷”
Posted 大数据科学与人工智能
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据挖掘 | 请珍惜你身边的“婷婷”相关的知识,希望对你有一定的参考价值。
本文将从数字、季节、时代特性等方面来揭露中国人名字里的“秘密”。之前不乏谈论名字和姓氏的文章,但本文除了做数据验证的方法以外,还采用了文本挖掘中会用到的经典TF-IDF算法,教大家在经验有限或者信息量十分复杂的情况下如何去找出专属特征。
从数字开始谈名字
中国人对数字一直都颇有研究,老子的《道德经》中有: “道生一,一生二,二生三,三生万物”。中国人取名常将数字嵌入名字,其中尤爱“一”。随便网上翻翻明星们的名字就不难发现好多名字中带“一”的。
图1
“一”是万物之始,有萌芽新生之意,父母们喜欢给刚来到这个世界上的孩子们取名带“一”字不难理解。除了“一”以外,其实中国人还喜欢“三”和“九”。
“三”这个数字也很特殊。如我们刚才提到的“三生万物”。回想一下,平时我们经常让别人准备一下,然后数“一,二,三。”如果说“一”是开始和准备,“二”是成长和发展,那么“三”就是成熟和稳定了。
再来看看“九”这个数字, 在我们的计数法则中“九”是每个位数的最高数,于是乎,我们可以把“九”理解为极致。天有九重,地分九州,禹铸九鼎,学分九派。父母给孩子取名中带“九” ,不乏希望子女能到达社会的最高处。
扯了那么多文绉绉的话,我们还是来看看按照数字来统计出现在名字里的频率是怎么样的:
图2
咦?,那么为什么图2里面“二”和“四”出现的在名字中的频率也很高呢? 大家不要忘记,搁在计划生育以前,不排除有些父母就是给孩子们按照出生顺序取的,比如“张一毛”“,”“张二毛”,“张三毛”“”张四毛“...
集齐春夏秋冬,召唤皮卡丘?
知道很多人最近痴迷于玩pokemon go, 不知道大家都搜集到哪些了,当然笔者不是要跟大家讲怎么捉小精灵。只不过大家周围的人名里面,总也有那么一些“特别款“,有收集癖好的同学可以尝试收集(不要认为这是怪癖…),比如大家现在定一定神,回想一下周围认识的人里面,是不是能凑出四个人,名字分别带有春、夏、秋、冬。如果你知道他们的生日的话,是不是他们恰好是在这四个季节出生的?不知道你们有没有,反正我周围很容易凑出来这样的,感觉再多回忆一会儿搞不好还能凑出个王炸啥的…下面看个图跟着名字一起感受一下四季。
图3
从人名看时代变迁:大数据模型登场
以上两部分其实都是根据身边的一些观察经验反过来推证的,但是有时候没办法根据经验来推证或者说工作量太大,难以做出很全面客观的分析。
那么下面我们介绍一种科技含量更高的方法,来看看如何高效的从那些看起来五花八门的人名里面找出时代和地域特点。
其实我们可以借用在做文章关键词提取时会用到的经典算法TF-IDF。写到这里我知道一部分学文科的同学心里一惊,什么,要讲算法了?手不自觉打算关窗口了。且慢!!!学文科的同学们也不要怕! 请坚持往下看一页,因为这个方法真的非常简单易懂又好用,就跟网红们常说的“便宜又大碗”一样。
那么先解释下什么是TF-IDF, 比如我们要看某个词是否关键词,这个时候我们分别计算TF和IDF如下:
简单讲,TF值表示了这个词在文章里出现的频繁程度较其他词有多高,TF越高出现频率越高。
简单讲,IDF值表示了一个词是这篇文章所特有的程度有多高,IDF值越高这个词越特有。
有了TF和IDF,我们将两者相乘即可得到一个新指标: “TF-IDF”
TF-IDF=词频(TF)X 逆文档频率(IDF)
可以看到,TF-IDF与一个词在文档中的出现次数成正比,与该词在整个语言中的出现次数成反比。也就是说,TF-IDF高的词既是这篇文章的高频词,又是这篇文章特有的词,这样的词才是我们关心的有价值的词。所以,自动提取关键词的算法就很清楚了,就是计算出文档的每个词的TF-IDF值,然后按降序排列,取排在最前面的几个词。
回到我们的问题, 我们在研究人名的时代性的时候借用这种算法思路,将TF和IDF的计算公式替换为:
所有放进去考虑的名字为各个年份中高频名字TOP1000, 我们统计了从1949年至1996年的上千万个人名(从1997年至2016年的数据因量较小不与其他年份数据一起比较),计算出每年每个高频名字的TF-IDF值,然后按照年份放在一起看。
方法介绍完了,那么我们一起来看看结果吧!
先给个整体的大家感受下,名字实在太多,篇幅有限,这里放了2张表。表1是截取了以1949年热门的名字排序的top50人名,表2是截取了以1996年热门的名字排序的top50人名。
表1
表2
是不是时隔50多年,画风截然不同?60多年前大家都喜欢取什么淑兰,桂芝,根生,秀英,明德等等,到了后来这些名字大家都不再用了。90年代末大家喜欢的是婷婷、嘉(家)豪、博文、梦瑶之类,而这种名字在50、60年代是非常罕见的。
下面再从几个有代表性的角度来一起看看:
重大历史事件对人名的影响有多大?
历史事件1:1949年新中国成立
图4
新中国成立是一个划时代的重大事件, 大家自然联想到的是“国”这个字,但其实这之后的20多年里广大人民群众起名字的时候带 “国“ 字的很多,像”国强“这种大家都容易想起的名字,它的TF-IDF值并没有在新中国刚成立的几年里特别高,可以看到它在图中标识的颜色一直很稳定,并不属于新中国成立的专属热门名。
表3
倒是“新民”这个名字属于新中国刚成立初期特有的,引用一段历史课本上的话“新中国成立初期,中国处在新民主主义社会,是指从新中国成立到1956年社会主义改造基本完成这一时期。” 好了,大家对照下面的表看看,历史书没有骗我们,那个时候对于新民主主义的宣传力度一定不小。
表4
在表1中,眼尖的同学一定发现了1949年有个叫的“小牛”的名字,TF-IDF值排在1949年最高,而且再无来者……这个魔性的“小牛”到底怎么回事?笔者一开始看到的时候觉得很奇怪,但后来突然明白过来了,这个稍后会解释,这里大家可以先猜一猜原因。
另外,值得一提的是,新中国成立之前,人们起名字喜欢带上“福、禄、寿、喜、荣、华、富、贵”这些字眼的名字,带这些字眼的名字TF-IDF都排得比较靠前,但是新中国成立后用这些字眼的名字骤减,很少出现在我们这张表里。为什么?原因很可能是这类名字与五、六十年代的集体化、公社化、大跃进主旋律相违背。大家都喊着共产主义呢,你给娃起个这么富贵的名字还想不想进步了?
历史事件2:1950-1953年抗美援朝
图5
我大学有个计算机老师名字就叫援朝,当时猜想他家里一定当时有人去参加过抗美援朝战争。战争对人民的影响我这里就不说了,反正我每次看那些历史纪录片讲到这段的时候都觉得当时的志愿军战士真是太伟大!
从下表中可以看到“抗美”和“援朝是1951年的专属名字,抗美援朝战争从1950年10月—1953年7月,最广为人知的上甘岭战役发生在1952年,但其实还有很多艰苦激烈的战役都集中在1951年。
表5
历史事件3:1958-1959年大跃进
图6
什么都不说了,直接看名字吧, “超美”、 “超英”、 ”东风“、“建钢”、 “卫星”、 ”跃华“、 “跃进”、 “”跃平、 ”跃生“。
表6
插一句,关于“卫星”这个名字,我们从颜色上可以看到1970年也比较热,主要因为1970年4中国第一颗人造卫星发射成功,使中国成为第五个发射人造卫星的国家。
历史事件4: 1976年三位领袖去世
去世的三位领袖分别是:毛泽东、周恩来、朱德。不过我们从名字上只看出“继东”这一个。
表7
什么时候的人最喜欢取ABB的名字?
老一辈人是不怎么取ABB结构的名字的,从TF-IDF的结果来看,ABB式的名字是从70年代中期开始兴起,在80年代最流行,什么“婷婷”、“丹丹”、”露露“、”倩倩“、”晨晨“、”壮壮“啦,其中最火的就要数 “婷婷“了,你的周围是不是也有很多“婷婷”?
表8
什么样的人名有周期性?
大家还记不记得我之前提到的1949年那个魔性的高频名字“小牛“?
表10
笔者一开始没明白怎么回事,直到看到下面这个名字中带有“虎“或者”寅“的TF-IDF图,就恍然大悟了:1949年恰好是牛年!
表11(1962年、1974、1986年均为虎年)
中国的十二生肖:
子(鼠)、丑(牛)、寅(虎)、卯(兔)、辰(龙)、巳(蛇)、午(马)、未(羊)、申(猴)、酉(鸡)、戌(狗)、亥(猪)。从名字的角度看,人们其实最钟爱寅(虎),其他出现在名字里面的生肖都不如它火哦。
如果你想被数据分析网报道,欢迎大数据领域的爱好者们给我们投稿(投稿邮箱:tougao@afenxi.com)
▼
如何加入数据分析网微信群?
附上个人介绍,
合则邀请
▼
以上是关于数据挖掘 | 请珍惜你身边的“婷婷”的主要内容,如果未能解决你的问题,请参考以下文章