import jieba import jieba.analyse # 初始化分词模型 jieba.initialize() # 设定待处理的数据 world = '上海自来水来自于上海,所以吃葡萄不吐葡萄皮' seg_a = jieba.cut(world, cut_all=True) print('全模式', '/'.join(seg_a)) seg_b = jieba.cut(world) print('精确模式', '/'.join(seg_b)) seg_c = jieba.cut_for_search(world) print('搜索引擎模式', '/'.join(seg_c)) ###加入部分词汇 words_b = '我为机器学习疯狂打call' print('自定义前的分词形式', '/'.join(jieba.cut(words_b))) jieba.add_word('打call') jieba.add_word('机器学习') print('自定义后的分词形式', '/'.join(jieba.cut(words_b))) print('-------------------导入自定义词典------------------') word_c = '在正义者联盟的电影里,嘻哈侠和蝙蝠侠联手打败了大boss,我高喊666,为他们疯狂打call' print('加载自定义词库前', '/'.join(jieba.cut(word_c))) jieba.load_userdict('../data/datas/01mydict.txt') print('加载自定义词库后', '/'.join(jieba.cut(word_c))) print('-------------------数据词条切错,如何修正------------------') wod = '如果放到pos中将出错.' print('/'.join(jieba.cut(wod, HMM=False))) ## 如果/放到/pos/中将/出错/. print('/'.join(jieba.cut(wod, HMM=True))) ## 如果/放到/pos/中将/出错/. # 修正词条 jieba.suggest_freq(('中', '将'), True) print('/'.join(jieba.cut(wod, HMM=False))) ## 如果/放到/pos/中/将/出错/. print('/'.join(jieba.cut(wod, HMM=True))) ## 如果/放到/pos/中/将/出错/. """ 获取TF-TDF最大的5个单词:取关键词 """ print('-------------------获取TF-TDF最大的5个单词:取关键词------------------') word_c2 = '在正义者联盟的电影里,嘻哈侠和蝙蝠侠联手打败了大boss,我高喊666,为他们疯狂打call!!!' print(jieba.analyse.extract_tags(word_c2, topK=5, withWeight=True))
Outup:
全模式 上海/自来/自来水/来自/于/上海/,/所以/吃/葡萄/不/吐/葡萄/皮
精确模式 上海/自来水/来自/于/上海/,/所以/吃/葡萄/不吐/葡萄/皮
搜索引擎模式 上海/自来/自来水/来自/于/上海/,/所以/吃/葡萄/不吐/葡萄/皮
自定义前的分词形式 我/为/机器/学习/疯狂/打/call
自定义后的分词形式 我/为/机器学习/疯狂/打call
-------------------导入自定义词典------------------
加载自定义词库前 在/正义者/联盟/的/电影/里/,/嘻哈侠/和/蝙蝠侠/联手/打败/了/大/boss/,/我/高喊/666/,/为/他们/疯狂/打call
加载自定义词库后 在/正义者联盟/的/电影/里/,/嘻哈侠/和/蝙蝠侠/联手/打败/了/大/boss/,/我/高喊/666/,/为/他们/疯狂/打call
-------------------数据词条切错,如何修正------------------
如果/放到/pos/中将/出错/.
如果/放到/pos/中将/出错/.
如果/放到/pos/中/将/出错/.
如果/放到/pos/中/将/出错/.
-------------------获取TF-TDF最大的5个单词:取关键词------------------
[('蝙蝠侠', 1.1583898043333334), ('正义者联盟', 0.9962306252416666), ('嘻哈侠', 0.9962306252416666), ('boss', 0.9962306252416666), ('666', 0.9962306252416666)]