NLTK基础教程学习笔记(三)

简介:

文本歧义:
文本/数据歧义定义较为困难,教程定义为从原生数据中获取一段机器可读的已格式化文本之前所要做的所有预处理工作。该过程应该涉及数据再加工,文本清理,预定预处理,标识化处理,词干提取或词形还原以及停用词移除等操作。下面以一个csv文件处理为例

import csv
with open('example.csv','rt')as f:
    reader=csv.reader(f,delimiter=',',quotechar='"')
    for line in reader:
        print (line[1])

在操作过程中可以自定义相关的分隔符合应用符(quoting character)
结果:

"for the lichking"

通常文档类型的处理流程:

对于csv文件处理可能是最为常见的形式,还有一种json也是常见的文件形式:
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。下面一个json文件的实例:
其中example.json文件内容:

{
  "array":"{1,2,3,4}",
  "boolean":"True",
  "object":{
    "a":"b"
    },
    "string":"Hello World"
}

结果:

import  json
jsonfile=open('example.json')
data=json.load(jsonfile)
print(data['array'])

文本清理:
将各种数据源解析成文本形式后,要使原生数据源体现他们的意义。文本清理就是泛指针对文本所做的绝大部分清理、与相关数据源的依赖关系,性能解析和外部噪声等。与上一篇中html_clean()对HTML文件进行清理一样。其他文件我们视文件而定,如果要解析PDF文件,可能就要清理掉一些不必要的干扰字符,移除ASCII字符等。要将文件进行清算成像XML文件一样的数据源,只需关注我们所需的一些文件。对于数据库,可以用各种分离器,也只需关注一些特定的列。对于所有致力于净化文本,清理掉文本周围所有可能干扰的工作,称之为文本清理。数据再加工(data munging)、文本清理与数据歧义这几个术语之间并没有清晰的界限,在类似的语境中可以相互使用。
语意分离器
在NLP应用中,常常将一大段原生文本分割成一系列的语句,以便从中获取更多的信息,让语句称为一个可用的交流单元。对于英文来说可以用(.)的字符来分割,也有可能是某种预置的分类器进行复杂的语句边界识别:

from nltk.tokenize import sent_tokenize
inputstring='This is examle sent . The sentence splitter will split on ' \
            'sent markers . Ohh really !!'
all_sent=sent_tokenize(inputstring)
print(all_sent)

结果:

['This is examle sent .', 'The sentence splitter will split on sent markers .', 'Ohh really !', '!']

我们试着将原始文本字符串分割到一个语句列表中,用预处理函数sent_tokenize(),这是一个内置的在NLTK库中的语句边界检测算法。如需自定义一个语句分离器,也可以用以下方式训练出一个属于自己的语义分离器:

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

该预置语句分类器可支持17中语言,只需为其指定相关的对象。
timg

目录
相关文章
|
1月前
|
JSON C++ 数据格式
【Python 基础教程 08】全面入门到精通:Python3 字符串操作实战教程与深度指南
【Python 基础教程 08】全面入门到精通:Python3 字符串操作实战教程与深度指南
89 0
|
11月前
|
人工智能 数据挖掘 Java
python从入门到项目实战——基础语法
python从入门到项目实战——基础语法
79 0
|
Java C语言 C++
【Python 基础教程】Python入门基础知识
【Python 基础教程】Python入门基础知识
162 0
【Python 基础教程】Python入门基础知识
|
人工智能 算法 程序员
【Python 基础教程】Python语言的自我介绍
【Python 基础教程】Python语言的自我介绍
143 0
【Python 基础教程】Python语言的自我介绍
|
机器学习/深度学习 自然语言处理 数据挖掘
fastText Python 教程
本文介绍fastText Python包的基本教程,包括安装方式和简单的使用方式。
fastText Python 教程
|
SQL Java 关系型数据库
Python基础教程,Python入门教程(非常详细)
Python基础教程,Python入门教程(非常详细)
99 0
|
存储 人工智能 大数据
合辑 | Python进阶必看的20+知识汇总
Python进阶知识合辑,包括列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)四种基本数据结构的介绍和实战案例分析。
|
Python
Python 小项目实战了解一下?
最近无论是北方还是南方都迎来了强冷空气的袭击,北风呼呼吹,我所在的城市这两天则可随处溜冰,城市道路结冰橙色预警,全省交通到处管制、小学幼儿园停课休息;上班路上的行人则是小心翼翼怕摔跤;老家韭菜坪的风景更美,给大家来带张照片感受感受:
102 0
Python 小项目实战了解一下?
|
Unix Python
python 基础教程
运算 !/usr/bin/python -- coding: UTF-8 -- a = 21 b = 10 c = 0 c = a + b print "1 - c 的值为:", c c = a - b print "2 - c 的值为:", c c ...
1023 2
|
机器学习/深度学习 XML 算法
从 0 学习 Python 0 - 120 大合集总结
从 0 学习 Python 0 - 120 大合集总结
122 0