姜安印 馮龍飛
摘 要:文本比較作為人工智能的重要應用,在語言分析、比較研究乃至學術誠信等方面有著廣泛應用。文章以中國古代具有重要經濟學價值的《管子》和西方古典主義經濟學重要著作《國富論》作為比較范本,借助Python語言及相關模塊,以較高的效率和精度實現了長文本比較。研究發(fā)現,通過人工智能自然語言處理語言及技術,能實現對經濟學長文本比較研究,這一方法在未來還可以探索應用到其它社會科學領域。
關鍵詞:人工智能;自然語言處理;文本比較;Python;國富論;管子
中圖分類號:TP18;F01 文獻標識碼:A DOI:10.11968/tsyqb.1003-6938.2018026
Research of Co-term Analysis of Long Text Comparison based on Python
——Case Study of the Economic Thoughts in Wealth of the Nations and Guanzi
Abstract Text comparison based on information technology becomes a very important tool in nowadays academic research as linguistic analysis, academic thoughts and academic integrity examination. This paper focused on the long text comparison with the approach of Co-term Analysis on Python and used the economic thoughts comparison between Wealth of the Nations and Guan Zi to explore the way to do future thoughts comparison in economic and other social science with better efficiency and accuracy.
Key words artificial intelligence; Natural Language Process(NLP); text comparison; Python; Wealth of the Nations; Guan Zi
文本比較是指通過對相似范疇和內容的文章或書籍進行對比,研究其文字、觀點和思想的異同,從而實現言語特征分析、學術思想比較乃至學術誠信檢驗等多種目的。隨著信息技術和互聯網技術的發(fā)展,基于計算機的文本比較特別是長文本比較在現代社會科學中有了越來越廣泛的應用。在實際應用中,通過借助Python等編程語言,運用jieba分詞模塊進行文本比較,可以有效的提高信息篩選和對比的效率和精度,相比其他方法具有較大優(yōu)勢。在經濟學中,以文本比較為重要手段的經濟思想比較是制度經濟學和經濟史研究的常用方法,特別是東西經濟學思想比較在研究制度變遷、社會變化、政策效果等方面具有重要意義。本文試圖借助Python語言對《管子》和《國富論》兩書進行比較,探討兩書之間的思想異同,同時對如何利用計算機技術進行未來的經濟學和其他社會科學思想的比較研究進行了探索。
1 文獻綜述
1.1 文本比較方法研究
傳統上,文本比較主要采用通過對不同文本的閱讀和統計分析,對表述、內容、主旨進行手動整理和對比,針對文章的某一角度或某一內容進行比較來得出結論。由于文本比較涉及大量信息,而傳統手工比較效率太低,往往需要利用計算機高速計算、海量處理、自動迭代的特點進行數據分析。作為抽取分析文本的有效工具,文本分析工具應運而生[1]。IBM計算機科學家Hans Peter Luhn[2]研究了詞頻統計在文本比較中的應用,在20世紀中葉創(chuàng)造了 KWIC (Key Words In Context,文本關鍵詞)這一分析方法和工具,對計算機技術用于文本比較起到了開創(chuàng)性作用。經過幾十年發(fā)展,計算機文本比較形成了兩種模式,一方面是KH Coder、 WordStat和WordSmith Tools[3]等軟件的分析方法,特點是使用門檻低便于操作,但也存在難以滿足定制化需求;另一方面是基于C、C++、Python、Java、PHP等編程工具的分析方法,該方法需要一定的編程基礎,但是具有較高的靈活性,可以滿足各種定制化需求。如本文選取的基于Python的jieba模塊[4],以Trie樹結構[5]為原理,用實現高效的詞圖掃描將所有可能成詞情況構成有向無環(huán)圖(DAG),并以動態(tài)規(guī)劃查找最大概率路徑,找出基于詞頻的最大切分組合;對于未登錄詞則采用HMM模型用Viterbi算法[6]進行切分。通過這一方法進行文本分析,效率更高,分詞結果也更為準確。
1.2 文本比較實例研究
通過對近十年文本比較研究的實例梳理總結,發(fā)現文本比較主要應用于同一著作不同版本的研究和相似內容著作間的研究兩類。
(1)對同一著作的不同譯本或版本的比較主要集中在文學著作和歷史文獻。①文學方面,有學者對不同版本的《琵琶記》[7]《廬山戀》[8],不同英譯本的《紅樓夢》[9]《鄉(xiāng)愁》[10]進行了比較,還有學者通過赫胥黎《進化論與倫理學》不同譯著的對比,發(fā)現嚴復譯《天演論》與其他漢譯版本存在著明顯的差異[11];②史學方面,有學者對比滿文、拉丁文、俄文三種版本的《尼布楚條約》,兩兩印證,排除了個別版本中不一致的內容和表述,確定了一些存在爭議的條約細節(jié)[12]。
(2)對相似內容著作間的文本比較主要集中在跨語種著作和新舊著作。跨語種著作比較過去主要集中在經典著作,如有學者通過對比《資本論》與《國富論》,對資本爭論進行溯源[13],有學者通過比較史詩《滿都莫日根》《英雄格帕欠》,探討兩者敘事結構的異同。近年來研究范圍不斷擴展到各類文本,如有研究者通過比較研究人教版高中物理教科書和英國A-Level版教科書,探討教育理念的異同[14],有學者側重技術角度,對法學研究中美憲法進行了文本比較,研究其意識形態(tài)差別[15]。新舊著作比較研究主要集中在歷史、政策、法律等方面,探討其中基于不同歷史背景下的時代視角或制度變遷帶來的思想變化,如有學者側重寫作年代和背景,比較研究了蔣廷黻版《中國近代史》和李侃版《中國近代史》[16], 還有研究者對黨的十七大報告與十六大報告相關內容進行文本比較,研究了國有企業(yè)的發(fā)展路徑與時代走向[17]。
1.3 《管子》和《國富論》的文本比較研究
《管子》作為管仲及其學派的思想和著作匯編,三分之二篇目涉及經濟問題[18],是中國古代具有重要經濟學價值的著作,與《國富論》等西方經濟學經典的比較也成為經濟思想史的熱門課題。早在近代洋務運動,仁人志士從西學中探尋救國之道時就眼光聚焦到《管子》,梁啟超提出《管子》中許多思想與《國富論》一致[19]。國外研究方面,Lewis[20]認為,《管子》與重農學派的觀點驚人相似,與《國富論》具有相同思想基礎。美國《經濟思想史》[21]將《管子》稱為中國的《國富論》,認為其體現了供需理論、數量理論、反周期財政政策和市場理論等思想。但這些結論的取得,包括當前經濟學研究中多數文本比較研究多憑借研究者對書本的深入閱讀了解和對其他學者成果的引用,很少借助現代的文本分析技術,費時費力,也難免有不全面的地方[22]。
2 研究思路和設計
本研究采取了當前信息化文本比較的常用思路,即通過對提取的高頻詞進行比較分析來實現對應文本的比較,將語言問題轉換為數學問題進行解決,從而實現自然語言比較的批量化與自動化處理。在具體操作時考慮到以章節(jié)為單位文本過長,而且每一章節(jié)思想較為混雜;以句為單位文本又較短,且許多句子無法完整表示作者思想,因而確定以段落為單位,兼顧思想的完整性和文本的簡潔性(具體研究設計見圖1)。
2.1 著作版本的確定
兩書分別采用古漢語和近代英語且各自版本較多,比較前需選定語言和版本。本研究對市面各種版本的篩選確定了中華書局李山譯《管子》[23]和商務印書館郭大力、王亞南譯《國民財富的性質和原因的研究》[24]。主要基于以下考慮:一方面,按照資源庫和語言特征,英語是進行比較的理想語言,但市面上《管子》的英譯本較少,全譯的僅有Rickett的譯本[25],雖然專業(yè)精準,但晦澀難懂,通常限于國外漢學家研究[26];另一方面,現代漢語雖然與編程語言結合度不如英語,但考慮到兩書的現代漢語譯本都比較豐富,僅在豆瓣、淘寶等平臺上搜索到的《管子》譯注就有19種,《國富論》更是有25種,且普遍內容質量較高,可選性較強。
2.2 研究工具的選擇
由于本文選取的研究對象比較龐大,兩篇著作的總字數約80萬字,研究過程中涉及對兩書2996個自然段的分析比較,同時分析過程設計大量的循環(huán)、迭代、替換、條件判斷等運算。
選取Python作為研究工具(版本為Python2.7.13)。Python作為面向對象、解釋型、動態(tài)數據類型的開源程序設計語言[27],除了自帶的標準庫,還積累了大批由程序員和工程師不斷創(chuàng)造添加的第三方庫。這一特點使得基于Python編程時可直接調用標準庫和第三方庫中的已有內容來大大減少重復工作。在文本分析方面,Python也具有較為豐富和成熟的各類庫文件,在文本比較的相應步驟可調用庫文件來提高效率,實現大型長文本的快速比較。
3 研究過程
3.1 文本預處理和分詞
將《管子》和《國富論》導入txt文本文件,將文本編碼轉換為Python語言支持的utf-8中文格式。
配置好Python環(huán)境后,將處理后的文本導入Python,調用jieba-0.39版本模塊將自然段中的意群進行詞匯切分[28]。
3.2 詞頻統計
詞頻(Term Frequency,TF)統計作為一種經典的文本分析方法,是指抽樣一定數量和長度的語料,計算其中不同詞語的出現次數,進行頻率分析,從而確定文本的高頻詞,便于對重點內容和主旨要義進行更加深入地研究[29]。
本研究首先結合網上現有的“哈工大停用詞詞庫”“四川大學機器學習智能實驗室停用詞庫”“百度停用詞表”等資源,對jieba模塊自帶停用詞表進行整理,用所得停詞表去除標題序號、語氣虛詞、關聯詞等無分析意義詞匯,再參照《經濟學詞典》[30]中的詞條對剩余詞匯進行整理,然后對同、近義詞匯進行合并,結合齊普夫定律(Zipf's Law)中的詞頻分布規(guī)律,通過標引規(guī)則對詞匯進行控制分析,最終確定高頻詞并編號(見表1)。
3.3 生成高頻詞矩陣
確定高頻詞表后,通過構建高頻詞矩陣將抽象的語義分析轉化為可計算的數學問題。首先將高頻詞以自然段為單位分組,將段落簡化為相應的高頻詞數組,從而將全文轉化為矩陣;然后進行去重,并對重復高頻詞進行累積求和;最后將所有高頻詞全部替換為相應序號,生成高頻詞矩陣(見圖2)。
3.4 相似度比較
高頻詞矩陣生成后,進一步對矩陣進行相似度比較。
方法上以Jaccard指數[31]來衡量矩陣相似性,并得出相應的相似度。Jaccard指數取值范圍為[0-1],值越大相似度越高。
Jac(i,j)=■
其中A■表示《國富論》中第i段高頻詞集合,Bj表示《管子》中第j段高頻詞集合,Jac(i,j)表示《國富論》中第i段與《管子》中第j段基于高頻詞的相似度,如Jac(3,2)即表示《國富論》中第3段與《管子》中第2段的相似度(見表2)。
在Python下,調用intersection與union函數進行運算,遍歷比較兩矩陣各行,得到任意兩行的相似度,所得相似度即為兩書對應自然段的比較。然后按照皮爾遜相關分類剔除相似度小于0.4及高頻詞小于4的弱相關項,初步選出具有一定相關度的對比組276項(篩選出的段落比較見表3)。
3.5 研究結果和數據處理
通過序號回查,找到各項在兩部著作中對應的段落,進行進一步比較分析。
逐項閱讀分析這276項對應段落的內容,手動剔除出與經濟學關聯較弱項和誤識別項,對剩余的各項按照社會分工、價格理論、稅收和國營、國家資源、奢侈、國際貿易、統治手段進行分類,然后合并同類中內容相似的內容,并對相似的主旨進行提煉,最終得到比較結果(示例見表4)。
4 結論
(1)初步實現了長文本比較的智能化。利用Python語言及相關模塊,進行相似度比較,按照詞頻的大小提取出高頻詞,歸納相似思想,成功對應到了兩本著作的相似思想和觀點,對長文本比較的方法進行了創(chuàng)新和拓展,進一步提高了長文本比較的效度和精度。未來應用該方法,可實現對書籍和書籍間、文章和書籍間等各類長文本比較的自動化與批量化處理,在繁雜的自然語言和冗長的篇幅中高效提取、篩選、比較信息。
(2)近義詞識別進一步提高了有效比對的范圍。由于Python第三方庫中強大的近義詞匯系統,本方法可以在很大程度上利用人工智能識別出文字不同但文意雷同或相近的內容,提升了詞頻統計的效度,降低了系統誤判的概率,這一點較單純比較文字的現有學術查重系統是一個進步,值得在這一方向上進一步探索和應用。
(3)應用于案例文本后得出了比前人更加全面的結論。即早在春秋時期,《管子》就已熟練運用《國富論》倡導的一套完整的調控思想(輕重之術),初步建立起了有體系的經濟學理論和框架,成書背景方面,戰(zhàn)國和18世紀歐洲有著列國紛爭的相似之處,英國和齊國作為當時強國,有著坐擁海洋之利、善于商貿的相似之處;寫作視角方面,《管子》作為管理者和決策者來制定和檢驗經濟政策,《國富論》則以歷史經驗檢視和理論分析為主,視角上更像是一個觀察者;經濟政策方面,《管子》比《國富論》更為積極,主張國家掌控貨幣金融和自然資源,利用杠桿、貿易等手段進行調控,獲得財富和穩(wěn)定。
(4)文本比較在智能化方面還有提升空間。作為一個探索性研究,本研究尚有一些需要改進的不足之處,主要是自動文本比較的精準度還有待進一步提高,需要后期人工剔除的選項較多,無法完全做到利用計算機的全過程智能比較。分析原因,一方面是受制于自然語言渾濁模糊的非邏輯性特點,比較中難以做到完全的精準識別定義;另一方面,由于Python第三方庫中的中文字典尚有進一步充實改進的空間,客觀上也制約了篩選比較的精準度。
參考文獻:
[1] 程慧榮,黃國彬,鄭琳,等.非結構化文本分析軟件比較研究[J].圖書與情報,2015(4):110-117.
[2] H P Luhn.A Statistical Approach to Mechanized Encoding and Searching of Literary Information[J]. IBM Journal of Research and Development,1957(4):19.
[3] 毛毳,邱天河.WordSmith在翻譯批評中的應用——借助WordSmith工具分析《匆匆》譯文的風格[J].科技信息,2007(34):14-16.
[4] Sun Junyi.結巴中文分詞項目[EB/OL].[2017-08-28].https://github.com/fxsjy/jieba.
[5] 楊文川,劉健,于淼.基于雙數組Trie樹的中文分詞詞典算法優(yōu)化研究[J].計算機工程與科學,2013(9):127-131.
[6] 李榮,鄭家恒.一種改進Viterbi算法的應用研究[J].計算機工程與設計,2007(3):530-533.
[7] 黃仕忠.元明戲曲觀念之變遷——以《琵琶記》的評論與版本比較為線索[J].藝術百家,1996(4):14-24.
[8] 劉傳霞.愛情的結構與重建——兩個“廬山戀”文本的比較[J].山東師大學報(社會科學版),1999(2):87-89.
[9] 陳曜.《紅樓夢》及英譯本在中國的研究現狀[J].理論月刊,2007(11):128-130.
[10] 王進.《鄉(xiāng)愁》英譯文本比較研究[J].中國校外教育,2015(3):382.
[11] 耿傳明.嚴復的《天演論》與赫胥黎的《進化論與倫理學》[J].文藝理論研究,1997(6):69-74.
[12] (日)野見山溫.《尼布楚條約》不同文本的比較研究[J].黑河學刊,1996(6):101-104.
[13] 張謖.資本爭論的理論溯源:基于《資本論》與《國富論》的文本比較分析[J].學術論壇,2016(10):18-21.
[14] 溫博.赫哲族史詩《滿都莫日根》與鄂倫春族史詩《英雄雄格帕欠》的文本比比較研究[D].福州:福建師范大學,2013.
[15] 喬耀章,馮志峰.法學研究中美憲法文本比較之技術路徑[J].山東高等教育,2008(2):57-67.
[16] 范美琪.兩種視野下的中國近代史——蔣廷黻的《中國近代史》和李侃等人的《中國近代史》之比較[J].濰坊學院學報,2017(2):75-77.
[17] 謝保平.國有企業(yè)的發(fā)展路徑與時代走向[J].企業(yè)家天地,2008(1):86-87.
[18] 李霞.本世紀以來《管子》研究簡介[J].哲學動態(tài),1994(3):40-43.
[19] 梁啟超.飲冰室合集[M].北京:中華書局,1989.
[20] Hamilton C H.Economic Dialogues in Ancient China.Selections from the Kuan-tzu,by Lewis Maverick[J].Artibus Asiae,1954,
18(1):84.
[21] Harry Landreth,David C.Colander.History of Economic Thought[M].South-Western College Pub,2001.
[22] 鐘祥財.中國近代研究經濟思想史的方法論特點:以梁啟超為例[J].財經研究,2010,36(8):37-46.
[23] 管仲.李山譯注.管子[M].北京:中華書局,2009.
[24] (英)亞當·斯密.郭大力,王亞南譯.國民財富的性質和原因的研究[M].北京:商務印書館,2015.
[25] 張燕,李克.《管子》英譯本描述性研究[J].山東理工大學學報(社會科學版),2017(1):60-65.
[26] Dobson W A C.Book Review:Science and Civilisation in China[J].The Journal of Asian Studies,1957,12(4):317-319.
[27] 狄博,王曉丹.基于Python語言的面向對象程序設計課程教學[J].計算機工程與科學,2014(S1):122-124.
[28] 彭琦,俞春強.淺析中文分詞方法[J].信息通信,2015(3):92-95.
[29] 尹斌庸,方世增.詞頻統計的新概念和新方法[J].語言文字應用,1994(2):69-75.
[30] (法)熱敘阿.李玉平,等譯,經濟學詞典[M].北京:社會科學文獻出版社,2013.
[31] Tan P N,Steinbach M,Kumar V.Cluster analysis:basic concepts and algorithms[J].Introduction to data mining,2006(8):487-568.
作者簡介:姜安印,男,蘭州大學經濟學院教授;馮龍飛,男,蘭州大學經濟學院博士研究生。