它說研究丨基於TextRank算法 自動提取微信公眾號文章摘要

2021-02-20 中證鵬元評級

本文轉載自「itSaiD 它說」微信公眾號,「itSaiD 它說」來自鵬元評級旗下子公司深圳前海鵬元數據技術有限公司,想瀏覽更多債券及大數據金融風控資訊,請關注「itSaiD 它說」。

文章摘要是對文章內容的概括,在信息檢索中起著非常重要的作用。通過文章摘要可以快速高效地把握一篇文章的主要內容,有利於對文章的主要思想的理解。

本文基於TextRank算法對它說平臺發布的相關微信公眾號文章進行自動摘要及關鍵詞的提取。一定程度上可以減少人工編輯文章的工作量,特別針對海量文章的摘要的自動提取具有一定的參考價值。

自動摘要(Automatic Summarization)的方法主要有兩種:Extraction和Abstraction。其中Extraction是抽取式自動文摘方法,通過提取文檔中已存在的關鍵詞,句子形成摘要;Abstraction是生成式自動文摘方法,通過建立抽象的語意表示,使用自然語言生成技術,形成摘要。

由於生成式自動摘要方法需要複雜的自然語言理解和生成技術支持,應用領域受限。抽取式摘要成為現階段主流,它也能在很大程度上滿足人們對摘要的需求。

目前抽取式的主要方法:

•基於統計:統計詞頻,位置等信息,計算句子權值,再簡選取權值高的句子作為文摘,特點:簡單易用,但對詞句的使用大多僅停留在表面信息。

•基於圖模型:構建拓撲結構圖,對詞句進行排序。例如,TextRank/LexRank。

•基於潛在語義:使用主題模型,挖掘詞句隱藏信息。例如,採用LDA,HMM。

•基於線路規劃:將摘要問題轉為線路規劃,求全局最優解。

在python語言中用於文本摘要自動提取的庫包括goose,SnowNLP,TextTeaser,sumy,TextRank等。本文主要使用python的TextRank庫進行文章摘要的自動提取。下面主要介紹TextRank算法的主要思想:

TextRank算法是一種用於文本的基於圖的排序算法。其基本思想來源於谷歌的PageRank算法:

通過把文本分割成若干組成單元(單詞、句子)並建立圖模型, 利用投票機制對文本中的重要成分進行排序,僅利用單篇文檔本身的信息即可實現關鍵詞提取、文摘。和 LDA、HMM 等模型不同, 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。

本文以它說平臺最近發布的微信公眾號文章名為「它說研究丨債券信用評級變動對到期收益率的影響」作為文本摘要自動提取的語料來源。原始的文章存在摘要及關鍵詞,因此需要去除原始的摘要及關鍵字,以便進行人工提取與算法自動提取的對比。

下面將從文本預處理,句子相似度計算,句子權重計算,抽取句,形成文摘,文摘關鍵字提取等方面進行文本摘要自動提取。

一、文本預處理

1.使用正則表達式去除文本多餘的換行符及空格,數字及英文字母;

2.文章分句:分句的依據為文章中出現句子結束符「.!?。!?」從而實現句子之間的切分;

3.使用python的中文分詞庫jieba進行句子分詞;

4.使用停用詞表去除停用詞;

5.TF_IDF特徵詞提取,最後候選關鍵詞表部分截圖如下:

6.特徵詞權重計算部分截圖如下:

二、句子相似度計算

構建圖G =(V,E),其中V為句子集,E為邊集。基於句子間的內容覆蓋率,給定兩個句子,採用如下公式進行計算:

若兩個句子之間的相似度大於給定的閾值,就認為這兩個句子語義相關並將它們連接起來,即邊的權值:


結果截圖如下:

其中(35,236)表示該文章總共有35個句子,236表示詞空間。該鏡像矩陣中元素為0表示句子與句子之間的相似度為0,兩個句子沒有交集,元素為1表明這兩個句子基本等價的。

三、句子權重計算

根據公式,通過pagerank迭代傳播權重計算各句子的得分,結果截圖如下:

四、抽取文摘句

將三得到的句子得分進行倒序排序,抽取重要度最高的T個句子作為候選文摘句。本文抽取重要程度最高的3個句子最為候選文摘句,結果如下:

說明評級公司關於債券信用級別的上調帶來了債券到期收益率的巨大波動,而市場投資者對這一反應的最終結果是不相信評級機構的信用級別調整。當債券信用級別上調時,投資者面臨更少的信用風險;當債券信用級別下調時,投資者面臨更多的信用風險。債券評級機構對債券信用級別的上調並沒有得到投資者的認可,反而在一定程度上給債券信用造成了負面的影響。

