PaddlePaddle / PaddleHub

Awesome pre-trained models toolkit based on PaddlePaddle. (400+ models including Image, Text, Audio, Video and Cross-Modal with Easy Inference & Serving)【安全加固,暂停交互,请耐心等待】
https://www.paddlepaddle.org.cn/hub
Apache License 2.0
12.69k stars 2.08k forks source link

ernie.modeling_ernie import ErnieModel #1149

Open xiaotaiyangsun opened 3 years ago

xiaotaiyangsun commented 3 years ago

您好 输入两个句子,通过下面得方式,获取句子向量,并计算cos值。jieba与lac分词结果不同,但是cos值一样,请说明下原因

ids, _ = tokenizer.encode('保养 老年 金保险 投保 方式') ids = D.to_variable(np.expand_dims(ids, 0)) # insert extra batch dimension pooled, encoded = model(ids) # eager execution

print(pooled.numpy()) # convert results to numpy

fea1 = pooled.numpy()[0]

KPatr1ck commented 3 years ago
ids, _ = tokenizer.encode('保养 老年 金保险 投保 方式')

你好,想问下你的不同的分词方式是以这样的空格隔开的形式输入吗? Ernie模型的tokenizer.encode方法会进行文本的清洗,你以空格形式的分词可能在此处空格字符被处理了,你可以通过不同的输入验证一下encode之后的结果是否一致。

具体每一步的处理流程,可以直接查看tokenizer.endoce里的脚本逻辑。