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

简介: 由于之后图像上可能要结合NLP的问题加快节奏 刷一波NLTK,用python3

先来介绍一下相关的python基础:
list:list是python中最基础的数据结构相对于其他语言中的数组:
例子:

>>>list=[1,2,3,4]
>>>print (list)

结果:
1
python是一种解释性语言,会在对其计算的同时检查其中的变量类型,我们在声明这些变量时无需对其进行初始化和类型声明,但在这里list中的包含一些整数对象,不能直接关联到print上,后者只能接受String类型的对象,所以要将列表元素转换为String类型。
例子:

>>>print('First element:'+str(list[0]))
>>>print('Last element:'+str(list[-1]))
>>>print('First three element:'+str(list[0:2]))
>>>print(‘Last three element:’+str(list[-3:0]))

结果:

First element:1
Last element:4
First element:1,2,3
Last element:2,3,4

常见的对字符串操作的函数:
split():一个能基于默写分隔符来对于字符串进行切割的方法。如果你没有为其提供具体参数则默认空格为其分隔符。

>>>mystring="Monty Python! And the holy Grail !\n"
>>>print (mystring.split())

结果:

['Monty', 'Python!', 'And', 'the', 'holy', 'Grail', '!']

strip():一个可以从字符串中删除其尾随空白符(如‘n’,'nr')的方法
例子:

>>> print(mystring.strip())
Monty Python! And the holy Grail !

通过rstrip()和lstrip()可以选择剥离字符串左边还是右边尾部的空白符
upper()/lower():可以用来改变字符串中字母的大小写
例子

>>> print(mystring.upper())
MONTY PYTHON! AND THE HOLY GRAIL !

replace()可以替换目标字符串中的某个子串
例子:

>>> print(mystring.replace('!',','))
Monty Python, And the holy Grail ,

在NLP中正则表达式是另一个非常重要的技能。正则表达式(regular expression)能对字符串进行有效地匹配的模式,能从大量凌乱的文本数据中提取出有意义的信息。
正则表达式一般有:
(句号):用于匹配除换行字符外的任意单字符。
w:用于匹配某一字符或者数字,相当于[a-z A-Z 0-9]
W:用于匹配任意非单词性字符
s:用于匹配任意单个空白字符,包括换行,返回制表等,相当于[nrt]
S:用于匹配单个任意非空白字符。’
t:用于匹配制表符。
n:用于匹配换行符。
r:用于匹配返回符。
d:用于匹配十进制数字。
^:用于匹配相关字符的开始位置。
$:用于匹配先关字符串结尾位置。
:用于低效特殊字符的特殊性。如要匹配$符号,则在前面加上.
下面是一个使用字符串的子串搜索模块re来查找字符对象的例子。

import re
mystring="Monty Python! And the holy Grail !\n"
if re.search('Python' ,mystring):
    print("we found Python")
else:
    print("No")

结果:

We found Python

findall()是一个用于对字符串进行全部模式查找的函数。他会按照给定模式对字符串进行查找,并列出其中所有匹配的对象:

import re
mystring="Monty Python! And the holy Grail !\n"
print(re.findall("!",mystring))

结果:

['!', '!']

findall()返回两个对象的列表。
timg

目录
相关文章
|
自然语言处理 Python
NLTK 基础知识总结
NLTK 基础知识总结
90 0
NLTK 基础知识总结
|
机器学习/深度学习 数据可视化
|
机器学习/深度学习 自然语言处理
|
机器学习/深度学习
|
机器学习/深度学习
|
JSON JavaScript 数据格式
|
自然语言处理 算法 Python
|
机器学习/深度学习 自然语言处理