Semantics
Java
API
10 July 2015

Анализ тональности в социальных медиа на русском языке при помощи RussianSentimentAnalyzer API

В этом посте я покажу, как воспользоваться API анализа тональности в социальных медиа на русском языке. Одной из отличительных фич системы является возможность определять тональность по отношению к заданному объекту мониторинга. Проиллюстрирую на примере:

Мне нравится телефон X, но телефон Y ужасен.


Логично ожидать, что если мы интересуемся телефонами X, то хотим получить позитивную метку тональности. И негативную для телефона Y. Именно такой результат вы получите, введя это предложение на сайте www.mashape.com/dmitrykey/russiansentimentanalyzer (понадобится регистрация) и указав в качестве объектов X либо Y.

Ниже вы найдёте пример кода на Java, который позволяет легко подключиться к API, послать запрос и получить результат. Этот и другие примеры взаимодействия с нашими системами можно найти на нашем гитхабе.

package com.semanticanalyzer;

import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.JsonNode;
import com.mashape.unirest.http.Unirest;
import com.mashape.unirest.http.exceptions.UnirestException;

public class RussianSentimentAnalyzerMashapeClient {

    private final static String mashapeKey = "ВАШ_MASHAPE_KEY_ЗДЕСЬ";

    public static void main(String[] args) throws UnirestException {

        String textToAnnotate = "'ВТБ кстати неплохой банк)'";
        String targetObject = "'ВТБ'";

        // These code snippets use an open-source library. http://unirest.io/java
        HttpResponse response = Unirest.post("https://russiansentimentanalyzer.p.mashape.com/ru/sentiment/polarity/json/")
                .header("X-Mashape-Key", mashapeKey)
                .header("Content-Type", "application/json")
                .header("Accept", "application/json")
                .body("{'text':" + textToAnnotate + ",'object_keywords':" + targetObject + ",'output_format':'json'}")
                .asJson();

        System.out.println("Input text = " + textToAnnotate + "\n" + "Target object: " + targetObject);
        System.out.println("RussianSentimentAnalyzer response:" + response.getBody().toString());
    }
}


Если запрос обработался успешно, то система выдаст следующий результат:

Input text = 'ВТБ кстати неплохой банк)'
Target object: 'ВТБ'
RussianSentimentAnalyzer response:{"sentiment":"POSITIVE","synonyms":"[ВТБ]"}


Помимо Java на сайте API можно найти примеры для других языков: Node, PHP, Python, Objective-C, Ruby и .NET.
В какой области Вам был бы интересен анализ тональности?
66.6% Социальные медиа 48
9.7% Корпоративные документы 7
26.3% Личная переписка (e-mail) 19
19.4% Чат 14
56.9% Соц. сеть 41
5.5% Свой вариант (пишите в комментариях) 4
72 users voted. 52 users abstained.

+9
9.9k 64
Comments 18