python自然语言处理 jieba分词处理

自然语言NLP处理之一jieba分词

需要自行安装jieba模块,通常使用pip install jeiba即可安装,体验分词就是那么简单。

#!/usr/bin/env python  
# encoding: utf-8  
""" 
@version: v1.0 
@author: W_H_J
@license: Apache Licence  
@contact: [email protected] 
@site:  
@software: PyCharm 
@file: jiebaWord.py 
@time: 2018/1/22 11:24 
@describe:结巴分词对文章进行处理分析,(自然语言NLP同时采用词性标注
"""
import sys
import jieba
import jieba.posseg
import jieba.analyse

reload(sys)
sys.setdefaultencoding("utf-8")
# 导入自己需要分词的文件
PATH = '../data/body.txt' 
file_in = open(PATH, 'r')
content = file_in.read()


# 对原始文本进行分词处理,并进行词性标注,这里主要是jieba分词的三种简单模式。
def fenciCount():
    jieba.add_word('李书萍')  # 添加词典,将关键字添加至词典
    seg_list = jieba.cut(content, cut_all=True)
    print("Full Mode: " + "/ ".join(seg_list))  # 全模式

    seg_list = jieba.cut(content, cut_all=False)
    print("Default Mode: " + "/ ".join(seg_list))  # 默认模式

    seg_list = jieba.cut(content)
    print(", ".join(seg_list))

    seg_list = jieba.cut_for_search(content)  # 搜索引擎模式
    print(", ".join(seg_list))

    print('=' * 40)
    print('4. 词性标注')
    print('-' * 40)
# 对词性进行标注
    words = jieba.posseg.cut(content)
    for word, flag in words:
        print('%s %s' % (word, flag))


class Main():
    def __init__(self):
        fenciCount()


if __name__ == "__main__":
    Main() 
详细使用教程可参考官方文档:GitHub

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章