用Python來分析文章
文章來源: 三角街2019-12-30 19:23:52

  這世界的“文”和“理”越來越你儂我儂了,數據統計分析就是背後的紅娘。自從機器翻譯、狗下圍棋、AI作詩變得隨處可見之後,理工男理工女們扛把小鋤頭,挖起文學的牆角來更便捷了。

  說起鋤頭,python就是其中金光閃閃的一把,最大的好處就是可以套上許許多多現成的工具包,小如軍刀,大如鑽頭,選到合適的,一下子鑽出個油井來也不下話下。

  幾年來就有人用python的中文分詞工具把紅樓夢的文本解剖了一下,根據詞頻得出結論:前八十回和後四十回確非同一作者。這個論證邏輯其實頗可疑,因為詞頻尤其是實詞的詞頻,和題材、情節的相關性很大,不太適合作為判定行文風格的工具。反而是一些虛詞,比如連詞歎詞助詞之類的,容易帶上作者的個人習慣。另外,對於修辭手法的使用偏好,也是辨別作者文風的一個手段。這就好比一個人穿的鞋子,磨損程度大小取決於走過多少路,走的什麽路,但是磨損的地方是在前或在後,在左或在右,這就和個人走路的習慣姿態息息相關了。

  按這種想法,好事者如我,就拿城裏某位名博的文章試了一下。從過百萬字的錦言繡語中找到三類不同的題材:遊記、飲食、動物,共有30+篇。用結巴中文分完詞後,對不同修辭和虛詞進行粗略統計,果然能看出明顯的文風特點。

  如果拿其他作者文章的統計結果做個對照,可能會更明顯一些。

  說到這,不由得想起《聊齋》裏的一個故事:

偶與涉曆殿閣,見一瞽僧坐廊下,設藥賣醫。宋訝曰:“此奇人也!最能知文,不可不一請教。”因命歸寓取文。遇餘杭生,遂與俱來。王呼師而參之。僧疑其問醫者,便詰症候。王具白請教之意。僧笑曰:“是誰多口?無目何以論文?”王請以耳代目。僧曰:“三作兩千餘言,誰耐久聽!不如焚之,我視以鼻可也。”王從之,每焚一作,僧嗅而頷之曰:“君初法大家,雖未逼真,亦近似矣。我適受之以脾。”問:“可中否?”曰:“亦中得。”餘杭生未深信,先以古大家文燒試之。僧再嗅曰:“妙哉!此文我心受之矣,非歸、胡何解辦此!”生大駭,始焚己作。僧曰:“適領一藝,未窺全豹,何忽另易一人來也?”生托言:“朋友之作,止此一首;此乃小生作也。”僧嗅其餘灰,咳逆數聲,曰:“勿再投矣!格格而不能下,強受之以膈;再焚,則作惡矣。”生慚而退。

  Python在文學辨別上的智能,也許某一天也能離這瞽僧的境界相去不遠吧。