機器學習告訴你:《紅樓夢》後40回到底是不是曹雪芹寫的?
機器學習告訴你:《紅樓夢》後40回到底是不是曹雪芹寫的?

前幾天燈神給我發了一篇文章,講的是用機器學習的方式來判定紅樓夢後40回到底是不是曹雪芹寫的。

圖說明

黛玉重建桃花社。畫家孫溫。圖片來自:Wikipedia

我這段時間也在自學Andrew Ng的機器學習課程,還差4週就能完成課程了。

電腦是一個很強調learning by doing的學科,於是我也來「學以致用」,用剛學到的SVM演算法來分析下雪芹老師到底有沒有寫後面的40回。

作為一個從沒看過紅樓夢的人,我的大致思路是這樣的:

  1. 受到《獵人》裡蟻王破解會長無敵招數的啟發,每個人的寫作都有些小習慣,雖然文章前後說的內容會有差別,但是這些用詞的小習慣不容易改變;

  2. 用開源的分詞工具把全書分詞(python的jieba分詞),然後統計詞頻。把出現頻率超過100次的詞語找出來,人工去掉一些可能因為文章內容造成前後出現不一致的人名、地名;

  3. 然後每一章按照2中的詞頻表,看這一章中出現這些詞語的頻率;

  4. 前80回、後40回各選15回作為機器學習的資料,讓機器學習這些章節的用詞特點,然後推算其他章節的用詞特點是屬於前80回呢、還是後40回;

  5. 如果機器根據這些用詞特徵推算的是否屬於後40回的結果跟實際的結果吻合,那麼就說明後40回的寫作風格跟前80回有很大不同,很可能是兩個人寫的;

好了,下面我儘量少涉及數學跟程式設計的知識,來一步步解讀機器學習是怎麼完成這個問題的。

生成全書的詞頻表

圖說明

我截取了其中一段的詞頻表。像寶二爺、黛玉笑這種涉及人物的詞語,可能前面戲份多、後面戲份少,所以就不選它們作為用詞習慣的特徵,而像忽然、故、只要、可不是這種承接性質的碎詞,就不太容易會受情節的影響,所以適合選出來作為用詞習慣的特徵。

最終,我按照出現從多到少排序,選擇了278個詞作為機器學習的用詞習慣。

將120回的詞頻進行統計

接下來我把每一回出現這278個詞的頻率統計出來,得到我們給機器學習的樣本。這個樣本的樣子大概是這樣的:

圖說明

比如以B行2列舉例,說明在第一回裡面「道」這個動詞,出現了36次。

通常我們在進行複雜的事情前,喜歡先簡化問題,或者給自己一些直觀的圖表,以便瞭解問題。機器學習也是一樣的。

我嘗試著在圖上把前80回和後40回習慣用詞出現的頻率畫出來。以第一回為例,x1座標代表「道」出現多少次,x2座標代表「說」出現多少次,x3座標代表「也」出現多少次......x280座標代表「則」出現多少次。

什麼?超過三維了,那人類的大腦可是沒辦法理解的啊。

沒關係,當我們用燈光照射一個立體的圖時,平面會有它的影子。這個影子雖然沒有立體圖的資訊這麼豐富,不過我們看影子還是可以猜出來大致的樣子。對於高緯度的問題,我們也可以用投影的方式來降低緯度。

雖然資訊損失了不少,不過能給我們一個直觀的感受。

圖說明

這個是120個章節的用詞習慣從278緯降到3維以後的圖,紅色+的點是前80回,藍色o的點是後40回。

從這個圖可以很直接地看到,確實在用詞習慣上有明顯的區別。就算我們沒有機器學習工具的幫忙,也可以大膽猜測後40回是出自於另外一個人了。

下面我們用機器學習來看精確一點的判斷。

機器學習

透過課程我大致瞭解了SVM的原理和簡化版問題的演算法實現,不過對於複雜問題我還是沒這個能力寫程式。於是用python的scikit庫來幫助我來完成這個預測。

