关于在 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(词汇外)词,即未出现在训练集中但在推理过程中遇到的词,基于字符的嵌入优于基于词的嵌入。
我正在学习命名实体识别,我看到训练脚本使用了一个名为 vocab
的变量,看起来像这样
vocab = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\'-/\t \n\r\x0b\x0c:"
我的猜测是它应该学习文本中出现的所有这些字符,如 abcd...等,我不明白的是像 /n /t
这样的 char 的使用这些 char 有什么用?通常这个变量?
提前致谢。
这个字符串就是词汇表。在 NLP 的上下文中,词汇表是训练集中使用的所有单词或字符的列表。在您的示例中,词汇表是一个字符列表。具体来说 \n
是换行符,\t
是制表符。
对于 NER 和其他 nlp 任务,我们通常使用词汇表为每个标记(单词或字符)生成嵌入,并将这些嵌入提供给机器学习模型(现在使用 LSTM 等神经网络架构以获得最佳结果)。对于 OOV(词汇外)词,即未出现在训练集中但在推理过程中遇到的词,基于字符的嵌入优于基于词的嵌入。