展示型网站建设服务,用.net做网站好_还是用php,wordpress采集器,商品标题seo是什么意思本文将对三种中文分词工具进行使用尝试#xff0c;这三种工具分别为#xff1a;哈工大的LTP#xff0c;结巴分词以及北大的pkuseg。
1、准备
首先我们先准备好环境#xff0c;即需要安装三个模块#xff1a;
pyltpjiebapkusegLTP的分词模型文件cws.model
在用户字典中…本文将对三种中文分词工具进行使用尝试这三种工具分别为哈工大的LTP结巴分词以及北大的pkuseg。
1、准备
首先我们先准备好环境即需要安装三个模块
pyltpjiebapkusegLTP的分词模型文件cws.model
在用户字典中添加以下5个词语
经
少安
贺凤英
F-35战斗机
埃达尔·阿勒坎2、测试代码
# -*- coding: utf-8 -*-
import os
import jieba
import pkuseg
from pyltp import Segmentor
lexicon [经, 少安, 贺凤英, F-35战斗机, 埃达尔·阿勒坎] # 自定义词典# 哈工大LTP分词
def ltp_segment(sent):# 加载文件cws_model_path os.path.join(data/cws.model) # 分词模型路径模型名称为cws.modellexicon_path os.path.join(data/lexicon.txt) # 参数lexicon是自定义词典的文件路径segmentor Segmentor()segmentor.load_with_lexicon(cws_model_path, lexicon_path)words list(segmentor.segment(sent))segmentor.release()return words# 结巴分词
def jieba_cut(sent):for word in lexicon:jieba.add_word(word)return list(jieba.cut(sent))# pkuseg分词
def pkuseg_cut(sent):seg pkuseg.pkuseg(user_dictlexicon)words seg.cut(sent)return wordssent 尽管玉亭成家以后他老婆贺凤英那些年把少安妈欺负上一回又一回怕老婆的玉亭连一声也不敢吭但少安他妈不计较他。
#sent 据此前报道以色列于去年5月成为世界上第一个在实战中使用F-35战斗机的国家。
#sent 小船4月8日经长江前往小鸟岛。
#sent 1958年埃达尔·阿勒坎出生在土耳其首都安卡拉但他的求学生涯多在美国度过。print(ltp:, ltp_segment(sent))
print(jieba:, jieba_cut(sent))
print(pkuseg:, pkuseg_cut(sent))3、测试输出
3.1对于第1句话输出结果如下 原文: 尽管玉亭成家以后他老婆贺凤英那些年把少安妈欺负上一回又一回怕老婆的玉亭连一声也不敢吭但少安他妈不计较他。 ltp: [‘尽管’, ‘玉亭’, ‘成家’, ‘以后’, ‘’, ‘他’, ‘老婆’, ‘贺凤英’, ‘那些’, ‘年’, ‘把’, ‘少安’, ‘妈’, ‘欺负’, ‘上’, ‘一’, ‘回’, ‘又’, ‘一’, ‘回’, ‘’, ‘怕’, ‘老婆’, ‘的’, ‘玉亭’, ‘连’, ‘一’, ‘声’, ‘也’, ‘不’, ‘敢’, ‘吭’, ‘’, ‘但’, ‘少安’, ‘他妈’, ‘不’, ‘计较’, ‘他’, ‘。’] jieba: [‘尽管’, ‘玉亭’, ‘成家’, ‘以后’, ‘’, ‘他’, ‘老婆’, ‘贺凤英’, ‘那些’, ‘年’, ‘把’, ‘少安’, ‘妈’, ‘欺负’, ‘上’, ‘一回’, ‘又’, ‘一回’, ‘’, ‘怕老婆’, ‘的’, ‘玉亭’, ‘连’, ‘一声’, ‘也’, ‘不敢’, ‘吭’, ‘’, ‘但少安’, ‘他妈’, ‘不’, ‘计较’, ‘他’, ‘。’] pkuseg: [‘尽管’, ‘玉亭’, ‘成家’, ‘以后’, ‘’, ‘他’, ‘老婆’, ‘贺凤英’, ‘那些’, ‘年’, ‘把’, ‘少安’, ‘妈’, ‘欺负’, ‘上’, ‘一’, ‘回’, ‘又’, ‘一’, ‘回’, ‘’, ‘怕’, ‘老婆’, ‘的’, ‘玉亭’, ‘连’, ‘一’, ‘声’, ‘也’, ‘不’, ‘敢’, ‘吭’, ‘’, ‘但’, ‘少安’, ‘他妈’, ‘不’, ‘计较’, ‘他’, ‘。’] 3.2对于第2句话输出结果如下 原文: 据此前报道以色列于去年5月成为世界上第一个在实战中使用F-35战斗机的国家。 ltp: [‘据’, ‘此前’, ‘报道’, ‘’, ‘以色列’, ‘于’, ‘去年’, ‘5月’, ‘成为’, ‘世界’, ‘上’, ‘第一’, ‘个’, ‘在’, ‘实战’, ‘中’, ‘使用’, ‘F-35’, ‘战斗机’, ‘的’, ‘国家’, ‘。’] jieba: [‘据此’, ‘前’, ‘报道’, ‘’, ‘以色列’, ‘于’, ‘去年’, ‘5’, ‘月’, ‘成为’, ‘世界’, ‘上’, ‘第一个’, ‘在’, ‘实战’, ‘中’, ‘使用’, ‘F’, ‘-’, ‘35’, ‘战斗机’, ‘的’, ‘国家’, ‘。’] pkuseg: [‘据’, ‘此前’, ‘报道’, ‘’, ‘以色列’, ‘于’, ‘去年’, ‘5月’, ‘成为’, ‘世界’, ‘上’, ‘第一’, ‘个’, ‘在’, ‘实战’, ‘中’, ‘使用’, ‘F-35战斗机’, ‘的’, ‘国家’, ‘。’] 3.3对于第3句话输出结果如下 原文: 小船4月8日经长江前往小鸟岛。 ltp: [‘小船’, ‘4月’, ‘8日’, ‘经长江’, ‘前往’, ‘小鸟岛’, ‘。’] jieba: [‘小船’, ‘4’, ‘月’, ‘8’, ‘日经’, ‘长江’, ‘前往’, ‘小’, ‘鸟岛’, ‘。’] pkuseg: [‘小船’, ‘4月’, ‘8日’, ‘经’, ‘长江’, ‘前往’, ‘小鸟’, ‘岛’, ‘。’] 3.4对于第4句话输出结果如下 原文: 1958年埃达尔·阿勒坎出生在土耳其首都安卡拉但他的求学生涯多在美国度过。 ltp: [‘1958年’, ‘’, ‘埃达尔·阿勒坎’, ‘出生’, ‘在’, ‘土耳其’, ‘首都’, ‘安卡拉’, ‘’, ‘但’, ‘他’, ‘的’, ‘求学’, ‘生涯’, ‘多’, ‘在’, ‘美国’, ‘度过’, ‘。’] jieba: [‘1958’, ‘年’, ‘’, ‘埃’, ‘达尔’, ‘·’, ‘阿勒’, ‘坎’, ‘出生’, ‘在’, ‘土耳其’, ‘首都’, ‘安卡拉’, ‘’, ‘但’, ‘他’, ‘的’, ‘求学’, ‘生涯’, ‘多’, ‘在’, ‘美国’, ‘度过’, ‘。’] pkuseg: [‘1958年’, ‘’, ‘埃达尔·阿勒坎’, ‘出生’, ‘在’, ‘土耳其’, ‘首都’, ‘安卡拉’, ‘’, ‘但’, ‘他’, ‘的’, ‘求学’, ‘生涯’, ‘多’, ‘在’, ‘美国’, ‘度过’, ‘。’] 4、测试总结 用户词典方面LTP和pkuseg的效果都很好jieba的表现不尽如人意这主要是因为自定义的字典的词语里面含有标点符号关于该问题的解决办法可以参考网址https://blog.csdn.net/weixin_42471956/article/details/80795534 从第二句话的效果来看pkuseg的分词效果应该是最好的‘经’应该作为单个的词语切分出来而LTP和jieba即使加了自定义词典也没有效果同理‘F-35战斗机’也是类似的情形。 总的来说三者的分词效果都很优秀差距不是很大但在自定义词典这块无疑pkuseg的效果更加稳定些。 有关pkuseg的介绍与使用可以参考网址https://github.com/lancopku/PKUSeg-python