演算法的步驟很簡單,前80回、後40回各選15個來餵給機器學習它們的特點,然後把剩下的章節輸入給機器,問它們屬於前80回還是後40回。

圖說明

看out[44]的結果,代表了機器預測這120回的用詞習慣到底屬不屬於後40回(0為不屬於,1為屬於)。

如果你看不懂上面的程式碼,沒關係。我告訴你結果好了。

機器在學習以後告訴我,如果我把隨便一章的用詞習慣告訴它、但不告訴它到底是前80回還是後40回,那麼機器有95%的把握能猜出它是不是後40回。

至此,我們可以很有信心地判斷它們的寫作風格不同。

那麼,問題來了,會不會因為是情節的需要所以導致寫作風格不同了呢?

情節不同會造成用詞習慣多大的差別?

好吧,那我再來做一個旁證。我把另外一部四大名著「三國演義」拿來分析,看看上部跟下部的用詞習慣會不會有比較明顯的差別。

圖說明

這個是三國演義的用詞習慣縮到三維以後的圖,紅色+代表前60部的用詞習慣,藍色o代表後60部的用詞習慣。

你可能會說,雖然中間交叉的地方比較多,但是還是可以看出來是有區分的。

可如果你比對一下跟紅樓夢的圖,你就會發現紅樓夢的差別會明顯得多。

圖說明

紅色+為紅樓夢前80回/三國前60回,藍色o紅樓夢後40回/三國後60回

最後,用機器學習的方式來說,如果我把三國演義隨便一章的用詞習慣告訴它、但不告訴它到底是前60回還是後60回,那麼機器有7成的把握猜對,這個準確度已經遠遠低於紅樓夢的95%的預測水準。

所以,我們用「三國演義」這個旁證來分析,即便是因為情節需要導致的用詞習慣差別也不應該這麼大。

所以,我們就更有信心說曹老先生沒有寫後40回了。

更多的機器學習有趣的玩法,我會在學習的過程中慢慢嘗試的。以上。

本文作者黎晨,原文刊載於他的微信公眾號:黎小晨想太多

關鍵字: #機器學習
往下滑看下一篇文章
當跨國匯款成為新日常,國泰世華銀行以使用者為中心,重塑嶄新金流體驗
當跨國匯款成為新日常,國泰世華銀行以使用者為中心,重塑嶄新金流體驗

當海外投資、跨境消費與留學成為日常,跨國匯款流程卻不夠便捷。國泰世華銀行以 CUBE App 小額跨境匯款服務,讓海外投資、跨境消費與留學匯款像日常轉帳一樣簡單。

疫情後,全球人流與金流快速恢復,海外留遊學、海外投資、跨境購物與海外旅遊等需求持續攀升,跨國匯款逐漸成為許多人的日常,然而,國際匯款流程卻幾乎數十年未曾改變:大多必須配合銀行營業時間辦理,款項通常需要等待兩、三個工作天才能到帳,還可能因中間銀行扣費,導致實際收款金額與預期不符。

看見上述市場缺口後,國泰世華銀行深入研究不同族群的跨境匯款情境,重新規劃服務流程、產品功能與系統架構,並透過內部年度創新提案大賽驗證產品概念,獲得高階主管支持,加速產品研發,成功於 2026 年在 CUBE App 推出小額跨境匯款服務。

如何讓跨國匯款像轉帳一樣簡便且安全?從用戶需求出發的改變

過去,講到跨境匯款,多數人的第一直覺是「麻煩」。除了可能需要有外幣帳戶、或事先約定帳號,或需要先完成換匯之外,還必須配合銀行營業時間,匯款完成後通常需要等待兩、三個工作天才能到帳,若碰上週末或假日,更可能因此錯過付款時機;另一方面,傳統 SWIFT 國際匯款還存在中間銀行扣費不透明的問題,匯出金額與收款金額經常出現落差,使用者不僅得反覆估算、多匯甚至補匯,有時還得多花時間跟收款方逐筆對帳,若遇上語言溝通障礙,將直接拉升處理難度,甚至因帳款不足或金額爭議,衍生交易取消、退匯等問題,不僅增加成本,也影響原本的留學繳費、交易或投資安排。

