自然語言處理基礎技術工具篇之Jieba

2021-09-02 17:58:57 字數 2478 閱讀 1298

沒想到堅持學習以及寫作總結已經超過半個月了,謝謝大家的關注、點讚、收藏~~

前面談了nlp的基礎技術,我始終覺得,入門學習一件事情最好的方式就是實踐,加之現在python如此好用,有越來越多的不錯nlp的python庫,所以接下來的一段時間裡,讓我們一起來感受一下這些不錯的工具。

(**我均使用jupyter編輯)~~

先來羅列一波:jieba、hanlp、snownlp、stanfordcorenlp、spacy、pyltp、nltk、textblob等等…今天從jieba開始吧,let』s begin~~

希望能繼續得到大家的指點、關注、點讚以及收藏哈哈哈

jieba工具demo

安裝:pip install jieba

支援三種分詞模式(預設是精確模式):

精確模式,試圖將句子最精確地切開,適合文字分析;

全模式,把句子中所有的可以成詞的詞語都掃瞄出來, 速度非常快,但是不能解決歧義;

搜尋引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。

import jieba

segfull_list = jieba.cut("我愛自然語言處理技術!", cut_all=true)

print("full mode: " + " ".join(segfull_list)) # 全模式

segdef_list = jieba.cut("我愛自然語言處理技術!", cut_all=false)

print("default mode: " + " ".join(segdef_list)) # 精確模式

seg_search_list = jieba.cut_for_search("我愛自然語言處理技術!") # 搜尋引擎模式

print("search mode:" + " ".join(seg_search_list))

building prefix dict from the default dictionary ...

loading model cost 0.830 seconds.

prefix dict has been built succesfully.

full mode: 我 愛 自然 自然語言 語言 處理 技術

default mode: 我 愛 自然語言 處理 技術 !

search mode:我 愛 自然 語言 自然語言 處理 技術 !

引數:

sentence:待分析文字;

allowpos:僅包括指定詞性的詞,預設值為空,即不篩選

import jieba.analyse

sentence = "我愛自然語言處理技術!"

tags = jieba.analyse.extract_tags(sentence, withweight=true, topk=2, allowpos=())

print(tags)

[('自然語言', 3.4783139164), ('處理', 1.8036185524533332)]

引數:

allowpos:預設過濾詞性

jieba.analyse.textrank(sentence, topk=1, withweight=false, allowpos=('ns', 'n', 'vn', 'v'))

['技術']

import jieba.posseg as pseg

sentence = "我愛自然語言處理!"

words = pseg.cut(sentence)

for word, flag in words:

print('%s %s' % (word, flag))

我 r愛 v

自然語言 l

處理 v

! x

result = jieba.tokenize(u'我愛自然語言處理')

for tk in result:

print("word %s\t\t start: %d \t\t end:%d" % (tk[0],tk[1],tk[2]))

word 我 start: 0 end:1

word 愛 start: 1 end:2

word 自然語言 start: 2 end:6

word 處理 start: 6 end:8

另外,**我已經上傳github:

歡迎關注【ai小白入門】,這裡分享python、機器學習、深度學習、自然語言處理、人工智慧等技術,關注前沿技術,求職經驗等,陪有夢想的你一起成長。

自然語言處理基礎技術工具篇之spaCy

安裝 pip install spacy 國內源安裝 pip install spacy i import spacy nlp spacy.load en doc nlp u this is a sentence.1.tokenize功能for token in doc print token th...

自然語言處理基礎技術工具篇之TextBlob

安裝 pip install textblob 配置國內源安裝 pip install textblob i 參考 from textblob import textblobtext i love natural language processing i am not like fish blob...

自然語言處理基礎技術工具篇之Flair

flair簡介 flair是最近開源的乙個基於pytorch的nlp框架,據官方github介紹,它具有以下特點 乙個功能強大的nlp庫。flair允許您將最先進的自然語言處理 nlp 模型應用於您的文字,例如命名實體識別 ner 詞性標註 pos 意義消歧和分類。文字嵌入庫。flair具有簡單的介...