五、形成文摘

根據字數或句子數要求,從候選文摘句中抽取句子組成文摘。另外一方面為了保持文摘句的連貫性,符合中文語法要求,可以嘗試對文摘句進行詞性標註。本文採用jieba詞性標註工具(jieba.posseg)對文摘句進行標註,部分標註結果如下:

我們可以通過對文摘句進行詞性標註從而判斷文摘句的開頭是否為名詞結構,若不是便可以將其進一步簡化,本文文摘句以「說明」開頭,該詞語為動詞結構,可以嘗試通過詞性標註刪除該詞語,從而自動理順句子結構。最終結果如下:

評級公司關於債券信用級別的上調帶來了債券到期收益率的巨大波動,而市場投資者對這一反應的最終結果是不相信評級機構的信用級別調整。債券評級機構對債券信用級別的上調並沒有得到投資者的認可,反而在一定程度上給債券信用造成了負面的影響。

六、關鍵詞提取

使用jieba分詞提供的基於TextRank的關鍵詞提取工具(jieba.analyse.extract_tags)進行文摘句關鍵詞提取。本文提取前10個關鍵詞結果如下:債券,信用,級別,評級,上調,信用風險,投資者,面臨,機構,負面。

七、算法結果對比:

比較內容

人工編輯

TextRank算法自動提取

文本摘要

評級機構上調或下調債券信用級別,均會造成債券到期收益率的提高和波動短期內的加劇。債券評級機構對債券信用級別的上調並沒有得到投資者的認可,反而在一定程度上給債券信用造成了負面的影響

評級公司關於債券信用級別的上調帶來了債券到期收益率的巨大波動,而市場投資者對這一反應的最終結果是不相信評級機構的信用級別調整。債券評級機構對債券信用級別的上調並沒有得到投資者的認可,反而在一定程度上給債券信用造成了負面的影響。

關鍵詞

剩餘期限、到期收益率、債券信用級別

債券,信用,級別,評級,上調,信用風險,投資者,面臨,機構,負面

從以上表格可以看出基於TextRank算法的文本摘要及關鍵字提取也可以達到一個較好的結果。為後續的海量文章自動摘要的提取奠定了實踐基礎。

八、附jieba詞性標註表如下:

1. 名詞 (1個一類,7個二類,5個三類)

名詞分為以下子類:

n 名詞

nr 人名

nr1 漢語姓氏

nr2 漢語名字

nrj日語人名

nrf音譯人名

ns 地名

nsf音譯地名

nt機構團體名

nz其它專名

nl名詞性慣用語

ng名詞性語素

2. 時間詞(1個一類,1個二類)

t 時間詞

tg時間詞性語素

3. 處所詞(1個一類)

s 處所詞

4. 方位詞(1個一類)

f 方位詞

5. 動詞(1個一類,9個二類)

v 動詞

vd副動詞

vn名動詞

vshi動詞「是」

vyou動詞「有」

vf趨向動詞

vx形式動詞

vi 不及物動詞(內動詞)

vl動詞性慣用語

vg 動詞性語素

