当前位置:   article > 正文

LTP使用说明_ltp.segmentor()中文路径

ltp.segmentor()中文路径

分句 - Sentence Splitter

from pyltp import SentenceSplitter
sentence = SentenceSplitter.split('我是逗号,我是句号。我是问号?我是感叹号!')
print '\n'.join(sentence)
  • 1
  • 2
  • 3

分词 - Segmentor

import os
LTP_DATA_DIR = '/path/to/your/ltp_data'  # ltp模型目录的路径
cws_model_path = os.path.join(LTP_DATA_DIR, 'cws.model')  # 分词模型路径,模型名称为`cws.model`

from pyltp import Segmentor
segmentor = Segmentor()  # 初始化实例
segmentor.load(cws_model_path)  # 加载模型
words = segmentor.segment('欧几里得是西元前三世纪的希腊数学家。')  # 分词
print ' '.join(words)
segmentor.release()  # 释放模型
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

这里可以添加用户自定义词典

segmentor = Segmentor()  # 初始化实例
segmentor.load_with_lexicon(cws_model_path, '/path/to/your/lexicon') # 加载模型,参数lexicon是自定义词典的文件路径
words = segmentor.segment('欧几里得是西元前三世纪的希腊数学家。')
print ' '.join(words)
segmentor.release()
  • 1
  • 2
  • 3
  • 4
  • 5

词性标注 - Postagger

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)  # 词性标注

print ' '.join(postags)
postagger.release()  # 释放模型
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

命名实体识别 - Named Entity Recognizer

ner_model_path = os.path.join(LTP_DATA_DIR, 'ner.model')  # 命名实体识别模型路径,模型名称为`ner.model`

from pyltp import NamedEntityRecognizer
recognizer = NamedEntityRecognizer() # 初始化实例
recognizer.load(ner_model_path)  # 加载模型

words = ['欧几里得', '是', '西元前', '三', '世纪', '的', '希腊', '数学家', '。']
postags = ['nh', 'v', 'nt', 'm', 'n', 'u', 'ns', 'n', 'wp']
nertags = recognizer.recognize(words, postags)  # 命名实体识别

print ' '.join(nertags)
recognizer.release()  # 释放模型
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

依存句法分析 - Parser

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', 'v', 'nt', 'm', 'n', 'u', 'ns', 'n', 'wp']
arcs = parser.parse(words, postags)  # 句法分析

rely_id = [arc.head for arc in arcs]    # 提取依存父节点id
relation = [arc.relation for arc in arcs]   # 提取依存关系
heads = ['Root' if id == 0 else words[id-1] for id in rely_id]  # 匹配依存父节点词语

for i in range(len(words)):
    print relation[i] + '(' + words[i] + ', ' + heads[i] + ')'

parser.release()  # 释放模型
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/637586
推荐阅读
相关标签
  

闽ICP备14008679号