天天看點

百度雲知識圖譜(kg)

public class JavaAipKg {
    public static final String APP_ID = "***";
    public static final String API_KEY = "*****";
    public static final String SECRET_KEY = "************";

    public  static  JSONObject kg(String data,String token) {
        AipClientConfiguration cfg = new AipClientConfiguration();
        cfg.setConnectionTimeoutMillis(60000);
        cfg.setSocketTimeoutMillis(60000);
       try

    {
        AipRequest request = new AipRequest();
        request.setHttpMethod(HttpMethodName.POST);

        request.setUri(new URI("https://aip.baidubce.com/rpc/2.0/kg/v1/cognitive/entity_annotation?access_token="+token));
        request.addBody("data",String.format(data,"utf8"));
        request.setConfig(cfg);
        HashMap<String,String> header = new HashMap<>();
        header.put("content-type","application/json");
        request.setHeaders(header);
        request.setBodyFormat(EBodyFormat.RAW_JSON);
        int statusCode = 500;
        AipResponse response = null;

        for (int cnt = 0; statusCode == 500 && cnt < 3; ++cnt) {
            response = AipHttpClient.post(request);
            statusCode = response.getStatus();
        }

        String res = response.getBodyStr();
        return res != null && !res.equals("") ? new JSONObject(res) : Util.getGeneralError(statusCode, "Server response code: " + statusCode);
    } catch(
    URISyntaxException var8)

    {
        var8.printStackTrace();
        return Util.getGeneralError(-1, "unknown error");
    }
  }

    public static void main(String[] args) {
        //知識圖譜的測試
        JSONObject jsonObject = kg("{\"data\": \"騰訊公司\"}","24.6c3a2f3793ffa2083511bdebe659cbec.2592000.1530376229.282335-11332398");
        System.out.println(jsonObject.toString());
     //   {"log_id":1265057372545737422,"entity_annotation":[
        // {"offset":"2","confidence":"0.790435","concept":{
        // "level1":"語言文化","level2":"文字詞彙"},
        // "_bdbkKgId":"7096572","_bdbkUrl":"http://baike.baidu.com/item/data/7096572",
        // "mainReqRankList":"","status":"LINKED","mention":"data","desc":"英文單詞"},
        // {"offset":"10","confidence":"0.988495","concept":{
        // "level1":"機構組織,計算機","level2":"企業&公司,網站平台"},
        // "_bdbkKgId":"112204",
        // "_bdbkUrl":"http://baike.baidu.com/item/%E8%85%BE%E8%AE%AF/112204",
        // "mainReqRankList":"","status":"LINKED","mention":"騰訊公司","desc":"騰訊公司"}]}      
//另外 還可以通過他提供的 kg的操作類 來實作, 有待去研究
        AipKnowledgeGraphic  kg = new AipKnowledgeGraphic(APP_ID,API_KEY,SECRET_KEY);