相關焦點

  • 微信公眾號改版公開文章閱讀數 推動"刷贊產業鏈"
    一位在淘寶專職兜售微信公眾號刷粉絲、刷閱讀量的商家昨天不耐煩地回復記者。他說這幾天刷閱讀量的人很多,前來詢問購買的有不少是微信公眾號運營者。一向強調私密性的微信近日開始測試公眾帳號閱讀次數顯示和點讚功能,這一改版在自媒體、公眾號運營者領域如同引爆了一顆定時炸彈。因為對於那些一篇文章收費高達上萬的公眾號來說,這次廣告主將可以直接看到他們的受歡迎程度。
  • 基於python+opencv的圖像目標區域自動提取
    >機器學習AI算法工程   公眾號:datayx一、提取紙張中的內容一張照片中的感興趣區域總是沿著x,y,z三個軸都有一定傾斜(如下圖),要想把照片翻轉到平行位置,需要進行透視變換,而透視變換需要同一像素點變換前後的坐標。
  • 從傳播學角度思考微信公眾平臺與抖音的「流量算法差異」
    ,但對於那些拿抖音的「數據」來打壓微信公眾號甚至對微信公眾平臺嗤之以鼻的「抖音網紅演藝經紀公司」和被洗腦的舞臺總監們,我們實在不敢苟同。前者是一個傳播文章的媒介,必更富有內容、文化傳播價值;後者作為一個短視頻平臺,以快餐化的娛樂視頻信息為主,來也匆匆去也匆匆,能夠紅極一時不假,但網紅公司籍此打壓公眾號還沒那資格。 圖片來自微信朋友圈 圖片版權屬於原主 先說微信公眾平臺。
  • 微信視頻號,是公眾號的未竟之志嗎?
    微信視頻號,「你開通了嗎?體驗了嗎?」龍哥說這是人人都可創作的年代。表達是天然的需求,但文章一不小心成了公眾號的主要載體。每天寫文章不現實,發視頻是可以的。因此短內容將是微信發力的方向。視頻號就是短內容的表現形式,公眾號的未竟之志。
  • Python 自動提取電影中所有人臉
    最近由於論文寫作需要涉及到人臉的提取操作,結合以前做過的人臉識別項目:Python自動識別人臉開機 和 ffmpeg 的影片逐幀提取功能,實現了自動提取電影中所有人臉的操作
  • 鄭州微信公眾號如何製作網頁鄭州微信製作公眾號鄭州微信怎麼開公眾號鄭州微信公眾號哪裡可以製作鄭州微信公眾號小程序製作鄭州做網站推廣
    電話:13292208571(微信)鄭州如何製作微信公眾號二維碼 鄭州抖音廣告投放 鄭州公司微信公眾號製作 鄭州首頁排名優化推薦 鄭州微信公眾號怎麼製作文章 鄭州如何在微信上弄一個公眾號 鄭州百度關鍵詞排名怎麼靠前 鄭州製作微信小程序怎麼收費 鄭州怎麼從微信上建立公眾號 鄭州微信小程序製作要多少錢 鄭州百度關鍵詞多少錢
  • 如何寫好一篇微信公眾號推文
    標題是用戶閱讀的第一吸引力,縱觀微信文章閱讀量高的,每一篇都有一個好名字。目前微信公眾號推文標題分為兩種,一種是我們通常理解的好標題,它抓熱點,有態度,走在潮流前線或者分享乾貨。另一種則是,正常情況下我們所不想看的標題黨,點擊量很高,點讚量很小。而且標題不宜過長,控制在13字以內最好。
  • 微信再出擊!「看一看」打通微信讀書,公眾號又多一內容流量池?
    、文章評論改為算法推薦的內容,包括好友最近閱讀、近期熱度較高的內容和書籍推薦,而形式上則包括公眾號文章、視頻、書籍三者。前兩者都是基於微信公眾號,後者則是微信讀書裡的書籍。現在,「故事」模塊升級為「看一看」,形式不變,內容上則缺少了好友最近閱讀的內容,更多的是平臺根據用戶自身閱讀公眾號和書籍的習慣為其推薦的內容。
  • 微信公眾號怎麼寫才能引發轉發量?
    微信公眾號文章的轉發能夠為公眾號帶來更高的閱讀量甚至是粉絲,但是對於大批的微信公眾號運營來說,閱讀量寥寥無幾,轉髮根本沒有,更別提漲粉和轉發量了。明明覺得內容寫的很好,反響應該不錯,推送後,實際反響卻很一般。
  • 傾斜影像密集匹配三維點雲自動識別分類研究
    文章轉載自微信公眾號中國測繪學會,來源:青島市海陸地理信息重點實驗室;撰稿人:丁曉龍,編輯:張永超,初審:齊陽,審核:彭震中,版權歸原作者及刊載媒體所有。而傾斜影像密集匹配點雲是基於影像空間相對關係形成的具有空間準確位置的同名點點雲,被廣泛地應用於DSM、DEM和DOM的生產,但是密集匹配出的點雲不具備雷射掃描那樣的強度信息和回波信息,因此自動分類難度較大,是目前學術界研究的一個熱點,同時也沒有成熟的商業軟體可以實現。實驗室與來自中國測繪科學研究院的研究團隊聯合開展了傾斜影像密集匹配點雲自動識別的技術試驗。
  • 從算法上解讀自動駕駛是如何實現的?
    [摘要]車輛路徑規劃問題中路網模型、路徑規划算法和交通信息的智能預測為關鍵點。由於駕駛員的駕駛工作繁重,同時隨著汽車擁有量的增加,非職業駕駛員的數量增多,導致交通事故頻繁發生。在這些汽車電子控制系統研究的基礎上,結合蓬勃發展的智能化信息處理技術,逐步產生了一個新興的交叉學科——車輛的自動駕駛(又稱為智能汽車)。未來實用化的智能汽車將最大限度地減少交通事故、提高運輸效率、減輕駕駛員操縱負擔,從而提高整個道路交通的安全性、機動性與汽車行駛的主動安全性。
  • 微信視頻號重走公眾號老路
    你可以說它克制、受限,也可以說它天真、不現實,但是放眼目前國內所有網際網路產品,除了微信,也沒有人有真正的資本談「人人皆品牌」。承認這個事實是無奈的。就目前情況言說,微信視頻號並不具備UGC和社區的強關聯性,它有社區的雛形,有社交的基因,沒有UGC的生長環境。在公眾號走向專業化、高門檻的那一刻起,微信就應該料到,開放視頻閘門首先蜂擁而入的一定是專業團隊,如公眾號作者、微商和抖快KOL。
  • 乾貨|如何讓微信公眾號文章排版精美?(內含教程)
    一、編輯器(我推薦秀米)公眾號要排好版,編輯器真的太重要了。微信公眾號的官方界面也有編輯器,但是功能非常簡單,不推薦用。二、挑選模版(選擇一個與文章主題密切相關的,合適的模版。)這可太重要了。因為微信公眾號排版如果從一張白板開始排,那估計累死還排的亂七八糟,一定是建立在模版基礎之上的,才能省事兒又好看,所以這一步太關鍵了。
  • 東營製作微信公眾號東營小程序開發多少錢東營微信公眾號開店系統製作東營微信公眾平臺小程序東營百度收錄更新東營微信公眾號製作設計費用
    東營網絡宣傳的優點 東營在微信怎麼建立公眾號 東營微信公眾號如何製作 東營怎樣在微信建立公眾號 東營微信如何建立自己的公眾號 東營微信公眾號賣貨怎麼做 東營做網站成本 東營網頁設計製作基本步驟 東營微信公眾號哪裡可以製作 東營關鍵詞優化技巧方法 東營微信公眾號推廣 東營效果好的品牌網站建設 東營網站建設流程步驟 東營微信公眾號建立 東營怎麼在微信上製作公眾號 東營怎麼建一個微信公眾號 東營微信小程序公司在哪裡
  • 微信Android版本內測,公眾號再改版,視頻號也有新變化
    裂開 Broken、傷心 Hurt、嘆氣 Sigh、讓我康康 LetMeSee、666 Awesome、無聊 Boring,這就是微信剛剛上線的 6 個新表情。由於表情表達情緒豐富,我也願意稱它為「打工人」表情包。目前這 6 個表情還在全量中,沒看到的讀者等一會兒就能用上了。
  • 微信公眾號排版指南(全)
    文章封面是除了標題之外,讀者在點開文章前首先看到的信息,封面圖做的吸引力越強,那麼讀者打開的欲望也會相應增加。那麼封面頁的尺寸要怎麼設置,才符合微信的規範呢?微信官方的建議是頭條封面的圖片尺寸最好是達到 900*500 像素,二級封面的像素是 200*200 像素。
  • 一鍵提取公眾號封面圖、下載視頻,讓你的排版效率提升3倍!
    PDF如果某天,領導要你將一份PDF文件中的內容,重新組合編輯成一篇圖文,我們重新打字又十分麻煩且浪費時間,那麼可以用96中的「導入PDF」功能,將PDF導入到96中,會自動幫你轉換成文字內容▼不過在導入PDF文件時要注意,儘量不要選用帶表格的PDF文件,純文字版的PDF文件更容易導入成功哦
  • 微信大更新!10 億人都在看的公眾號,要變成「今日頭條」了?
    接下來,就帶大家快速了解一下微信公眾號的新變化!界面變化1. 文章卡片式展示在經歷了朋友圈設計升級、微信訂閱號懸浮窗之後,公眾號的列表界面也終於迎來了升級,一次的巨大的升級。在最新版本的微信訂閱號列表中,可以看到推送的文章變成了一張張精美的卡片,每個公眾號的文章卡片信息依然是按照時間發送的順序排列以「信息流」的形式展示。
  • 公眾號文章封面圖片提取
    1、複製要提取封面的文章連結 2、用電腦瀏覽器打開此連結,在頁面加載出來後,右擊滑鼠「查看頁面源碼」或者「審查元素」
  • 微信公眾號排版指南
    不少後臺的朋友也在催促我寫一篇公眾號排版的文章,那我今天就從排版的角度,來給大家一些指點和建議。文章封面是除了標題之外,讀者在點開文章前首先看到的信息,封面圖做的吸引力越強,那麼讀者打開的欲望也會相應增加。那麼封面頁的尺寸要怎麼設置,才符合微信的規範呢?