Pull to refresh

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

Reading time2 min
Views11K
В этом посте я покажу, как воспользоваться 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.
Only registered users can participate in poll. Log in, please.
В какой области Вам был бы интересен анализ тональности?
65.33% Социальные медиа49
9.33% Корпоративные документы7
25.33% Личная переписка (e-mail)19
18.67% Чат14
56% Соц. сеть42
6.67% Свой вариант (пишите в комментариях)5
75 users voted. 52 users abstained.
Tags:
Hubs:
+9
Comments18

Articles