zoukankan      html  css  js  c++  java
  • 哈工大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 '	'.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 文档 )

  • 相关阅读:
    员工转正考核
    前端高级技术考察
    前端基础技术考察
    高级前端评定表
    初级前端评定表
    前端工程师等级评定
    前端软实力
    Decode Ways
    深度学习在目标跟踪中的应用
    Interleaving String
  • 原文地址:https://www.cnblogs.com/bymo/p/8574286.html
Copyright © 2011-2022 走看看