目录
  • 一、前置知识
    • 1.1 语料库(Corpus)
    • 1.2 词元(Token)
    • 1.3 词表(Vocabulary)
  • 二、nn.Embedding 基础
    • 2.1 为什么要 embedding?
    • 2.2 基础参数
    • 2.3 nn.Embedding 与 nn.Linear 的区别
    • 2.4 nn.Embedding 的更新问题
  • 三、nn.Embedding 进阶
    • 3.1 全部参数
    • 3.2 使用预训练的词嵌入
  • 四、最后

    一、前置知识

    1.1 语料库(Corpus)

    太长不看版: NLP任务所依赖的语言数据称为语料库。

    详细介绍版: 语料库(Corpus,复数是Corpora)是组织成数据集的真实文本或音频的集合。 此处的真实是指由该语言的母语者制作的文本或音频。 语料库可以由从报纸、小说、食谱、广播到电视节目、电影和推文的所有内容组成。 在自然语言处理中,语料库包含可用于训练 AI 的文本和语音数据。

    1.2 词元(Token)

    为简便起见,假设我们的语料库只有三个英文句子并且均已经过处理(全部小写+去掉标点符号):

    corpus = ["he is an old worker", "english is a useful tool", "the cinema is far away"]
    

    我们往往需要将其词元化(tokenize)以成为一个序列,这里只需要简单的 split 即可:

    def tokenize(corpus):
        return [sentence.split() for sentence in corpus]
    
    
    tokens = tokenize(corpus)
    print(tokens)
    # [['he', 'is', 'an', 'old', 'worker'], ['english', 'is', 'a', 'useful', 'tool'], ['the', 'cinema', 'is', 'far', 'away']]
    

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。