WEB开发网
开发学院软件开发Python 可爱的 Python: 自然语言工具包入门 阅读

可爱的 Python: 自然语言工具包入门

 2007-03-29 12:38:25 来源:WEB开发网   
核心提示: 在本文中,您将看到关于低层能力的一些相对完整的示例,可爱的 Python: 自然语言工具包入门(2),而对大部分高层次能力将只是进行简单抽象的描述,现在让我们来详细分析文本处理的首要步骤,一个 Token 是一种特别的字典 —— 并且以字典形式访问 —&

在本文中,您将看到关于低层能力的一些相对完整的示例,而对大部分高层次能力将只是进行简单抽象的描述。现在让我们来详细分析文本处理的首要步骤。

断词(Tokenization)

您可以使用 NLTK 完成的很多工作,尤其是低层的工作,与使用 Python 的基本数据结构来完成相比,并没有 太 大的区别。不过,NLTK 提供了一组由更高的层所依赖和使用的系统化的接口,而不只是简单地提供实用的类来处理加过标志或加过标签的文本。

具体讲, nltk.tokenizer.Token 类被广泛地用于存储文本的有注解的片断;这些注解可以标记很多不同的特性,包括词类(parts-of-speech)、子标志(subtoken)结构、一个标志(token)在更大文本中的偏移位置、语形词干(morphological stems)、文法语句成分,等等。实际上,一个 Token 是一种特别的字典 —— 并且以字典形式访问 —— 所以它可以容纳任何您希望的键。在 NLTK 中使用了一些专门的键,不同的键由不同的子程序包所使用。

让我们来简要地分析一下如何创建一个标志并将其拆分为子标志:

清单 1. 初识 nltk.tokenizer.Token 类

>>> from nltk.tokenizer import *
>>> t = Token(TEXT='This is my first test sentence')
>>> WSTokenizer().tokenize(t, addlocs=True) # break on whitespace
>>> print t['TEXT']
This is my first test sentence
>>> print t['SUBTOKENS']
[<This>@[0:4c], <is>@[5:7c], <my>@[8:10c], <first>@[11:16c],
<test>@[17:21c], <sentence>@[22:30c]]
>>> t['foo'] = 'bar'
>>> t
<TEXT='This is my first test sentence', foo='bar',
SUBTOKENS=[<This>@[0:4c], <is>@[5:7c], <my>@[8:10c], <first>@[11:16c],
<test>@[17:21c], <sentence>@[22:30c]]>
>>> print t['SUBTOKENS'][0]
<This>@[0:4c]
>>> print type(t['SUBTOKENS'][0])
<class 'nltk.token.SafeToken'>

上一页  1 2 3 4 5 6 7  下一页

Tags:可爱 Python 自然语言

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接