赞
踩
举个栗子:
- 工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作
-
- ==>
-
- ['工信处', '女干事', '每月', '经过', '下属', '科室', '都', '要', '亲口', '交代', '24', '口', '交换机', '等', '技术性', '器件', '的', '安装', '工作']
jieba的安装:
pip install jieba
jieba的使用:
- >>> import jieba
- >>> content = "工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作"
- >>> jieba.cut(content, cut_all=False) # cut_all默认为False
- # 将返回一个生成器对象
- <generator object Tokenizer.cut at 0x7f065c19e318>
-
- # 若需直接返回列表内容, 使用jieba.lcut即可
- >>> jieba.lcut(content, cut_all=False)
- ['工信处', '女干事', '每月', '经过', '下属', '科室', '都', '要', '亲口', '交代', '24', '口', '交换机', '等', '技术性', '器件', '的', '安装', '工作']
- >>> import jieba
- >>> content = "工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作"
- >>> jieba.cut(content, cut_all=True) # cut_all默认为False
- # 将返回一个生成器对象
- <generator object Tokenizer.cut at 0x7f065c19e318>
-
- # 若需直接返回列表内容, 使用jieba.lcut即可
- >>> jieba.lcut(content, cut_all=True)
- ['工信处', '处女', '女干事', '干事', '每月', '月经', '经过', '下属', '科室', '都', '要', '亲口', '口交', '交代', '24', '口交', '交换', '交换机', '换机', '等', '技术', '技术性', '性器', '器件', '的', '安装', '安装工', '装工', '工作']
- >>> import jieba
- >>> content = "工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作"
- >>> jieba.cut_for_search(content)
- # 将返回一个生成器对象
- <generator object Tokenizer.cut at 0x7f065c19e318>
-
- # 若需直接返回列表内容, 使用jieba.lcut_for_search即可
- >>> jieba.lcut_for_search(content)
- ['工信处', '干事', '女干事', '每月', '经过', '下属', '科室', '都', '要', '亲口', '交代', '24', '口', '交换', '换机', '交换机', '等', '技术', '技术性', '器件', '的', '安装', '工作']
-
- # 对'女干事', '交换机'等较长词汇都进行了再次分词.
- >>> import jieba
- >>> content = "煩惱即是菩提,我暫且不提"
- >>> jieba.lcut(content)
- ['煩惱', '即', '是', '菩提', ',', '我', '暫且', '不', '提']
使用用户自定义词典:
添加自定义词典后, jieba能够准确识别词典中出现的词汇,提升整体的识别准确率
- 云计算 5 n
- 李小福 2 nr
- easy_install 3 eng
- 好用 300
- 韩玉赏鉴 3 nz
- 八一双鹿 3 nz
- >>> import jieba
- >>> jieba.lcut("八一双鹿更名为八一南昌篮球队!")
- # 没有使用用户自定义词典前的结果:
- >>> ['八', '一双', '鹿', '更名', '为', '八一', '南昌', '篮球队', '!']
-
-
- >>> jieba.load_userdict("./userdict.txt")
- # 使用了用户自定义词典后的结果:
- ['八一双鹿', '更名', '为', '八一', '南昌', '篮球队', '!']
hanlp的安装:
- # 使用pip进行安装
- pip install hanlp
使用hanlp进行中文分词:
- >>> import hanlp
- # 加载CTB_CONVSEG预训练模型进行分词任务
- >>> tokenizer = hanlp.load('CTB6_CONVSEG')
- >>> tokenizer("工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作")
- ['工信处', '女', '干事', '每', '月', '经过', '下', '属', '科室', '都', '要', '亲口', '交代', '24口', '交换机', '等', '技术性', '器件', '的', '安装', '工作']
使用hanlp进行英文分词:
- # 进行英文分词, 英文分词只需要使用规则即可
- >>> tokenizer = hanlp.utils.rules.tokenize_english
- >>> tokenizer('Mr. Hankcs bought hankcs.com for 1.5 thousand dollars.')
- ['Mr.', 'Hankcs', 'bought', 'hankcs.com', 'for', '1.5', 'thousand', 'dollars', '.']
举个栗子:
- 鲁迅, 浙江绍兴人, 五四新文化运动的重要参与者, 代表作朝花夕拾.
-
- ==>
-
- 鲁迅(人名) / 浙江绍兴(地名)人 / 五四新文化运动(专有名词) / 重要参与者 / 代表作 / 朝花夕拾(专有名词)
使用hanlp进行中文命名实体识别:
- >>> import hanlp
- # 加载中文命名实体识别的预训练模型MSRA_NER_BERT_BASE_ZH
- >>> recognizer = hanlp.load(hanlp.pretrained.ner.MSRA_NER_BERT_BASE_ZH)
- # 这里注意它的输入是对句子进行字符分割的列表, 因此在句子前加入了list()
- # >>> list('上海华安工业(集团)公司董事长谭旭光和秘书张晚霞来到美 国纽约现代艺术博物馆参观。')
- # ['上', '海', '华', '安', '工', '业', '(', '集', '团', ')', '公', '司', '董', '事', '长', '谭', '旭', '光', '和', '秘', '书', '张', '晚', '霞', '来', '到', '美', '国', '纽', '约', '现', '代', '艺', '术', '博', '物', '馆', '参', '观', '。']
- >>> recognizer(list('上海华安工业(集团)公司董事长谭旭光和秘书张晚霞来到美国纽约现代艺术博物馆参观。'))
- [('上海华安工业(集团)公司', 'NT', 0, 12), ('谭旭光', 'NR', 15, 18), ('张晚霞', 'NR', 21, 24), ('美国', 'NS', 26, 28), ('纽约现代艺术博物馆', 'NS', 28, 37)]
-
- # 返回结果是一个装有n个元组的列表, 每个元组代表一个命名实体, 元组中的每一项分别代表具体的命名实体, 如: '上海华安工业(集团)公司'; 命名实体的类型, 如: 'NT'-机构名; 命名实体的开始索引和结束索引, 如: 0, 12.
使用hanlp进行英文命名实体识别:
- >>> import hanlp
- # 加载英文命名实体识别的预训练模型CONLL03_NER_BERT_BASE_UNCASED_EN
- >>> recognizer = hanlp.load(hanlp.pretrained.ner.CONLL03_NER_BERT_BASE_UNCASED_EN))
- # 这里注意它的输入是对句子进行分词后的结果, 是列表形式.
- >>> recognizer(["President", "Obama", "is", "speaking", "at", "the", "White", "House"])
- [('Obama', 'PER', 1, 2), ('White House', 'LOC', 6, 8)]
- # 返回结果是一个装有n个元组的列表, 每个元组代表一个命名实体, 元组中的每一项分别代>表具体的命名实体, 如: 'Obama', 如: 'PER'-人名; 命名实体的开始索引和结束索引, 如: 1, 2.
举个栗子:
- 我爱自然语言处理
-
- ==>
-
- 我/rr, 爱/v, 自然语言/n, 处理/vn
-
- rr: 人称代词
- v: 动词
- n: 名词
- vn: 动名词
使用jieba进行中文词性标注:
- >>> import jieba.posseg as pseg
- >>> pseg.lcut("我爱北京天安门")
- [pair('我', 'r'), pair('爱', 'v'), pair('北京', 'ns'), pair('天安门', 'ns')]
-
- # 结果返回一个装有pair元组的列表, 每个pair元组中分别是词汇及其对应的词性, 具体词性含义请参照[附录: jieba词性对照表]()
使用hanlp进行中文词性标注:
- >>> import hanlp
- # 加载中文命名实体识别的预训练模型CTB5_POS_RNN_FASTTEXT_ZH
- >>> tagger = hanlp.load(hanlp.pretrained.pos.CTB5_POS_RNN_FASTTEXT_ZH)
- # 输入是分词结果列表
- >>> tagger(['我', '的', '希望', '是', '希望', '和平'])
- # 结果返回对应的词性
- ['PN', 'DEG', 'NN', 'VC', 'VV', 'NN']
使用hanlp进行英文词性标注:
- >>> import hanlp
- # 加载英文命名实体识别的预训练模型PTB_POS_RNN_FASTTEXT_EN
- >>> tagger = hanlp.load(hanlp.pretrained.pos.PTB_POS_RNN_FASTTEXT_EN)
- # 输入是分词结果列表
- >>> tagger(['I', 'banked', '2', 'dollars', 'in', 'a', 'bank', '.'])
- ['PRP', 'VBD', 'CD', 'NNS', 'IN', 'DT', 'NN', '.']
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。