無論淑芬與志豪、雅婷或冠宇,這些名字確實對應某些年代的取名愛好,要憑人腦猜出他們的大概年紀並不困難。然而人名百百種,要怎麼猜才能近乎百發百中?國立清華大學資工系陳宜欣教授與其研究團隊,近來潛心摸索「文字探勘」的機器學習應用,現在就來看看這個「憑姓名便可洞悉年齡」的神器是如何被打造出來的!
研究團隊透過文字探勘,讓 AI 憑姓名猜年紀。圖片來源:MiniStocker/shutterstock.com
緣起:一位小說家的私人煩惱
之所以做這個研究主題,得從陳宜欣教授的一位學生說起。「他是一個很喜歡寫小說的人,可是他寫的小說沒有太多的讀者,所以他就跟我說:老師,我能不能輸入一篇小說的文章,讓機器幫我分析大家是不是會喜歡啊?」陳宜欣教授回憶道。然而研究過程中,他們發現了一個關鍵問題:
不同作家的受眾群,年齡差異真的很大。
看來,要準確預測讀者是否會喜歡某篇文章,年齡這個祕密肯定是要拿到手的。只是,讀者通常不會在網上主動透露這個資訊,頂多只會留下名字(還不一定是真名)。於是,一個大膽的想法應運而生——臺灣大多數人的名字都是由三個字組成的,該怎麼從這短短三字中抓出足以推算年齡訊息呢?
試想,我們在很小的時候,或某些年代背景的戲劇當中,應該多少看過罔市(bóng tshī)、罔腰(bóng io)、招弟這類名字吧?前兩個臺語名,是取一個「姑且餵養」的諧音,第三個名字的意思亦不言而喻,都是那代人常見的祈願。「在這個年代,什麼時候會看到有人取這樣子的名字?如果看到有人叫罔市,你就會知道這一定是很老的人。也因為這樣,我覺得這題目應該是可以做的。」陳宜欣教授向我們解釋以姓名拆解年齡密碼的淺白道理,為這項有趣的研究拉開序幕。
筆劃與生肖裡藏著的年齡拼圖
為了實現這看似不可能的任務,陳宜欣教授攜手學生研究團隊,開始從多個角度切入,希望找到能準確從姓名中「萃取」出年齡的方法。
研究團隊首先從傳統姓名學下手。「當初在幫我家女兒命名時,我有上網搜尋,想著:今天如果要幫她找一個名字,那她的筆畫、筆順要是算命師都不會挑剔的那種。」陳宜欣教授援引自身經驗,首先考慮了「三才五格」(即「天、人、地」的五行配置,以及天格、地格、人格、外格、總格等五格)這種傳統命名方法。
有人可能會問,三才五格是按姓名筆劃推算人一生的運程,應該與這個人什麼時候生的沒關係?這得說回陳宜欣教授對算命受眾的剖析。早年若要算三才五格,家裡沒點錢恐怕難如登天。「我的猜測是,隨著資訊越來越發達、命名工具普及化,三才五格的數字也會越好看。」為此,研究團隊針對部分年齡區間,統計出三才大吉,以及五格分別為吉的比例,以圖一來說,x 軸代表機器「覺得」該筆資料有用的比例。「所以可以看到天格(姓氏)不管是在哪個年代都沒有顯著幫助,但在其他格狀況又不一樣了。」陳宜欣教授表示,這也反映著每個時代對三才五格的偏好。
圖一/28 ~ 77 歲的族群中,以十年為一區間,各區間對三才五格的偏好不同,
也是推測這個名字「幾歲」的素材之一。圖片來源:陳宜欣教授研究團隊提供
只有三才五格的資料未免太過粗糙,因此有位學生在過程中便提出另一個有趣的工具。「老師,你知道除了三才五格之外,還有一種算命方法叫『生肖學』嗎?」言下之意,假設某人屬「鼠」,那他名字的組成可能需要是和米(禾)、豆子或肉(⺼)等有關的部首;如果是屬「牛」,就要去找有草(艸)的部首,依此類推。這個想法為研究開啟了新的維度,因為生肖每十二年一輪迴,正好可以幫助他們更精確地定位年齡區間。
名字裡的性別光譜也幫了大忙
縱使可以利用命理資料推出一些端倪,但這中間還是存在許多可能:這些人也許是十二歲、二十四歲、三十六歲⋯⋯這樣豈不是白忙一場?於是團隊決定多拿幾個名字作比較,企圖為名字做年齡排序。
這次輪到「性別」上場了。對,你沒聽錯,性別的背後也能挖出一些年齡拼圖。
在此之前,我們得先知道機器對性別的敏感度如何。研究團隊將名字放到機器學習的模型裡猜性別,結果發現機器比人還準;測驗中,機器的準確率高達 90%,而代表一般大眾的學生平均也不過 60%。
機器是怎麼辦到的?首先要看的,是字與字的關聯,還有它們的字義是什麼。從圖二來看,那些通常只用在女生身上的名字大多與容貌有關,男生的部分則比較多是外在事物、兵器、表現等等。至少可以理解,男女在名字的選擇上有不同的傾向。
圖二/兩性在取名用字的選擇上亦能看出差異;左圖為女性、右圖為男性。
兩性重疊使用到的文字未列入其中。圖片來源:陳宜欣教授研究團隊提供
這時你可能會擺著手說:「不對喔,不對!講這麼多,終究跟年紀沒有關係啊!」事實上,研究團隊將機器「猜測性別」的結果放到「猜測年齡」的模型裡,找到了一個趨勢:現代人在為孩子命名時,不像傳統般有明顯的男女界線(比方「美麗VS英俊),也可能會是比較中性的名字。這就是從性別與字義透視年齡的關鍵。
聲音的選擇,每個年代大不同
除此之外,研究團隊還考慮了名字的「聲音」特徵。「母音是什麼、子音是什麼,是上揚還是下降的聲音?關於這些,我們也把它們通通轉出來當成預測依據。」陳宜欣教授解釋,此一發現最初來自對「外文名」的研究。「有些僑生問我,這個預測方法可以用在臺灣人身上,那是不是也可以試試馬來西亞或印尼華人的名字?」有關外文名的分析於焉展開。
由於外文名重視英文拼字,無法把字型、字義等因素考量進去,聲音就成了研究的關鍵,而且拿來猜測年齡的結果出奇地好。「除了用字,聲音顯然也是一個很特別的選擇。」陳宜欣教授進一步指出,既然能從名字的發音準確猜出年紀,說明聲音能反映時代的偏好,而且對中文名字的分析同樣有效。
運用生肖學、姓名學、性別、聲音等不同特徵(features),研究團隊終於讓機器「以姓名猜測年紀」的準度,誤差縮小到4歲左右。
一切就緒!來看看效果如何:名人測試
為進一步驗證研究成果,研究團隊決定拿知名人士的名字讓AI模型小試身手。他們首先拿來開刀的是政治人物。「游錫堃的曲線在六、七十歲的地方往上走⋯⋯嗯,果然是個老名字。陳水扁、馬英九,結果都一樣。」陳宜欣教授解釋道,曲線越往上走,就意味著這個名字落在該年齡區間的機率越高。(圖三)
圖三/研究團隊以政治名人的名字,檢驗 AI 文字探勘的準確程度。
曲線越往上者,即為機器判定較有可能的年齡。圖片來源:陳宜欣教授研究團隊提供
然而,當他們測試自己的名字時,情況變得有趣起來。陳宜欣教授請學生放入她的名字試試。「不要,你一定不會讓我畢業。」學生這麼說,只見跑出來的結果寫著:陳宜欣,二十八歲。「太好了,就讓你畢業吧。謝謝大家!」陳宜欣教授幽默地說。除了陳宜欣,這中間仍不乏特殊案例。她以涂醒哲為例:「他明明就是六、七十歲的年紀,但機器卻猜他大概是三、四十歲,可能他的父母特別先進,當初取了一個很有時代意義的名字。」足見猜測方法仍有許多改善空間,未來或許能找到更準確的參數。(圖四)
圖四/取名當下,若在命理、用字、聲音等部分與時代偏好不同,就可能導致機器的判斷失準。
圖片來源:陳宜欣教授研究團隊提供
除了打造酷炫的 AI 應用,這個研究也揭示了名字作為稱呼以外的可能性:時代風貌點綴其上,我們的姓名正默默書寫著社會與文化的演進史。未來,期待 AI 文字探勘在技術上突破之餘,也為社會學、語言學等領域提供寶貴素材,發展出更富創意的研究成果!
本著作係採用 創用 CC 姓名標示─非商業性─禁止改作 3.0 台灣 授權條款 授權.
本授權條款允許使用者重製、散布、傳輸著作,但不得為商業目的之使用,亦不得修改該著作。 使用時必須按照著作人指定的方式表彰其姓名。
閱讀授權標章或
授權條款法律文字。