word2vec & gensim
用中文資料測試 word2vec
http://city.shaform.com/blog/2014/11/04/word2vec.html
word2vec 是把每個詞本身用一個多維向量來表示,把詞投影到一個向量空間裡。而且不知道為什麼投影出來的空間有些特殊的性質,比如說相同屬性的詞可能會靠得很近,甚至部份的向量有邏輯上的線性關
詞向量介紹
https://fgc.stpi.narl.org.tw/activity/videoDetail/4b1141305ddf5522015de5479f4701b1
用一個向量來表示每一個詞(vector representation),如此一來,就能把一段由許多詞組成的文句,轉換成一個個詞向量來表示
以 gensim 訓練中文詞向量
https://zake7749.github.io/2016/08/28/word2vec-with-gensim/
https://zake7749.github.io/2016/12/17/how-to-develop-chatbot/
BM25 在 SnowNLP 中已經實作完了。BM25 引入了 b 與 k1 這兩個基於經驗調整的參數,兩者中 b 又會顯得重要些,從分母的地方能看出來,b 越大,文章長度就會顯得越重要,那為什麼要將文章長度列入考慮呢?我們可以這麼想,一個文章越長,它包含 qi 的機率就會越高,這樣對短文本就不太公平了,或許前者是一段冗長又包山包海的廢文,後者則是一針見血的精闢見解,所以 BM25 引入 b ,就是為了要懲罰這種情形。 (https://github.com/isnowfy/snownlp)
基於詞向量的主題匹配
https://zake7749.github.io/2016/08/30/chatterbot-with-word2vec/
玩轉文字探勘以 word2vec 以及 ptt 資料為例
https://www.etusolution.com/index.php/tw/joomla-pages/other-pages/single-articles/97-blog/technical-point-of-view/632-word2vec
隨機取出了兩個詞,在學習的過程中,這兩個詞分別的上下文會被導入 word2vec 來決定他們向量的數值。而這個向量是一個 N(本文取 100 來做測試) 個長度的數字,同一個詞,例如:台灣,向量值必定是一樣的。在訓練的過程中,如果這兩個向量的上下文被判定為相似的,那 word2vec 會調整向量裡的數值來讓彼此在向量空間裡的距離拉近,而反之則會把他拉遠。 從這個概念裡面可以推想的到,最後學習完成的模型會把同樣概念的詞在向量空間裡面聚集在一起,這可能是國家的名稱例如:法國、英國、德國,而抽象的概念也會被聚集在一起例如:高興、快樂、愉悅。
gensim TF-IDF模型中文关键词抽取
https://www.jianshu.com/p/362cb98ed586
Comments
Post a Comment