读论文_ChineseBert

最近找资料发现了一个很有趣的bert 融合了偏旁和拼音 据文章说效果还不错
传送门
根据之前的习惯 先测测余弦相似度

from datasets.bert_dataset import BertDataset
from models.modeling_glycebert import GlyceBertModel
from  sklearn.metrics.pairwise import cosine_similarity
import torch
import numpy
CHINESEBERT_PATH = "C:\\Users\\1323231\\ChineseBERT-base"
tokenizer = BertDataset(CHINESEBERT_PATH)
chinese_bert = GlyceBertModel.from_pretrained(CHINESEBERT_PATH)
sentence1 = '我喜欢猫'
sentence2 = '我也稀罕猫猫'
sentence3 = '月満ちぬ、風も吹きぬべし'#看了vocabulary.txt 发现里面有假名 这个权当是个对照组了 虽然本该是みちぬ べし

long_sen1 = '必须从对立中把握同一,在同一中把握对立,要用联系的,发展的,全面的观点,特别是用矛盾的观点看问题。深刻认识矛盾双方的对立和同一两方面的关系,二者是不同性质的关系,但又是基于共同本质的。既看到矛盾双方的对立,又看到统一和转化,只有这样才能真正把握住矛盾,把握住事物的发展。'
long_sen2 = '任何事物都包含着矛盾。矛盾双方既对立,又统一,既相互斗争,又相互依存,渗透并在一定条件下相互转化。'
def sentence2vec(sentence):
    input_ids, pinyin_ids = tokenizer.tokenize_sentence(sentence)
    length = input_ids.shape[0]
    input_ids = input_ids.view(1, length)
    pinyin_ids = pinyin_ids.view(1, length, 8)
    output_hidden = chinese_bert.forward(input_ids, pinyin_ids)[0]
    num = output_hidden.shape[1]
    #output_hidden = output_hidden.squeeze(0)
    output_hidden = torch.sum(output_hidden ,1)
    output_hidden = output_hidden/num
    return output_hidden

opt1 = sentence2vec(sentence1).detach().numpy()
opt2 = sentence2vec(sentence2).detach().numpy()
opt3 = sentence2vec(sentence3).detach().numpy()
lopt1 = sentence2vec(long_sen1).detach().numpy()
lopt2 = sentence2vec(long_sen2).detach().numpy()
cosine_similarity1 = cosine_similarity(opt1,opt2)
cosine_similarity2 = cosine_similarity(opt1,opt3)
print(cosine_similarity1)
print(cosine_similarity2)
cosine_similarity3 = cosine_similarity(lopt1,lopt2)
print(cosine_similarity3)
cosine_similarity4 = cosine_similarity(opt1,lopt1)
print(cosine_similarity4)
‘’‘
[[0.96489584]]
[[0.8336769]]
[[0.96856475]]
[[0.86439896]]
’‘’

估计低于0.9的都是没什么关系的文本了
或许可以多测测看看


其实本来想再继续fine-tune一下的 但是不知道怎么找合适的数据集 总不能把可怜的几行数据反复复制几次吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值