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


  • 相关阅读:
    序列JSON数据和四种AJAX操作方式
    jquery.validate和jquery.form.js实现表单提交
    JQuery Validate使用总结1:
    HOWTO: Include Base64 Encoded Binary Image Data (data URI scheme) in Inline Cascading Style Sheets (CSS)(转)
    SharePoint 2007 使用4.0 .Net
    动态IP解决方案
    取MS CRM表单的URL
    从Iframe或新开的窗口访问MS CRM 2011(转)
    Toggle or Hidden MS CRM Tab
    Windows 2008下修改域用户密码
  • 原文地址:https://www.cnblogs.com/fldev/p/14370959.html
Copyright © 2011-2022 走看看