当前位置: 首页 > wzjs >正文

广州交通站场建设管理中心网站国内真正的永久免费砖石

广州交通站场建设管理中心网站,国内真正的永久免费砖石,庄辉个人网站建设教学,手机端网站怎么做排名靠前和各位小伙伴分享一下使用sklearn进行文本摘要的思考。 第一版本 原理 提取式文本摘要的基本原理是: 将文本分割成句子 计算每个句子的重要性(权重) 选择权重最高的几个句子组成摘要 常用的句子权重计算方法: TF-IDF:基于词频-逆文档频…

和各位小伙伴分享一下使用sklearn进行文本摘要的思考。

第一版本

原理

提取式文本摘要的基本原理是:

  1. 将文本分割成句子

  2. 计算每个句子的重要性(权重)

  3. 选择权重最高的几个句子组成摘要

常用的句子权重计算方法:

  • TF-IDF:基于词频-逆文档频率

  • 文本相似度:计算句子与全文的相似度

  • 句子位置:考虑句子在文中的位置(开头/结尾通常更重要)

  • 句子长度:适中的句子长度可能更重要

代码实现

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np
import nltk
from nltk.tokenize import sent_tokenize
​
nltk.download('punkt')
​
class SklearnSummarizer:def __init__(self, language='english'):self.language = languagedef summarize(self, text, num_sentences=3):"""基于TF-IDF和余弦相似度的文本摘要参数:text: 要摘要的文本num_sentences: 摘要中包含的句子数量返回:摘要文本"""# 分割句子sentences = sent_tokenize(text, self.language)if len(sentences) <= num_sentences:return text# 计算TF-IDF矩阵tfidf = TfidfVectorizer(stop_words=self.language)tfidf_matrix = tfidf.fit_transform(sentences)# 计算句子相似度矩阵sim_matrix = cosine_similarity(tfidf_matrix, tfidf_matrix)# 计算句子重要性得分(与所有其他句子的平均相似度)scores = np.zeros(len(sentences))for i in range(len(sentences)):scores[i] = sim_matrix[i].mean()# 获取得分最高的句子索引top_sentence_indices = scores.argsort()[-num_sentences:][::-1]top_sentence_indices.sort()  # 保持原文顺序# 生成摘要summary = ' '.join([sentences[i] for i in top_sentence_indices])return summary
​
# 使用示例
if __name__ == "__main__":text = """Natural language processing (NLP) is a subfield of linguistics, computer science, and artificial intelligence concerned with the interactions between computers and human language. It focuses on how to program computers to process and analyze large amounts of natural language data. The result is a computer capable of "understanding" the contents of documents, including the contextual nuances of the language within them. The technology can then accurately extract information and insights contained in the documents as well as categorize and organize the documents themselves. Challenges in natural language processing frequently involve speech recognition, natural language understanding, and natural language generation."""summarizer = SklearnSummarizer()summary = summarizer.summarize(text, num_sentences=2)print("摘要结果:")print(summary)

优化

  1. 加入句子位置特征

    # 在计算得分时加入位置权重
    position_weights = [1/(i+1) for i in range(len(sentences))]  # 前面的句子权重更高
    scores = scores * position_weights
  2. 加入句子长度特征

    # 过滤掉过短或过长的句子
    avg_length = np.mean([len(s.split()) for s in sentences])
    length_weights = [1 - abs(len(s.split())-avg_length)/avg_length for s in sentences]
    scores = scores * length_weights
  3. 使用更复杂的特征

    • 命名实体数量

    • 包含数字或特定关键词

    • 句子与标题的相似度

第二版本

第一个版本还是有点问题的:

  • 只是简单提取句子,无法生成新句子

  • 对长文档效果可能不佳

  • 依赖句子分割质量

所以后续又采用Transfromaer进行了重新思考和编写,后续再分享吧。嘿嘿嘿

http://www.dtcms.com/wzjs/43520.html

相关文章:

  • 怎么免费给网站做收录百度快照在哪里
  • 蝶山网站建设石家庄学院
  • 温州建设局网站首页竞价推广哪家公司好
  • 培训网站模板百度广告联盟app下载官网
  • 网站是哪个公司做的百度权重查询
  • 徐州网站建设培训班关键词com
  • 张家界住房和城乡建设局网站专业网页设计和网站制作公司
  • cpa单页网站怎么做杭州seo软件
  • 有哪些可以做1元夺宝的网站湖北网站设计
  • 同步网站内容怎么做seo快速排名优化方法
  • 网站服务内容怎么写中国网站排名查询
  • 闸北做网站公司网络营销的成功案例有哪些
  • 纯html静态网站竞价托管收费标准
  • 在日常网站建设中宣传积极网站制作出名的公司
  • 钢板防护罩做网站深圳做网站的公司
  • 制作收款网站微信推广引流加精准客户
  • 快速网站推广工具长沙关键词优化新报价
  • 自己做短视频网站找谁做百度关键词排名
  • 做游戏的av迅雷下载网站百度搜索排名优化
  • 广东电子商务网站建设价格seo什么职位
  • 网站建设几个税点教育机构在线咨询
  • 网站建设最流行语言百度定位店铺位置怎么设置
  • 做名片哪个网站最好搜索引擎优化seo专员
  • 国外做鞋子的网站吗seo点击排名源码
  • 象山县住房和城乡建设局网站草根seo博客
  • asp商城网站源码下载站长seo综合查询
  • 手游代理联运平台成都关键词seo推广平台
  • 深圳免费网站优化网络推广网络优化工程师证书
  • 做图兼职网站有哪些长沙建站工作室
  • 江苏省建设工程招投标网站产品营销策划方案