浅谈文本词向量转换的机制embedding
首先感謝大家對上一篇文章的關注吧,建議看這篇文章前先看下上一篇我推送的《20行代碼實現電影評論情感分析》,上篇文章其實留了個坑,不過不一定坑到大家,因為可能90%的同學可能不會去認真讀一遍代碼,或者去跑一下程序。上文說道關于文本詞向量轉換的embedding相關的內容,其實是沒有詳細說明的,那這一篇我嘗試著去解釋一些,說的不對的還望各位大神指正,我也是自學的,沒人一起討論,可能有理解不到位的地方。
其實機器學習算法,無非是矩陣的加減乘除,對于文本string型的數據,必然需要把這類數據轉成數值型的向量,才能方便計算。文本轉詞向量就是起到這樣的作用,當然,方法有很多,這里我們提到的機制有點類似于算法word2vector,它會把文本轉成帶有語意的向量。
什么是帶有語意的向量?就拿上一篇推送里出現的tflearn.embedding它起到的作用說起。它其實是通過大量的語句分析挖掘出詞語之間的相似度,舉個簡單的例子,假設有大量的語句中都出現“美女喜歡帥哥”、“美女喜歡好看的男人”,那么算法會挖掘出“帥哥”和“好看的男人”可能是相似的語意,于是可以通過向量表示,以下向量純屬yy,為了舉例:
美女=[3,5,7]
帥哥=[5,3,9]
好看的男人=[5.1,2.9,9]
“帥哥”和“好看的男人”會被用距離更近的向量表示起來。另外,向量間的距離也可能會建立聯系,比方說“北京”是“中國”的首都,“巴黎”是“法國”的首都,那么向量:|中國|-|北京|=|法國|-|巴黎|
通過embedding函數把所有詞向量距離計算出來后,其實每句話就可以通過詞向量組裝成矩陣,簡單的方式是第一行是第一個詞向量,第二行是第二個。那么兩句話的語意相似度就可以通過簡單的矩陣減法計算啦,感謝收看。
上一篇《20行代碼實現電影評論情感分析》代碼地址,我只放了一點點測試數據,完整的數據大家自己去IMDB下吧:https://github.com/jimenbian/sentiment-analysis
總結
以上是生活随笔為你收集整理的浅谈文本词向量转换的机制embedding的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 聊聊互联网实习相关的事儿
- 下一篇: 5行python代码讲清楚如何在区块链挖