Python入门:NLTK(一)安装和Tokenizer

您所在的位置:网站首页 赫伯罗特招聘信息 Python入门:NLTK(一)安装和Tokenizer

Python入门:NLTK(一)安装和Tokenizer

2024-06-15 19:11| 来源: 网络整理| 查看: 265

前言

之前我一直是用Stanford coreNLP做自然语言处理的,主要原因是对于一些时间信息的处理,SUTime是一个不错的包。当然,并不算完美,可是对于基本的英文中的时间表述,抽取和normalization做的都算不错。

想要用NLTK的原因是最近自己喜欢上了用Jupyter写代码(话说把Jupyter搭在服务器上真是爽),不是非要处理时间信息的话,一些简单的自然语言处理的操作不想在Java和python之间来回切了。

本文基本按照Dive into NLTK的步骤进行,里面穿插废话。另,Text Mining Online是个好网站。

NLTK简介及安装

NTLK官网在这里,有问题可以自己上去看教程。这个Blog的主要是记录一下自己的一些使用,用于备忘。我的工具包基本都是自己的MAC和服务器的CentOS一起装的。 NLTK安装(MAC/CentOS)pip install -U nltk NLTK Data安装

python >>> import nltk >>> nltk.downloard()

Mac会蹦出对话框,CentOS还是是命令行。根据提示,选择download,选择all。这里注意下,你可能需要根据提示选择config修改一下下载文件夹之类的设定。

常用操作 Sentence Tokenize >>> from nltk.tokenize import sent_tokenize >>> sent_tokenize_list = sent_tokenize(text)

Sentence Tokenize是PunktSentenceTokenizer的实例。nltk.tokenize.punkt中包含了很多预先训练好的tokenize模型。详见Dive into NLTK II. 具体应用如下:

>>> import nltk.data >>> tokenizer = nltk.data.load(‘tokenizers/punkt/english.pickle’) >>> tokenizer.tokenize(text) >>> spanish_tokenizer = nltk.data.load(‘tokenizers/punkt/spanish.pickle’) >>> spanish_tokenizer.tokenize(‘Hola amigo. Estoy bien.’) Word Tokenize >>> from nltk.tokenize import word_tokenize >>> word_tokenize(‘Hello World.’) [‘Hello’, ‘World’, ‘.’] >>> word_tokenize(“this’s a test”) [‘this’, “‘s”, ‘a’, ‘test’]

Word Tokenize是TreebankWordTokenizer的皮包函数(看成包皮的请面壁)。所以下面这个代码和上面等价。

>>> from nltk.tokenize import TreebankWordTokenizer >>> tokenizer = TreebankWordTokenizer() >>> tokenizer.tokenize("this's a test") [‘this’, “‘s”, ‘a’, ‘test’]

在Dive into NLTK II中提到还可以使用其他的WordTokenizer。代码如下:

>>> from nltk.tokenize import PunktWordTokenizer >>> punkt_word_tokenizer = PunktWordTokenizer() >>> punkt_word_tokenizer.tokenize("this's a test") [‘this’, “‘s”, ‘a’, ‘test’]

以及

>>> from nltk.tokenize import WordPunctTokenizer >>> word_punct_tokenizer = WordPunctTokenizer() >>> word_punct_tokenizer.tokenize("This's a test") [‘This’, “‘”, ‘s’, ‘a’, ‘test’]

然而在实际应用中,PunktWordTokenizer已经弃用了,即使在没有弃用之前,也只适用于Punkt划分的句子。详见这里的讨论。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3