回覆列表
  • 1 # 真正的力子

    文件相似度計算實際上可以定義為text matching問題,如何用深度學習解決這個問題已經是一個被廣泛研究的課題,近幾年每年都有新的,實驗效果更好的研究成果出來。其中筆者的朋友,中科院計算所的@郭嘉豐 和 @蘭豔豔 研究員就是這個領域的專家,筆者關於這個領域的瞭解也大多是從和這兩位老朋友的交流中獲得的。在這裡筆者權當拋磚引玉,說一下主流的思路,更多研究細節和論文讀者可以自行搜尋這兩位年輕學者的個人主頁詳細研究。

    直接用預訓練的詞向量,非監督的來計算文件相似度一般被認為是最naive的方法。這類做法包括直接用把詞向量的加權(比如tf.idf作為權重)平均作為文件的向量表示,或者訓練doc2vec直接獲取文件的向量表示。有了向量表示後用文件向量的cosine距離來衡量文件相似度。

    基於監督學習模型的方法一般效果更好,但是缺點是需要一定數量的標註資料。給定足夠的標註資料,可以用經典的DSSM模型對文件相似性進行建模,也可以根據文件中每一對詞的詞向量相似度構建文字相似度矩陣,然後訓練CNN擬合文件之間的相似度label。不過這類方法對於長文字來說複雜度太高,更適合對文件標題或摘要的相似度進行建模。實際應用中,我們完全可以不拘泥於單一的深度學習模型,利用GBDT等高階特徵模型把深度學習特徵和傳統資訊檢索特徵結合有時候效果更好。

  • 2 # 北航秦曾昌

    目前如何能更好滴計算文件相似度是非常火的方向,也是市場的剛需,比如在資訊檢索、網頁搜尋、智慧問答等系統中,很多功能的開發都需要基於文件的相似度計算。

    在智慧問答中,目前廣泛應用的還是基於檢索的方法。基於文字生成方式,生成的文字質量和效果可控性較差,還沒有在工程中廣泛使用。而基於檢索的方法中,就十分需要判別文字的相似度。比如在今年的中國計算語言學大會(CCL 2018)中的技術評測任務——客服領域使用者意圖分類,就是一個文字相似性的問題。在客服和使用者對話系統的應用過程中,使用者可能會有多種意圖,相應地會觸發客服和客戶對話系統中的多個業務型別,業務型別包括查詢類、辦理類和諮詢類三種,每個業務型別下涉及的使用者意圖有多種,例如查詢類下有查詢賬單、查詢積分等,辦理類下有充值手機話費、重置密碼等;諮詢類下有諮詢寬頻故障、諮詢寬頻續費等。因而,客服領域對話系統的一個關鍵任務就是正確地將使用者的輸入分類到相應業務型別下的具體意圖(即識別出使用者輸入到對話系統執行某個動作之間的一個對映關係)中,從而達到識別和理解使用者要表達的意圖,幫助提高語言、語音導航系統的語義識別能力。

    目前基於詞嵌入的低維稠密向量表示能比較好的表示詞、段落、文件的語義和次序資訊

    方法上:

    1)可利用word2vec能訓練詞的向量表示,在基於詞的向量表示的基礎上去表示文件向量。

    2)可直接訓練文件向量,詞向量的提出者Tomas Mikolov在2014年也提出了Doc2vec(在word2vec的基礎上),與Word2vec一樣,Doc2Vec也有兩種模型,分別為:Distributed Memory(DM)和Distributed Bag of Words(DBOW)。DM模型在給定上下文和文件向量的情況下預測單詞的機率,DBOW模型在給定文件向量的情況下預測文件中一組隨機單詞的機率。其中,在一個文件的訓練過程中,文件向量共享(意味著在預測單詞的機率時,都利用了本文件的語義)。

    Distributed Memory(DM):

    Distributed Bag of Words(DBOW)

    3)此外還可以利用深度神經網路模型,比如以LSTM、biLSTM等結構為基礎的模型訓練文字向量,計算文字相似度。

  • 中秋節和大豐收的關聯?
  • 豐田,本田,日產,所用的CVT變速箱都是一個廠家嗎?哪個更好?