自然语言处理工具LTP语言云调用方法

简介:

前言

LTP语言云平台

      不支持离线调用;

  支持分词、词性标注、命名实体识别、依存句法分析、语义角色标注

  不支持自定义词表,但是你可以先用其他支持自定义分词的工具(例如中科院的NLPIR)把文本进行分词,再让ltp帮你标注

     支持C#、Go、Java、JavaScript、Nodejs、PHP、Python、R、Ruby等语言调用;  

     还有一些错误响应频率限制重要说明(这几个我至今也没用到);

正文

官方网址:http://www.ltp-cloud.com/

使用文档:http://www.ltp-cloud.com/document/

在线演示:http://www.ltp-cloud.com/demo/

各种语言调用实例可以到Github上下载:https://github.com/HIT-SCIR/ltp-cloud-api-tutorial

例如Python版本的:https://github.com/HIT-SCIR/ltp-cloud-api-tutorial/tree/master/Python

Step1:注册

这个网址申请一个API key,稍后会用到;

Step2:一个简单的例子(Python版)

(1)复制代码:从Github上复制一段代码(取决于你使用的语言和所需的功能)

(2)修改代码:

  <1>把 api_key = "YourApiKey" 中的 "YourApiKey" 修改成你Step1申请的API Key;

  <2>把 text = "我爱北京天安门" 修改成你要处理的文本;

  <3>根据需求设置不同的参数(其实只需要api_key,text,pattern,format四个参数就够了,仔细看下pattern):

   

复制代码
# -*- coding: utf-8 -*-
#!/usr/bin/env python

# This example shows how to use Python to access the LTP API to perform full
# stack Chinese text analysis including word segmentation, POS tagging, dep-
# endency parsing, name entity recognization and semantic role labeling and
# get the result in specified format.

import urllib2, urllib
import sys

if __name__ == '__main__':
    if len(sys.argv) < 2 or sys.argv[1] not in ["xml", "json", "conll"]:
        print >> sys.stderr, "usage: %s [xml/json/conll]" % sys.argv[0]
        sys.exit(1)

    uri_base = "http://ltpapi.voicecloud.cn/analysis/?"
    api_key  = "YourApiKey"
    text     = "我爱北京天安门"
    # Note that if your text contain special characters such as linefeed or '&',
    # you need to use urlencode to encode your data
    text     = urllib.quote(text)
    format   = sys.argv[1]
    pattern  = "all"

    url      = (uri_base
               + "api_key=" + api_key + "&"
               + "text="    + text    + "&"
               + "format="  + format  + "&"
               + "pattern=" + "all")

    try:
        response = urllib2.urlopen(url)
        content  = response.read().strip()
        print content
    except urllib2.HTTPError, e:
        print >> sys.stderr, e.reason
复制代码

Step3:运行

如果要批量处理txt或者xml文件,需要自己写一段批量处理的代码,下边是我之前项目中用到的一段批量处理某一目录下txt文件代码(就是加了一层循环和设置了一个输出):

复制代码
 1 # -*- coding: utf-8 -*-
 2 #!/usr/bin/env python
 3 
 4 # This example shows how to use Python to access the LTP API to perform full
 5 # stack Chinese text analysis including word segmentation, POS tagging, dep-
 6 # endency parsing, name entity recognization and semantic role labeling and
 7 # get the result in specified format.
 8 
 9 import urllib2, urllib
10 import sys
11 
12 if __name__ == '__main__':
13     uri_base = "http://ltpapi.voicecloud.cn/analysis/?"
14     api_key  = "7132G4z1HE3S********DSxtNcmA1jScSE5XumAI"
15 
16     f = open("E:\\PyProj\\Others\\rite_sentence.txt")
17     fw = open("E:\\PyProj\\Others\\rite_pos.txt",'w')
18 
19     line = f.readline()
20     while(line):
21         text     = line
22         # Note that if your text contain special characters such as linefeed or '&',
23         # you need to use urlencode to encode your data
24         text     = urllib.quote(text)
25         format   = "plain"
26         pattern  = "pos"
27 
28         url      = (uri_base
29                    + "api_key=" + api_key + "&"
30                    + "text="    + text    + "&"
31                    + "format="  + format  + "&"
32                    + "pattern=" + pattern)
33 
34         try:
35             response = urllib2.urlopen(url)
36             content  = response.read().strip()
37             print content
38             fw.write(line+content+'\n')
39         except urllib2.HTTPError, e:
40             print >> sys.stderr, e.reason
41         line = f.readline()
42     fw.close()
43     f.close()
复制代码

 '

