NLP:基于snownlp库对文本实现提取文本关键词和文本摘要

举报
一个处女座的程序猿 发表于 2021/03/27 00:56:42 2021/03/27
6.3k+ 0 0
【摘要】 NLP:基于snownlp库对文本实现提取文本关键词和文本摘要       目录 输出结果 1、测试文本 设计思路 核心代码           输出结果 1、测试文本 今天一大早,两位男子在故宫抽烟对镜头炫耀的视频在网络上传播,引发网友愤怒。有人感到后怕,600年的故宫真要这两个人给点了,万死莫赎。也有评论称,把无知当成炫耀的资本,丢人...

NLP:基于snownlp库对文本实现提取文本关键词和文本摘要

目录

输出结果

1、测试文本

设计思路

核心代码


输出结果

1、测试文本


      今天一大早,两位男子在故宫抽烟对镜头炫耀的视频在网络上传播,引发网友愤怒。有人感到后怕,600年的故宫真要这两个人给点了,万死莫赎。也有评论称,把无知当成炫耀的资本,丢人!
      视频中两位男子坐在故宫公共休息区的遮阳伞下,面对镜头问出:“谁敢在故宫抽烟?”语气极其嚣张,表情带有挑衅意味。话音刚落,另外一位男子面向镜头吸了一口烟。而视频中两人也表示知道有故宫禁止吸烟的规定。
      事实上,2013518日是国际博物馆日,故宫从这一天开始至今一直实行全面禁烟。根据规定,故宫博物院全体员工在院合作单位和个人不管在室内和室外,也不分开放区与工作区,一律禁止吸烟,对违反禁止吸烟规定的人员将进行严格处罚并通报全院。
      此外,在201561日起北京全市也开始了《控制吸烟条例》,规定公共场所工作场所室内环境室外排队等场合禁止吸烟,违者将最高被罚200元,全市统一设立举报电话12320。
      视频在网络上传播开来,不少网友担心故宫的安危,称一旦发生火情,后果不堪设想,有网友表示,这样的行为应该被旅游景区拉近黑名单,建议终身禁止进入任何景区和各种场馆。
  
 


 

设计思路

后期更新……

核心代码


      class SnowNLP Found at: snownlp.__init__
      class SnowNLP(object):
      def __init__(self, doc):
       self.doc = doc
       self.bm25 = bm25.BM25(doc)
       @property
      def words(self):
      return seg.seg(self.doc)
       @property
      def sentences(self):
      return normal.get_sentences(self.
       doc)
       @property
      def han(self):
      return normal.zh2hans(self.doc)
       @property
      def pinyin(self):
      return normal.get_pinyin(self.doc)
       @property
      def sentiments(self):
      return sentiment.classify(self.doc)
       @property
      def tags(self):
       words = self.words
       tags = tag.tag(words)
      return zip(words, tags)
       @property
      def tf(self):
      return self.bm25.f
       @property
      def idf(self):
      return self.bm25.idf
      def sim(self, doc):
      return self.bm25.simall(doc)
      def summary(self, limit=5):
       doc = []
       sents = self.sentences
      for sent in sents:
       words = seg.seg(sent)
       words = normal.filter_stop(words)
       doc.append(words)
       rank = textrank.TextRank(doc)
       rank.solve()
       ret = []
      for index in rank.top_index(limit):
       ret.append(sents[index])
      return ret
      def keywords(self, limit=5,
       merge=False):
       doc = []
       sents = self.sentences
      for sent in sents:
       words = seg.seg(sent)
       words = normal.filter_stop(words)
       doc.append(words)
       rank = textrank.KeywordTextRank
       (doc)
       rank.solve()
       ret = []
      for w in rank.top_index(limit):
       ret.append(w)
      if merge:
       wm = words_merge.SimpleMerge
       (self.doc, ret)
      return wm.merge()
      return ret
  
 

文章来源: yunyaniu.blog.csdn.net,作者:一个处女座的程序猿,版权归原作者所有,如需转载,请联系作者。

原文链接:yunyaniu.blog.csdn.net/article/details/95936506

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。