ZH奶酪:自然语言处理工具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文件代码(就是加了一层循环和设置了一个输出):
# -*- 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__':
uri_base = "http://ltpapi.voicecloud.cn/analysis/?"
api_key = "7132G4z1HE3S********DSxtNcmA1jScSE5XumAI" f = open("E:\\PyProj\\Others\\rite_sentence.txt")
fw = open("E:\\PyProj\\Others\\rite_pos.txt",'w') line = f.readline()
while(line):
text = line
# 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 = "plain"
pattern = "pos" url = (uri_base
+ "api_key=" + api_key + "&"
+ "text=" + text + "&"
+ "format=" + format + "&"
+ "pattern=" + pattern) try:
response = urllib2.urlopen(url)
content = response.read().strip()
print content
fw.write(line+content+'\n')
except urllib2.HTTPError, e:
print >> sys.stderr, e.reason
line = f.readline()
fw.close()
f.close()
ZH奶酪:自然语言处理工具LTP语言云调用方法的更多相关文章
- python3使用ltp语言云
text="我爱自然语言处理." text=str(text) #text=urllib.quote(text) text=urllib.parse.quote(text) def ...
- ZH奶酪:Python中zip函数的使用方法
定义:zip([iterable, …]) zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些 tuples组成 ...
- ZH奶酪:JavaScript清空数组的三种方法
参考链接:http://snandy.iteye.com/blog/893955 方式1,length赋值为0 目前 Prototype中数组的 clear 方法和mootools库中数组的 empt ...
- 哈工大LTP语言分析:分词、词性标注、句法分析等
1. LTP介绍和安装 LTP语言云官网 在线演示 | 语言云(语言技术平台云 LTP-Cloud) 安装LTP的python接口包 $ sudo pip install pyltp 模型文件下载 ...
- ZH奶酪:哈工大LTP云平台标记含义及性能
从官网搬过来的 囧rz 哈工大讯飞语言云 由哈工大 和科大讯飞 联合研发的中文自然语言处理云服务平台.结合了哈工大“语言技术平台——LTP” 高效.精准的自然语言处理核心技术和讯飞公司在全国性大规模云 ...
- Python自然语言处理工具小结
Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...
- Python中调用自然语言处理工具HanLP手记
手记实用系列文章: 1 结巴分词和自然语言处理HanLP处理手记 2 Python中文语料批量预处理手记 3 自然语言处理手记 4 Python中调用自然语言处理工具HanLP手记 5 Python中 ...
- Python 的十个自然语言处理工具
原文 先mark,后续尝试. 1.NLTK NLTK 在用 Python 处理自然语言的工具中处于领先的地位.它提供了 WordNet 这种方便处理词汇资源的借口,还有分类.分词.除茎.标注.语法分析 ...
- 【HanLP】HanLP中文自然语言处理工具实例演练
HanLP中文自然语言处理工具实例演练 作者:白宁超 2016年11月25日13:45:13 摘要:HanLP是hankcs个人完成一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环 ...
随机推荐
- javascript组合继承
javascript继承有几种继承方式,现在来说说其中的组合继承. 组合继承是结合了原型链和借用构造函数这两种技术的继承方式,分别利用它们的长处,避免了短处.那就先说说这两种技术吧. 原型链 原型链 ...
- 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(一)GIS一张图的系统开发环境以及flexviewer框架
系统的GIS功能实现是基于arcgis api for flex,首先附上系统的主界面图,接下来的是对主界面的模块功能详细讲解: 一.GIS环境软件安装 (1)arcgis desktop的安装,要是 ...
- Linux系统NFS网络文件系统
Linux系统NFS网络文件系统 NFS(network file system)网络文件系统,就是通过网络让不同的主机系统之间可以共享文件或目录,此种方法NFS客户端使用挂载的方式让共享文件或目录到 ...
- Atitit。数据库 安全性 重要敏感数据加密存储解决方案
Atitit.数据库 安全性 重要敏感数据加密存储解决方案 1.1. 加密存储的重要性1 1.2. 使用的加密算法aes1 1.3. 数据加密以后会有一些问题.1 1.3.1. 一个是统计,比如统计资 ...
- iOS之ShareSDK实现分享、第三方登录等功能
(1)官方下载ShareSDK iOS 2.8.8,地址:http://sharesdk.cn/ (2)根据实际情况,引入相关的库,参考官方文档. (3)在项目的AppDelegate中一般情况下有三 ...
- n个元素的入栈顺序有多少种出栈顺序?
问题:w1.w2.w3.w4.w5,5个元素将会按顺序入栈,求出栈顺序有多少种情况. 先写一下结论方便记忆: 1个元素:1种 2个元素:2种 3个元素:5种 4个元素:14种 5个元素:42种 简单的 ...
- Java中怎么切换窗口
首先,创建一个窗口对象: eg: JFram frame = JFrame();//创建一个窗体 frame.setVisible(true);//设置窗体可见,默认不可见 然后编写相关应用或组件… ...
- 搭建 OpenStack 实验环境 - 每天5分钟玩转 OpenStack(16)
在学习 OpenStack 各服务之前,让我们先搭建起一个实验环境. 毋庸置疑,一个看得到摸得着而且允许我们随便折腾的 OpenStack 能够提高我们的学习效率. 因为是我们自己学习用的实验环境,C ...
- Start Instance 操作详解 - 每天5分钟玩转 OpenStack(31)
本节通过日志文件详细分析 instance start 操作. 下面是 start instance 的流程图 向 nova-api 发送请求 nova-api 发送消息 nova-compute 执 ...
- 关于Thinkcmf中热门文章的使用
今天在做一个首页新闻列表页面的功能时候,因为要读取大量的新闻内容列表.如果每条数据都要从数据按照文章id和term_id来对应取值,无疑是很痛苦的. 然而机智如我,发现cmf框架中热门文章的用法: 在 ...