本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/4585176.html,如需转载请自行联系原作者

相关文章
|
29天前
|
人工智能 自然语言处理
自然语言处理:电脑如何理解我们的语言?
自然语言处理:电脑如何理解我们的语言?
25 1
|
自然语言处理 Java API
阿里云自然语言处理--文本相似度(电商)Java SDK 调用示例
自然语言处理(Natural Language Processing,简称NLP),是为各类企业及开发者提供的用于文本分析及挖掘的核心工具,旨在帮助用户高效的处理文本,已经广泛应用在电商、文娱、司法、公安、金融、医疗、电力等行业客户的多项业务中,取得了良好的效果。文本相似度可以提供不同文本之间相似度的计算,并输出一个介于0到1之间的分数,分数越大则文本之间的相似度越高。可广泛应用于信息检索,新闻推荐、智能客服等场景。使用该服务建议分数不要用于直接判断,可以作为特征,并按照范围进行分桶。本文将使用Java Common SDK 演示文本相似度(电商)服务的快速调用以供参考。
649 0
阿里云自然语言处理--文本相似度(电商)Java SDK 调用示例
|
1月前
|
测试技术 API 智能硬件
语言模型在提升智能助手引用解析能力中的创新应用
【4月更文挑战第4天】苹果研究团队推出了ReALM,一种利用大型语言模型解决引用解析的新方法,提升智能助手理解用户意图和上下文的能力。ReALM将引用解析转化为语言建模问题,尤其擅长处理屏幕上的实体,比现有系统提升超5%,性能接近GPT-4但参数更少。其模块化设计易于集成,可在不同场景下扩展。然而,复杂查询处理和依赖上游数据检测器可能影响其准确性和稳定性。
67 6
语言模型在提升智能助手引用解析能力中的创新应用
|
5月前
|
机器学习/深度学习 自然语言处理
NLP自学习平台已经全面支持私有化部署
NLP自学习平台已经全面支持私有化部署
55 2
|
11月前
|
机器学习/深度学习 存储 自然语言处理
从零开始学习Java神经网络、自然语言处理和语音识别,附详解和简易版GPT,语音识别完整代码示例解析
从零开始学习Java神经网络、自然语言处理和语音识别,附详解和简易版GPT,语音识别完整代码示例解析
93 0
|
12月前
|
机器学习/深度学习 存储 达摩院
Python动物图像分割API简单调用实例演示,阿里达摩院视觉智能开放平台使用步骤
图像分割的目标是将图像中的像素分成不同的组或区域,使具有相似特征的像素属于同一组,从而实现目标对象的提取。常见的图像分割方法之一是语义分割(Semantic Segmentation)。 语义分割通过深度学习模型,如卷积神经网络(CNN),学习图像的特征表示,并生成像素级的分割结果。通常,语义分割使用全卷积网络(FCN)或其改进版本作为网络结构。编码器用于提取图像的特征表示,而解码器通过上采样操作将特征图还原到原始图像的尺寸,并生成分割结果。
232 0
|
12月前
|
机器学习/深度学习 数据采集 自然语言处理
自然语言处理概述及流程
自然语言处理概述及流程
|
机器学习/深度学习 存储 算法
基于深度学习的人脸识别与管理系统(UI界面增强版,Python代码)
基于深度学习的人脸识别与管理系统(UI界面增强版,Python代码)
297 0
|
机器学习/深度学习 人工智能 Kubernetes
人工智能AI库Spleeter免费人声和背景音乐分离实践(Python3.10)
在视频剪辑工作中,假设我们拿到了一段电影或者电视剧素材,如果直接在剪辑的视频中播放可能会遭遇版权问题,大部分情况需要分离其中的人声和背景音乐,随后替换背景音乐进行二次创作,人工智能AI库Spleeter可以帮我们完成大部分素材的人声和背景音乐的分离流程。 Spleeter的模型源来自最大的音乐网站Deezer,底层基于深度学习框架Tensorflow,它可以通过模型识别出素材中的背景音乐素材,从而判断出哪些是背景音乐,哪些是外部人声。
人工智能AI库Spleeter免费人声和背景音乐分离实践(Python3.10)
|
人工智能 语音技术 Python
腾讯ai, 长语音识别 python调用代码
腾讯ai, 长语音识别 python调用代码