二分查找变形--文本摘要依据相似度找到对应的应该抽取的句子

通过二分查找算法,根据生成的文本摘要,在原文中寻找相似度高的对应句子。核心逻辑在于利用summary的顺序性,从左右两侧进行查找。
摘要由CSDN通过智能技术生成

二分查找

常规思路:

      1.找到中间值,判断与待查找值大小,分别去左右序列中的中间值比较大小

      2.如果某序列为空,则返回

依据生成的文本摘要,从原文中找出对应的相似的句子,作为当前节点,由于summary的前后顺序性,所以可以理解为二分查找的思路,分别从左右继续进行查找


 核心逻辑


def extract_matching(texts, summaries, start_i=0, start_j=0):  ##?? 怎么抽取匹配
    """在texts中找若干句子,使得它们连起来与summaries尽可能相似
    算法:texts和summaries都分句,然后找出summaries最长的句子,在texts
          中找与之最相似的句子作为匹配,剩下部分递归执行。
    """
    if len(texts) == 0 or len(summaries) == 0:
        return []
    i = np.argmax([len(s) for s in summaries])  ##?? argmax,为何summaries选取最长的
    j = np.argmax([compute_main_metric(t, summaries[i], 'char') for t in texts])  ##?? 根据rouge评分选最高的对应的index
    lm = extract_matching(texts[:j + 1], summaries[:i], start_i, start_j)
    rm = extract_matching(
        texts[j:], summaries[i + 1:],
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值