NLP:基于textrank4zh库对文本实现提取文本关键词、文本关键短语和文本摘要

举报
一个处女座的程序猿 发表于 2021/03/30 23:35:11 2021/03/30
【摘要】 NLP:基于textrank4zh库对文本实现提取文本关键词、文本关键短语和文本摘要         目录 输出结果 设计思路 核心代码           输出结果 关键词:故宫0.030737773083470445镜头0.026154204788274925吸烟0.02464630557740873网友0.02236230415962...

NLP:基于textrank4zh库对文本实现提取文本关键词、文本关键短语和文本摘要

 

 

 

 

目录

输出结果

设计思路

核心代码


 

 

 

 

 

输出结果


  
  1. 关键词:
  2. 故宫
  3. 0.030737773083470445
  4. 镜头
  5. 0.026154204788274925
  6. 吸烟
  7. 0.02464630557740873
  8. 网友
  9. 0.0223623041596296
  10. 规定
  11. 0.021749817200586608
  12. 工作
  13. 0.021491249428577667
  14. 禁止
  15. 0.02028752723934755
  16. 景区
  17. 0.019314322943705477
  18. 炫耀
  19. 0.018931429709004036
  20. 0.01849004576313802
  21. 表示
  22. 0.017926862026642076
  23. 全面
  24. 0.016033284719331194
  25. 通报
  26. 0.016033284719331194
  27. 全市
  28. 0.01573736890057259
  29. 带有
  30. 0.014258600922955385
  31. 挑衅
  32. 0.014258600922955385
  33. 单位
  34. 0.012633705830118174
  35. 设立
  36. 0.012318056112472466
  37. 男子
  38. 0.012219070984211678
  39. 黑名单
  40. 0.011988917420401994
  41. 关键短语:
  42. 禁止吸烟
  43. 摘要:
  44. 10 0.12507418731273198
  45. 视频在网络上传播开来,不少网友担心故宫的安危,称一旦发生火情,后果不堪设想,有网友表示,这样的行为应该被旅游景区拉近黑名单,建议终身禁止进入任何景区和各种场馆
  46. 0 0.12010154061801917
  47. 今天一大早,两位男子在故宫抽烟对镜头炫耀的视频在网络上传播,引发网友愤怒
  48. 6 0.10828312286511374
  49. 而视频中两人也表示知道有故宫禁止吸烟的规定

 

设计思路

后期更新……

 

 

 

 

核心代码


  
  1. def analyze Found at: textrank4zh.TextRank4Keyword
  2. def analyze(self, text,
  3. window=2,
  4. lower=False,
  5. vertex_source='all_filters',
  6. edge_source='no_stop_words',
  7. pagerank_config={'alpha':0.85}):
  8. """分析文本
  9. Keyword arguments:
  10. text -- 文本内容,字符串。
  11. window -- 窗口大小,int,用来构造单词之间的边。默
  12. 认值为2。
  13. lower -- 是否将文本转换为小写。默认为False。
  14. vertex_source -- 选择使用words_no_filter,
  15. words_no_stop_words, words_all_filters中的哪一个来构
  16. 造pagerank对应的图中的节点。
  17. 默认值为`'all_filters'`,可选值为`'no_filter',
  18. 'no_stop_words', 'all_filters'`。关键词也来自
  19. `vertex_source`。
  20. edge_source -- 选择使用words_no_filter,
  21. words_no_stop_words, words_all_filters中的哪一个来构
  22. 造pagerank对应的图中的节点之间的边。
  23. 默认值为`'no_stop_words'`,可选值为`'no_filter',
  24. 'no_stop_words', 'all_filters'`。边的构造要结合`window`参
  25. 数。
  26. """
  27. # self.text = util.as_text(text)
  28. self.text = text
  29. self.word_index = {}
  30. self.index_word = {}
  31. self.keywords = []
  32. self.graph = None
  33. result = self.seg.segment(text=text, lower=lower)
  34. self.sentences = result.sentences
  35. self.words_no_filter = result.words_no_filter
  36. self.words_no_stop_words = result.
  37. words_no_stop_words
  38. self.words_all_filters = result.words_all_filters
  39. util.debug(20 * '*')
  40. util.debug('self.sentences in TextRank4Keyword:\n', '
  41. || '.join(self.sentences))
  42. util.debug('self.words_no_filter in
  43. TextRank4Keyword:\n', self.words_no_filter)
  44. util.debug('self.words_no_stop_words in
  45. TextRank4Keyword:\n', self.words_no_stop_words)
  46. util.debug('self.words_all_filters in
  47. TextRank4Keyword:\n', self.words_all_filters)
  48. options = ['no_filter', 'no_stop_words', 'all_filters']
  49. if vertex_source in options:
  50. _vertex_source = result['words_' + vertex_source]
  51. else:
  52. _vertex_source = result['words_all_filters']
  53. if edge_source in options:
  54. _edge_source = result['words_' + edge_source]
  55. else:
  56. _edge_source = result['words_no_stop_words']
  57. self.keywords = util.sort_words(_vertex_source,
  58. _edge_source, window=window,
  59. pagerank_config=pagerank_config)

 

 

 

 

 

 

 

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

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

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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