【发布时间】:2014-10-30 06:49:28
【问题描述】:
我正在尝试编写一个简单的 python 脚本来导入 *.txt 文件并使用 NLTK 模块对其进行标记。
我面临的挑战是必须对完整的语料库进行标记,但每个标记的长度必须小于或等于 200 个字符 - NLTK 工具箱中是否有可以实现此目的的本机函数?
一个例子: 将前几段标记为“战争与和平”会产生以下 303 个字符长的标记
token = ["But I warn you, if you don't tell me that this means war, if you still try to defend the infamies and horrors perpetrated by that Antichrist--I really believe he is Antichrist--I will have nothing more to do with you and you are no longer my friend, no longer my 'faithful slave,' as you call yourself"]
它仍然包含标点符号(逗号、连字符),我可以编写一个函数来使用这些类型的断点分解句子,我的问题是 NLTK(或其他语言解析器?)中是否已经存在本机功能会这样做并有效地处理极端情况吗?
【问题讨论】:
-
你能举一个 200 字符令牌的例子吗?我想我从未见过超过 20 或 30 个字符的字符
-
我添加了一个示例 - 要清楚字符数是指字母,而不是令牌中的单词(如果不清楚,请告诉我,我可以编辑问题)
-
你真的运行过代码吗?我不相信这是标记器所做的。它应该使用 nltk 输出
["But", "I", "warn"...],令牌是句子的一部分,可以这么说 - 或单词(但不总是)