1、分詞數(shù)據(jù)源
基于之前采集公共管理學(xué)院老師的數(shù)據(jù),一共得到10個(gè)字段绍撞。本次分詞是對(duì)大文本字段進(jìn)行分詞,因此將所得到的老師的數(shù)據(jù)去掉5個(gè)基本字段得院,對(duì)簡(jiǎn)介(intro)傻铣、研究成果(output)、獲獎(jiǎng)情況(award)祥绞、科研項(xiàng)目(project)非洲、人才培養(yǎng)(training)5個(gè)大文本字段進(jìn)行分詞,最終制作詞云圖蜕径,本次制作詞云圖利用的工具為tagxedo-creator两踏,這是一個(gè)在線制作詞云圖的工具,可以對(duì)中文數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析兜喻。
將上次采集的老師的數(shù)據(jù)保存為csv格式的文件梦染,刪除基本信息的5列,在將csv文件另存為txt格式朴皆,在利用jieba分詞可直接導(dǎo)入需分詞的txt數(shù)據(jù)文檔帕识。
2、jieba學(xué)習(xí)
基于jieba的教程遂铡,嘗試了相關(guān)代碼的測(cè)試渡冻。
首先,安裝jieba:pip install jieba
在venv下創(chuàng)建jieba文件夾忧便,編寫test1.py
# encoding=utf-8
from __future__ import print_function, unicode_literals
import sys
sys.path.append("../")
import jieba
jieba.load_userdict("/root/venv/jieba/userdict.txt")
import jieba.posseg as pseg
jieba.add_word('石墨烯')
jieba.add_word('凱特琳')
jieba.del_word('自定義詞')
test_sent = (
"李小福是創(chuàng)新辦主任也是云計(jì)算方面的專家; 什么是八一雙鹿\n"
"例如我輸入一個(gè)帶“韓玉賞鑒”的標(biāo)題族吻,在自定義詞庫(kù)中也增加了此詞為N類\n"
"「臺(tái)中」正確應(yīng)該不會(huì)被切開(kāi)。mac上可分出「石墨烯」珠增;此時(shí)又可以分出來(lái)凱特琳了超歌。"
)
words = jieba.cut(test_sent)
print('/'.join(words))
print("="*40)
result = pseg.cut(test_sent)
for w in result:
print(w.word, "/", w.flag, ", ", end=' ')
print("\n" + "="*40)
terms = jieba.cut('easy_install is great')
print('/'.join(terms))
terms = jieba.cut("python 的正則表達(dá)式是好用的")
print('/'.join(terms))
print("="*40)
# test frequency tune
testlist = [
('今天天氣不錯(cuò)', ('今天', '天氣')),
('如果放到post中將出錯(cuò)箩张。', ('中', '將')),
('我們中出了一個(gè)叛徒', ('中', '出')),
]
for sent, seg in testlist:
print('/'.join(jieba.cut(sent, HMM=False)))
word = ''.join(seg)
print('%s Before: %s, After: %s' % (word, jieba.get_FREQ(word), jieba.suggest_freq(seg, True)))
print('/'.join(jieba.cut(sent, HMM=False)))
print("-"*40)
運(yùn)行結(jié)果:(python "/root/venv/jieba/test1.py")
知識(shí)點(diǎn):
jieba.cut 方法接受三個(gè)輸入?yún)?shù): 需要分詞的字符串壹哺;cut_all 參數(shù)用來(lái)控制是否采用全模式(默認(rèn)為精確模式);HMM 參數(shù)用來(lái)控制是否使用 HMM 模型蛋逾。
jieba.cut_for_search 方法接受兩個(gè)參數(shù):需要分詞的字符串凝垛;是否使用 HMM 模型懊悯。該方法適合用于搜索引擎構(gòu)建倒排索引的分詞蜓谋,粒度比較細(xì)。
jieba.load_userdict(file_name) # file_name 為文件類對(duì)象或自定義詞典的路徑炭分。
使用 add_word(word, freq=None, tag=None) 和 del_word(word) 可在程序中動(dòng)態(tài)修改詞典桃焕。
使用 suggest_freq(segment, tune=True) 可調(diào)節(jié)單個(gè)詞語(yǔ)的詞頻,使其能(或不能)被分出來(lái)捧毛。
3观堂、教師數(shù)據(jù)分詞
test3.py:
# encoding=utf-8
from __future__ import print_function, unicode_literals
import sys
sys.path.append("../")
import jieba
jieba.load_userdict("/root/venv/jieba/userdict2.txt")
import jieba.posseg as pseg
import jieba.analyse as anl
import re
import codecs
#導(dǎo)入停用詞表
stopwords = {}.fromkeys([ line.rstrip() for line in open('/root/venv/jieba/stopwordlist.txt') ])
def seg_sentence(sentence):
wordList = jieba.cut(sentence.strip())
outstr = ''
for word in wordList:
if word not in stopwords:
if len(word) > 1: # 去掉長(zhǎng)度小于1的詞
if word != '\t':
outstr += word
outstr += "/"
return outstr
infile = open('/root/venv/jieba/content_detail.txt', 'r')
outfile = open('/root/venv/jieba/result3_2.txt', 'w')
for line in infile:
line_seg = seg_sentence(line)
outfile.write(line_seg.encode('utf-8'))
outfile.close()
infile.close()
userdict2.txt:
補(bǔ)充中
四川大學(xué)
stopwordlist.txt:
!
"
#
$
%
&
'
(
)
*
+
,
-
--
.
..
...
......
...................
./
.一
記者
數(shù)
年
月
日
時(shí)
分
秒
/
//
的
training
,
award
project
intro
output
content_detail.txt:(部分)
姜曉萍教授先后承擔(dān)公共行政呀忧、公共政策师痕、行政法學(xué)、中國(guó)政府與政治而账、地方政府創(chuàng)新等課程胰坟。曾獲全國(guó)高校霍英東教育基金優(yōu)秀青年教師獎(jiǎng)泞辐,四川省教學(xué)名師腕铸、四川省優(yōu)秀教學(xué)成果一等獎(jiǎng)等。
","
?1铛碑、2016年獲教育部長(zhǎng)江學(xué)者獎(jiǎng)勵(lì)計(jì)劃特聘教授
2狠裹、2015年獲寶鋼優(yōu)秀教師獎(jiǎng)
3、2014年獲國(guó)家哲學(xué)社會(huì)科學(xué)成果文庫(kù)
4汽烦、2014年獲四川省第十六次哲學(xué)社會(huì)科學(xué)優(yōu)秀成果一等獎(jiǎng)涛菠、二等獎(jiǎng)
5、2014年獲四川省第七屆高等教育教學(xué)成果獎(jiǎng)二等獎(jiǎng)
6撇吞、2013年第六屆高等學(xué)兴锥常科學(xué)研究?jī)?yōu)秀成果獎(jiǎng)三等獎(jiǎng)
7、2012年四川大學(xué)優(yōu)秀教材獎(jiǎng)二等獎(jiǎng)
8牍颈、2012年四川大學(xué)教學(xué)成果一等獎(jiǎng)
9迄薄、2010年獲第五屆“四川杰出創(chuàng)新人才獎(jiǎng)”
10、2010年獲四川省第六屆高等教育教學(xué)成果獎(jiǎng)三等獎(jiǎng)
11煮岁、2010年獲四川省第十四次哲學(xué)社會(huì)科學(xué)優(yōu)秀成果二等獎(jiǎng)
12讥蔽、2009年獲四川省教學(xué)名師獎(jiǎng)
13、2008年獲中國(guó)行政管理學(xué)會(huì)第四屆行政管理科學(xué)優(yōu)秀成果二等獎(jiǎng)
result3_2.txt:(部分)
補(bǔ)充中/補(bǔ)充中/補(bǔ)充中/補(bǔ)充中/補(bǔ)充中/補(bǔ)充中/補(bǔ)充中/補(bǔ)充中/補(bǔ)充中/補(bǔ)充中/補(bǔ)充中/補(bǔ)充中/補(bǔ)充中/補(bǔ)充中/補(bǔ)充中/姜曉萍/教授/先后/承擔(dān)/公共行政/公共政策/行政法學(xué)/中國(guó)政府/政治/地方/政府/創(chuàng)新/課程/全國(guó)/高校/霍英東/教育/基金/優(yōu)秀青年/教師/四川省/教學(xué)/名師/四川省/優(yōu)秀/教學(xué)/成果/一等獎(jiǎng)/2016/教育部/長(zhǎng)江/學(xué)者/獎(jiǎng)勵(lì)/計(jì)劃/特聘/教授/2015/寶鋼/優(yōu)秀教師/2014/國(guó)家/哲學(xué)/社會(huì)科學(xué)/成果/文庫(kù)/2014/四川省/第十六次/哲學(xué)/社會(huì)科學(xué)/優(yōu)秀成果/一等獎(jiǎng)/二等獎(jiǎng)/2014/四川省/第七屆/高等教育/教學(xué)/成果獎(jiǎng)/二等獎(jiǎng)/2013/第六屆/高等學(xué)校/科學(xué)研究/優(yōu)秀/成果獎(jiǎng)/三等獎(jiǎng)/2012/四川大學(xué)/優(yōu)秀/教材/二等獎(jiǎng)/2012/四川大學(xué)/教學(xué)/成果/一等獎(jiǎng)/2010/第五屆/四川/杰出/創(chuàng)新/人才/10/2010/四川省/第六屆/高等教育/教學(xué)/成果獎(jiǎng)/三等獎(jiǎng)/11/2010/四川省/第十四次/哲學(xué)/社會(huì)科學(xué)/優(yōu)秀成果/二等獎(jiǎng)/12/2009/四川省/教學(xué)/名師/13/2008/中國(guó)/行政管理學(xué)/第四屆/行政/管理科學(xué)/優(yōu)秀成果/二等獎(jiǎng)/14/2008/四川省/第十三次/哲學(xué)/社會(huì)科學(xué)/優(yōu)秀成果/二等獎(jiǎng)/15/2008/四川省/教育廳/人文/社科/一等獎(jiǎng)/16/2007/四川省/第十二次/哲學(xué)/社會(huì)科學(xué)/優(yōu)秀成果/三等獎(jiǎng)/17/2006/成都市/第八次/哲學(xué)/社會(huì)科學(xué)/優(yōu)秀成果/二等獎(jiǎng)/18/2005/四川省/優(yōu)秀/教學(xué)/成果/一等獎(jiǎng)/19/2005/四川省/第十一次/哲學(xué)/社會(huì)科學(xué)/優(yōu)秀成果/三等獎(jiǎng)/20/2005/建設(shè)/成都/杰出/貢獻(xiàn)獎(jiǎng)/21/2004/四川省/教育廳/第五屆/人文/社科/優(yōu)秀/科研成果/二等獎(jiǎng)/22/2004/四川省/第四屆/政務(wù)/調(diào)研/二等獎(jiǎng)/23/2004/第十二屆/嬌子/成都/十杰/青年/稱號(hào)/24/2004/四川省/哲學(xué)/社會(huì)科學(xué)/優(yōu)秀成果/三等獎(jiǎng)/25/2003/中國(guó)/行政管理學(xué)/優(yōu)秀論文/26/2003/中國(guó)/行政管理學(xué)/2003/優(yōu)秀論文/其他/27/1998/全國(guó)/高校/霍英東/教育/基金/青年教師/主持/科研項(xiàng)目/主持/國(guó)家/社科/基金/重大項(xiàng)目/深化/干部
4画机、制作詞云圖(tagxedo-creator)
導(dǎo)入分詞文件:
可以看到在旁邊的菜單欄進(jìn)行顏色冶伞、形狀、字體等的調(diào)整步氏。
去掉無(wú)用的詞:
詞云圖: