使用Python实践哈工大LTP-Pyltp的安装及使用

@[使用Python实践哈工大LTP-Pyltp的安装及使用]

Pyltp安装及使用

1.VS配置不正确导致错误

我安装的是VS2017,但是环境变量配置有一定的问题,故通过pip安装LTP始终出现该问题

解决办法: 直接安装.whl文件(不需要编译环境)

2.安装.whl文件出现not support问题

pyltp对应的whl文件下载地址
windows下python下载地址

检查python版本支持 :下载上面的文件,解压。链接里的whl文件适用于64位的python。(如果自己的python为32位的版本,通过pip安装上面的whl文件将会提示whl文件not support)
下载安装64位的python:如果python版本不支持,可以到官网下载支持的python版本。(建议下载executable的版本,因为该版本安装的时候可以将需要的setuptools和pip一起安装)
一定要下载64位的。建议下载executable版本

3.通过pip安装

命令: pip install +(whl文件位置)

pip install D:\Software\pyltp_wheel\pyltp\pyltp-0.2.1-cp36-cp36m-win_amd64.whl

4.安装成功下载ltp的模型

ltp模型下载地址
下载解压到相应的位置

5.ltp的应用-以句法分析为例(先进行分词和词性标注)

# -*- coding: utf-8 -*-
from pyltp import Segmentor
from pyltp import Postagger
from pyltp import Parser

def word_splitter(sentence):
    """
    分词
    :param sentence:
    :return:
    """
    segmentor = Segmentor()  # 初始化实例
    segmentor.load('D:\Software\pyltp_wheel\LTPModel\ltp_data_v3.4.0\cws.model')  # 加载模型
    words = segmentor.segment(sentence)  # 分词
    words_list = list(words)
    print("分词结果:")
    print(words)
    for word in words_list:
        print(word)
    segmentor.release()  # 释放模型
    return words_list


def word_tag(words):
    """
    词性标注
    :param words: 已切分好的词
    :return:
    """
    postagger = Postagger()  # 初始化实例
    postagger.load('D:\Software\pyltp_wheel\LTPModel\ltp_data_v3.4.0\pos.model')  # 加载模型
    postags = postagger.postag(words)  # 词性标注
    print("词性标注结果:")
    for word, tag in zip(words, postags):
        print(word+':'+tag)
    postagger.release()  # 释放模型
    return postags

def parse(words, postags):
    """
    依存句法分析
    :param words:
    :param postags:
    :return:
    """
    parser = Parser()  # 初始化实例
    parser.load('D:\Software\pyltp_wheel\LTPModel\ltp_data_v3.4.0\parser.model')  # 加载模型
    arcs = parser.parse(words, postags)  # 句法分析
    print("句法分析结果:")
    print("\t".join("%d:%s" % (arc.head, arc.relation) for arc in arcs))
    parser.release()  # 释放模型

# 测试句法分析
words = word_splitter('我研究的方向是自然语言处理,所以想试试这个模型。')
tags = word_tag(words)
parse(words, tags)

猜你喜欢

转载自blog.csdn.net/weixin_38075257/article/details/83690584
今日推荐