美文网首页
「文本分析」06jieba库基础与使用实例(以小说文本为例)

「文本分析」06jieba库基础与使用实例(以小说文本为例)

作者: 林拂晓 | 来源:发表于2020-01-27 16:00 被阅读0次

    1.文本分析

    前提:

    pip install jieba

    import jieba

    (1)分词jieba.cut(sentence,cut_all=False)

    sentence="我喜欢上海东方明珠"

    【注】设置分词模式cut_all:全模式、精准模式、搜索引擎模式。

    ①word1全模式:分词结果比较全,但是会出现词语叠加

    word1=jieba.cut(sentence,cut_all=True)

    for item in word1:

        print(item)

    全模式分词结果

    【注】分词后不能直接输出word,需要循环遍历出来。

    ②word2精准模式:为cut_all(sentence)方法默认模式

    word2=jieba.cut(sentence,cut_all=False)

    for item in word2:

        print(item)

    精准模式分词结果

    ③word3搜索引擎模式:jieba.cut_for_search(sentence)

    word3=jieba.cut_for_search(sentence)

    for item in word3:

        print(item)

    搜索引擎模式分词结果

    (2)词性标注jieba.posseg.cut(sentence)

    import jieba.posseg

    Word4=jieba.posseg.cut(sentence)

    for item in word4:

        print(item.word+'————'+item.flag)

    词性标注结果

    【注】①默认模式:即精准模式。

    ②调用词性:.flag属性;

    调用词语:.word属性。

    ③字典中重要词性标注:

    a:形容词

    c:连词

    d:副词

    e:叹词

    f:方位词

    i:成语

    m:数词

    n:名词

    nr:人名

    ns:地名

    nt:机构团体

    nz:其他专有名词

    p:介词

    r:代词

    t:时间

    u:助词

    v:动词

    vn:具有名词功能的动词

    w:标点符号

    un:未知词语

    (3)新建词典加载jieba.load_userdict(filename)

    jieba.load_userdict('D:/Python/Python35/Lib/site-packages/jieba/dict1.txt')

    Word5=jieba.cut_for_search(sentence)

    for item in word5:

        print(item.word+'————'+item.flag)

    (4)添加自定义词add_word(word,freq=None,tag=None)

    jiebe.add_word(word6)

    (5)更改词频suggest_freq(segment,tuen=True)

    jiebe.suggest_freq('喜欢上海',tune=True)

    word8=jieba.cut(sentence)

    for item in word8:

        print(item)

    更改词频结果

    (6)提取文本关键词jiebe.analyse.extract_tags(sentence,num),num默认为20个

    import jieba.analyse

    tag=jieba.analyse.extract_tags(sentence,3)

        print(tag)

    文本关键词提取结果

    (7)返回词语的位置(精准模式)jieba.tokenize(sentence)

    word9=jieba.tokenize(sentence)

    for item in word9:

        print(item)

    定位词语结果(精准模式)

    (8)返回词语的位置(搜索引擎模式)jieba.tokenize(sentence,mode='search')

    word10=jieba.tokenize(sentence,mode='search')

    for item in word10:

        print(item)

    定位词语结果(搜索引擎模式)

    2.文本分析实例:小说文本分析

    分析小说《余生请多指教》

    import jieba

    import jieba.analyse

    (1)提取文本关键词jiebe.analyse.extract_tags(sentence,num),num默认为20个

    data=open("G://DA/file/余生请多指教.txt","r").read()

    【注】或者把文件放在本地www/目录下,直接利用urllib库导入

    #data=urllib.request.urlopen("http://localhost/ysqdzj.html").read().decode("utf-8","ignore")

    tag=jieba.analyse.extract_tags(data,10)

    print(tag)

    ['医生', '顾魏', '老师', '看着', '娘亲', '我们', '时候', '什么', '印玺', '小草']

    (2)输出各个关键词的词频

    from collections import Counter

    cnt=Counter()

    for word in tag:

        cnt[word]+=1

    print(cnt.most_common())

    [('娘亲', 1), ('老师', 1), ('印玺', 1), ('医生', 1), ('看着', 1), ('顾魏', 1), ('时候', 1), ('我们', 1), ('什么', 1), ('小草', 1)]

    相关文章

      网友评论

          本文标题:「文本分析」06jieba库基础与使用实例(以小说文本为例)

          本文链接:https://www.haomeiwen.com/subject/rqrethtx.html