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

目录
相关文章
|
7月前
|
人工智能 数据可视化 API
零成本解锁AI算力!OpenClaw阿里云及本地部署与GLM-4.7-Flash免费调用实战保姆级教程
在使用OpenClaw(别名“大龙虾”)时,很多用户会遇到Token消耗过快的问题。2026年,智谱AI开放平台推出的GLM-4.7-Flash模型提供完全免费调用服务,该模型作为30B级SOTA模型,强化了编码能力、长程任务规划与工具协同,上下文窗口达200K,最大输出Tokens为128K,适配OpenClaw的复杂智能体任务执行需求。
7714 0
|
8月前
|
人工智能 缓存 安全
OpenClaw“2小时消耗100美元”?OpenClaw/Clawdbot降本攻略:5个Token节省Skills教程(立省97%成本)
“2小时消耗100美元”“月账单3600美元”——这是不少OpenClaw用户面临的真实痛点。随着AI Agent的高频使用,Token消耗成本居高不下,成为制约高效使用的关键瓶颈。但同样是使用OpenClaw,部分用户能实现每月近乎零成本运行,核心秘诀就在于合理运用Token优化Skill。
8000 2
|
监控 安全 Linux
docker 命令 --cap-add NET_ADMIN 什么作用
`--cap-add NET_ADMIN` 是 Docker 容器运行时的一个参数,用于添加网络管理员权限(NET_ADMIN capability)给容器。 在 Linux 系统中,每个进程都有特定的权限来执行特定的操作。网络管理员权限是一种较高级的权限,它允许容器内的进程执行一些需要网络配置和管理的操作,例如配置网络接口、修改路由表、设置防火墙规则等。 通过添加 `--cap-add NET_ADMIN` 参数,Docker 容器将获得网络管理员权限,使其能够执行更高级的网络操作。这对于某些特定的应用场景,如网络监控、网络测试等非常有用。 需要注意的是,使用网络管理员权限可能存在安全
3774 1
|
移动开发 JavaScript C#
总有一个是你想要的分享31个游戏源代码
该资源分享了31款游戏源代码,包括C#版植物大战僵尸、HTML5版五子棋等,均经过亲测可运行。下载链接中还包含13款游戏源码,适合游戏开发者和爱好者学习参考。作者辛苦整理,希望得到您的点赞与关注作为支持。
1954 1
|
Web App开发 JavaScript 前端开发
强大的矢量图形库:Raphael JS 中文帮助文档及教程
  Raphael 是一个用于在网页中绘制矢量图形的 Javascript 库。它使用 SVG W3C 推荐标准和 VML 作为创建图形的基础,你可以通过 JavaScript 操作 DOM 来轻松创建出各种复杂的柱状图、饼图、曲线图等各种图表,还可以绘制任意形状的图形,可以进行图表或图像的裁剪和旋转等复杂操作。
3406 0
|
JSON 前端开发 API
程序技术好文:百度网盘真实地址解析(告别下载百度网盘)
程序技术好文:百度网盘真实地址解析(告别下载百度网盘)
3923 0
|
开发工具
教你如何将WSL系统更换国内源?+固定路径+国内镜像源+详细教程
教你如何将WSL系统更换国内源?+固定路径+国内镜像源+详细教程
26531 2