根据关键词提取文本摘要

  1. 问题描述
  • 根据一组关键词,在一段文本中找出一段话作为文本的摘要,摘要有指定长度
  • 摘要中要尽可能多的包含不同的关键词
  • 在不同关键词一样多的情况下,包含关键词总数比较多的优先级高
  • 在以上条件都相同的情况下,出现在文本前面的段落优先
  1. 基本思路
  • 找到各个关键词出现的位置,并记录下来
  • 统计在指定的长度范围内的两个关键词之间的段落最符合条件的段落(即关键词种类越多,出现的频率越高,段落越靠前的段落)
  1. 具体实现
  • 为了方便的实现这个功能,程序预先给每个关键词设定了权重为100(即第一次出现一个关键词,段落的权重+100),重复关键词的权重为1(即重复出现一个关键词,段落的权重+1)
  • 统计关键词在文本中出现的位置并记录下来 $arrwords是关键词组,$content是文本内容,由于是中文文本,所以用mb_的方法去操作字符串
  • 统计两个关键词之间的段落的权重,类似冒泡排序的方式去统计两两关键词之间的段落, MAX_DESC_LEN是指定的摘要长度
  • 按照权重排序($rst是以weight的值为key)排序,取第一个值就得到了想要的结果
  •  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值