• Python自然语言处理之中文分词组件-Jieba


    使用jieba 分询处理中文

    1 安装jieba

    pip install jieba
    

    2 中文分词

    中文分词的模型实现主要分为两大类: 基于规则和基于统计

    jieba 提供了3 种分词模式。

    1·精确模式: 试图将句子最精确地切开,适合文本分析。

    2·全模式:把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义。

    3·搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎知司。

    以下代码使用j ieba 实现中文分词,使用 jieba.cut() 函数判’专入待为可司的文本字符串即可。
    使用cut_all 参数控制选择使用全模式还是精确模式,默认为精确模式。如果需要使用搜索引擎
    模式,使用jieba . cut_for_search() 函数即可。运行以下代码之后, jieba 首先会加载自带的前缀
    词典,然后完成相应的分词任务。

    import jieba
    seg_list = jieba.cut("我来到清华大学",cut_all=True)
    #join 是split 的逆操作
    #即使用一个拼接符将一个列表拼成字符感
    print ("/". join (seg_list)) #全模式
    seg_list = jieba.cut("我来到清华大学",cut_all=False)
    print ("/" .join (seg_list)) #精确模式
    seg_list = jieba.cut("他来到了网易杭研大庭") #默认是精确模式
    print ("/" .join(seg_list))
    seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在H本京都大学深造") #搜索引擎模式
    print ("/" .join(seg_list))
    

    结果如下

    /来到/清华/清华大学/华大/大学
    我/来到/清华大学
    他/来到//网易/杭研大庭
    小明/硕士/毕业//中国/科学/学院/科学院/中国科学院/计算/计算所/,///H//京都/大学/京都大学/深造
    

    3 关键字提取

    jieba 实现了TF-Ib F 和TextRank 这两种关键词提取算法,直接调用即可。当然,提取
    关键词的前提是中文分词,所以这里也会使用到jieba 自带的前缀词典和IDF 权重词典。

    代码:

    import jieba.analyse
    
    # 字符串前面加u表示使用unicode编码
    content = u'中国特色社会主义是我们党领导的伟大事业,' 
              '全部推进党的建设新的伟大工程,是这一伟大事' 
              '业取得胜利的关键所在。党坚强有力,事业才能' 
              '兴旺发达,阔家才能繁荣稳定,人民才能幸桶安' 
              '康。党的十八大以来,我们党坚持党要管党、从' 
              '严治党, 1疑心聚力、直击积弊、扶正被邪,党' 
              '的建设开创新局面,党风政风呈现新气象。习近平总' 
              '书记围绕从严管党治党提出一系列新的茧要思想,为' 
              '全面推进党的建设新的伟大工程进一步指明了方向。'
    
    # 第一个参数 > 待提取的文本
    # 第二个参数 > 返回关键词的数量,重要性从高到底排序
    # 第三个参数 > 是否同时返回每个关键词的权重
    # 第四个参数 > 词性过滤,为空表示不过滤,若提供则仅返回符合词性要求的关键词
    
    keywords = jieba.analyse.extract_tags(content,topK=20,withWeight=True,allowPOS=())
    
    # 提取访问结果
    for item in keywords:
        #分别为关键词和相应位置的权重
        print(item[0],item[1])
    
    
    print('==========================================================================')
    
    # 同样是4个参数,但allowPOS默认为('ns','n','nv','v')
    # 即仅提取地名、名词、动名词、动词
    
    #keywords = jieba.analyse.textrank(content,topK=20,withWeight=True,allowPOS=('ns','n','nv','v'))
    keywords = jieba.analyse.textrank(content,topK=20,withWeight=True,allowPOS=('v'))
    
    # 提取访问结果
    for item in keywords:
        #分别为关键词和相应位置的权重
        print(item[0],item[1])
    
    

    结果如下:

    党的建设 0.481200576648
    管党 0.39849225009666667
    伟大工程 0.38342607930666667
    伟大事业 0.37308758169666667
    才能 0.26778373799599997
    治党 0.23167796086666667
    阔家 0.19924612504833333
    幸桶 0.19924612504833333
    党要 0.19924612504833333
    从严治党 0.19924612504833333
    聚力 0.19924612504833333
    直击 0.19924612504833333
    坚强有力 0.19330154265
    推进 0.19124354451733333
    政风 0.18892880490833336
    党风 0.18260397788
    新气象 0.17555636370000002
    兴旺发达 0.17061860009666668
    扶正 0.1664775774425
    习近平 0.16519489342350002
    ==========================================================================
    提出 1.0
    围绕 0.9948607905791448
    才能 0.8811995209165904
    
  • 相关阅读:
    windows环境搭建Vue2.0开发环境
    SQL Server Profiler监听指定SQL:勾选哪些事件
    Visual Studio 2019 双击解决方案,能打开项目文件,而不是打开.csproj的项目文件内容
    关于ElementUI的DatePicker时区问题
    CRM365切换语言的时候,产品表Product的名称字段name会改变
    两台服务器上SQL Server数据库数据互操作示例
    第一组项目总结
    Beta(6/6)
    Beta(4/6)
    Beta(2/6)
  • 原文地址:https://www.cnblogs.com/chengxiaolong/p/10210815.html
Copyright © 2020-2023  润新知