jieba
库是一款优秀的 Python 第三方中文分词库,jieba
支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式的特点。
精确模式:试图将语句最精确的切分,不存在冗余数据,适合做文本分析
全模式:将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据
搜索引擎模式:在精确模式的基础上,对长词再次进行切分
1、jieba
库的安装
全自动安装:easy_install jieba 或者 pip install jieba / pip3 install jieba
半自动安装:先下载 http://pypi.python.org/pypi/jieba/ ,解压后运行 python setup.py install
手动安装:将 jieba 目录放置于当前目录或者 site-packages 目录
通过 import jieba
来引用
如下:全自动安装
Win+R ==>cmd
pip install jieba
安装时可能会出现pip版本错误
进入pip目录,更新即可
进入pip目录,更新即可
python.exe -m pip install --upgrade pip
在 pyCharm
中安装:
打开
settings
,搜索Project Interpreter
,在右边的窗口选择 + 号,点击后在搜索框搜索
jieba
,点击安装即可
2、统计荷塘月色词频
荷塘月色.txt
这几天心里颇不宁静。今晚在院子里坐着乘凉,忽然想起日日走过的荷塘,在这满月的光里,总该另有一番样子吧。月亮渐渐地升高了,墙外马路上孩子们的欢笑,已经听不见了;妻在屋里拍着闰儿,迷迷糊糊地哼着眠歌。我悄悄地披了大衫,带上门出去。 沿着荷塘,是一条曲折的小煤屑路。这是一条幽僻的路;白天也少人走,夜晚更加寂寞。荷塘四周,长着许多树,蓊蓊(wěng)郁郁的。路的一旁,是些杨柳,和一些不知道名字的树。没有月光的晚上,这路上阴森森的,有些怕人。今晚却很好,虽然月光也还是淡淡的。 路上只我一个人,背着手踱(duó)着。这一片天地好像是我的;我也像超出了平常的自己,到了另一个世界里。我爱热闹,也爱冷静;爱群居,也爱独处。像今晚上,一个人在这苍茫的月下,什么都可以想,什么都可以不想,便觉是个自由的人。白天里一定要做的事,一定要说的话,现在都可不理。这是独处的妙处,我且受用这无边的荷香月色好了。 曲曲折折的荷塘上面,弥望的是田田的叶子。叶子出水很高,像亭亭的舞女的裙。层层的叶子中间,零星地点缀着些白花,有袅娜(niǎo,nuó)地开着的,有羞涩地打着朵儿的;正如一粒粒的明珠,又如碧天里的星星,又如刚出浴的美人。微风过处,送来缕缕清香,仿佛远处高楼上渺茫的歌声似的。这时候叶子与花也有一丝的颤动,像闪电般,霎时传过荷塘的那边去了。叶子本是肩并肩密密地挨着,这便宛然有了一道凝碧的波痕。叶子底下是脉脉(mò)的流水,遮住了,不能见一些颜色;而叶子却更见风致了。 月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。虽然是满月,天上却有一层淡淡的云,所以不能朗照;但我以为这恰是到了好处——酣眠固不可少,小睡也别有风味的。月光是隔了树照过来的,高处丛生的灌木,落下参差的斑驳的黑影,峭楞楞如鬼一般;弯弯的杨柳的稀疏的倩影,却又像是画在荷叶上。塘中的月色并不均匀;但光与影有着和谐的旋律,如梵婀(ē)玲(英语violin小提琴的译音)上奏着的名曲。 荷塘的四面,远远近近,高高低低都是树,而杨柳最多。这些树将一片荷塘重重围住;只在小路一旁,漏着几段空隙,像是特为月光留下的。树色一例是阴阴的,乍看像一团烟雾;但杨柳的丰姿,便在烟雾里也辨得出。树梢上隐隐约约的是一带远山,只有些大意罢了。树缝里也漏着一两点路灯光,没精打采的,是渴睡人的眼。这时候最热闹的,要数树上的蝉声与水里的蛙声;但热闹是他们的,我什么也没有。 忽然想起采莲的事情来了。采莲是江南的旧俗,似乎很早就有,而六朝时为盛;从诗歌里可以约略知道。采莲的是少年的女子,她们是荡着小船,唱着艳歌去的。采莲人不用说很多,还有看采莲的人。那是一个热闹的季节,也是一个风流的季节。梁元帝《采莲赋》里说得好: 于是妖童媛(yuàn)女,荡舟心许;鷁(yì)首徐回,兼传羽杯;櫂(zhào)将移而藻挂,船欲动而萍开。尔其纤腰束素,迁延顾步;夏始春余,叶嫩花初,恐沾裳而浅笑,畏倾船而敛裾(jū)。 可见当时嬉游的光景了。这真是有趣的事,可惜我们现在早已无福消受了。 于是又记起,《西州曲》里的句子: 采莲南塘秋,莲花过人头;低头弄莲子,莲子清如水。 今晚若有采莲人,这儿的莲花也算得“过人头”了;只不见一些流水的影子,是不行的。这令我到底惦着江南了。——这样想着,猛一抬头,不觉已是自己的门前;轻轻地推门进去,什么声息也没有了,妻已睡熟好久了。
中文虚词.txt
从、自从、自、打、到、往、在、由、向、于、至、趁、当、当着、沿着、顺着 按、按照、遵照、依照、靠、本着、用、通过、根据、据、拿、比 因、因为、由于、为、为了、为着 被、给、让、叫、归、由、把、将、管 对、对于、关于、跟、和、给、替、向、同、除了 同、和、跟、与、及、或、以及 而、而且、并、并且、或者 不但、不仅、虽然、但是、然而、如果、与其、因为、所以 的、得、地 着、了、过 也、这、里 似的、一样、一般 给、连、们、所 的、了、吧、呢、啊、着、嘛、呗、罢了、而已、也罢、也好、啦、嘞、喽、着呢 吗、么、呢、啊、吧 ,。;()
代码
```python import jieba # 读取文件内容 def read_content(): f = open("荷塘月色.txt", encoding='utf-8')#读取时要设置文件编码格式 content = f.read() f.close() return content # 打印信息 def print_info(values=[]): for item in values: print(item) # 主函数 if __name__ == '__main__': # print_info(read_content()) content = read_content() article = jieba.lcut(content) # 分割字符为词list dic = {} for word in article: if word not in dic: dic[word] = 1 else: dic[word] += 1 swd = sorted(list(dic.items()), key=lambda lst: lst[1], reverse=True) # 统计每个词出现次数,从高到第排序 f1 = open('中文虚词.txt', encoding="utf-8") # 排除那些虚词,连词,标点符号等 stop_wds = f1.read() f1.close() for kword, times in swd: if kword not in stop_wds: # 当前词未包含在排除的那些词里面,就输出现次数 print(kword, times)
运行结果
: