赞
踩
from gensim.summarization import bm25 def test_gensim_bm25(): corpus = [ ['来', '问', '几', '个', '问题', '第1', '个', '就', '是', '60', '岁', '60', '岁', '的', '时候', '退休', '是', '时间', '到', '了', '一定', '要', '退休', '还是', '觉得', '应该', '差', '不', '多'], ['第1', '个', '是', '应该', '第2', '个', '是'], ['不', '对', '应该', '就是', '差', '不', '多'], ['所以', '是', '应该', '差', '不', '多', '还是', '一定', '要', '退', '60', '岁']] bm25Model = bm25.BM25(corpus) test_strs = [ ['所以', '是', '应该', '差', '不', '多', '还是', '一定', '要', '退', '60', '岁'], ['所以', '是', '应该', '差', '不', '多', '还是', '一定', '要', '退', '60', '岁', '问题', '第1', '个'], ['所以', '是', '应该', '差', '不', '多', '还是', '一定', '要', '退', '60', '岁', '问题', '第1', '个','来', '问', '几', '个', '问题'], ['应该', '差', '不', '多', '一定', '要', '退', '60', '岁'], ['差', '不', '多', '一定', '要', '退'], ['一定', '要', '差', '不', '多', '退'], ['一定', '要', '退'], ['一定', '差', '不', '多'], ] for test_str in test_strs: scores = bm25Model.get_scores(test_str) print('测试句子:', test_str) for i, j in zip(scores, corpus): print('分值:{},原句:{}'.format(i, j)) print('\n') if __name__ == '__main__': test_gensim_bm25()
测试句子: ['所以', '是', '应该', '差', '不', '多', '还是', '一定', '要', '退', '60', '岁'] 分值:0.2828807225045471,原句:['来', '问', '几', '个', '问题', '第1', '个', '就', '是', '60', '岁', '60', '岁', '的', '时候', '退休', '是', '时间', '到', '了', '一定', '要', '退休', '还是', '觉得', '应该', '差', '不', '多'] 分值:0.226504790662966,原句:['第1', '个', '是', '应该', '第2', '个', '是'] 分值:0.42164043562468434,原句:['不', '对', '应该', '就是', '差', '不', '多'] 分值:2.2007072441488233,原句:['所以', '是', '应该', '差', '不', '多', '还是', '一定', '要', '退', '60', '岁'] 测试句子: ['应该', '差', '不', '多', '一定', '要', '退', '60', '岁'] 分值:0.202827468444139,原句:['来', '问', '几', '个', '问题', '第1', '个', '就', '是', '60', '岁', '60', '岁', '的', '时候', '退休', '是', '时间', '到', '了', '一定', '要', '退休', '还是', '觉得', '应该', '差', '不', '多'] 分值:0.09756782248085916,原句:['第1', '个', '是', '应该', '第2', '个', '是'] 分值:0.42164043562468434,原句:['不', '对', '应该', '就是', '差', '不', '多'] 分值:1.2213019690359779,原句:['所以', '是', '应该', '差', '不', '多', '还是', '一定', '要', '退', '60', '岁'] 测试句子: ['差', '不', '多', '一定', '要', '退'] 分值:0.15212060133310423,原句:['来', '问', '几', '个', '问题', '第1', '个', '就', '是', '60', '岁', '60', '岁', '的', '时候', '退休', '是', '时间', '到', '了', '一定', '要', '退休', '还是', '觉得', '应该', '差', '不', '多'] 分值:0,原句:['第1', '个', '是', '应该', '第2', '个', '是'] 分值:0.3240726131438252,原句:['不', '对', '应该', '就是', '差', '不', '多'] 分值:1.1406697377282669,原句:['所以', '是', '应该', '差', '不', '多', '还是', '一定', '要', '退', '60', '岁'] 测试句子: ['一定', '要', '差', '不', '多', '退'] 分值:0.15212060133310423,原句:['来', '问', '几', '个', '问题', '第1', '个', '就', '是', '60', '岁', '60', '岁', '的', '时候', '退休', '是', '时间', '到', '了', '一定', '要', '退休', '还是', '觉得', '应该', '差', '不', '多'] 分值:0,原句:['第1', '个', '是', '应该', '第2', '个', '是'] 分值:0.3240726131438252,原句:['不', '对', '应该', '就是', '差', '不', '多'] 分值:1.1406697377282669,原句:['所以', '是', '应该', '差', '不', '多', '还是', '一定', '要', '退', '60', '岁'] 测试句子: ['一定', '要', '退'] 分值:0.0,原句:['来', '问', '几', '个', '问题', '第1', '个', '就', '是', '60', '岁', '60', '岁', '的', '时候', '退休', '是', '时间', '到', '了', '一定', '要', '退休', '还是', '觉得', '应该', '差', '不', '多'] 分值:0,原句:['第1', '个', '是', '应该', '第2', '个', '是'] 分值:0,原句:['不', '对', '应该', '就是', '差', '不', '多'] 分值:0.898773043805134,原句:['所以', '是', '应该', '差', '不', '多', '还是', '一定', '要', '退', '60', '岁'] 测试句子: ['一定', '差', '不', '多'] 分值:0.15212060133310423,原句:['来', '问', '几', '个', '问题', '第1', '个', '就', '是', '60', '岁', '60', '岁', '的', '时候', '退休', '是', '时间', '到', '了', '一定', '要', '退休', '还是', '觉得', '应该', '差', '不', '多'] 分值:0,原句:['第1', '个', '是', '应该', '第2', '个', '是'] 分值:0.3240726131438252,原句:['不', '对', '应该', '就是', '差', '不', '多'] 分值:0.24189669392313295,原句:['所以', '是', '应该', '差', '不', '多', '还是', '一定', '要', '退', '60', '岁']
gensim BM25
想取得生成模型后的逆文档频率,只需访问其属性idf
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。