赞
踩
import jiagu
dir(jiagu)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'analyze', 'any', 'cluster', 'cut', 'cws', 'findword', 'init', 'keywords', 'knowledge', 'load_model', 'load_userdict', 'mmseg', 'ner', 'perceptron', 'pos', 'seg', 'segment', 'sentiment', 'summarize', 'text_cluster', 'textrank', 'utils']
text = '中国是个伟大的国家,有悠久的人文历史和美丽的自然风景。'
words_jia = jiagu.seg(text)
print('普通分词:{}'.format(words_jia))
jiagu.load_userdict(['人文历史','自然风景'])
words_jia = jiagu.seg(text)
print('使用自定义词典:{}'.format(words_jia))
pos_jia = jiagu.pos(words_jia)
print('词性标注:{}'.format(pos_jia))
ner_jia = jiagu.ner(words_jia)
print('命名体识别:{}'.format(ner_jia))
普通分词:['中国', '是', '个', '伟大', '的', '国家', ',', '有', '悠久', '的', '人文', '历史', '和', '美丽', '的', '自然', '风景', '。']
使用自定义词典:['中国', '是', '个', '伟大', '的', '国家', ',', '有', '悠久', '的', '人文历史', '和', '美丽', '的', '自然风景', '。']
词性标注:['ns', 'vl', 'q', 'a', 'u', 'n', 'w', 'v', 'a', 'u', 'n', 'c', 'a', 'u', 'n', 'w']
命名体识别:['B-LOC', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O']
text_1 = '''
如果NBA复赛,没有球迷在现场观战,那么NBA可能会在一个中立场地进行比赛。萧华表示,NBA目前已经和多个联邦行政辖区进行联系,他们有兴趣在可行的情况下举办NBA剩余的比赛。“我们体育领域,从某种程度上来说,引领了这股关门风潮,我们很乐意成为经济重启的一部分。”尽管如此,萧华一再强调,健康问题仍然是最为重要的。
'''
keywords = jiagu.keywords(text_1, 5)
print('关键词提取:{}'.format(keywords))
关键词提取:['NBA', '进行', '华', '最为', '重启']
summarys = jiagu.summarize(text_1, 1)
print('摘要提取:{}'.format(summarys))
摘要提取:['萧华表示,NBA目前已经和多个联邦行政辖区进行联系,他们有兴趣在可行的情况下举办NBA剩余的比赛。']
jiagu.findword('input.txt', 'output.txt')
# 短句的情感分析 print("短句的情感分析对比:") text_2 = '中国是个国家' print(jiagu.sentiment(text_2)) text_3 = '中国是个伟大的国家' print(jiagu.sentiment(text_3)) text_4 = '中国是个特别伟大的国家' print(jiagu.sentiment(text_4)) text_5 = '中国是个特别特别伟大的国家' print(jiagu.sentiment(text_5)) print('----------------------------------') text_6= '他是个娃娃' print(jiagu.sentiment(text_6)) text_7= '他是个坏娃娃' print(jiagu.sentiment(text_7)) text_8= '他是个特别坏的娃娃' print(jiagu.sentiment(text_8)) text_9= '他是个特别坏特别坏的娃娃' print(jiagu.sentiment(text_9))
短句的情感分析对比:
('positive', 0.61433420704697)
('positive', 0.7502516417532771)
('positive', 0.8110657430727961)
('positive', 0.8598380100371134)
----------------------------------
('negative', 0.5268881113343099)
('negative', 0.6586270942989488)
('negative', 0.7330309706687305)
('negative', 0.7689844775458575)
print("长句的情感分析")
text_long = '城管打人这种事是3方的责任,不能单独怪哪一方,所以老李的做法是对的'
print(jiagu.sentiment(text_long))
print(jiagu.sentiment(text_1))
长句的情感分析
('negative', 0.9904310868486728)
('negative', 0.9999994586055012)
from snownlp import SnowNLP
dir(SnowNLP)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'han', 'idf', 'keywords', 'pinyin', 'sentences', 'sentiments', 'sim', 'summary', 'tags', 'tf', 'words']
s = SnowNLP(text)
words_snow = s.words
tag_snow = s.tags
pinyin_snow = s.pinyin
text_fan = '中國是個偉大的國家,有悠久的人文歷史和美麗的自然風景'
s_fan = SnowNLP(text_fan)
han_snow = s_fan.han
print('分词:{}'.format(words_snow))
print('标注:{}'.format([x for x in s.tags]))
print('拼音:{}'.format(pinyin_snow))
print('繁体:{}'.format(han_snow))
分词:['中国', '是个', '伟大', '的', '国家', ',', '有', '悠久', '的', '人文', '历史', '和', '美丽', '的', '自然', '风景', '。']
标注:[('中国', 'ns'), ('是个', 'd'), ('伟大', 'a'), ('的', 'u'), ('国家', 'n'), (',', 'k'), ('有', 'v'), ('悠久', 'a'), ('的', 'u'), ('人文', 'n'), ('历史', 'n'), ('和', 'c'), ('美丽', 'a'), ('的', 'u'), ('自然', 'a'), ('风景', 'n'), ('。', 'w')]
拼音:['zhong', 'guo', 'shi', 'ge', 'wei', 'da', 'de', 'guo', 'jia', ',', 'you', 'you', 'jiu', 'de', 'ren', 'wen', 'li', 'shi', 'he', 'mei', '丽', 'de', 'Zi', 'ran', 'feng', 'jing', '。']
繁体:中国是个伟大的国家,有悠久的人文历史和美丽的自然风景
s = SnowNLP(text_1)
print('关键词提取:{}'.format(s.keywords(5)))
print('摘要提取:{}'.format(s.summary(1)))
关键词提取:['NBA', '比赛', '举办', '下', '情况']
摘要提取:['那么NBA可能会在一个中立场地进行比赛']
# 短句的情感分析 print("短句的情感分析对比:") s_2 = SnowNLP('中国是个国家') print(s_2.sentiments) s_3 = SnowNLP('中国是个伟大的国家') print(s_3.sentiments) s_4 = SnowNLP('中国是个特别伟大的国家') print(s_4.sentiments) s_5 = SnowNLP('中国是个特别特别伟大的国家') print(s_5.sentiments) print('----------------------------------') s_6 = SnowNLP('他是个娃娃') print(s_6.sentiments) s_7 = SnowNLP('他是个坏娃娃') print(s_7.sentiments) s_8 = SnowNLP('他是个特别坏的娃娃') print(s_8.sentiments) s_9 = SnowNLP ('他是个特别坏特别坏的娃娃') print(s_9.sentiments)
短句的情感分析对比:
0.8728697002957693
0.9251654813275408
0.9049709527124196
0.9296199977830963
----------------------------------
0.7499999999999999
0.5755448639236871
0.6528651688802549
0.5410827799493567
print("长句的情感分析")
text_long = '城管打人这种事是3方的责任,不能单独怪哪一方,所以老李的做法是对的'
s_10 = SnowNLP(text_long)
s_11 = SnowNLP(text_1)
print(s_10.sentiments)
print(s_11.sentiments)
text_long_1 = '外观看起来很好,就是快递太慢了,还得自己取货,手机电池不经用玩了一个小时斗地主就没电了,没有介绍的那么好,请慎重购买。手机死机,卡屏,屏幕没反应,电池不耐用'
s_12 = SnowNLP(text_long_1)
print(s_12.sentiments)
长句的情感分析
0.07552097579759087
0.9999999410019155
0.0009777685840687278
可以看出,与jiagu相比,snownlp的情感分析更准确。
import jieba
dir(jieba)
['DEFAULT_DICT', 'DEFAULT_DICT_NAME', 'DICT_WRITING', 'PY2', 'Tokenizer', '__builtins__', '__cached__', '__doc__', '__file__', '__license__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', '_compat', '_get_abs_path', '_lcut', '_lcut_all', '_lcut_for_search', '_lcut_for_search_no_hmm', '_lcut_no_hmm', '_pcut', '_pcut_for_search', '_replace_file', 'absolute_import', 'add_word', 'calc', 'check_paddle_install', 'cut', 'cut_for_search', 'default_encoding', 'default_logger', 'del_word', 'disable_parallel', 'dt', 'enable_paddle', 'enable_parallel', 'finalseg', 'get_DAG', 'get_FREQ', 'get_dict_file', 'get_module_res', 'initialize', 'iteritems', 'iterkeys', 'itervalues', 'lcut', 'lcut_for_search', 'load_userdict', 'log', 'log_console', 'logging', 'marshal', 'md5', 'os', 'pkg_resources', 'pool', 're', 're_eng', 're_han_default', 're_skip_default', 're_userdict', 'resolve_filename', 'setLogLevel', 'set_dictionary', 'strdecode', 'string_types', 'suggest_freq', 'sys', 'tempfile', 'text_type', 'threading', 'time', 'tokenize', 'unicode_literals', 'user_word_tag_tab', 'xrange']
jieba.enable_paddle()# 启动paddle模式。 0.40版之后开始支持,早期版本不支持 strs=["我来到北京清华大学","乒乓球拍卖完了","中国科学技术大学"] for str in strs: seg_list = jieba.cut(str,use_paddle=True) # 使用paddle模式 print("Paddle Mode: " + '/'.join(list(seg_list))) seg_list = jieba.cut("我来到北京清华大学", cut_all=True) print("Full Mode: " + "/ ".join(seg_list)) # 全模式 seg_list = jieba.cut("我来到北京清华大学", cut_all=False) print("Default Mode: " + "/ ".join(seg_list)) # 精确模式 seg_list = jieba.cut("他来到了网易杭研大厦") # 默认是精确模式 print("/".join(seg_list)) seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造") # 搜索引擎模式 print("/ ".join(seg_list))
Paddle enabled successfully...... Building prefix dict from the default dictionary ... Loading model from cache C:\Users\Smile\AppData\Local\Temp\jieba.cache Paddle Mode: 我/来到/北京清华大学 Paddle Mode: 乒乓球/拍卖/完/了 Paddle Mode: 中国科学技术大学 Loading model cost 0.581 seconds. Prefix dict has been built successfully. Full Mode: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学 Default Mode: 我/ 来到/ 北京/ 清华大学 他/来到/了/网易/杭研/大厦 小明/ 硕士/ 毕业/ 于/ 中国/ 科学/ 学院/ 科学院/ 中国科学院/ 计算/ 计算所/ ,/ 后/ 在/ 日本/ 京都/ 大学/ 日本京都大学/ 深造
import jieba
import jieba.posseg as pseg
words = pseg.cut("我爱北京胡同") #jieba默认模式
jieba.enable_paddle() #启动paddle模式。 0.40版之后开始支持,早期版本不支持
words = pseg.cut("我爱北京胡同",use_paddle=True) #paddle模式
for word, flag in words:
print('%s %s' % (word, flag))
Paddle enabled successfully......
我 r
爱 v
北京 LOC
胡同 LOC
基于 TF-IDF 算法的关键词抽取
基于 TextRank 算法的关键词抽取
import jieba.analyse
# 基于TF-IDF
a = jieba.analyse.extract_tags(text_1,topK = 5)
print("基于TF-IDF:{}".format(a))
# 基于TextRank
b = jieba.analyse.textrank(text_1,topK = 5)
print("基于TextRank:{}".format(b))
基于TF-IDF:['NBA', '萧华', '比赛', '复赛', '一再强调']
基于TextRank:['进行', '比赛', '观战', '球迷', '没有']
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。