python︱六款中文分詞模組嘗試:jieba、THULAC、SnowNLP
文章推薦指數: 80 %
python︱六款中文分詞模組嘗試:jieba、THULAC、SnowNLP、pynlpir、CoreNLP、pyLTP. 阿新• • 發佈:2018-12-22. **公眾 ...
程式人生>>python︱六款中文分詞模組嘗試:jieba、THULAC、SnowNLP、pynlpir、CoreNLP、pyLTP
python︱六款中文分詞模組嘗試:jieba、THULAC、SnowNLP、pynlpir、CoreNLP、pyLTP
阿新••發佈:2018-12-22
**公眾號“素質雲筆記”定期更新部落格內容:**
![這裡寫圖片描述](https://img-blog.csdn.net/20180226155348545?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2luYXRfMjY5MTczODM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)THULAC
四款python中中文分詞的嘗試。
嘗試的有:jieba、SnowNLP(MIT)、pynlpir(大資料搜尋挖掘實驗室(北京市海量語言資訊處理與雲端計算應用工程技術研究中心))、thulac(清華大學自然語言處理與社會人文計算實驗室)
四款都有分詞功能,本部落格只介紹作者比較感興趣、每個模組的內容。
jieba在這不做介紹,可見部落格:
python+gensim︱jieba分詞、詞袋doc2bow、TFIDF文字挖掘
.
一、SnowNLP
只處理的unicode編碼,所以使用時請自行decode成unicode。
來源:https://github.com/isnowfy/snownlp
以下功能都是筆者比較感興趣的:
情感分析(現在訓練資料主要是買賣東西時的評價,所以對其他的一些可能效果不是很好,待解決)
文字分類(NaiveBayes)
轉換成拼音(Trie樹實現的最大匹配)
繁體轉簡體(Trie樹實現的最大匹配)
提取文字關鍵詞(TextRank演算法)
提取文字摘要(TextRank演算法)
Tokenization(分割成句子)
文字相似(BM25)
#轉化為拼音
fromsnownlpimportSnowNLP
s=SnowNLP("杭州西湖風景很好,是旅遊勝地!")
s.pinyin
['hang',
'zhou',
'xi',
'hu',
'feng',
'jing',
'hen',
'hao',
',',
'shi',
'lv',
'you',
'sheng',
'di',
'!']
#繁體轉為簡體
s=SnowNLP(u'「繁體字」「繁體中文」的叫法在臺灣亦很常見。
')
s.han
'「繁體字」「繁體中文」的叫法在臺灣亦很常見。
'
#自動摘要
text=u'''自然語言處理是電腦科學領域與人工智慧領域中的一個重要方向。
它研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法。
自然語言處理是一門融語言學、電腦科學、數學於一體的科學。
因此,這一領域的研究將涉及自然語言,即人們日常使用的語言,所以它與語言學的研究有著密切的聯絡,但又有重要的區別。
自然語言處理並不是一般地研究自然語言,而在於研製能有效地實現自然語言通訊的計算機系統,特別是其中的軟體系統。
因而它是電腦科學的一部分。
'''
s=SnowNLP(text)
s.summary(5)
['因而它是電腦科學的一部分',
'自然語言處理是電腦科學領域與人工智慧領域中的一個重要方向',
'自然語言處理是一門融語言學、電腦科學、數學於一體的科學',
'所以它與語言學的研究有著密切的聯絡',
'這一領域的研究將涉及自然語言']
#計算BM2.5相似性
s=SnowNLP([[u'這篇',u'文章',u'非常好'],
[u'那篇',u'文章',u'一般般'],
[u'這個']])
#s.tf
s.idf
s.sim([u'這篇',u'文章',u'非常好'])#[0.3756070762985226,0,0]
[0.45263029953948547,-0.45263029953948547,0]
參考《文字相似度-bm25演算法原理及實現》
BM25是通過q和s中的公共詞彙進行相似度計算的演算法,BM25演算法的相關性得分公式可總結為:
本篇部落格自己寫了一個bm2.5實現的軟體。
.
二、thulac
設定比較一般,內容也可能不夠多樣性。
不過有:c++javaso,僅處理UTF8編碼中文文字,之後會逐漸增加支援其他編碼的功能,敬請期待,也有三個版本的分詞模型:
(1)簡單的分詞模型Model_1,僅支援分詞功能。
該模型由人民日報分詞語料庫訓練得到。
(2)分詞和詞性標註聯合模型Model_2,支援同時分詞和詞性標註功能。
該模型由人民日報分詞和詞性標註語料庫訓練得到。
(3)我們還提供更復雜、完善和精確的分詞和詞性標註聯合模型Model_3和分詞詞表。
該模型是由多語料聯合訓練訓練得到(語料包括來自多文體的標註文字和人民日報標註文字等)。
由於模型較大,如有機構或個人需要,通過稽核後我們會將相關資源傳送給聯絡人。
thulac(user_dict=None,model_path=None,T2S=False,seg_only=False,filt=False,deli='_')初始化程式,進行自定義設定
user_dict 設定使用者詞典,使用者詞典中的詞會被打上uw標籤。
詞典中每一個詞一行,UTF8編碼
T2S 預設False,是否將句子從繁體轉化為簡體
seg_only 預設False,時候只進行分詞,不進行詞性標註
filt 預設False,是否使用過濾器去除一些沒有意義的詞語,例如“可以”。
model_path 設定模型檔案所在資料夾,預設為models/
deli 預設為‘_’,設定詞與詞性之間的分隔符
rm_space預設為True,是否去掉原文字中的空格後再進行分詞
初始化設定
thulac(user_dict=None,model_path=None,T2S=False,seg_only=False,filt=False,deli=’_’)
user_dict 設定使用者詞典,使用者詞典中的詞會被打上uw標籤。
詞典中每一個詞一行,UTF8編碼
T2S 預設False,是否將句子從繁體轉化為簡體
seg_only 預設False,時候只進行分詞,不進行詞性標註
filt 預設False,是否使用過濾器去除一些沒有意義的詞語,例如“可以”。
model_path 設定模型檔案所在資料夾,預設為models/
deli 預設為‘_’,設定詞與詞性之間的分隔符
rm_space預設為True,是否去掉原文字中的空格後再進行分詞
分詞結果
cut(文字,text=False)對一句話進行分詞
cut_f(輸入檔案,輸出檔案)對檔案進行分詞
cut和cut_f
命令列模式
python-mthulacinput.txtoutput.txt
從input.txt讀入,並將分詞和詞性標註結果輸出到ouptut.txt中
如果只需要分詞功能,可在增加引數"seg_only"
python-mthulacinput.txtoutput.txtseg_only
詞性解釋
n/名詞np/人名ns/地名ni/機構名nz/其它專名
m/數詞q/量詞mq/數量詞t/時間詞f/方位詞s/處所詞
v/動詞a/形容詞d/副詞h/前接成分k/後接成分
i/習語j/簡稱r/代詞c/連詞p/介詞u/助詞y/語氣助詞
e/嘆詞o/擬聲詞g/語素w/標點x/其它
thu1=thulac.thulac(model_path='/usr/local/lib/python3.5/dist-packages/thulac/models')#預設模式
text=thu1.cut("杭州西湖風景很好,是旅遊勝地!",text=False)#進行一句話分詞
print(text)
Modelloadedsucceed
[['杭州','ns'],['西湖','ns'],['風景','n'],['很','d'],['好','a'],[',','w'],['是','v'],['旅遊','v'],['勝地','n'],['!','w']]
#與Jieba對比一下
importjieba
seg_list=jieba.cut("杭州西湖風景很好,是旅遊勝地!",
cut_all=False)
print("FullMode:"+"/".join(seg_list))#全模式
FullMode:杭州/西湖/風景/很/好/,/是/旅遊勝地/!
.
三、pynlpir
載入之後就遇到了報錯:
RuntimeError:NLPIRfunction‘NLPIR_Init’failed.
License這是授權資料夾,存放了十一個元件的授權檔案licensefor7days:授權期限為7天licenseforonemonth:授權期限為一個月。
也就是說,要不斷更新license,開源的真不徹底,之後就沒嘗試其中的功能了。
importpynlpir
s='NLPIR分詞系統前身為2000年釋出的ICTCLAS詞法分析系統,從2009年開始,為了和以前工作進行大的區隔,並推廣NLPIR自然語言處理與資訊檢索共享平臺,調整命名為NLPIR分詞系統。
'
pynlpir.segment(s)
.
四、CoreNLP3.8.0——多功能
分詞、詞性標註(Part-Of-Speechtag,POS-tag)、命名實體識別(NamedEntityRecognition,NER)、句法分析(SyntacticParse)等各項NLP領域的功能。
stanfordcorenlp是一個對StanfordCoreNLP進行了封裝的Python工具包,GitHub地址,使用非常方便。
4.1安裝(Ubuntu)
依賴,需求:
1.Java1.8+(Checkwithcommand:java-version)
2.StanfordCoreNLP3.8.0(主模組,.rar的解壓包,安裝路徑)
3.語言模型,這裡是中文模型,安裝路徑),其他還有的語言有:
阿拉伯語、漢語、英語、法語、德語、西班牙語(5大類,.jar格式)
下載完,解壓StanfordCoreNLP3.8.0,然後把語言模型放在解壓目錄下就ok了!!
#sudopipinstallstanfordcorenlp
簡單使用,記得引數lang=‘zh’
fromstanfordcorenlpimportStanfordCoreNLP
nlp=StanfordCoreNLP(r'/home/gld/stanford-corenlp-full-2016-10-31/',lang='zh')
sentence='清華大學位於北京。
'
printnlp.word_tokenize(sentence)
printnlp.pos_tag(sentence)
printnlp.ner(sentence)
printnlp.parse(sentence)
printnlp.dependency_parse(sentence)
輸出:
[清華,大學,位於,北京,。
]
[(清華,NR),(大學,NN),(位於,VV),(北京,NR),(。
,PU)]
[(清華,ORGANIZATION),(大學,ORGANIZATION),(位於,O),(北京,GPE),(。
,O)]
...
4.2案例:
fromstanfordcorenlpimportStanfordCoreNLP
nlp=StanfordCoreNLP(r'/.../corenlp/stanford-corenlp-full-2017-06-09/',lang='zh')
lang='zh’代表中文,然後就會自動去搜索中文的語言模型的.jar檔案。
sentence='元芳你怎麼看?我就趴視窗上看唄!'
print('Tokenize:',nlp.word_tokenize(sentence))
print('PartofSpeech:',nlp.pos_tag(sentence))
print('NamedEntities:',nlp.ner(sentence))
print('ConstituencyParsing:',nlp.parse(sentence))
print('DependencyParsing:',nlp.dependency_parse(sentence))
現在這個版本非常簡潔,比用ltp要好不少,不過從筆者自己的實踐來看,分詞模組還只是一般,而且沒看到有可以新加入詞典,畢竟不是本土研究機構。
現在的輸出結果如下:
Tokenize:['元芳','你','怎麼','看','?','我','就','趴','視窗','上看唄','!']
PartofSpeech:[('元芳','NR'),('你','PN'),('怎麼','AD'),('看','VV'),('?','PU'),('我','PN'),('就','AD'),('趴','VV'),('視窗','NN'),('上看唄','NN'),('!','PU')]
NamedEntities:[('元芳','O'),('你','O'),('怎麼','O'),('看','O'),('?','O'),('我','O'),('就','O'),('趴','O'),('視窗','O'),('上看唄','O'),('!','O')]
ConstituencyParsing:(ROOT
(IP
(IP
(NP(NR元芳))
(IP
(NP(PN你))
(VP
(ADVP(AD怎麼))
(VP(VV看))))
(PU?))
(NP(PN我))
(VP
(ADVP(AD就))
(VP(VV趴)
(NP(NN視窗)(NN上看唄))))
(PU!)))
DependencyParsing:[('ROOT',0,4),('nmod:topic',4,1),('nsubj',4,2),('advmod',4,3),('punct',4,5),('nsubj',8,6),('advmod',8,7),('conj',4,8),('compound:nn',10,9),('dobj',8,10),('punct',4,11)]
貼一下之前版本的一些實驗結果圖:
4.3詞性、句法分析、依存關係的符號解釋
詞性解釋
CC:conjunction,coordinatin表示連詞
CD:numeral,cardinal表示基數詞
DT:determiner表示限定詞
EX:existentialthere存在句
FW:foreignword外來詞
IN:prepositionorconjunction,subordinating介詞或從屬連詞
JJ:adjectiveornumeral,ordinal形容詞或序數詞
JJR:adjective,comparative形容詞比較級
JJS:adjective,superlative形容詞最高階
LS:listitemmarker列表標識
MD:modalauxiliary情態助動詞
NN:noun,common,singularormass
NNS:noun,common,plural
NNP:noun,proper,singular
NNPS:noun,proper,plural
PDT:pre-determiner前位限定詞
POS:genitivemarker所有格標記
PRP:pronoun,personal人稱代詞
PRP:pronoun,possessive所有格代詞RB:adverb副詞RBR:adverb,comparative副詞比較級RBS:adverb,superlative副詞最高級RP:particle小品詞SYM:symbol符號TO:"to"asprepositionorinfinitivemarker作為介詞或不定式標記UH:interjection插入語VB:verb,baseformVBD:verb,pasttenseVBG:verb,presentparticipleorgerundVBN:verb,pastparticipleVBP:verb,presenttense,not3rdpersonsingularVBZ:verb,presenttense,3rdpersonsingularWDT:WH−determinerWH限定詞WP:WH−pronounWH代詞WP:pronoun,possessive所有格代詞
RB:adverb副詞
RBR:adverb,comparative副詞比較級
RBS:adverb,superlative副詞最高階
RP:particle小品詞
SYM:symbol符號
TO:"to"asprepositionorinfinitivemarker作為介詞或不定式標記
UH:interjection插入語
VB:verb,baseform
VBD:verb,pasttense
VBG:verb,presentparticipleorgerund
VBN:verb,pastparticiple
VBP:verb,presenttense,not3rdpersonsingular
VBZ:verb,presenttense,3rdpersonsingular
WDT:WH-determinerWH限定詞
WP:WH-pronounWH代詞
WP:pronoun,possessive所有格代詞RB:adverb副詞RBR:adverb,comparative副詞比較級RBS:adverb,superlative副詞最高級RP:particle小品詞SYM:symbol符號TO:"to"asprepositionorinfinitivemarker作為介詞或不定式標記UH:interjection插入語VB:verb,baseformVBD:verb,pasttenseVBG:verb,presentparticipleorgerundVBN:verb,pastparticipleVBP:verb,presenttense,not3rdpersonsingularVBZ:verb,presenttense,3rdpersonsingularWDT:WH−determinerWH限定詞WP:WH−pronounWH代詞WP:WH-pronoun,possessiveWH所有格代詞
WRB:Wh-adverbWH副詞
句法分析(句法樹)
ROOT:要處理文字的語句
IP:簡單從句
NP:名詞短語
VP:動詞短語
PU:斷句符,通常是句號、問號、感嘆號等標點符號
LCP:方位詞短語
PP:介詞短語
CP:由‘的’構成的表示修飾性關係的短語
DNP:由‘的’構成的表示所屬關係的短語
ADVP:副詞短語
ADJP:形容詞短語
DP:限定詞短語
QP:量詞短語
NN:常用名詞
NR:固有名詞:表示僅適用於該項事物的名詞,含地名,人名,國名,書名,團體名稱以及一事件的名稱等。
NT:時間名詞
PN:代詞
VV:動詞
VC:是
CC:表示連詞
VE:有
VA:表語形容詞
AS:內容標記(如:了)
VRD:動補複合詞
CD:表示基數詞
DT:determiner表示限定詞
EX:existentialthere存在句
FW:foreignword外來詞
IN:prepositionorconjunction,subordinating介詞或從屬連詞
JJ:adjectiveornumeral,ordinal形容詞或序數詞
JJR:adjective,comparative形容詞比較級
JJS:adjective,superlative形容詞最高階
LS:listitemmarker列表標識
MD:modalauxiliary情態助動詞
PDT:pre-determiner前位限定詞
POS:genitivemarker所有格標記
PRP:pronoun,personal人稱代詞
RB:adverb副詞
RBR:adverb,comparative副詞比較級
RBS:adverb,superlative副詞最高階
RP:particle小品詞
SYM:symbol符號
TO:”to”asprepositionorinfinitivemarker作為介詞或不定式標記
WDT:WH-determinerWH限定詞
WP:WH-pronounWH代詞
WP$:WH-pronoun,possessiveWH所有格代詞
WRB:Wh-adverbWH副詞
關係表示
abbrev:abbreviationmodifier,縮寫
acomp:adjectivalcomplement,形容詞的補充;
advcl:adverbialclausemodifier,狀語從句修飾詞
advmod:adverbialmodifier狀語
agent:agent,代理,一般有by的時候會出現這個
amod:adjectivalmodifier形容詞
appos:appositionalmodifier,同位詞
attr:attributive,屬性
aux:auxiliary,非主要動詞和助詞,如BE,HAVESHOULD/COULD等到
auxpass:passiveauxiliary被動詞
cc:coordination,並列關係,一般取第一個詞
ccomp:clausalcomplement從句補充
complm:complementizer,引導從句的詞好重聚中的主要動詞
conj:conjunct,連線兩個並列的詞。
cop:copula。
系動詞(如be,seem,appear等),(命題主詞與謂詞間的)連繫
csubj:clausalsubject,從主關係
csubjpass:clausalpassivesubject主從被動關係
dep:dependent依賴關係
det:determiner決定詞,如冠詞等
dobj:directobject直接賓語
expl:expletive,主要是抓取there
infmod:infinitivalmodifier,動詞不定式
iobj:indirectobject,非直接賓語,也就是所以的間接賓語;
mark:marker,主要出現在有“that”or“whether”“because”,“when”,
mwe:multi-wordexpression,多個詞的表示
neg:negationmodifier否定詞
nn:nouncompoundmodifier名詞組合形式
npadvmod:nounphraseasadverbialmodifier名詞作狀語
nsubj:nominalsubject,名詞主語
nsubjpass:passivenominalsubject,被動的名詞主語
num:numericmodifier,數值修飾
number:elementofcompoundnumber,組合數字
parataxis:parataxis:parataxis,並列關係
partmod:participialmodifier動詞形式的修飾
pcomp:prepositionalcomplement,介詞補充
pobj:objectofapreposition,介詞的賓語
poss:possessionmodifier,所有形式,所有格,所屬
possessive:possessivemodifier,這個表示所有者和那個’S的關係
preconj:preconjunct,常常是出現在“either”,“both”,“neither”的情況下
predet:predeterminer,字首決定,常常是表示所有
prep:prepositionalmodifier
prepc:prepositionalclausalmodifier
prt:phrasalverbparticle,動詞短語
punct:punctuation,這個很少見,但是保留下來了,結果當中不會出現這個
purpcl:purposeclausemodifier,目的從句
quantmod:quantifierphrasemodifier,數量短語
rcmod:relativeclausemodifier相關關係
ref:referent,指示物,指代
rel:relative
root:root,最重要的詞,從它開始,根節點
tmod:temporalmodifier
xcomp:openclausalcomplement
xsubj:controllingsubject掌控者
參考:
五、pyltp
“語言云”以哈工大社會計算與資訊檢索研究中心研發的“語言技術平臺(LTP)”為基礎,為使用者提供高效精準的中文自然語言處理雲服務。
pyltp是LTP的Python封裝,提供了分詞,詞性標註,命名實體識別,依存句法分析,語義角色標註的功能。
需要先載入他們訓練好的模型,下載地址
1.分詞
#-*-coding:utf-8-*-
frompyltpimportSentenceSplitter
sents=SentenceSplitter.split('元芳你怎麼看?我就趴視窗上看唄!')#分句
print'\n'.join(sents)
im
portos
LTP_DATA_DIR='/path/to/your/ltp_data'#ltp模型目錄的路徑
cws_model_path=os.path.join(LTP_DATA_DIR,'cws.model')#分詞模型路徑,模型名稱為`cws.model`
frompyltpimportSegmentor
segmentor=Segmentor()#初始化例項
segmentor.load(cws_model_path)#載入模型
words=segmentor.segment('元芳你怎麼看')#分詞
print'\t'.join(words)
segmentor.release()#釋放模型
SentenceSplitter分句子,把段落拆分成句子;segmentor.segment分詞
如果要使用外部詞典,需要,載入模型的時候,指定新的字典集:
segmentor=Segmentor()#初始化例項
segmentor.load_with_lexicon(cws_model_path,'/path/to/your/lexicon')#載入模型,第二個引數是您的外部詞典檔案路徑
2.詞性標註
importos
LTP_DATA_DIR='/path/to/your/ltp_data'#ltp模型目錄的路徑
pos_model_path=os.path.join(LTP_DATA_DIR,'pos.model')#詞性標註模型路徑,模型名稱為`pos.model`
frompyltpimportPostagger
postagger=Postagger()#初始化例項
postagger.load(pos_model_path)#載入模型
words=['元芳','你','怎麼','看']#分詞結果
postags=postagger.postag(words)#詞性標註
print'\t'.join(postags)
postagger.release()#釋放模型
3.命名實體識別
#-*-coding:utf-8-*-
importos
LTP_DATA_DIR='/path/to/your/ltp_data'#ltp模型目錄的路徑
ner_model_path=os.path.join(LTP_DATA_DIR,'ner.model')#命名實體識別模型路徑,模型名稱為`pos.model`
frompyltpimportNamedEntityRecognizer
recognizer=NamedEntityRecognizer()#初始化例項
recognizer.load(ner_model_path)#載入模型
words=['元芳','你','怎麼','看']
postags=['nh','r','r','v']
netags=recognizer.recognize(words,postags)#命名實體識別
print'\t'.join(netags)
recognizer.release()#釋放模型
4.依存句法分析
依存語法(DependencyParsing,DP)通過分析語言單位內成分之間的依存關係揭示其句法結構。
直觀來講,依存句法分析識別句子中的“主謂賓”、“定狀補”這些語法成分,並分析各成分之間的關系。
#-*-coding:utf-8-*-
importos
LTP_DATA_DIR='/path/to/your/ltp_data'#ltp模型目錄的路徑
par_model_path=os.path.join(LTP_DATA_DIR,'parser.model')#依存句法分析模型路徑,模型名稱為`parser.model`
frompyltpimportParser
parser=Parser()#初始化例項
parser.load(par_model_path)#載入模型
words=['元芳','你','怎麼','看']
postags=['nh','r','r','v']
arcs=parser.parse(words,postags)#句法分析
print"\t".join("%d:%s"%(arc.head,arc.relation)forarcinarcs)
parser.release()#釋放模型
words和postags分別為分詞和詞性標註的結果。
輸出結果:
4:SBV4:SBV4:ADV0:HED
arc.head表示依存弧的父節點詞的索引。
ROOT節點的索引是0,第一個詞開始的索引依次為1、2、3…
arc.relation表示依存弧的關係。
arc.head表示依存弧的父節點詞的索引,arc.relation表示依存弧的關係。
每個詞的符號具體含義(可見文件)
5.語義角色分析
語義角色標註(SemanticRoleLabeling,SRL)是一種淺層的語義分析技術,標註句子中某些短語為給定謂詞的論元(語義角色),如施事、受事、時間和地點等。
其能夠對問答系統、資訊抽取和機器翻譯等應用產生推動作用。
#-*-coding:utf-8-*-
importos
LTP_DATA_DIR='/path/to/your/ltp_data'#ltp模型目錄的路徑
srl_model_path=os.path.join(LTP_DATA_DIR,'srl')#語義角色標註模型目錄路徑,模型目錄為`srl`。
注意該模型路徑是一個目錄,而不是一個檔案。
frompyltpimportSementicRoleLabeller
labeller=SementicRoleLabeller()#初始化例項
labeller.load(srl_model_path)#載入模型
words=['元芳','你','怎麼','看']
postags=['nh','r','r','v']
netags=['S-Nh','O','O','O']
#arcs使用依存句法分析的結果
roles=labeller.label(words,postags,netags,arcs)#語義角色標註
#列印結果
forroleinroles:
printrole.index,"".join(
["%s:(%d,%d)"%(arg.name,arg.range.start,arg.range.end)forarginrole.arguments])
labeller.release()#釋放模型
arg.name表示語義角色關係,arg.range.start表示起始詞位置,arg.range.end表示結束位置。
結果如下
3A0:(0,0)A0:(1,1)ADV:(2,2)
第一個詞開始的索引依次為0、1、2…
由於結果輸出一行,所以“元芳你怎麼看”有一組語義角色。
其謂詞索引為3,即“看”。
這個謂詞有三個語義角色,範圍分別是(0,0)即“元芳”,(1,1)即“你”,(2,2)即“怎麼”,型別分別是A0、A0、ADV。
核心的語義角色為A0-5六種,A0通常表示動作的施事,A1通常表示動作的影響等,A2-5根據謂語動詞不同會有不同的語義含義。
A2動作範圍,A3動作開始,A3動作結束。
DIS,標記語。
(生僻標籤資訊來源:語義角色標註(SemanticRoleLabelling))
其餘的15個語義角色為附加語義角色,如LOC表示地點,TMP表示時間等。
附加語義角色列表如下:
Android利用mediacodec進行視訊H264編碼解碼播放
«上一篇
【貪心】Buaacoding1032AlvinZH的學霸養成記II下一篇»
相關推薦
python︱六款中文分詞模組嘗試:jieba、THULAC、SnowNLP、pynlpir、CoreNLP、pyLTP
**公眾號“素質雲筆記”定期更新部落格內容:**
![這裡寫圖片描述](https://img-blog.c...
lingpipe中文分詞模組測試Demo的引數設定
mZipFile=newFile("D:/..../...../lingpipe-4.1.0/demos/tutorial/chineseTokens/i...
對Python中文分詞模組結巴分詞演算法過程的理解和分析
結巴分詞是國內程式設計師用python開發的一箇中文分詞模組,原始碼已託管在github,地址在:https://...
Python基於中文分詞的簡單搜尋引擎實現Whoosh
#-*-coding:utf-8-*-
"""
CreatedonTueNov1322:53:332018
@author:...
Elasticsearch筆記六之中文分詞器及自定義分詞器
中文分詞器
在lunix下執行下列命令,可以看到本來應該按照中文”北京大學”來查詢結果es將其分拆為”北”,”京”,”大”,...
Python下的中文分詞實現
一安裝和測試Python下的中文分詞工具
的帖子“四款python中文分詞系統簡單測試”。
從評測的結果來看
在Pyt...
開源中文分詞工具探析(四):THULAC
THULAC是一款相當不錯的中文分詞工具,準確率高、分詞速度蠻快的;並且在工程上做了很多優化,比如:用DAT儲存訓練特徵(壓縮訓練模型),加入了標點符號的特徵(...
python基礎===jieba模塊,Python中文分詞組件
wordcut用法地址apimas精確==comapi參考地址:https://github.com/fx...
用最大熵模型進行字標註中文分詞(Python實現)
同前面的那篇文章一樣(參見:最大熵模型進行中文分詞),本文運用字標註法進行中文分詞,分別使用4-tag和...
python讀寫txt文件並用jieba庫進行中文分詞
mage亂碼技術分享流行ictclas函數結果class配置python用來批量處理一些數據的第一步吧。
...
搜尋
基礎教學
Mysql入門
Sql入門
Android入門
Docker入門
Go語言入門
Ruby程式入門
Python入門
Python進階
Django入門
Python爬蟲入門
最近訪問
python︱六款中文分詞模組嘗試:jieba、THULAC、SnowNLP、pynlpir、CoreNLP、pyLTP
007_wireshark分析TCP的三次握手和四次斷開
Leetcode+173.+Binary+Search+Tree+Iterator
Dubbo+本地安裝
[leetcode]有關跳臺階的題
ConstraintLayout使用心得以及幾個需要注意的地方
SpringBoot+hystrix+引數詳解
資料庫系統概念_中文第六版.pdf
ubuntu+安裝microsoft+office
如何讓.NET+Core支持GB2312和GBK
延伸文章資訊
- 1Python中文分词工具大合集:安装、使用和测试 - 我爱自然语言 ...
再附加介绍12款其他的中文分词工具或者中文分词模块,最后的两款fnlp和ansj是比较棒的java中文分词工具,貌似还没有python接口,记录一下。这些中文分词工具我没有测试,感 ...
- 2基于Python 的中文分词方案那种比较好? - 知乎
欢迎尝试我们thunlp组发布的THULAC中文词法分析工具包,包括中文分词和词性标注功能,目前包括C++、Python和Java版本。与各常用工具包的性能和效果比较可以参考:.
- 3Python自然語言處理(二):使用jieba進行中文斷詞
原本打算用英文寫的,可是jieba是在斷中文,還用英文寫就有點怪XD. “Python自然語言處理(二):使用jieba進行中文斷詞” is published by Yanwei Liu.
- 4Python - 知名Jieba 中文斷詞工具教學
今天要介紹的這個算是很知名的中文斷詞工具,這個是大陸人發明的工具,並且將其開源在GitHub 上,而且有積極維護中,非常不錯。
- 5[NLP][Python] 中文斷詞最方便的開源工具之一: Jieba
『斷詞』(或者你習慣講『分詞』)的重要性在中文NLP 當中幾乎可說是無人不知、無人不曉。若是今天我們要進行中文的句法分析,試想:若是我們連句子 ...