美文网首页
自然语言处理学习复习1

自然语言处理学习复习1

作者: 阿门aaa | 来源:发表于2018-12-17 17:54 被阅读0次

    jieba.cut 以及 jieba.cut_for_search

    相同点:1 返回值都是迭代值。2.接受参数都有(1)需要分词的字符串(2)是否使用 HMM 模型
    不同点:jieba.cut 有参数cut_all 参数用来控制是否采用全模式
    什么是全模式?
    seg_list = jieba.cut("我在学习自然语言处理", cut_all=True)
    Full Mode: 我/ 在/ 学习/ 自然/ 自然语言/ 语言/ 处理——结巴模式。。。

    jieba.lcut以及jieba.lcut_for_search

    问题: HMM模式? 没看
    同上,直接返回 list的结果

    添加用户自定义词典

    jieba.load_userdict ()

    直接加载用户字典

    suggest_freq(segment, tune=True)

    少量添加
    print('/'.join(jieba.cut('如果放到旧字典中将出错。', HMM=False)))
    如果/放到/旧/字典/中将/出错/。
    jieba.suggest_freq(('中', '将'), True)
    print('/'.join(jieba.cut('如果放到旧字典中将出错。', HMM=False)))
    如果/放到/旧/字典/中/将/出错/。

    add_word(word, freq=None, tag=None) 和 del_word(word)

    方式相同?

    关键字提取

    jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
    sentence 为待提取的文本
    topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20
    withWeight 为是否一并返回关键词权重值,默认值为 False
    allowPOS 仅包括指定词性的词,默认值为空,即不筛选     
    

    另一种方式:

    jieba.analyse.textrank(sentence, topK=20, 
    withWeight=False, allowPOS=('ns', 'n', 'vn', 'v')) 
    直接使用,接口相同,注意默认过滤词性。
    

    词性标注 (?不知用途)

    import jieba.posseg as pseg
    words = pseg.cut("我爱自然语言处理")
    for word, flag in words:
        print('%s %s' % (word, flag))
    
    我 r
    爱 v
    自然语言 l
    处理 v
    

    多进程

    jieba.enable_parallel()
    

    Tokenize:

    返回迭代的,词语在原文的起止位置

    result = jieba.tokenize(u'自然语言处理非常有用')
    
    for i in result:
        print(i)
    ('自然语言', 0, 4)
    ('处理', 4, 6)
    ('非常', 6, 8)
    ('有用', 8, 10)
    

    ChineseAnalyzer for Whoosh 搜索引擎

    from jieba.analyse import ChineseAnalyzer
    

    先略,找个好点的范例再补充。

    相关文章

      网友评论

          本文标题:自然语言处理学习复习1

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