國泰世華 CUBE App
國泰世華銀行 CUBE App 小額跨境匯款可以滿足使用者匯款到美國、日本、英國、香港、新加坡、澳洲、加拿大、泰國等國家與地區的需求。
圖/ 數位時代

為了解決這些痛點,國泰世華銀行重新拆解整個跨境匯款流程,將產品設計回歸用戶需求,使用狀況獲得熱烈迴響:CUBE App 小額跨境匯款服務上線五個月,交易量即成長近五倍。用戶最直接感受到的改變是,整個跨境匯款流程變得更接近日常轉帳。第一,不需要預先開立外幣帳戶,也不用事先完成約定帳號,可直接透過台幣帳戶、以非約定轉帳方式完成跨境匯款;第二,服務支援 24 小時、全年無休,即使深夜或假日,也能快速完成交易。第三,用戶可透過 App 隨時掌握匯款進度,並在匯款過程中清楚看到收款方實際可收到的金額、確保全額到帳,不需要反覆確認款項流向,也降低了中間銀行扣費不透明造成的收款金額不足等困擾,讓繳交海外學費、支付旅遊費用、跨境購物或海外投資,都能更安心、更有效率。CUBE App 小額跨境匯款服務不僅是一項全新的金融服務,而是降低等待成本、操作成本與認知成本的跨境金流體驗,讓跨境金融服務真正融入日常生活。

國泰世華 CUBE App
使用者可透過 CUBE App 即時掌握小額跨境匯款狀態,確保款項全額到付,更便捷且高效的繳交海外學費、支付旅遊費用,以及海外投資跟跨境購物。
圖/ 數位時代

跨境金流創新不僅滿足便利性,24 小時全天候服務仍兼顧安全性,把關風險

要將複雜的跨境金流流程轉化成 App 上的幾次點擊,背後是一場龐大的金融工程。

從市場研究、系統架構設計、產品規畫、開發測試到正式上線,國泰世華不僅攜手國際金融夥伴 VISA,更集結前、中、後台 IT、營運、作業、法遵、法務、風控、稽核、財會等十多個部門共同投入,重新設計外匯作業流程與營運模式,打造兼顧使用體驗、營運效率與風險控管的跨境金融服務。

舉例來說,傳統的銀行外匯服務並非為不間斷運作,為了提供 24 小時全天候服務,團隊努力突破既有作業限制、重新設計相關流程與系統機制,讓交易即使在非人工審核的時段,也能符合風險控管、洗錢防制(AML)及各項合規要求。同時,透過交易限額、多層 AML 機制、交易監控,以及與合作夥伴共同把關等設計,在便利性與安全性之間取得平衡。

除了營運流程,跨境金流還必須因應不同國家的法規與收款規則做調整,為此,國泰世華銀行重新調整系統架構與作業流程,降低使用者填寫匯款資料的門檻,服務上線後,亦持續優化操作介面與使用體驗。

例如,香港收款帳戶需分別填寫分行代碼與帳號,若格式錯誤便可能遭退匯;日本則因法規要求,首次跨境匯款前必須完成 eKYC 驗證,因此,團隊在系統介面加入對應提醒、欄位檢核與流程引導,有效降低因資料填寫錯誤造成的退匯情形,以及減少使用者的操作困擾。

服務推出後,國泰世華銀行觀察到:跨境金流逐漸從低頻金融交易轉變為數位生活的重要環節,應用情境也從支付海外留學費用、海外投資,延伸至跨境旅遊、跨境購物、國際活動報名等更多元的生活場景,因此,除了持續優化系統介面與服務功能,國泰世華也將目光延伸至整體跨境生活體驗,透過內外部資源協作,串聯更多元的跨境生活場景,讓金融服務從「完成一筆匯款」,進一步走向「滿足地球村生活圈需求」,以更便利、安全且貼近使用情境的服務,陪伴用戶自在連結全球,真正融入用戶的每日生活。

登入數位時代會員

開啟專屬自己的主題內容,

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
台達電全解讀
© 2026 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