澄清在NER中使用Vocab文件

时间:2019-08-13 06:49:55

标签: deep-learning nlp ner

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

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

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

先谢谢了。

1 个答案:

答案 0 :(得分:1)

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

对于NER和其他nlp任务,我们通常使用词汇表为每个令牌(单词或字符)生成嵌入,并将这些嵌入馈送到机器学习模型(如今,使用LSTM等神经网络架构来获取最好的结果)。基于字符的嵌入相对于基于单词的OOV(词汇量外)单词的嵌入具有优势,即,未出现在训练集中但在推理过程中遇到的单词。