【问题标题】:Clarification on the use of Vocab file in NER关于在 NER 中使用 Vocab 文件的说明
【发布时间】:2019-12-19 16:49:23
【问题描述】:

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

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

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

提前致谢。

【问题讨论】:

    标签: deep-learning nlp named-entity-recognition


    【解决方案1】:

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

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

    【讨论】:

    • 如果我不在词汇中使用 \n 会怎样?
    • @Ryan 这取决于您的模型,但基本上这意味着您认为换行符对任务不重要(NER,在您的情况下)。
    猜你喜欢
    • 1970-01-01
    • 2021-09-23
    • 2013-09-14
    • 2015-01-26
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多