https://aistudio.baidu.com/aistudio/projectdetail/2335535
一、词向量
one-hot表示
把每个词表示为一个长向量。这个向量的维度是词表大小,向量中只有一个维度的值为1,其余维度为0,这个维度就代表了当前的词。 例如:苹果 [0,0,0,1,0,0,0,0,···] 。one-hot表示不能展示词与词之间的关系,且特征空间非常大。
分布式表示
word embedding指的是将词转化成一种分布式表示,又称词向量。分布式表示将词表示成一个定长的连续的
分布式表示优点:
(1)词之间存在相似关系:是词之间存在“距离”概念,这对很多自然语言处理的任务非常有帮助。
(2)包含更多信息:词向量能够包含更多信息,并且每一维都有特定的含义。在采用one-hot特征时,可以对特征向量进行删减,词向量则不能
1. word2vec
在自然语言处理领域,使用上下文描述一个词语的语义是一个常见且有效的做法。2013年,Mikolov提出的经典word2vec算法就是通过上下文来学习语义信息。word2vec包含两个经典模型:CBOW(Continuous Bag-of-Words)和Skip-gram
CBOW:通过上下文的词向量推理中心词。
Skip-gram:根据中心词推理上下文。
2. 预训练词向量
word2vec之后,涌现了更多word embedding方式,如Glove、fasttext、ElMo等。如今,已有很多预训练完成的词向量,可直接调用使用,用来初始化,可提升简单网络的收敛速度、精度。
自然语言应用:
智能问答
智能对话
机器同传
自然语言处理挑战
多样性
歧义性
技术发展
TokenEmbedding
TokenEmbedding()参数
- embedding_name
将模型名称以参数形式传入TokenEmbedding,加载对应的模型。默认为w2v.baidu_encyclopedia.target.word-word.dim300的词向量。 - unknown_token 未知token的表示,默认为[UNK]。 unknown_token_vector
未知token的向量表示,默认生成和embedding维数一致,数值均值为0的正态分布向量。 - extended_vocab_path 扩展词汇列表文件路径,词表格式为一行一个词。如引入扩展词汇列表,trainable=True。
- trainable Embedding层是否可被训练。True表示Embedding可以更新参数,False为不可更新。默认为True。