ACL 2018資源:100+ 預訓練的中文詞向量
來自專欄 論智
編者按:之前論智曾出過一份自然語言處理(NLP)數據集整理,許多讀者看完後都在留言中表達了對中文資源的期待,結果今天小編就在Gitbub上發現了個大寶貝。同樣的,為了防止大家錯過這份資料,小編把這篇100+ Chinese Word Vectors搬運過來,希望對大家有所幫助。
Github地址:github.com/Embedding/Chinese-Word-Vectors
我們先來了解一些基本背景:ACL 2018將於7月15日至20日在澳大利亞墨爾本舉辦,作為自然語言處理領域的頂級國際會議,今年大會共收到1018份long papers和526篇short papers,並從中收錄了256篇long papers和126篇short papers,整體接受率為24.9%,和去年基本持平。
目前大會官網已列出所有收錄的論文,但由於部分論文尚未公開,論智暫時無法總結收錄情況。其中貢獻本文資源的論文Analogical Reasoning on Chinese Morphological and Semantic Relations就是本屆大會接受的一篇short paper,截至發文前小編還未在arxiv上找到相關內容。
以下內容由Shen Li, Zhe Zhao, Renfen Hu, Wensi Li, Tao Liu, Xiaoyong Du發佈於github,感謝他們的分享。
本項目提供了一些用不同語言表示(密集的、稀疏的)、上下文特徵(單詞、n-gram、字元等)和語料庫訓練好的中文詞向量(嵌入),有需要的開發者可以把這些具有不同屬性的預訓練數據用於各類下游任務。
此外,我們也提供了一個中文類比推理數據集CA8和評估工具包,用戶可以用它們來評估詞向量的質量。
格式
預訓練數據的格式是文本文檔,文檔的每一行包含一個詞語和對應向量。每個值由空格分隔。第一行記錄元信息:第一個數字表示文檔中的詞語個數,第二個表示向量大小。
除了密集詞向量(用SGNS訓練),我們同樣也提供了稀疏詞向量(用PPMI訓練)。它們和liblinear的格式相同,前面的數字表示維度索引,冒號後面的數字表示具體值。
預訓練的中文詞向量
基礎設置
Window Size(5)
Dynamic Window(Yes)
Sub-sampling(1e-5)
Low-Frequency Word(10)
Iteration(5)
各資源地址
用不同語言表示(密集的、稀疏的)、上下文特徵(單詞、n-gram、字元等)和語料庫訓練好的中文詞向量。
百度百科:300,300d,300d,300d
中文維基百科:300d,300d,300d,300d
人民日報:300d,300d,300d,300d
搜狗新聞:300d,300d,300d,300d
金融新聞:300d,300d,300d,300d
知乎問答:300d,300d,300d,300d
文學作品:300d,300d,300d,300d
四庫全書*:300d,300d,NAN,NAN
綜合:300d,300d,300d,300d
百度百科:300d,300d,300d,300d
中文維基百科:300d,300d,300d,300d
人民日報:300d,300d,300d,300d
搜狗新聞:300d,300d,300d,300d
金融新聞:300d,300d,300d,300d
知乎問答:300d,300d,300d,300d
微博:300d,300d,300d,300d
文學作品:300d,300d,300d,300d
四庫全書*:300d,300d,NAN,NAN
綜合:300d,300d,300d,300d
其中帶*的提供了字元嵌入,因為大部分漢字都是繁體字。
各類共現信息
我們根據不同的共現數據製作了一些詞向量,在一些相關論文中,下表中的Target Word Vectors和Context Word Vectors也常被描述為輸入向量和輸出向量。
用戶可從下表中獲得除了單詞以外的任意語言單位的詞向量,如上下文。所有向量都是用SGNS在百度百科語料庫上訓練所得。
Word——Word → Word:300d,300d
Ngram——Word → Ngram (1-2):300d,300d
Ngram——Word → Ngram (1-3):300d,300d
Ngram——Ngram (1-2) → Ngram (1-2):300d,300d
Character——Word → Character (1):300d,300d
Character——Word → Character (1-2):300d,300d
Character——Word → Character (1-4):300d,300d
Radical——Radical:300d,300d
Position——Word → Word (left/right):300d,300d
Position——Word → Word (distance):300d,300d
Global——Word → Text:300d,300d
Syntactic Feature——Word → POS:300d,300d
Syntactic Feature——Word → Dependency:300d,300d
表示
所有詞的語言表示都分為密集和稀疏兩種,而SGNS模型(word2vec工具包中的一個模型)和PPMI模型是分別對應這兩種表示的典型方法。SGNS模型通過淺層神經網路訓練低維真實(密集)向量,它也被稱為神經嵌入方法。PPMI模型則是一種稀疏的特徵表示,通過PPM加權方案進行加權。
上下文特徵
如表中所示,我們把上下文特徵分成了三類:word、ngram和Character。其中word表示一般用詞與詞的共現數據統計,這被稱為把單詞作為上下文特徵(單詞特徵)。受語言建模問題的啟發,我們在上下文中引入了ngram特徵,即把詞與詞和詞與ngram共現統計都用於訓練(ngram特徵)。對於中文來說,漢字通常具有強烈的表意性,所以在之前的基礎上,我們也試著使用詞與詞和詞與字的共現統計來學習詞向量。字元級ngram的長度範圍是1—4(字元特徵)
除了word、ngram和Character之外,還有一些特徵會對詞向量產生具有實質性的影響,如把整個文本作為上下文特徵可以把更多主題信息引入詞向量;把依賴關係解析作為特徵可以為詞向量添加語法約束……本項目共統計了17中共現類型。
語料庫
我們努力收集了各個領域的語料庫,所有文本數據都已經通過刪除html和xml標籤進行了預處理,只保留純文本,且經HanLP V1.5.3分詞。詳細的語料庫信息如下所示:
百度百科:baike.baidu.com
中文維基百科:dumps.wikimedia.org/
人民日報:data.people.com.cn/
搜狗新聞:www.sogou.com/labs/
知乎問答:www.zhihu.com/
微博:www.nlpir.org/download/weibo.7z
囊括了所有詞,包括低頻詞。
工具包
所有的單詞向量都由ngram2vec工具包進行訓練。
中文詞類比基準
評價詞向量質量的一種常見方法是評測模型在一些語義或語法類比問題上的餘弦相似度距離。在這個項目中,我們提供了兩個基準用於評估。一個是CA-translated,其中的大部分類比問題都是直接從英語轉換而來。雖然CA-translated已被廣泛使用,但它的缺點是只包含3個語義問題和134個中文辭彙。相比之下,CA8是專為中文設計的,它包含17813個類比問題,涵蓋幾乎所有形態和語義關係。
參考
如果需要用到這些詞向量和CA8數據集,請在參考文獻中列出這篇論文:
Shen Li, Zhe Zhao, Renfen Hu, Wensi Li, Tao Liu, Xiaoyong Du, Analogical Reasoning on Chinese Morphological and Semantic Relations, ACL 2018.
推薦閱讀:
TAG:深度學習DeepLearning | 自然語言處理 | 數據集 |