Введение
В этой статье я проведу вас, как создать простой проект анализа настроений с использованием Python и NLTK.
Что такое анализ настроений?
Анализ настроений – это процесс вывода эмоций от некоторых средств массовой информации, таких как текст, изображение или видео. Это широко используется в различных областях. Большинство крупных политических партий используют анализ настроений, чтобы проверить восприятие своих кандидатов среди общественности, чтобы оценить их вероятность победы.
Как сделать анализ настроений?
Анализ настроений стал простым из-за таких библиотек, как NLTK, используя эту библиотеку.
В этом примере я буду использовать модель под названием Vader (валентный словарь, осведомленное о валентности для рассуждений с чувствами). Он обучен коротким текстам, похожим на те, которые мы видим в Твиттере, и он чрезвычайно мощный в идентификации сленга, но будет бороться при использовании с большим текстом.
Давайте прыгнем в код
# sentiment.py import nltk text = "This is a very nice day" nltk.download('vader_lexicon') from nltk.sentiment.vader import SentimentIntensityAnalyzer sid = SentimentIntensityAnalyzer() score = ((sid.polarity_scores(str(text))))['compound'] if(score > 0): label = 'This sentence is positive' elif(score == 0): label = 'This sentence is neutral' else: label = 'This sentence is negative' print(label)
Теперь вы можете запустить приведенный выше код
python sentiment.py
Действительно просто, верно? Вы можете поиграть с этим, изменив текст.
Давайте теперь развертываем это с помощью колбы.
Развертывание модели анализа настроений с использованием колбы
Flask-это микро-образная работа, используемая для очень быстрого создания веб-сайтов с очень небольшим количеством строк кода. Это один из популярных и предпочтительных средств, используемых учеными данных, чтобы показать свои выводы для обычных людей.
Вот как будет выглядеть наше готовое веб -приложение
ШАГ 1
Создайте новую папку, чтобы сохранить проект. Файлы, которые нам нужны
main.py
– Вот где инициализируется сервер Flask и Vaderшаблоны/index.html
– Мы можем использовать пользовательские HTML -файлы вместе с колбами, чтобы придать финальной веб -странице хороший вид.
Шаг – 2 Скопируйте код в соответствующие файлы
# main.py import nltk from flask import request from flask import jsonify from flask import Flask, render_template app = Flask(__name__) @app.route('/') def my_form(): return render_template('index.html') @app.route('/', methods=['POST']) def my_form_post(): text = request.form['text'] nltk.download('vader_lexicon') from nltk.sentiment.vader import SentimentIntensityAnalyzer sid = SentimentIntensityAnalyzer() score = ((sid.polarity_scores(str(text))))['compound'] if(score > 0): label = 'This sentence is positive' elif(score == 0): label = 'This sentence is neutral' else: label = 'This sentence is negative' return(render_template('index.html', variable=label)) if __name__ == "__main__": app.run(port='8088', threaded=False, debug=True)
// index.htmlsentiment analysis app Sentiment Analysis App
Type a sentence, click on the submit button and wait for your prediction.
{{ variable }}
ШАГ 3
Теперь вы можете запустить сервер, запустив основной файл.
Посетите URL -адрес, указанный при запуске основного файла.
Вуаля !! Вот и все, теперь, как следующий шаг, вы можете провести это на таких платформах, как Heroku, как любой другой веб -сайт.
Оригинал: “https://dev.to/milindsoorya/sentiment-analysis-using-python-and-nltk-26l1”