API / инструмент для анализа настроений для Java

#java #sentiment-analysis

#java #анализ настроений

Вопрос:

Я пишу программу на Java, и мне нужно проанализировать небольшие фрагменты текста (3-4 предложения, перефразированные новостные статьи) на предмет их настроений. Мне просто нужно знать, является ли статья в целом положительной, негативной или нейтральной.

Например, следующее в идеале было бы классифицировано как положительное:

Продажи электронных книг Kindle на Amazon стремительно растут. Amazon.com заявляет, что продает больше электронных книг для своего электронного устройства чтения Kindle, чем печатных изданий в мягкой обложке вместе взятых

Все, что мне нужно, это очень простое и быстрое в реализации стороннее решение, которое я могу использовать в своей программе. Это не обязательно должно быть абсолютно точным все время. Лицензии и т.д. Не являются проблемой, если есть возможность отслеживать решение.

Пока что я нашел потенциально хорошее решение, AlchemyAPI, но мне трудно его реально использовать.

Если кто-нибудь сталкивался с этой проблемой раньше и знает особенно хорошее / простое решение или действительно хороший учебник, я был бы очень благодарен 🙂

(Также я приношу извинения за отсутствие кода в этом вопросе.)

Комментарии:

1. «Я прошу прощения за отсутствие кода в этом вопросе». Есть комментарии по поводу отсутствия вопроса? 😉

Ответ №1:

я только что протестировал AlchemyAPI. это не на 100% точно, но я предполагаю, что такого рода технологии все еще находятся в зачаточном состоянии.

вам нужно будет зарегистрироваться (бесплатно), чтобы получить ключ api.

вот пример использования: http://access.alchemyapi.com/calls/text/TextGetTextSentiment?apikey=<insert your api key>amp;sentiment=1amp;showSourceText=1amp;text=Kindle e-book sales soar for Amazon. Amazon.com says it is selling more e-books for its Kindle electronic reading device than paperback and hardback print editions combined

входные данные являются:

  1. настрой = 1
  2. showSourceText=1
  3. текст (я использовал ваш образец текста в кодировке uri)

я получил следующий результат (нейтральное настроение вместо ожидаемого положительного настроения):

 <?xml version="1.0" encoding="UTF-8"?>
<results>    
    <status>OK</status>    
    <usage>By accessing AlchemyAPI or using information generated by AlchemyAPI, you are agreeing to be bound by the AlchemyAPI Terms of Use: http://www.alchemyapi.com/company/terms.html</usage>    
    <url></url>    
    <language>english</language>    
    <text>Kindle e-book sales soar for Amazon. Amazon.com says it is selling more e-books for its Kindle electronic reading device than paperback and hardback print editions combined</text>    
    <docSentiment>    
        <type>neutral</type>    
    </docSentiment>    
</results>
  

другой пример использования: http://access.alchemyapi.com/calls/text/TextGetTextSentiment?apikey=<insert your api key>amp;sentiment=1amp;showSourceText=1amp;text=kindle is amazing

и вывод:

 <?xml version="1.0" encoding="UTF-8"?>    
<results>    
    <status>OK</status>    
    <usage>By accessing AlchemyAPI or using information generated by AlchemyAPI, you are agreeing to be bound by the AlchemyAPI Terms of Use: http://www.alchemyapi.com/company/terms.html</usage>    
    <url></url>    
    <language>english</language>    
    <text>kindle is amazing</text>    
    <docSentiment>    
        <type>positive</type>    
        <score>0.283568</score>    
    </docSentiment>    
</results>
  

Комментарии:

1. как я могу использовать AlchemyAPI в java?

2. Я тоже ищу то же самое. Не могли бы вы, пожалуйста, сказать мне, как написать это на java?

Ответ №2:

Java SDK для Alchemy API находится здесь:

http://www.alchemyapi.com/developers/sdks/

Пример Java-кода, использующего Alchemy API, находится здесь:

https://gate.ac.uk/gate/plugins/AlchemyAPI/src/com/alchemyapi/api/AlchemyAPI.java

Вот еще один:

https://github.com/RubenVerborgh/Refine-NER-Extension/blob/master/src/org/freeyourmetadata/ner/services/AlchemyAPI.java

Вот Java-клиент через LikeColor:

https://github.com/likethecolor/Alchemy-API

Ответ №3:

В 2018 году появится еще так много API для анализа настроений! 🙂 В зависимости от необходимых вам функций или языка текста, вы можете использовать один из этих:

  • LexSent от hyindao в Algorithmia
  • Анализ настроений от mtman в Algorithmia
  • Анализ настроений от nlu в Algorithmia
  • Анализ социальных настроений от nlu в Algorithmia
  • Веб-службы Amazon понимают
  • Анализ текста Aylien
  • Бозонный анализ настроений NLP
  • Естественный язык Google Cloud
  • IBM Watson NLU
  • Что означает анализ настроений в облаке
  • Текстовая аналитика Microsoft Cognitive Services
  • Переустановите текстовую аналитику
  • Язык Salesforce Einstein
  • Анализ настроений с двумя словами
  • Тезис предшествует

Для языковой поддержки, сравнения функций и цен я бы сослался на эту статью.

Ответ №4:

Если вам нужна более высокая точность анализа настроений, вы можете самостоятельно обучить свою модель, напримерhttps://text2data.com/Sentiment-Model-Training