哈工大LTP語言分析:分詞、詞性標注、句法分析等


1. LTP介紹和安裝

LTP語言雲官網  在線演示 | 語言雲(語言技術平台雲 LTP-Cloud)

 

安裝LTP的python接口包

$ sudo pip install pyltp

 

模型文件下載

LTP 3.3 文檔 百度雲

 

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 '\t'.join(words)

        # 詞性標注
        postags = self.postagger.postag(words)
        print '\t'.join(postags)

        # 句法分析
        arcs = self.parser.parse(words, postags)
        print "\t".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 文檔 )


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM