回覆列表
  • 1 # 機器之心Pro

    對於國內自然語言處理的研究者而言,中文詞向量語料庫是需求很大的資源。近日,來自北京師範大學中文資訊處理研究所與華人民大學 DBIIR 實驗室的研究者開源了「中文詞向量語料庫」,試圖為大家解決這一問題。

    該庫包含經過數十種用各領域語料(百度百科、維基百科、人民日報 1947-2017、知乎、微博、文學、金融、古漢語等)訓練的詞向量,涵蓋各領域,且包含多種訓練設定。目前,該研究的論文《Analogical Reasoning on Chinese Morphological and Semantic Relations》已經被 ACL2018 大會接收。

    專案連結:https://github.com/Embedding/Chinese-Word-Vectors

    該專案提供使用不同表徵(稀疏和密集)、上下文特徵(單詞、n-gram、字元等)以及語料庫訓練的中文詞向量(嵌入)。在這裡,你可以輕鬆獲得具有不同屬性的預訓練向量,並將它們用於各類下游任務。

    此外,開發者還在該工具中提供了一箇中文類比推理資料集 CA8 及其評估工具包,使用者可以以此評估自己詞向量的質量。

    格式

    本資源中的預訓練詞向量檔案以文字格式儲存。每一行包含一個單詞及其詞向量。每個值由空格分開。第一行記錄元資訊:第一個數字表示該單詞在檔案中的排序,第二個數字表示維度大小。

    除了密集單詞向量(以 SGNS 訓練),該專案還提供了稀疏向量(以 PPMI 訓練)。它們與 liblinear 格式相同,其中「:」前的數字代表維度索引,「:」後的數字表示值。

    預訓練中文詞向量

    基本設定

    多領域詞彙

    中文詞向量在不同的表徵、上下文特徵和語料庫上進行了訓練。

    * 該專案提供了字向量,因為古漢語大多數漢字獨立成詞。

    多種共現資訊

    開發者釋出了在不同的共現(co-occurrence)統計資料上的詞向量。目標和上下文向量在相關的論文中一般稱為輸入和輸出向量。

    在這一部分中,我們可以獲取詞層面之上的任意語言單元向量。例如,漢字向量包含在詞 - 漢字的上下文向量中。所有向量都在百度百科上使用 SGNS 訓練。

    表徵

    現有的詞表徵方法一般可分為兩種,即密集型和稀疏型的詞嵌入表徵。SGANS 模型(word2vec 工具包中的模型)和 PPMI 模型分別是這兩種表徵的典型案例。SGNS 模型透過一個淺層神經網路學習低維度的密集向量,這也稱為神經嵌入方法。PPMI 模型是一種稀疏的特徵袋(bag-of-feature)表徵方法,且它會使用正逐點互資訊(PPMI)對特徵進行加權。

    上下文特徵

    三種上下文特徵:單詞、n-gram 和字元在詞嵌入文獻中很常用。大多數詞表徵方法本質上利用了詞 - 詞的共現統計,即使用詞作為上下文特徵(詞特徵)。受語言建模問題的啟發,開發者將 n-gram 特徵引入了上下文中。詞到詞和詞到 n-gram 的共現統計都被用於訓練 n-gram 特徵。對於中文而言,字元(即漢字)通常表達了很強的語義。為此,開發者考慮使用詞 - 詞和詞 - 字元的共現統計來學習詞向量。字元級的 n-gram 的長度範圍是從 1 到 4(個字元特徵)。

    除了詞、n-gram 和字元或漢字以外,還有其它對詞向量的屬性具有重要影響的特徵。例如,使用整個文字作為上下文特徵能將更多的主題資訊引入到詞嵌入向量中,使用依存關係解析樹作為上下文特徵能為詞向量新增語法資訊等。本專案考慮了 17 種同現型別。

    語料庫

    開發者做了大量工作來收集多個領域的語料庫。所有的文字資料都透過刪除 html 和 xml 標記進行了預處理。只有純文字被保留並使用 HanLP(v_1.5.3) 進行詞分割。語料庫的詳細資訊如下:

    所有的單詞都被包含其中,包括低頻詞。

    工具包

    所有的詞向量由 ngram2vec 工具包訓練。ngram2vec 工具包是 word2vec 和 fasttext 工具包的超集合,其支援抽象上下文特徵和模型。

    ngram2vec:https://github.com/zhezhaoa/ngram2vec/

    word2vec:https://github.com/svn2github/word2vec

    fasttext:https://github.com/facebookresearch/fastText

    中文詞類比基準

    詞向量的質量通常由類比問題任務進行評估。在該專案中,開發者使用了兩個基準來評估。第一個是 CA-translated,其中大多數類比問題直接從英語基準中翻譯得到。雖然 CA-translated 在很多中文詞嵌入論文中被廣泛應用,但它僅包含了三個語義問題和 134 箇中文詞。相對的,CA8 是專門為中文語言設計的。它包含了 17813 個類比問題,覆蓋了綜合的詞法和語義關聯。CA-translated、CA8 和它們的詳細資訊在 testets 資料夾中。

    評估工具包

    評估工具包在 evaluation 資料夾中。

    執行以下程式碼可評估密集向量:

    執行以下程式碼可評估稀疏向量:

    參考文獻

    如果要使用這些嵌入和 CA8 資料集,請引用開發者的論文:

    Shen Li, Zhe Zhao, Renfen Hu, Wensi Li, Tao Liu, Xiaoyong Du, Analogical Reasoning on Chinese Morphological and Semantic Relations, ACL 2018.

  • 中秋節和大豐收的關聯?
  • 美國總統特朗普表態要支援阿根廷,對此你怎麼看?