2019独角兽企业重金招聘Python工程师标准>>>
为了实现对评论内容的分析,筛选出好评与差评,调研百度AI自然语言的情感倾向分析接口
package com.Takeaway.tools; import java.util.HashMap; import com.baidu.aip.nlp.AipNlp; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; /** * 对评论进行情感分析 * * @author Waitforyou * */ public class Sentimentanalysis { public static final String APP_ID = "*****"; public static final String API_KEY = "********"; public static final String SECRET_KEY = "**********"; private static AipNlp instance = null; public static synchronized AipNlp getInstance() { if (instance == null) { instance = new AipNlp(APP_ID, API_KEY, SECRET_KEY); } return instance; } public static String Startanalysis(String Analysis) { // 新建一个AipNlp,初始化完成后建议单例使用,避免重复获取access_token: // AipNlp client = new AipNlp(APP_ID, API_KEY, SECRET_KEY); AipNlp client = getInstance(); AipNlp client2 = getInstance(); System.out.println("" + client.equals(client2)); // 检验单例使用 // 可选:设置网络连接参数 client.setConnectionTimeoutInMillis(2000); client.setSocketTimeoutInMillis(60000); // 可选:设置代理服务器地址, http和socket二选一,或者均不设置 // client.setHttpProxy("proxy_host", proxy_port); // 设置http代理 // client.setSocketProxy("proxy_host", proxy_port); // 设置socket代理 // 可选:设置log4j日志输出格式,若不设置,则使用默认配置 // 也可以直接通过jvm启动参数设置此环境变量 // System.setProperty("aip.log4j.conf", // "path/to/your/log4j.properties"); // 传入可选参数调用接口 HashMapoptions = new HashMap (); // 情感倾向分析 org.json.JSONObject res = client.sentimentClassify(Analysis, options); System.out.println(res.toString(2)); JsonParser parser = new JsonParser(); JsonObject object = (JsonObject)parser.parse(res.toString()); JsonArray array = object.get("items").getAsJsonArray(); JsonObject suJsonObject = array.get(0).getAsJsonObject(); if(Integer.parseInt(suJsonObject.get("sentiment").getAsString())==0){ return "差评"; }else if(Integer.parseInt(suJsonObject.get("sentiment").getAsString())==1){ return "一般"; }else if(Integer.parseInt(suJsonObject.get("sentiment").getAsString())==2){ return "好评"; }else{ return ""; } } }
返回示例
{ "text":"苹果是一家伟大的公司", "items":[ { "sentiment":2, //表示情感极性分类结果 "confidence":0.40, //表示分类的置信度 "positive_prob":0.73, //表示属于积极类别的概率 "negative_prob":0.27 //表示属于消极类别的概率 } ] }
返回参数说明