NLP:基于snownlp库对文本实现提取文本关键词和文本摘要
【摘要】 NLP:基于snownlp库对文本实现提取文本关键词和文本摘要
目录
输出结果
1、测试文本
设计思路
核心代码
输出结果
1、测试文本
今天一大早,两位男子在故宫抽烟对镜头炫耀的视频在网络上传播,引发网友愤怒。有人感到后怕,600年的故宫真要这两个人给点了,万死莫赎。也有评论称,把无知当成炫耀的资本,丢人...
NLP:基于snownlp库对文本实现提取文本关键词和文本摘要
目录
输出结果
1、测试文本
-
今天一大早,两位男子在故宫抽烟对镜头炫耀的视频在网络上传播,引发网友愤怒。有人感到后怕,600年的故宫真要这两个人给点了,万死莫赎。也有评论称,把无知当成炫耀的资本,丢人!
-
视频中两位男子坐在故宫公共休息区的遮阳伞下,面对镜头问出:“谁敢在故宫抽烟?”语气极其嚣张,表情带有挑衅意味。话音刚落,另外一位男子面向镜头吸了一口烟。而视频中两人也表示知道有故宫禁止吸烟的规定。
-
事实上,2013年5月18日是国际博物馆日,故宫从这一天开始至今一直实行全面禁烟。根据规定,故宫博物院全体员工在院合作单位和个人不管在室内和室外,也不分开放区与工作区,一律禁止吸烟,对违反禁止吸烟规定的人员将进行严格处罚并通报全院。
-
此外,在2015年6月1日起北京全市也开始了《控制吸烟条例》,规定公共场所工作场所室内环境室外排队等场合禁止吸烟,违者将最高被罚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)