2017-08-27 50 views
0

我有一個文本語料庫,我想從字符開始尋找單詞的嵌入。所以我有一系列字符作爲輸入,我想將它投影到多維空間中。學習使用已經學過的單詞嵌入的字符嵌入

作爲初始化,我想適應已經學過的單詞嵌入(例如,Google嵌入)。

我有些疑惑:

  1. 我需要用一個字嵌入矢量在輸入序列中的每個輸入 性格嗎?如果我只使用ascii或utf-8編碼使用 ,會不會是一個問題?
  2. 儘管什麼是輸入 矢量定義(VEC嵌入,ASCII ......)這真的混亂 選擇合適的型號有多種選擇,但林不知道 哪一個是更好的選擇:seq2seq,自動編碼器,lstm, multi-regressor + lstm?
  3. 你能給我任何樣本代碼 keras或tensorflow?

回答

0

我回答每一個問題:

  1. 如果你想利用字符的相似性(音譯相似的那個區域遠的親戚也行),你需要嵌入層。編碼是符號輸入,而嵌入是連續輸入。有了符號知識,任何一種泛化都是不可能的,因爲你沒有距離(或相似性)的概念,而嵌入時可以使用相似的輸入(以及泛化)。但是,由於輸入空間非常小,短嵌入就足夠了。

  2. 該模型高度依賴於您想要捕捉的現象的類型。我經常在文學中看到的一個模型,在不同的任務中看起來工作得很好,它是一個多層雙向的字符,頂部有一個線性層。

  3. 該代碼類似於Tensorflow的所有RNN實現。開始的一個好方法是Tensorflow教程https://www.tensorflow.org/tutorials/recurrent。創建雙向功能是https://www.tensorflow.org/api_docs/python/tf/nn/static_bidirectional_rnn

從以往的經驗,我有問題,以適應使用字符模型基於詞的詞的嵌入。原因在於,如果沒有語義相似性,基於單詞的模型會將形態上相似的單詞放得很遠。基於字符的模型無法做到這一點,因爲無法很好地區分形態上類似的輸入(在嵌入式空間中非常接近)。

這就是爲什麼在文學中人們經常使用字符模型作爲字模型的補充而不是「本身」模型的原因之一。如果一個人物模型足以同時捕捉語義和形態的相似性,那麼這是一個開放的研究領域。

+0

嗨朱塞佩,謝謝你的回覆,但是我真的需要角色嵌入,或者換句話說,在這種情況下,爲什麼我需要概括角色相似性? –