embedding

Embedding在数学上表示一个maping: f: X \rightarrow Y , 也就是一个function。

其中该函数满足两个性质:

  1. injective (单射的):就是我们所说的单射函数,每个Y只有唯一的X对应;
  2. structure-preserving(结构保存):比如在X所属的空间上 x_{1}\leq x_{2} ,那么映射后在Y所属空间上同理 y_{1}\leq y_{2}

那么对于word embedding, 就是找到一个映射(函数)将单词(word)映射到另外一个空间(其中这个映射具有injective和structure-preserving的特点), 生成在一个新的空间上的表达,该表达就是word representation.



作者:孟小子子子
链接:https://www.zhihu.com/question/38002635/answer/245661512
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
### Embedding 的概念 Embedding 是一种将离散对象映射到连续向量空间的方法,使得这些对象之间的距离能够反映它们在原始数据中的相似度。对于自然语言处理而言,词嵌入是一种将单词转换为数值向量的技术,通过捕捉单词间的语义和句法关系,为自然语言处理任务提供有效的特征表示[^1]。 ### 应用场景 #### 自然语言处理领域 在文本分类、机器翻译等任务中广泛应用了词嵌入技术,这显著提高了模型的表现效果。具体来说: - **文本分类**:通过对文档内的词语进行编码并聚合得到整个文档的表征; - **机器翻译**:帮助理解源语言句子结构并将之转化为目标语言对应的表达形式; #### 推荐系统领域 除了NLP之外,在构建个性化推荐引擎方面也发挥了重要作用。例如可以用来建立基于用户的偏好模式来进行商品或者书籍等内容项之间关联性的建模[^2]。 ### 实现方式 以下是使用 Python 和 TensorFlow/Keras 创建简单的 Word2Vec embedding 层的例子: ```python import tensorflow as tf from tensorflow.keras.layers import Embedding, GlobalAveragePooling1D from tensorflow.keras.models import Sequential vocab_size = 10000 # 字典大小 embedding_dim = 16 # 向量维度 model = Sequential([ Embedding(input_dim=vocab_size, output_dim=embedding_dim), GlobalAveragePooling1D(), # 对序列求平均值以获得固定长度输出 ]) ``` 此代码片段定义了一个 Keras 模型,其中包含了两个层:首先是 `Embedding` 层负责把输入索引映射成稠密向量;其次是全局池化操作用于简化后续计算流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值