一、前置知识
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']]