ltp-cloud是一款功能强大的基于云服务平台的中文处理工具,该服务调用简单,返回结果格式多样,这里以jquery+json为例来说明。官方在github也提供了一份简单的使用示例,但是它只是获取了json格式的字符串,并没有对json数据进行解析。本文弥补了这一不足。具体代码如下:
注:本例以获取词性标注为例,您可以根据自己的需要调整调用ltp的url,相应地success方法中的解析代码也要做调整
<html>
<head>
<meta charset="UTF-8"/>
<title>jQuery 调用 LTP_Cloud</title>
<script src="js/jquery-1.9.1.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
$("#submit").click(function(){
var mytext=$("#userText").val();//获取用户输入的文本
//生成访问ltp的url,可根据您的实际情况,修改api_key,pattern,format的值
var ltpurl="http://ltpapi.voicecloud.cn/analysis/?api_key=yourapi_key &text="+mytext+"&pattern=pos&format=json";
$.ajax({
type: "get",
async: false,
dataType: 'jsonp',// 这个地方一定要注意,不是普通的json,而是jsonp,实现跨域数据访问
url : ltpurl,
success: function(data) {
//利用循环遍历json数据
//因为返回的json数据外面包裹着两层[],所以要用data[0][0]来访问内层包含的数据
for(i=0;i<data[0][0].length;i++)//
{
//将解析出的结果添加到窗口标签中
$("#result").append("<li>"+data[0][0][i]['id']+" "+data[0][0][i]['cont']+" "+data[0][0][i]['pos']+"</li>");
}
}
});
});
})
</script>
</head>
<body>
<input type="text" id="userText" name="userText" value="我是中国人。" />
<input type="button" id="submit" name="submit" value="GO" />
<ul id="result"></ul>
</body>
</html>
结果如下: