文本相似度计算_BM25

本文介绍了BM25算法在文本相似度计算中的应用,它基于TF、IDF和文档权重,相较于经典TF-IDF,BM25包含更多参数。文中提供了在某次比赛中的实现代码,并提及结合TextRank可以进一步提升效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BM 25也是计算TF、IDF、文档权重,只不过和经典的TFIDF表达式不同,参数也更多一些。

附上之前比赛的**版本代码,比赛结果还不错,不过如果时间充裕的话,可以把BM25和TextRank结合起来,效果会更好(在一篇论文里面看到的,有兴趣的可以去知网搜一下)

#!/usr/bin/python
#-*- coding:UTF-8-*-

import jieba
import jieba.posseg as pseg                 #引入结巴分词词性标注
import jieba.analyse
import numpy as np
import pandas
import pandas as pd
import csv
from gensim import corpora,models,similarities      #引入文本相似度库
from gensim.corpora import Dictionary
from gensim.models import TfidfModel,LdaModel
from pandas import DataFrame
from collections import defaultdict
import time

#=============================================训练集分词============================
#读取文件,主要用以生成词库

import math
class BM25(object):
    def __init__(self, docs):
        self.D = len(docs)
        self.avgdl = sum([len(doc)+0.0 for doc in do
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值