Open mystoryshine opened 2 years ago
使用readme中的例子
model1 = Bert4Vec(mode='roformer-sim-base') model2 = Bert4Vec(model_name_or_path='WangZeJun/roformer-sim-base-chinese') model3 = Bert4Vec(model_name_or_path='./roformer-sim-base-chinese')
sent1 = ['喜欢打篮球的男生喜欢什么样的女生', '西安下雪了?是不是很冷啊?', '第一次去见女朋友父母该如何表现?', '小蝌蚪找妈妈怎么样', '给我推荐一款红色的车', '我喜欢北京', 'That is a happy person'] sent2 = ['爱打篮球的男生喜欢什么样的女生', '西安的天气怎么样啊?还在下雪吗?', '第一次去见家长该怎么做', '小蝌蚪找妈妈是谁画的', '给我推荐一款黑色的车', '我不喜欢北京', 'That is a happy dog']
similarity1 = model1.similarity(sent1, sent2, return_matrix=False) similarity2 = model2.similarity(sent1, sent2, return_matrix=False) similarity3 = model3.similarity(sent1, sent2, return_matrix=False)
print(similarity1) print(similarity2) print(similarity3)
结果: [0.97313035 0.85661197 0.79496783 0.7784267 0.7931427 0.90283895 0.8355012 ] [0.993957 0.8989059 0.8525643 0.8591641 0.64064753 0.5236469 0.638432 ] [0.99094385 0.90920764 0.89571446 0.87828785 0.95182914 0.95800257 0.9019236 ]
使用readme中的例子
model1 = Bert4Vec(mode='roformer-sim-base') model2 = Bert4Vec(model_name_or_path='WangZeJun/roformer-sim-base-chinese') model3 = Bert4Vec(model_name_or_path='./roformer-sim-base-chinese')
sent1 = ['喜欢打篮球的男生喜欢什么样的女生', '西安下雪了?是不是很冷啊?', '第一次去见女朋友父母该如何表现?', '小蝌蚪找妈妈怎么样', '给我推荐一款红色的车', '我喜欢北京', 'That is a happy person'] sent2 = ['爱打篮球的男生喜欢什么样的女生', '西安的天气怎么样啊?还在下雪吗?', '第一次去见家长该怎么做', '小蝌蚪找妈妈是谁画的', '给我推荐一款黑色的车', '我不喜欢北京', 'That is a happy dog']
similarity1 = model1.similarity(sent1, sent2, return_matrix=False) similarity2 = model2.similarity(sent1, sent2, return_matrix=False) similarity3 = model3.similarity(sent1, sent2, return_matrix=False)
print(similarity1) print(similarity2) print(similarity3)
结果: [0.97313035 0.85661197 0.79496783 0.7784267 0.7931427 0.90283895 0.8355012 ] [0.993957 0.8989059 0.8525643 0.8591641 0.64064753 0.5236469 0.638432 ] [0.99094385 0.90920764 0.89571446 0.87828785 0.95182914 0.95800257 0.9019236 ]
你看一下代码,初始化时 mode 参数的优先级比 model_name_or_path 高,mode 默认是采用 sentence-bert 的 paraphrase-multilingual-minilm 计算的句向量,所以进行初始化时尽量不要缺省 mode 参数。
为什么使用 mode='roformer-sim-base' 和 model_name_or_path='WangZeJun/roformer-sim-base-chinese' 和本地下载的 model_name_or_path='./roformer-sim-base-chinese' 输出的结果均不同