标记英文文本的最佳正则表达式是什么?
通过英文标记,我的意思是一个原子,它由可有意义地用于 NLP 目的的最大数量的字符组成。类比是任何编程语言中的“标记”(例如,在 C 中,'{'、'['、'hello'、'&' 等都可以是标记)。有一个限制:虽然英文标点符号可能是“有意义的”,但当它们没有出现在\w+ 的中间时,为了简单起见,让我们忽略它们。所以,“你好,世界。”产生“你好”和“世界”;同理,“你长得好看。”可能会产生 [你,是,好看] 或 [你,是,好看,好看]。
最佳答案
Treebank 代币化
Penn Treebank (PTB) tokenization是一种用于自然语言处理 (NLP) 工作的合理通用的标记化方案。
您可以找到带有适当正则表达式的 sed 脚本来获取此标记化 here .
软件包
但是,大多数 NLP 包都提供了即用型标记器,因此您实际上不需要编写自己的标记器。例如,如果你使用 python,你可以只使用 TreebankWordTokenizer提供 NLTK .如果您使用的是基于 Java 的 Stanford Parser ,默认情况下它会使用它的 edu.stanford.nlp.processor.PTBTokenizer 来标记你给它的任何句子.
关于用于标记英文文本的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3703905/