Python – Spinning Chinese Version – Jieba , Synonyms , SnowNPL

簡介

在某次開BD會議時,Jerry有提到『偽原創』的這個關鍵字,意思就是將別人的文章換句話說,我們可以透果Python運用request+BeautifulShop抓取整理別人的文章,在文字區塊運用偽原創程式來把字串重新換句話說,再貼到我們資料庫中運用。而偽原創工具可以分成不同語言版本,而這篇我們來介紹一下偽原創中文版的元素套件介紹。

Jieba 套件

!pip install jieba

首先安裝『 jieba 』套件。

jieba.cut()
jieba.lcut()

我們直接運用實例來介紹Jieba(結巴)的運作流程與用法。最主要結巴的語法有兩種,1. cut() , 2. lcut(),第一種是回傳『字串型態』,第二種是回傳『陣列型態』,斷詞的方式都依樣只是回傳方式不同而已。

#jieba.set_dictionary(path)
jieba.set_dictionary('./dict.txt')

如果當你執行完時,有些斷詞怪怪的話,預設的詞庫裡面沒有你想斷的詞,可以自己定義段詞庫,並透過程式載入,讓你的結巴更會斷詞。

透過結巴你也可以把你的整篇文章找出最符合的關鍵字,如上圖,要先import jieba analyse,來分析文章的關鍵字,分析完後會透過百分比來顯示每個詞在整段文章的百分比。

jieba.analyse.extract_tags()括弧內的參數:

  • sentence 為句子
  • topK 代表返回 TF-IDF 權重最大的關鍵字,默認為20
  • withWeight 代表是否返回關鍵字權重值,默認為False
  • allowPOS 代表指定詞性,默認為空,也就是不篩選

synonyms 套件

synonyms套件是專屬於中文的近義詞套件,並可以用於自然語言理解,例如:文字對齊,推薦演算法、相似度計算、語義偏移、關鍵字提取、概念提取、自動摘要、搜尋引擎等。我們來看看要怎樣使用之。

!pip install -U synonyms

先安裝該套件。正常來說,假如順利執行的話,匯出先如上圖一的相近的詞,而假如詞庫裡沒有相近的詞,印出來的結果就會像上圖二。

synonyms也有另一種除了使用『nearby()』的方法,還可以使用『display()』,如上圖。

SnowNPL套件

SnowNLP 是一個 python 寫的語言庫,可以方便的處理中文文本內容。這是網路上的神人透過自然語言的AI訓練出詞句資料庫,但有一點要注意的是,該資料庫處理語句的編碼是用unicode,所以使用時請自行decode成unicode。

可以看到上圖,他的功能跟Jieba很像,可以將字串中的詞都一一拆出來,連英文也不例外。

假如你遇到了中文的繁體要轉簡體,或是反之,可以使用『 han 』來進行語言轉換。

透過『 sentences 』方法,可以將整個句子,分析標點符號,把每段句子儲存在陣列中,假如沒標點符號則無法斷句。

我們也可以透過『 tags 』來分析每個詞字的詞性,如上圖所示,可以將每個詞性都列出在分解的詞旁邊。

該套件還有情感分析的功能,透過『 sentiments 』方法,假如分數越趨近於0則代表是負面情緒,趨近於1則是正面的情緒。

小結

這篇介紹的是在將文章語句替換前的一些套件的認識與實作,主要的程式製作流程為,1.得到文字,2.拆解文字,3.詞句分析,4.詞句替換,5.詞句整合。所以我們就可以透過這三套還不錯用的套件來嵌入在整體新聞爬蟲的其中。而下一篇會用整篇文章來做實驗,讓以上的流程實現。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *