全能NLP工具HarvestText

向AI轉(zhuǎn)型的程序員都關(guān)注了這個(gè)號(hào)??????
人工智能大數(shù)據(jù)與深度學(xué)習(xí) ?公眾號(hào):datayx
用途
HarvestText是一個(gè)專注無(弱)監(jiān)督方法,能夠整合領(lǐng)域知識(shí)(如類型,別名)對(duì)特定領(lǐng)域文本進(jìn)行簡(jiǎn)單高效地處理和分析的庫。適用于許多文本預(yù)處理和初步探索性分析任務(wù),在小說分析,網(wǎng)絡(luò)文本,專業(yè)文獻(xiàn)等領(lǐng)域都有潛在應(yīng)用價(jià)值。
使用案例:


【注:本庫僅完成實(shí)體分詞和情感分析,可視化使用matplotlib】
近代史綱要信息抽取及問答系統(tǒng)(命名實(shí)體識(shí)別,依存句法分析,簡(jiǎn)易問答系統(tǒng))
本README包含各個(gè)功能的典型例子,部分函數(shù)的詳細(xì)用法可在文檔中找到:
文檔
具體功能如下:
目錄:
基本處理
本庫主要旨在支持對(duì)中文的數(shù)據(jù)挖掘,但是加入了包括情感分析在內(nèi)的少量英語支持
可以本地保存模型再讀取復(fù)用,也可以消除當(dāng)前模型的記錄。
使用TextTiling算法,對(duì)沒有分段的文本自動(dòng)分段,或者基于已有段落進(jìn)一步組織/重新分段
把語句中有可能是已知實(shí)體的錯(cuò)誤拼寫(誤差一個(gè)字符或拼音)的詞語鏈接到對(duì)應(yīng)實(shí)體。
利用統(tǒng)計(jì)規(guī)律(或規(guī)則)發(fā)現(xiàn)語料中可能會(huì)被傳統(tǒng)分詞遺漏的特殊詞匯。也便于從文本中快速篩選出關(guān)鍵詞。
統(tǒng)計(jì)特定實(shí)體出現(xiàn)的位置,次數(shù)等。
通用停用詞,通用情感詞,IT、財(cái)經(jīng)、飲食、法律等領(lǐng)域詞典??芍苯佑糜谝陨先蝿?wù)。
分析語句中各個(gè)詞語(包括鏈接到的實(shí)體)的主謂賓語修飾等語法關(guān)系,
從大量文本中自動(dòng)識(shí)別出實(shí)體及其可能別名,直接用于實(shí)體鏈接。例子見這里
找到一句句子中的人名,地名,機(jī)構(gòu)名等命名實(shí)體。
把別名,縮寫與他們的標(biāo)準(zhǔn)名聯(lián)系起來。
處理URL, email, 微博等文本中的特殊符號(hào)和格式,去除所有標(biāo)點(diǎn)等
可包含指定詞和類別的分詞。充分考慮省略號(hào),雙引號(hào)等特殊標(biāo)點(diǎn)的分句。
精細(xì)分詞分句
文本清洗
實(shí)體鏈接
命名實(shí)體識(shí)別
實(shí)體別名自動(dòng)識(shí)別(更新!)
依存句法分析
內(nèi)置資源
信息檢索
新詞發(fā)現(xiàn)
字符拼音糾錯(cuò)(調(diào)整)
自動(dòng)分段
存取消除
英語支持
高層應(yīng)用
從三元組中建立知識(shí)圖譜并應(yīng)用于問答,可以定制一些問題模板。效果有待提升,僅作為示例。
利用句法分析,提取可能表示事件的三元組。
基于Textrank, tfidf等算法,獲得一段文本中的關(guān)鍵詞
基于Textrank算法,得到一系列句子中的代表性句子。
利用共現(xiàn)關(guān)系,獲得關(guān)鍵詞之間的網(wǎng)絡(luò)?;蛘咭砸粋€(gè)給定詞語為中心,探索與其相關(guān)的詞語網(wǎng)絡(luò)。
給出少量種子詞(通用的褒貶義詞語),得到語料中各個(gè)詞語和語段的褒貶度。
情感分析
關(guān)系網(wǎng)絡(luò)
文本摘要
關(guān)鍵詞抽取
事實(shí)抽取
簡(jiǎn)易問答系統(tǒng)
項(xiàng)目?獲取方式
關(guān)注微信公眾號(hào) datayx? 然后回復(fù)?HT??即可獲取。
AI項(xiàng)目體驗(yàn)地址?https://loveai.tech
用法
首先安裝, 使用pip
pip install --upgrade harvesttext或進(jìn)入setup.py所在目錄,然后命令行:
python setup.py install隨后在代碼中:
from harvesttext import HarvestText
ht = HarvestText()
即可調(diào)用本庫的功能接口。
實(shí)體鏈接
給定某些實(shí)體及其可能的代稱,以及實(shí)體對(duì)應(yīng)類型。將其登錄到詞典中,在分詞時(shí)優(yōu)先切分出來,并且以對(duì)應(yīng)類型作為詞性。也可以單獨(dú)獲得語料中的所有實(shí)體及其位置:

采用傳統(tǒng)的分詞工具很容易把“武球王”拆分為“武 球王”
詞性標(biāo)注,包括指定的特殊類型。

這里把“武球王”轉(zhuǎn)化為了標(biāo)準(zhǔn)指稱“武磊”,可以便于標(biāo)準(zhǔn)統(tǒng)一的統(tǒng)計(jì)工作。
分句:
print(ht.cut_sentences(para))['上港的武磊和恒大的郜林,誰是中國(guó)最好的前鋒?', '那當(dāng)然是武磊武球王了,他是射手榜第一,原來是弱點(diǎn)的單刀也有了進(jìn)步']
如果手頭暫時(shí)沒有可用的詞典,不妨看看本庫內(nèi)置資源中的領(lǐng)域詞典是否適合你的需要。
如果同一個(gè)名字有多個(gè)可能對(duì)應(yīng)的實(shí)體("打球的李娜和唱歌的李娜不是一個(gè)人"),可以設(shè)置keep_all=True來保留多個(gè)候選,后面可以再采用別的策略消歧,見el_keep_all()
如果連接到的實(shí)體過多,其中有一些明顯不合理,可以采用一些策略來過濾,這里給出了一個(gè)例子filter_el_with_rule()
本庫能夠也用一些基本策略來處理復(fù)雜的實(shí)體消歧任務(wù)(比如一詞多義【"老師"是指"A老師"還是"B老師"?】、候選詞重疊【xx市長(zhǎng)/江yy?、xx市長(zhǎng)/江yy?】)。具體可見linking_strategy()
文本清洗
可以處理文本中的特殊字符,或者去掉文本中不希望出現(xiàn)的一些特殊格式。
包括:微博的@,表情符;網(wǎng)址;email;html代碼中的?一類的特殊字符;網(wǎng)址內(nèi)的%20一類的特殊字符;繁體字轉(zhuǎn)簡(jiǎn)體字
例子如下:



情感分析
本庫采用情感詞典方法進(jìn)行情感分析,通過提供少量標(biāo)準(zhǔn)的褒貶義詞語(“種子詞”),從語料中自動(dòng)學(xué)習(xí)其他詞語的情感傾向,形成情感詞典。對(duì)句中情感詞的加總平均則用于判斷句子的情感傾向:

如果沒想好選擇哪些詞語作為“種子詞”,本庫中也內(nèi)置了一個(gè)通用情感詞典內(nèi)置資源,在不指定情感詞時(shí)作為默認(rèn)的選擇,也可以根據(jù)需要從中挑選。
默認(rèn)使用的SO-PMI算法對(duì)于情感值沒有上下界約束,如果需要限制在[0,1]或者[-1,1]這樣的區(qū)間的話,可以調(diào)整scale參數(shù),例子如下:


信息檢索
可以從文檔列表中查找出包含對(duì)應(yīng)實(shí)體(及其別稱)的文檔,以及統(tǒng)計(jì)包含某實(shí)體的文檔數(shù)。使用倒排索引的數(shù)據(jù)結(jié)構(gòu)完成快速檢索。

關(guān)系網(wǎng)絡(luò)
(使用networkx實(shí)現(xiàn)) 利用詞共現(xiàn)關(guān)系,建立其實(shí)體間圖結(jié)構(gòu)的網(wǎng)絡(luò)關(guān)系(返回networkx.Graph類型)??梢杂脕斫⑷宋镏g的社交網(wǎng)絡(luò)等。


劉關(guān)張之情誼,劉備投奔的靠山,以及劉備討賊之經(jīng)歷盡在于此。
文本摘要
(使用networkx實(shí)現(xiàn)) 使用Textrank算法,得到從文檔集合中抽取代表句作為摘要信息,可以設(shè)置懲罰重復(fù)的句子,也可以設(shè)置字?jǐn)?shù)限制(maxlen參數(shù)):

關(guān)鍵詞抽取
目前提供包括textrank和HarvestText封裝jieba并配置好參數(shù)和停用詞的jieba_tfidf(默認(rèn))兩種算法。
示例(完整見example):

新詞發(fā)現(xiàn)
從比較大量的文本中利用一些統(tǒng)計(jì)指標(biāo)發(fā)現(xiàn)新詞。(可選)通過提供一些種子詞語來確定怎樣程度質(zhì)量的詞語可以被發(fā)現(xiàn)。(即至少所有的種子詞會(huì)被發(fā)現(xiàn),在滿足一定的基礎(chǔ)要求的前提下。)

自動(dòng)分段
使用TextTiling算法,對(duì)沒有分段的文本自動(dòng)分段,或者基于已有段落進(jìn)一步組織/重新分段。

與原始論文中不同,這里以分句結(jié)果作為基本單元,而使用不是固定數(shù)目的字符,語義上更加清晰,且省去了設(shè)置參數(shù)的麻煩。因此,默認(rèn)設(shè)定下的算法不支持沒有標(biāo)點(diǎn)的文本。但是可以通過把seq_chars設(shè)置為一正整數(shù),來使用原始論文的設(shè)置,為沒有標(biāo)點(diǎn)的文本來進(jìn)行分段,如果也沒有段落換行,請(qǐng)?jiān)O(shè)置align_boundary=False。例見examples/basic.py中的cut_paragraph():

存取消除
可以本地保存模型再讀取復(fù)用,也可以消除當(dāng)前模型的記錄。

簡(jiǎn)易問答系統(tǒng)
具體實(shí)現(xiàn)及例子在naiveKGQA.py中,下面給出部分示意:

閱讀過本文的人還看了以下文章:
TensorFlow 2.0深度學(xué)習(xí)案例實(shí)戰(zhàn)
基于40萬表格數(shù)據(jù)集TableBank,用MaskRCNN做表格檢測(cè)
《基于深度學(xué)習(xí)的自然語言處理》中/英PDF
Deep Learning 中文版初版-周志華團(tuán)隊(duì)
【全套視頻課】最全的目標(biāo)檢測(cè)算法系列講解,通俗易懂!
《美團(tuán)機(jī)器學(xué)習(xí)實(shí)踐》_美團(tuán)算法團(tuán)隊(duì).pdf
《深度學(xué)習(xí)入門:基于Python的理論與實(shí)現(xiàn)》高清中文PDF+源碼
python就業(yè)班學(xué)習(xí)視頻,從入門到實(shí)戰(zhàn)項(xiàng)目
2019最新《PyTorch自然語言處理》英、中文版PDF+源碼
《21個(gè)項(xiàng)目玩轉(zhuǎn)深度學(xué)習(xí):基于TensorFlow的實(shí)踐詳解》完整版PDF+附書代碼
《深度學(xué)習(xí)之pytorch》pdf+附書源碼
PyTorch深度學(xué)習(xí)快速實(shí)戰(zhàn)入門《pytorch-handbook》
【下載】豆瓣評(píng)分8.1,《機(jī)器學(xué)習(xí)實(shí)戰(zhàn):基于Scikit-Learn和TensorFlow》
《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》PDF+完整源碼
汽車行業(yè)完整知識(shí)圖譜項(xiàng)目實(shí)戰(zhàn)視頻(全23課)
李沐大神開源《動(dòng)手學(xué)深度學(xué)習(xí)》,加州伯克利深度學(xué)習(xí)(2019春)教材
筆記、代碼清晰易懂!李航《統(tǒng)計(jì)學(xué)習(xí)方法》最新資源全套!
《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》最新2018版中英PDF+源碼
將機(jī)器學(xué)習(xí)模型部署為REST API
FashionAI服裝屬性標(biāo)簽圖像識(shí)別Top1-5方案分享
重要開源!CNN-RNN-CTC 實(shí)現(xiàn)手寫漢字識(shí)別
同樣是機(jī)器學(xué)習(xí)算法工程師,你的面試為什么過不了?
前海征信大數(shù)據(jù)算法:風(fēng)險(xiǎn)概率預(yù)測(cè)
【Keras】完整實(shí)現(xiàn)‘交通標(biāo)志’分類、‘票據(jù)’分類兩個(gè)項(xiàng)目,讓你掌握深度學(xué)習(xí)圖像分類
VGG16遷移學(xué)習(xí),實(shí)現(xiàn)醫(yī)學(xué)圖像識(shí)別分類工程項(xiàng)目
特征工程(二) :文本數(shù)據(jù)的展開、過濾和分塊
如何利用全新的決策樹集成級(jí)聯(lián)結(jié)構(gòu)gcForest做特征工程并打分?
Machine Learning Yearning 中文翻譯稿
全球AI挑戰(zhàn)-場(chǎng)景分類的比賽源碼(多模型融合)
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
python+flask搭建CNN在線識(shí)別手寫中文網(wǎng)站
中科院Kaggle全球文本匹配競(jìng)賽華人第1名團(tuán)隊(duì)-深度學(xué)習(xí)與特征工程
不斷更新資源
深度學(xué)習(xí)、機(jī)器學(xué)習(xí)、數(shù)據(jù)分析、python
?搜索公眾號(hào)添加:?datayx??
機(jī)大數(shù)據(jù)技術(shù)與機(jī)器學(xué)習(xí)工程
?搜索公眾號(hào)添加:?datanlp
長(zhǎng)按圖片,識(shí)別二維碼
