#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
- showSourceText=1
- текст (я использовал ваш образец текста в кодировке 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
Вот еще один:
Вот Java-клиент через LikeColor:
Ответ №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