nltk中文分句_learn_nltk/2. NLTK笔记-分句与分词.md at master · ourren/learn_nltk · GitHub...
NLTK笔记:分句与分词
NLTK在数据抓取完成后,你拿到的数据往往是一篇文章或者一大段文字,在进行其他处理之前,你需要先对文章进行切割或者处理(去除多余字符、特殊符号,分句和分词),分句主要是可以把有些不需要的句子给去掉,比如长度小于10的。
分句
一般情况下我们可以通过python的split等函数快速完成切分任务,主要的分割特征如下:
中文主要有(。?!)这几个句子结尾标志;
英文也差不多(. ? !);
可以使用split函数进行分割,可以得到新的列表,例如下面的函数;
def sentence_split(str_centence):
list_ret = list()
for s_str in str_centence.split('.'):
if '?' in s_str:
list_ret.extend(s_str.split('?'))
elif '!' in s_str:
list_ret.extend(s_str.split('!'))
else:
list_ret.append(s_str)
return list_ret
另外nltk中也有提供sent_tokenize库来实现分句,具体使用情况如下函数所示:
from nltk.tokenize import sent_tokenize
def sentence_token_nltk(str):
sent_tokenize_list = sent_tokenize(str)
return sent_tokenize_list
其实从输出结果来看,nltk提供的分句功能明显优于我们自定义函数。
分词
分词在NLP处理中运用得最多,但是目前针对英文分词基本上已经成熟,而针对中文的分词技术还在不断发展,对于pythoner而言,主要可以采取如下的分词方法对句子或者段落进行分词:
中文:采用jieba进行分词,然后再可以通过NLTK进行词频统计分析,整体而言jieba对中文分词还是可以接受;
英文:可以直接使用NLTK中nltk.tokenize模块进行分词;
中文的分词实例可以参照这篇文章中文分词与词频统计实例,英文的分词示例如下:
import nltk
def main():
sentence = """At eight o'clock on Thursday morning Arthur didn't feel very good."""
tokens = nltk.word_tokenize(sentence)
print tokens
if __name__ == '__main__':
main()
特殊字符
在处理分词或者分句中经常会除去一些特殊符号或者特殊单词,一般可能会用到的python函数:
startswith
endswith
contains
replace
split
len
代码地址
本系列文章的代码托管在github上面learn_nltk;
nltk中文分句_learn_nltk/2. NLTK笔记-分句与分词.md at master · ourren/learn_nltk · GitHub...相关推荐
- jieba入门记录——nltk中文语料处理
jieba入门记录--nltk中文语料处理 环境:pycharm(Anaconda) 1.官网下载jieba:https://pypi.org/project/jieba/ 2.将下载好的压缩包解压到 ...
- NLTK(1.2)NLTK简介
文章目录 NLTK库简介 NLTK库重要模块及功能 安装NLTK库 NLTK中的语料库 英文文本语料库 标注文本语料库 其他语言的语料库 文本语料库常见结构 NLTK 中定义的基本语料库函数 加载自己 ...
- nltk中文分句_利用NLTK进行分句分词
1.输入一个段落,分成句子(Punkt句子分割器) import nltk import nltk.data def splitSentence(paragraph): tokenizer = nlt ...
- nltk中文分句_如何改进NLTK的分句技术?
Kiss和Strunk(2006)Punkt算法的可怕之处在于它是无监督的.所以给一个新的文本,你应该重新训练这个模型并将它应用到你的文本中,例如>>> from nltk.toke ...
- nltk中文分句_如何使用nltk进行中文分词?
匿名用户 1级 2016-04-18 回答 中文里没有分词的说法,只有英文.法语.德语等有分词的说法. 分词是动词的三种非限定形式之一,分为两种:现在分词和过去分词.现在分词一般有四种形式,基本形式为 ...
- 在Python里如何切分中文文本句子(分句)、英文文本分句(切分句子)
在处理文本时,会遇到需要将文本以 句子 为单位进行切分(分句)的场景,而文本又可以分为 中文文本 和 英文文本 ,处理的方法会略有不同.本文会介绍 Python 是如何处理 分句 的. 分句的关键是找 ...
- python分句_Python循环中的分句,继续和其他子句
python分句 Python中的循环 (Loops in Python) for loop for循环 while loop while循环 Let's learn how to use contr ...
- python nltk lemmatizer_Python聊天机器人–使用NLTK和Keras构建第一个聊天机器人
什么是聊天机器人? 聊天机器人是一款智能软件,能够传达和执行类似于人类的动作.聊天机器人可以直接与客户互动,在社交网站上进行营销以及即时向客户发送消息等方面被广泛使用.根据聊天机器人的构建方式,它有两 ...
- python去停用词用nltk_【NLTK】安装和使用NLTK分词和去停词
黄聪:Python+NLTK自然语言处理学习(一):环境搭建 http://www.cnblogs.com/huangcong/archive/2011/08/29/2157437.html 安装NL ...
最新文章
- 第一个MapReduce程序
- thinkphp视频截图_thinkphp开发的搞笑视频网站
- 宝塔服务器搞成虚拟主机,宝塔面板怎么配置虚拟主机
- 冒泡排序(数组)的一种实现
- VTK:可视化算法之MarchingCases
- tp3.2 复合查询
- 互联网晚报 | 3月1日 星期二 |​ 2022年苹果可能推出三款Apple Watch;“国家中小学智慧教育平台”投入试运行...
- (十九)ArcGIS JS 加载WMS服务(超图示例)
- php将汉字转换为gb2312编码,php实现utf-8和GB2312编码相互转换
- xshell密码保存位置_文件管理密码相册app下载-文件管理密码相册 v1.8 手机版
- 【转】Qt 资源图片删除后,错误 needed by `debug/qrc_image.cpp'. Stop. 的终极解决办法...
- linux下驱动程序数字签名,64位Windows操作系统为驱动程序添加测试数字签名
- 《爱的博弈》(让婚姻持久保鲜的人际关系圣经)主要内容及大纲 免费下载
- pymol作图-输出PNG格式图片
- 后渗透权限维持的方法
- 安装SSMS报错:0x80070643
- 软件测试工程师面试的时候该怎么样介绍自己?
- 华为的王炸黑科技鸿蒙系统,华为黑科技“cyberverse”发布,“鸿蒙系统”在其面前都不值一提...
- 解决:VS2010 无法打开“****”,因为此版本的应用程序不支持其项目类型
- springboot mybatis大学生校园宿舍管理系统源码含文档