赞
踩
# -*- coding: utf-8 -*-
# 导入SnowNLP库
from snownlp import *
import jieba
import re
if __name__ == '__main__':
# ---------------------------------------------------------------------
text = u'''《三体3:死神永生》
与三体文明的战争使人类看到了宇宙黑暗的真相,地球文明像一个恐惧的孩子,熄灭了寻友的篝火,在暗夜中发抖。自以为历经沧桑,其实刚刚蹒跚学步;自以为悟出了生存竞争的秘密,其实还远没有竞争的资格。使两个文明命悬一线的黑暗森林打击,不过是宇宙战场上的一个微不足道的插曲,一个在战场上乱跑的无知孩童被堑壕中射杀,仅此而已。真正的星际战争没人见过,也不可能见到。因为战争的方式和武器已经远超出人类的想象,目睹战场之日,就是灭亡之时。
人类没有想到,面对这巨大的存在,从社会学的结论,却可以推导出宇宙学的结果。宇宙的田园时代已经远去,那时,万物的之美曾昙花一现,现在已经变成任何大脑和智慧体都无法做出的梦,变成游吟诗人飘渺的残歌;宇宙的物竞天择已到了惨烈的时刻,在亿万光年暗无天日的战场上,深渊底层的毁灭力量被唤醒,太空变成了死神广阔的披风。
太阳系中的人们永远不会知道这一切,面对真相的,只有两双眼睛。'''
print('input: {}'.format(text))
s1 = SnowNLP(text)
# 分词
print("分词: {}".format(s1.words)) # ['《', '三', '体', '3:', '死', '神', '永生', '》', '与', '三', '体', '文', '明', '的', '战', '争', '使', '人', '类', '看', '到', '了', '宇', '宙', '黑', '暗', '的', '真', '相', ',', '地', '球', '文', '明', '像', '一', '个', '恐', '惧', '的', '孩', '子', ',', '熄', '灭', '了', '寻', '友', '的', '篝', '火', ',', '在', '暗', '夜', '中', '发', '抖', '。', '自', '以', '为', '历', '经', '沧', '桑', ',', '其', '实', '刚', '刚', '蹒', '跚', '学', '步', ';', '自', '以', '为', '悟', '出', '了', '生', '存', '竞', '争', '的', '秘', '密', ',', '其', '实', '还', '远', '没', '有', '竞', '争', '的', '资', '格', '。', '使', '两', '个', '文', '明', '命', '悬', '一', '线', '的', '黑', '暗', '森', '林', '打', '击', ',', '不', '过', '是', '宇', '宙', '战', '场', '上', '的', '一', '个', '微', '不', '足', '道', '的', '插', '曲', ',', '一', '个', '在', '战', '场', '上', '乱', '跑', '的', '无', '知', '孩', '童', '被', '堑', '壕', '中', '射', '杀', ',', '仅', '此', '而', '已', '。', '真', '正', '的', '星', '际', '战', '争', '没', '人', '见', '过', ',', '也', '不', '可能', '见到', '。', '因', '为', '战', '争', '的', '方', '式', '和', '武', '器', '已', '经', '远', '超', '出', '人', '类', '的', '想', '象', ',', '目', '睹', '战', '场', '之', '日', ',', '就', '是', '灭', '亡', '之时', '。', '人', '类', '没', '有', '想', '到', ',', '面', '对', '这', '巨', '大', '的', '存', '在', ',', '从', '社', '会', '学', '的', '结', '论', ',', '却', '可', '以', '推', '导', '出', '宇', '宙', '学', '的', '结', '果', '。', '宇', '宙', '的', '田', '园', '时', '代', '已', '经', '远', '去', ',', '那时', ',', '万', '物', '的', '之', '美', '曾', '昙', '花一现', ',', '现', '在', '已', '经', '变', '成', '任', '何', '大', '脑', '和', '智', '慧', '体', '都', '无', '法', '做', '出', '的', '梦', ',', '变', '成', '游', '吟', '诗', '人', '飘', '渺', '的', '残', '歌', ';', '宇', '宙', '的', '物', '竞', '天', '择', '已', '到', '了', '惨', '烈', '的', '时', '刻', ',', '在', '亿', '万', '光', '年', '暗', '无', '天', '日', '的', '战', '场', '上', ',', '深', '渊', '底', '层', '的', '毁', '灭', '力', '量', '被', '唤', '醒', ',', '太', '空', '变', '成', '了', '死', '神', '广', '阔', '的', '披', '风', '。', '太', '阳', '系', '中', '的', '人', '们', '永', '远', '不', '会', '知', '道', '这', '一', '切', ',', '面', '对', '真', '相', '的', ',', '只', '有', '两', '双', '眼', '睛', '。']
# 关键词
print("关键词: {}".format(s1.keywords(3))) # ['人', '战', '已']
分词结果基本都是一个一个的字,导致关键词提取的时候也都是一个一个的关键字,查了一下发现是源码中的seg分词方法的问题,继承重写一下SnowNLP中的方法改为jieba分词就可以解决了
# -*- coding: utf-8 -*-
# 导入SnowNLP库
from snownlp import *
import jieba
import re
class myNlp(SnowNLP):
def __init__(self, doc):
super().__init__(doc)
@property
def words(self):
return jieba.lcut(self.doc)
def keywords(self, limit=5, merge=False):
doc = []
sents = self.sentences
for sent in sents:
words = jieba.lcut(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
if __name__ == '__main__':
# ---------------------------------------------------------------------
text = u'''《三体3:死神永生》
与三体文明的战争使人类看到了宇宙黑暗的真相,地球文明像一个恐惧的孩子,熄灭了寻友的篝火,在暗夜中发抖。自以为历经沧桑,其实刚刚蹒跚学步;自以为悟出了生存竞争的秘密,其实还远没有竞争的资格。使两个文明命悬一线的黑暗森林打击,不过是宇宙战场上的一个微不足道的插曲,一个在战场上乱跑的无知孩童被堑壕中射杀,仅此而已。真正的星际战争没人见过,也不可能见到。因为战争的方式和武器已经远超出人类的想象,目睹战场之日,就是灭亡之时。
人类没有想到,面对这巨大的存在,从社会学的结论,却可以推导出宇宙学的结果。宇宙的田园时代已经远去,那时,万物的之美曾昙花一现,现在已经变成任何大脑和智慧体都无法做出的梦,变成游吟诗人飘渺的残歌;宇宙的物竞天择已到了惨烈的时刻,在亿万光年暗无天日的战场上,深渊底层的毁灭力量被唤醒,太空变成了死神广阔的披风。
太阳系中的人们永远不会知道这一切,面对真相的,只有两双眼睛。'''
print('input: {}'.format(text))
s1 = myNlp(text)
# 分词
print("分词: {}".format(s1.words)) # ['《', '三体', '3', ':', '死神', '永生', '》', '\n', '\u3000', '\u3000', '与', '三体', '文明', '的', '战争', '使', '人类', '看到', '了', '宇宙', '黑暗', '的', '真相', ',', '地球', '文明', '像', '一个', '恐惧', '的', '孩子', ',', '熄灭', '了', '寻友', '的', '篝火', ',', '在', '暗', '夜中', '发抖', '。', '自', '以为', '历经沧桑', ',', '其实', '刚刚', '蹒跚', '学步', ';', '自', '以为', '悟出', '了', '生存竞争', '的', '秘密', ',', '其实', '还远', '没有', '竞争', '的', '资格', '。', '使', '两个', '文明', '命悬', '一线', '的', '黑暗', '森林', '打击', ',', '不过', '是', '宇宙', '战场', '上', '的', '一个', '微不足道', '的', '插曲', ',', '一个', '在', '战场', '上', '乱跑', '的', '无知', '孩童', '被', '堑壕', '中', '射杀', ',', '仅此而已', '。', '真正', '的', '星际', '战争', '没人见', '过', ',', '也', '不', '可能', '见到', '。', '因为', '战争', '的', '方式', '和', '武器', '已经', '远', '超出', '人类', '的', '想象', ',', '目睹', '战场', '之', '日', ',', '就是', '灭亡', '之', '时', '。', '\n', '\u3000', '\u3000', '人类', '没有', '想到', ',', '面对', '这', '巨大', '的', '存在', ',', '从', '社会学', '的', '结论', ',', '却', '可以', '推导', '出', '宇宙学', '的', '结果', '。', '宇宙', '的', '田园', '时代', '已经', '远去', ',', '那时', ',', '万物', '的', '之', '美', '曾', '昙花一现', ',', '现在', '已经', '变成', '任何', '大脑', '和', '智慧', '体都', '无法', '做出', '的', '梦', ',', '变成', '游吟', '诗人', '飘渺', '的', '残歌', ';', '宇宙', '的', '物竞天择', '已到', '了', '惨烈', '的', '时刻', ',', '在', '亿万', '光年', '暗无天日', '的', '战场', '上', ',', '深渊', '底层', '的', '毁灭', '力量', '被', '唤醒', ',', '太空', '变成', '了', '死神', '广阔', '的', '披风', '。', '\n', '\u3000', '\u3000', '太阳系', '中', '的', '人们', '永远', '不会', '知道', '这', '一切', ',', '面对', '真相', '的', ',', '只有', '两双', '眼睛', '。']
# 关键词
print("关键词: {}".format(s1.keywords(3))) # ['宇宙', '战场', '文明']
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。