关于在 NER 中使用 Vocab 文件的说明

Clarification on the use of Vocab file in NER

我正在学习命名实体识别,我看到训练脚本使用了一个名为 vocab 的变量,看起来像这样

vocab = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\'-/\t \n\r\x0b\x0c:"

我的猜测是它应该学习文本中出现的所有这些字符,如 abcd...等,我不明白的是像 /n /t 这样的 char 的使用这些 char 有什么用?通常这个变量?

提前致谢。

这个字符串就是词汇表。在 NLP 的上下文中,词汇表是训练集中使用的所有单词或字符的列表。在您的示例中,词汇表是一个字符列表。具体来说 \n 是换行符,\t 是制表符。

对于 NER 和其他 nlp 任务,我们通常使用词汇表为每个标记(单词或字符)生成嵌入,并将这些嵌入提供给机器学习模型(现在使用 LSTM 等神经网络架构以获得最佳结果)。对于 OOV(词汇外)词,即未出现在训练集中但在推理过程中遇到的词,基于字符的嵌入优于基于词的嵌入。