時事激發了思想實驗
前幾天,我在新聞中看到一個標題,稱一名教授因使用人工智能撰寫期末論文而讓班上一半的學生不及格。 事實證明,標題比實際故事更令人興奮:諷刺的是,這位教授在檢測人工智能的使用過程中濫用了人工智能。 不管怎樣,這讓我開始思考,JMP 能否確定誰寫了一段文本——對於不太了解文本分析的人來說,它能做到這一點嗎? 事實證明 JMP Pro 可以,如下圖所示:

獲取文本進行分析
由於我無法獲得大量學生論文,因此我使用了古騰堡計劃,其中託管版權已過期的書籍。 我選擇了五位作者的六本書作為候選書:
- F·斯科特·菲茨杰拉德的《了不起的蓋茨比》
- 赫爾曼·梅爾維爾的《白鯨》
- 瑪麗·雪萊的《弗蘭肯斯坦》
- 傑克·倫敦的《野性的呼喚》
- 奧斯卡·王爾德的《道林·格雷的畫像》
- 奧斯卡·王爾德的《認真的重要性》
這些書都是由美國或英國作家寫的,其原始語言是英語。 我做出這個選擇是因為我不想因為不小心選擇了同一個人的譯者的書而毀了事情。
導入和清理
導入文本很簡單:只需將所有書籍作為單獨的文本文件放在一個文件夾中,然後使用多文件導入工具,如下圖所示。 我確保選擇了為文件名添加一列、每行添加一行以及堆疊類似文件的選項。 最終結果是一張包含大約 53,000 行的數據表。

數據清理涉及刪除每本書開頭的空白行和標題信息,以及為每本書的作者創建列名稱。 為此,我嚴重依賴內置公式列,尤其是“第一個單詞”公式列。 我附上了最終數據文件的副本,名為 Cleaned Text.jmp,因此任何閱讀的人都應該能夠跟踪分析。
運行分析
要進行分析,請選擇“分析...文本資源管理器”,然後將“文本”和“文件名”列放置在對話框中,如下圖所示。 將所有其他選項保留為默認值;選擇“確定”繼續。

接下來,從文本瀏覽器的紅色三角形菜單中,選擇判別分析,然後在顯示的第一個對話框中選擇作者列,告訴 JMP Pro 您想要確定每行的作者。 請注意,文本判別分析僅在 JMP Pro 中可用。

單擊第二個對話框中的“確定”(如下圖所示)接受默認值並開始分析。 此步驟可能需要大約一分鐘左右才能完成,因為 JMP 在後台進行數學運算。

初步結果到最終結果
在分類摘要部分,一開始情況看起來不太樂觀——模型對 64.5% 的線進行了錯誤分類。 但請記住,每一行最多是 80 個字符的文本,而每本書都有數千行。 我們需要一種縱觀全局的方法,其中包括花時間研究錯誤分類率部分下方的預測率表。

右鍵單擊“預測速率”表並選擇“生成數據表”,然後快速堆疊數據表,創建如下圖所示的表(並附加為“分類摘要 - Stacked.jmp”)。

使用 Graph Builder,預測作者與作者的熱圖顯示,每個作者的最高預測都是正確的,但右上角的奧斯卡·王爾德 (Oscar Wilde) 除外。 這很好,但並不完美。

另一個有用的平台是分析...多元方法...多重對應分析。 如下所示運行它會創建一個非常有用的圖表,該圖表顯示預測作者與實際作者非常接近。 奧斯卡·王爾德的預測再一次不像其他人那麼接近,但足夠接近,足以做出正確的決定。


結論和進一步的思考
雖然判別分析工具一開始似乎並沒有清楚地預測每本書的作者是誰,但對輸出的進一步探索顯示出更有希望的結果:無需了解文本瀏覽器或判別分析中的選項,JMP Pro能夠對每本書的作者做出很好的預測。奧斯卡·王爾德的預測的不確定性比其他預測稍大一些,但可能是由於:
- 數據集中有他的兩本書。
- 只需接受默認設置 - 也許可以調整模型,或者
- 《認真的重要性》是戲劇而不是小說,這是我分析之後才發現的。
我的猜測是選項C就是原因。 與其他作者和其他樣書一起重複這個實驗可能會很有趣。 如果您重新運行實驗,我對您得到的任何結果感興趣。 請在評論中發布你的結果!
這很有趣,傑德。由於“Wilde”文件的大小比其他文件小,我想知道這是否可以解釋預測準確性稍差的原因。樣本越大,預測越好?再說一遍,這非常酷。用這個方法,說不定就能揭穿代筆作家的真面目!
@chuck_boiler這絕對是有可能的。 我認為更大的因素是《認真的重要性》是一部戲劇,這意味著它的寫作風格與其他所有作品有很大不同。 事實上,當我想得更多時,這種搭配更令人印象深刻,因為它跨越了流派。