命名实体识别

接口简介

命名实体识别接口是将语句中包含的命名实体标记出来,从而做进一步的业务开发。流程如下:

第一步、向服务器传入一段普通文本。
第二步、服务器接收传入文本,并进入HowNet知识库,进行多次循环解析。
第三步、通过多次循环解析,得到每个词语在语境中的语义。
第四步、根据语义标记出每一个命名实体,最终返回结果。在线体验>>

接口特性

命名实体识别接口目前系统支持人名、地名、机构名、(银行)卡号、账款、手机号、时间、日期、省、市、区、街道等命名实体的识别。

接口调用

调用信息

接 口 URL  http://yuzhinlp.com/api/getEntityRecg.do
请 求 方 式 POST
字 符 编 码 UTF-8
请 求 参 数 apiKey 注册用户的认证唯一标识,用户注册登录后即可看到 必填参数
input 需要分析的文本(长度尽量限制于500字以内) 必填参数
返 回 结 果 JSON字符串。若返回成功,则字符串为{"success": 结果 },
若返回失败,则字符串为{"error": 错误原因 }

调用演示

1、代码参考
import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import com.alibaba.fastjson.JSONObject;


public class ApiTest {
	public static void main(String[] args){
		//创建post请求
        CloseableHttpClient httpclient = HttpClients.createDefault();
        HttpPost httpPost = new HttpPost("http://yuzhinlp.com/api/getEntityRecg.do");
        //post请求传入参数
        List<NameValuePair> parameters = new ArrayList<NameValuePair>();
        parameters.add(new BasicNameValuePair("apiKey", YourAPIKey));
        parameters.add(new BasicNameValuePair("input", "你好!我需要查询一下2014年10月转账给建才(北京)信息技术有限公司的一笔三万块费用。"));
        CloseableHttpResponse response = null;
        try {
        	UrlEncodedFormEntity formEntity;
			formEntity = new UrlEncodedFormEntity(parameters, "UTF-8");//设置参数编码
        	httpPost.setEntity(formEntity);
            // 执行请求
            response = httpclient.execute(httpPost);
            // 判断返回状态是否为200
            if (response.getStatusLine().getStatusCode() == 200) {
            	//调用结果
            	String content = EntityUtils.toString(response.getEntity(), "UTF-8");
            	System.out.println(content);		            	
	         }
        } catch (Exception e) {
        	// TODO Auto-generated catch block
        	e.printStackTrace();
		} finally {
			try {  
	            if (response != null) {
	                response.close();
	            }
				httpclient.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        }
	}
}
							
2、返回结果
{
    "success": [
    {
        "expressionInSentence": "ROOT", 
        "unitId": "", 
        "partOfSpeech": ""
    }, 
    {
        "expressionInSentence": "你好", 
        "keyWord": "", 
        "unitId": "122414", 
        "partOfSpeech": "noun"
    }, 
    {
        "expressionInSentence": "!", 
        "keyWord": "", 
        "unitId": "010435", 
        "partOfSpeech": "pun"
    }, 
    ...
    {
        "expressionInSentence": "2014年10月", 
        "keyWord": "NER_Date", 
        "unitId": "003503", 
        "partOfSpeech": "noun"
    }, 
    {
        "expressionInSentence": "转账", 
        "keyWord": "", 
        "unitId": "212865", 
        "partOfSpeech": "verb"
    }, 
    {
        "expressionInSentence": "给", 
        "keyWord": "", 
        "unitId": "065102", 
        "partOfSpeech": "prep"
    }, 
    {
        "expressionInSentence": "建才(北京)信息技术有限公司", 
        "keyWord": "NER_CorpName", 
        "unitId": "196673", 
        "partOfSpeech": "noun"
    }, 
    {
        "expressionInSentence": "的", 
        "keyWord": "", 
        "unitId": "044802", 
        "partOfSpeech": "stru"
    }, 
    {
        "expressionInSentence": "一", 
        "keyWord": "", 
        "unitId": "188898", 
        "partOfSpeech": "num"
    }, 
    {
        "expressionInSentence": "笔", 
        "keyWord": "", 
        "unitId": "019505", 
        "partOfSpeech": "classifier"
    }, 
    {
        "expressionInSentence": "三万", 
        "keyWord": "NER_MoneyAmount", 
        "unitId": "140990", 
        "partOfSpeech": "num"
    }, 
    ...
	]
}							
							
3、分析结果名词对照表
名称 描述
expressionInSentence 输入文本经过词法处理后各定形词语在文本中排列的序号
partOfSpeech 当前词语的词性信息(英文)
unitId 词语在知网词典中的义项ID号
keyWord 命名体标识,若没有标识则为""字符串
4、keyWord值对照表
keyWord 对应命名实体
NER_PersonName 姓名
NER_CardNum 卡号
NER_PhoneNum 手机号
NER_MoneyAmount 账款
NER_CorpName 企业名称
NER_InsName 机构名称
NER_Time 时间
NER_Duration 时长
NER_Date 日期
NER_Province
NER_City
NER_District
NER_Road 街道
NER_Building 建筑