1. LTP介绍和安装
LTP语言云官网 在线演示 | 语言云(语言技术平台云 LTP-Cloud)
安装LTP的python接口包
$ sudo pip install pyltp
模型文件下载
2. 使用LTP的python接口进行语言分析
#!/usr/bin/env python # coding=utf-8 import sys reload(sys) sys.setdefaultencoding('utf8') import os from pyltp import Segmentor, Postagger, Parser class LtpLanguageAnalysis(object): def __init__(self, model_dir="/home/xxx/ltp-3.4.0/ltp_data/"): self.segmentor = Segmentor() self.segmentor.load(os.path.join(model_dir, "cws.model")) self.postagger = Postagger() self.postagger.load(os.path.join(model_dir, "pos.model")) self.parser = Parser() self.parser.load(os.path.join(model_dir, "parser.model")) def analyze(self, text): # 分词 words = self.segmentor.segment(text) print ' '.join(words) # 词性标注 postags = self.postagger.postag(words) print ' '.join(postags) # 句法分析 arcs = self.parser.parse(words, postags) print " ".join("%d:%s" % (arc.head, arc.relation) for arc in arcs) def release_model(self): # 释放模型 self.segmentor.release() self.postagger.release() self.parser.release() if __name__ == '__main__': ltp = LtpLanguageAnalysis() ltp.analyze("元芳你怎么看") ltp.release_model()
输出结果:
元芳 你 怎么 看 nh r r v 4:SBV 4:SBV 4:ADV 0:HED
通过LTP的在线演示demo可以看到对应的图结构如下:
(参考:pyltp 0.2.0 文档 )