2016-09-26 81 views
0

我正在解決在文章中使用TF-IDF進行關鍵字提取的問題。 我遵循的管道去如下:使用TF-IDF提取關鍵字

  1. 輸入文本
  2. 記號化到句子來增加詞彙量
  3. 應用CountVectorizer建立每個句子的計數向量。
  4. 應用TfidfTransformer爲其分配權重。

但是,我面臨的問題是,我收到的每個令牌的分數都與句子有關,我想要的是令牌在上下文中對整篇文章的分數。那麼我該如何去實現呢?

例如: 這是我的玩具文字。

「拉希德·西迪基一直聽到從他的同胞穆斯林朝聖者的那些話躺在錯位在118度高溫的地面上,灼熱的沙地陽光下,赤腳,袒胸和茫然,西迪基先生逃過了被壓碎洶涌的人羣。它是2015年9月24日,朝覲的第三天早晨,是來自世界各地的數百萬穆斯林每年爲期五天的麥加朝聖之旅。據估計,這是朝覲歷史上最致命的一天,幾十年來世界上最嚴重的事故中的一個來自亞特蘭大的美國人,42歲的西迪基先生一直穿過數以萬計的朝聖者帳篷的廣闊山谷,他的目的地是:Jamarat橋,那裏朝聖者將石子扔在三根大柱子上在象徵着魔鬼石頭的儀式中,當暗戀的時候,他離橋不到一英里甘「。

這是我的權重矩陣。

[[ 0.24922681 0.   0.   0.   0.   0.   0. 
    0.   0.   0.   0.   0.   0.   0. 
    0.   0.   0.   0.   0.24922681 0.   0. 
    0.   0.   0.24922681 0.24922681 0.   0.24922681 
    0.24922681 0.   0.   0.24922681 0.   0.24922681 
    0.24922681 0.   0.   0.   0.   0. 
    0.24922681 0.   0.   0.   0.   0.20107462 
    0.   0.24922681 0.   0.24922681 0.24922681 0. 
    0.1669101 0.   0.   0.24922681 0.   0.   0. 
    0.   0.   0.   0.   0.   0. 
    0.24922681 0.   0.  ] 

[ 0.   0.22910137 0.22910137 0.   0.   0. 
    0.22910137 0.   0.22910137 0.   0.   0.22910137 
    0.   0.22910137 0.18483754 0.22910137 0.   0.   0. 
    0.   0.   0.22910137 0.   0.   0. 
    0.18483754 0.   0.   0.   0.   0.   0. 
    0.   0.   0.22910137 0.   0.22910137 0.22910137 
    0.18483754 0.   0.22910137 0.   0.   0.22910137 
    0.   0.   0.   0.   0.   0. 
    0.22910137 0.15343186 0.   0.   0.   0.22910137 
    0.   0.   0.   0.   0.   0.22910137 
    0.   0.   0.   0.18483754 0.  ] 

[ 0.   0.   0.   0.22910137 0.22910137 0.22910137 
    0.   0.22910137 0.   0.   0.   0.   0. 
    0.   0.18483754 0.   0.22910137 0.22910137 0.   0. 
    0.   0.   0.22910137 0.   0.   0.18483754 
    0.   0.   0.22910137 0.   0.   0.   0. 
    0.   0.   0.   0.   0.   0.18483754 
    0.   0.   0.   0.22910137 0.   0.   0. 
    0.   0.   0.   0.   0.   0.15343186 
    0.22910137 0.   0.   0.   0.   0.22910137 
    0.22910137 0.22910137 0.   0.   0.22910137 0.22910137 
    0.   0.18483754 0.22910137] 

現在我的問題是這些權重對於句子或關於整個文章的標記?如果是關於這個句子,那麼我怎樣才能對整篇文章做出判斷?

我試圖實現的是一種無監督技術,使用tfidf爲單個文章提取關鍵字!

+1

請給出你得到的輸入文本和輸出的一些例子。 – prabodhprakash

+0

如果你想爲每篇文章添加一個矢量,那麼就不要將它分成許多文檔......你不需要將它分成句子來訓練矢量化器 – maxymoo

+0

分裂成句子的主要原因是把它們當作不同的文檔D1 D2等將用於計算idf。如果我直接輸入文章,那麼我的idf術語不會消失,因爲現在沒有文檔存在? –

回答

0

TfidfVectorizer相當於應用CountVectorizer然後TfidfTransformer給出here。如果我正確地理解了你,你通過了一篇文章,它返回了一個權重向量矩陣,但它只會發生,如果你把文章分成幾句話等。如果它只是您通過的一篇文章,它會返回一個稀疏行。 是我做的一個示例python筆記本應該幫助你。

+0

非常感謝你..這完全清除了我的懷疑。 –