赞
踩
首先激活你的虚拟环境,然后输入下面语句即可,如果出现问题的话可以更换为清华源。
pip install pyltp
然后下载你自己所需要的ltp模型,这里附上3.4.0版本的
http://model.scir.yunfutech.com/model/ltp_data_v3.4.0.zip
- import pyltp
- import torch
- from pyltp import SentenceSplitter
- sents = SentenceSplitter.split('元芳你怎么看?我就趴窗口上看呗!') # 分句
- print( '\n'.join(sents))
- # -*- coding: utf-8 -*-
- import os
- #print(os.getcwd())
- LTP_DATA_DIR = 'F:\Torrch_learn\pyltp\ltp_data_v3.4.0' # ltp模型目录的路径
- cws_model_path = os.path.join(LTP_DATA_DIR, 'cws.model') # 分词模型路径,模型名称为`cws.model`
- print(cws_model_path)
-
- from pyltp import Segmentor
- segmentor = Segmentor() # 初始化实例
- segmentor.load(cws_model_path) # 加载模型
- words = segmentor.segment('元芳你怎么看') # 分词
- #print(list(words))
- print( '\t'.join(words))
- segmentor.release() # 释放模型
pyltp 分词支持用户使用自定义词典。分词外部词典本身是一个文本文件(plain text),每行指定一个词,编码同样须为 UTF-8,样例如下所示
- 苯并芘
- 亚硝酸盐
- # -*- coding: utf-8 -*-
- import os
- LTP_DATA_DIR = 'F:\Torrch_learn\pyltp\ltp_data_v3.4.0' # ltp模型目录的路径
- cws_model_path = os.path.join(LTP_DATA_DIR, 'cws.model') # 分词模型路径,模型名称为`cws.model`
-
- from pyltp import Segmentor
- segmentor = Segmentor() # 初始化实例
- segmentor.load_with_lexicon(cws_model_path, 'F:\Torrch_learn\pyltp\ltp_data_v3.4.0⃐\lexicon.txt') # 加载模型,第二个参数是您的外部词典文件路径
- words = segmentor.segment('亚硝酸盐是一种化学物质')
- print ('\t'.join(words))
- segmentor.release()
- # -*- coding: utf-8 -*-
- import os
- LTP_DATA_DIR = 'F:\Torrch_learn\pyltp\ltp_data_v3.4.0' # ltp模型目录的路径
- pos_model_path = os.path.join(LTP_DATA_DIR, 'pos.model') # 词性标注模型路径,模型名称为`pos.model`
-
- from pyltp import Postagger
- postagger = Postagger() # 初始化实例
- postagger.load(pos_model_path) # 加载模型
-
- words = ['元芳', '你', '怎么', '看'] # 分词结果
- postags = postagger.postag(words) # 词性标注
- res = zip(words,list(postags))
- for r in res:
- print(r)
- print( '\t'.join(postags))
- postagger.release() # 释放模型
-
相连;O标签后没有类型标签- # -*- coding: utf-8 -*-
- import os
- LTP_DATA_DIR = 'F:\Torrch_learn\pyltp\ltp_data_v3.4.0' # ltp模型目录的路径
- ner_model_path = os.path.join(LTP_DATA_DIR, 'ner.model') # 命名实体识别模型路径,模型名称为`pos.model`
-
- from pyltp import NamedEntityRecognizer
- recognizer = NamedEntityRecognizer() # 初始化实例
- recognizer.load(ner_model_path) # 加载模型
-
- words = ['元芳', '你', '怎么', '看']
- postags = ['nh', 'r', 'r', 'v']
- netags = recognizer.recognize(words, postags) # 命名实体识别
- res = zip(words,list(netags))
- for r in res:
- print(r)
- print ('\t'.join(netags))
- recognizer.release() # 释放模型
arc.head
表示依存弧的父节点词的索引。ROOT节点的索引是0,第一个词开始的索引依次为1、2、3…arc.relation
表示依存弧的关系。arc.head
表示依存弧的父节点词的索引,arc.relation
表示依存弧的关系- # -*- coding: utf-8 -*-
- import os
- LTP_DATA_DIR = '/path/to/your/ltp_data' # ltp模型目录的路径
- par_model_path = os.path.join(LTP_DATA_DIR, 'parser.model') # 依存句法分析模型路径,模型名称为`parser.model`
-
- from pyltp import Parser
- parser = Parser() # 初始化实例
- parser.load(par_model_path) # 加载模型
-
- words = ['元芳', '你', '怎么', '看']
- postags = ['nh', 'r', 'r', 'v']
- arcs = parser.parse(words, postags) # 句法分析
-
- print "\t".join("%d:%s" % (arc.head, arc.relation) for arc in arcs)
- parser.release() # 释放模型
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。