当前位置:   article > 正文

使用Python实践哈工大LTP-Pyltp的安装及使用_哈工大ltp没法正常使用

哈工大ltp没法正常使用

@[使用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
  • 1

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/637587
推荐阅读
相关标签
  

闽ICP备14008679号