大數據抓“馬甲”
2013年4月,一本普通的破案小說“The Cuckoo's Calling”(中文譯名:《布谷鳥的呼喚》)上市了,作者是Robert Galbraith,一名前便衣警察,2003年褪下軍裝,進入私人保安行業。直到7月中,還幾乎沒有什么人知道Robert Galbraith是誰,這本書在整個英國零售書商上也只賣出了449本,在全球知名的網上書店亞馬遜英國站只排名5076位。書評商們對該書的評價是:“文筆不錯,故事也吸引人,但是并不突出”,又有出版社之前拒絕了這本書。
然而一夜之間,一個消息改變了一切,在亞馬遜網站上這本書已經迅速爬到暢銷書的前幾位,這個消息就是這個男性作者Robert Galbraith,其實不僅是一位女性,而且就是寫過7集《哈利波特》,并且以此書成為歷史上***位靠寫作收入超過10億美元的作家,J.K.Rowling(J.K.羅琳)。以羅琳的知名度和在寫作上的成功,她的小說攀升到暢銷榜前幾位不稀奇,但是這里面有兩個有趣的地方:1,羅琳為什么要隱姓埋名以男人的身份來發表新作呢,2,外界如何發現羅琳是真正的作者的。
關于***個問題,我想并不難理解,做為一個從不名一文開始寫起,最終在寫作上無可附加地成功,在經濟上更是前無古人的作家,繼續寫作的動力可能并不大,然而重新開始的樂趣反而遠遠大于靠寫作賺錢了。這也從羅琳后來的解釋中得到印證,“我一直希望這個秘密能夠保持更久一些,因為做為Robert Galbraith是這樣一種自由的體驗,以另一個名字發表,沒有任何期望值和吹噓是如此地美妙”。
第二個問題,才是我今天要寫的要點,而這個發現恰恰與大數據有一些關系。這起源于英國《星期日泰晤士報》美術編輯理查德布魯克斯(Richard Brooks)收到了一條匿名的Twitter消息,透露羅琳才是《布谷鳥的呼喚》一書的作者。為了證明這條情報的真實性,布魯克斯先生甚至雇傭了私家偵探,而這一動作恰恰和《布谷鳥的呼喚》中描述的一模一樣。
最終,恰恰是大數據技術幫助理查德破譯了這里面的一切秘密,理查德請到兩位計算機語言學家來幫助他,而使用的類似法醫的方法就是對《布谷鳥的呼喚》、羅琳的另外兩部小說《臨時空缺》(The Casual Vacancy)和哈利波特的***一部《哈利波特與死亡圣器》進行科學地比對,比對的內容包括:
1, 在每一本書里對比所有的詞組,或者相連續的短語集
2, 通過一種稱為“N-gram”的算法做語言模型來分析用詞或字符的序列關系,例如:對“to be or not to be”這一名句的基于詞的2-gram序列包括“to be, be or,or not, not to, to be”
3, 對每本書中使用最頻繁的100個詞進行比較,對比它們出現頻率的細微差別
4, 簡單分析詞的長度,排除詞義的因素
5, 主成份分析,對比每本書中的六大特點:單詞長度,句子長度,段落長度,字符頻率,標點頻率,及詞用法。
5個小時后,這些計算機語言學家們利用這些大數據的分析技術“證明”了Robert Galbraith正是J.K. Rowling。
當然,當這些文本分析的技術用于中文的時候,會遇到一個完全不同的挑戰,及“中文分詞”,而這個中文分詞的技術恰恰反映了中文作為一種語言的獨特的特點,因為中文不像所有的西方言語那樣有空格來區分詞與詞,必須要通過前后字與字的關系,加以上下文的關系,來分析文本中的“詞”,而這也是中文世界中大數據的有趣領域,更是中國的計算機語言學家們發揮的巨大空間。