用于标记英文文本的正则表达式

标签 regex text nlp

标记英文文本的最佳正则表达式是什么?

通过英文标记,我的意思是一个原子,它由可有意义地用于 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/

相关文章:

c++ - Boost sub_match 抛出 std::length_error 异常

sql - MySql 正则表达式选择存储过程中匹配(动态)多个值的列

php - 快速搜索相似文本

c# - 单击多个文本框的事件

nlp - GloVe 词向量余弦相似度 - "Ally"比 "powerful"更接近 'friend"

Python - NLP - 将 iter(iter(tree)) 转换为 list(tree)

python - Spacy NLP 库 : what is maximum reasonable document size

ruby-on-rails - 正则表达式在第一次检查后不检查第一个字符

java - 需要给定问题的正则表达式模式解决方案

ruby-on-rails - rails 在模型中验证该值在数组内