Nltk: 通过包含“python partitioner”改进多词表达式的标记化

创建于 2018-12-11  ·  9评论  ·  资料来源: nltk/nltk

我怀疑@jakerylandwilliams@andyreaganhttps://github.com/jakerylandwilliams/partitioner可以显着提高 NLTK 的标记化质量,特别是在涉及 MWE(多词表达式)时。

@NeelShah18最近将其移植到 Python 3:

https://github.com/jakerylandwilliams/partitioner/pull/7

因此,将它包含在 NLTK 中应该很容易。

有关那里使用的方法的更多信息,请参见此处:

https://noisy-text.github.io/2017/pdf/WNUT01.pdf

和这里:
https://arxiv.org/abs/1710.07729

它是 Apache 2.0 许可的,因此许可证似乎也兼容。

enhancement nice idea tokenizer

最有用的评论

@alvations@NeelShah18 ,我同意根据 NLTK 结构和编码规范提取并重新打包地名词典和 MWE 分段资源对集成最有意义。 https://github.com/jakerylandwilliams/partitioner中有一些模型和实用程序,@no-identd 在线程顶部提到了可能最适合 NLTK 的模型和实用程序:

https://noisy-text.github.io/2017/pdf/WNUT01.pdf

如果对此感兴趣,我当然可以帮助执行一些必要的任务。

所有9条评论

关于/对此的一个小说明/附录,因为:
a) 我在最初的帖子中没有提到它; 和
b) 似乎值得一提:
Python Partitioner 已经使用了 NLTK。

感谢您推荐分区器; 我以前没见过。 根据论文,它看起来像是依靠 MWE 标记的训练数据 n-gram 概率和大量词汇资源(主要来自维基词典/维基百科)来执行 MWE 分割。 与大多数统计方法不同,它避免了昂贵的计算,基本上将大部分工作推迟到频率计数和字典查找上。 该工具支持 18 种 PARSEME 语言,包括英语和多种欧洲语言。

如果要将其添加到 NLTK,它必须有多大? 分区程序存储库 > 100MB。 如果有大数据文件,我假设用户必须使用nltk.download()来请求它们。

将大数据资源加载到内存中以运行系统必须需要时间——是几秒钟,还是更长时间?

请注意,就正字法词汇单位而言,这远远超出了标准的“标记化”,因此它不能替代基本标记化或词形还原 (#1214)。

不幸的是,由于时间限制和缺乏分区程序的操作经验,至少在可预见的未来,我将不得不提出这些问题。 对不起! 但也许@jakerylandwilliams@andyreagan可以回答这些问题

感谢@no-identd 和@nschneid伸出援手; 我很高兴对模块感兴趣。 我们目前正在对 Python 3 进行一些后端、数据和模型改进。如果将当前版本引入 nltk 是有意义的,我认为实现起来会相当简单。

@nschneid ,您对模型的评估是正确的。 大数据文件可能需要几秒钟; 我见过的唯一加载延迟是 EN Wikipedia 数据集,但是对于本质上即时加载,可以以相对较低的性能成本省略此资源。 将默认的 EN 加载设置为仅省略 Wikipedia 可能是有意义的。

我很高兴继续讨论并提出任何其他问题。

@jakerylandwilliams @nschneid如果我们省略维基百科,甚至使用 nltk 的默认下载器,那么它与 python2 和 python3 兼容。 我可以帮助分区程序代码的多平台独立性(python2 和 python3)。

实际上,如果https://github.com/jakerylandwilliams/partitioner已经是 Python 中的工作包,则可能不需要移植/重新实现代码。 用户可以轻松地选择直接使用分词器形成分区器。

如果我们想要像 MWE 这样的“好东西”,我们可以从 partitioner 中获取地名词典,以某种方式打包 MWE 资源,而不是将整个 partitioner repo 移植到 NLTK。 如果 partitioner 的维护者想要在 NLTK 中而不是在他们的 pypi 包中维护代码,那么我认为从第三方 Python 库移植代码是值得的。

@alvations我同意他的建议。 但是,我看到我们必须根据 NLTK 结构和测试重写 NLTK 实现。 我们还需要在 python2 和 python3 中可移植的代码,以使其成为 NLTK 库编码规范。

@alvations@NeelShah18 ,我同意根据 NLTK 结构和编码规范提取并重新打包地名词典和 MWE 分段资源对集成最有意义。 https://github.com/jakerylandwilliams/partitioner中有一些模型和实用程序,@no-identd 在线程顶部提到了可能最适合 NLTK 的模型和实用程序:

https://noisy-text.github.io/2017/pdf/WNUT01.pdf

如果对此感兴趣,我当然可以帮助执行一些必要的任务。

🤔

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

alvations picture alvations  ·  3评论

jeryini picture jeryini  ·  5评论

chaseireland picture chaseireland  ·  3评论

goodmami picture goodmami  ·  4评论

stevenbird picture stevenbird  ·  3评论