textrank&nmf文字摘要總結
我們在用textrank作文本摘要時,提出一種新穎的方法來解決長文字的摘要提取問題。
textrank 一般模型可以表示為乙個有向有權圖 g =(v, e), 由點集合 v和邊集合 e 組成, e 是v ×v的子集。圖中任兩點 vi , vj 之間邊的權重為 wji , 對於乙個給定的點 vi, in(vi) 為 指 向 該 點 的 點 集 合 , out(vi) 為點 vi 指向的點集合。點 vi 的得分定義如下:
其中, d 為阻尼係數, 取值範圍為 0 到 1, 代表從圖中某一特定點指向其他任意點的概率, 一般取值為 0.85。使用textrank 演算法計算圖中各點的得分時, 需要給圖中的點指定任意的初值, 並遞迴計算直到收斂, 即圖中任意一點的誤差率小於給定的極限值時就可以達到收斂, 一般該極限值取 0.0001。
textrank用句子或詞之間的相關關係矩陣替代了pagerank中網頁間的指向關係。迭代的過程依舊使用的是pagerank 的演算法。我們可以通過 了解pagerank。
(1)把給定的文字t按照完整句子進行分割,即
(4)根據上面公式,迭代傳播各節點的權重,直至收斂。
textrank演算法進行文章的摘要提取演算法流程
1. 第一步是把所有文章整合成文字資料
2. 接下來把文字分割成單個句子
3. 然後,我們將為每個句子找到向量表示(詞向量)。
4. 計算句子向量間的相似性並存放在矩陣中
5. 然後將相似矩陣轉換為以句子為節點、相似性得分為邊的圖結構,用於句子textrank計算。
在進行下一步之前,我們先將相似性矩陣sim_mat轉換為圖結構。這個圖的節點為句子,邊用句子之間的相似性分數表示。在這個圖上,我們將應用pagerank演算法來得到句子排名。
6. 最後,一定數量的排名最高的句子構成最後的摘要。
在此基礎上,我們考慮
包含實體(組織機構名稱)的句子應該被重點關注。也就是說,包含特定實體的句子與普通句子之間的相關關係應該有加權。
長文字的語義通常會有多個子文字的語義共同描述,我們利用降維壓縮來提取各個模組的特徵語義,並用作相關關係矩陣的權值修正
對於第一點,我們用ner(bilstm+crf)做ner,對於包含特定實體的句子更高的權重。
對於第二點,我們對句子的embedding 矩陣作降維壓縮(主要是用到nmf矩陣分解方法),提取不同模組的特徵,再根據源文字中句子與各個特徵之間的關係修正相關關係矩陣。
示意圖如下:
我們在新聞資料上作的文字摘要結果表明:我們提取的文字摘要更具有代表性。
我們在作實體識別的時候,並沒有考慮很確切的關係,換句話說,我們沒有在crf層新增很多規則,實際上,實驗中的演算法是用pyltp 來做命名實體識別的,這是因為對於少樣本來說,pyltp基於詞典的識別更加穩定。
但是pyltp的提取畢竟是千篇一律的,而我們僅需要「企業名稱」型別的實體,從這個層面來看,建設乙個有針對性地bilstm+crf 框架很有必要。
NSSpeechSynthesizer 文字變語音
nsspeechsynthesizer 是 foundation中的乙個類,這個類可以方便的在cocoa應用程式中新增 文字到語言 功能。開發者可以使用這個類向ios 引用程式中新增類似功能。效果圖如下 截圖 speechutterance引數說明 utterance.voice 語系 不區分大小寫...
FileSystemWatcher判斷檔案複製完成
使用 filesystemwatcher 監視指定目錄中的更改。可監視指定目錄中的檔案或子目錄的更改。該元件可以監視本地計算機 網路驅動器或遠端計算機上的檔案。可監視目錄或檔案中的若干種更改。例如,可監視檔案或目錄的 attributes lastwrite 日期和時間或 size 方面的更改。通過...
Vmware Window Linux 共享資料夾
問題描述 在虛擬機器vmware 8.0下,其中宿主機系統為window 7,安裝的虛擬機器系統為ubuntu 12.04 x64,通過使用共享資料夾的方式,實現兩個系統的通訊。預備工作 虛擬機器需要安裝vmware tools。解決方案 1.在虛擬機器的詳細設定下,選擇啟用共享資料夾。右擊虛擬機器...