zoukankan      html  css  js  c++  java
  • NLTK 基本操作


    一、标识化处理(分词/分句)

    标识化处理:将原生字符串分割为一系列有意义的分词。
    机器要理解的最小处理单位为单词。所以标识化处理外,不适合再做进一步的操作。

    标识器(tokenizer):
    1、split() 分割;
    2、正则;
    3、NLTK 内置方法:nltk.tokenize.word_tokenize() 分词,nltk.tokenize.sent_tokenize() 分句;regex_tokenize() 用户可自定义的标识器。
    4、其他大部分标识器 都可以通过 继承正则表达式 的标识器实现,也可以利用不同模式 来构建一个 具体的标识器。


    word_tokenize 和 split 的优势;
    word_tokenize 更通用、可面向所有类型语料库。


    以上是 NLTK 内置的 语句边界检测算法;

    nltk 更适合处理英文,英文使用空格将一个个单词分开;


    from nltk.tokenize import word_tokenize, sent_tokenize  
     
    str = 'arXiv is a free distribution service and an open-access archive for 1,812,439 scholarly articles. Materials on this site are not peer-reviewed by arXiv.'
    
    # tokens = word_tokenize(str) 
    # 一般转化为小写来分析
    tokens = [word.lower() for word in tokens]  
    
    tokens
     '''
    ['arXiv',
     'is',
     'a',
     'free',
     'distribution',
     'service',
     'and',
     'an',
     'open-access',
     'archive',
     'for',
     '1,812,439',
     'scholarly',
     'articles',
     '.',
     'materials',
     'on',
     'this',
     'site',
     'are',
     'not',
     'peer-reviewed',
     'by',
     'arXiv',
     '.']
    '''
     
    # 分句
    param = str
    sents = sent_tokenize(param)
    
    
    '''
    ['arXiv is a free distribution service and an open-access archive for 1,812,439 scholarly articles.',
     'Materials on this site are not peer-reviewed by arXiv.']
    '''
     
    type(sents)  # list
    

    自定义语句分离

    from nltk.tokenize import  punkt
    tokenizer = punkt.PunktSentenceTokenizer()
    

    该预置语句分离器支持 17 种语言;
    我们只需要为其指定相关配方对象即可。
    一般而言,只要提供一个相关种类的文本语料。


    二、Text 对象

    import nltk
    from nltk.text import Text # Text 模块
    
    # 查看 Text 对象帮助
    help(nltk.text)
     
    # 创建 Text 对象
    t = Text(tokens)
     
    # 查看某个词的个数
    t.count('code')  # 1
     
    # 查看位置索引
    t.index('code')   # 10 
     
    %matplotlib inline
    t.plot(8)  # 查看最常见的 词频 分布
    

    output_19_0.png


  • 相关阅读:
    集合
    第五天
    第四天
    第二天
    ieee 期刊缩写(转载)
    JAVA学习笔记03
    JAVA学习笔记2
    JAVA学习笔记01
    Latex 图片排版
    非奇异终端滑模
  • 原文地址:https://www.cnblogs.com/fldev/p/14370959.html
Copyright © 2011-2022 走看看