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

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