Анализ настроений - это процесс компьютерной идентификации и категоризации мнений, выраженных в фрагменте текста, особенно для определения того, является ли отношение автора к определенной теме, продукту и т. д. положительным, отрицательным или нейтральным. . - Википедия
В этой статье я покажу вам, как создать свою собственную программу, чтобы определить, является ли статья на веб-сайте положительной, отрицательной или нейтральной, с использованием языка программирования Python.
Если вы предпочитаете не читать этот пост и хотите его видеопрезентацию, вы можете проверить Видео YouTube ниже. В нем подробно рассказывается обо всем, что описано в этой статье, и он поможет вам легко начать программировать собственную программу анализа настроений в статье, даже если на вашем компьютере не установлен язык программирования Python. Или вы можете использовать оба в качестве дополнительных материалов для обучения!
Программирование
Первое, что я люблю делать перед написанием единственной строчки кода, - это помещать в комментарии описание того, что делает код. Таким образом, я могу оглянуться на свой код и точно знать, что выполняет программа.
# Get the sentiment of articles from the internet
Возможно, вам сначала потребуется установить пакеты.
pip install newspaper3k pip install nltk pip install textblob
Далее мы импортируем библиотеки.
#Import the libraries from textblob import TextBlob import nltk from newspaper import Article
Теперь мы добавим URL-адрес веб-сайта, который содержит статью / текст, который мы хотим очистить, а затем сохраним его в переменной.
#Get the article url = 'https://everythingcomputerscience.com/' article = Article(url)
Как только у нас есть URL-адрес веб-сайта, нам нужно загрузить HTML-содержимое URL-адреса, проанализировать статью, загрузить токенизатор предложения и извлечь ключевые слова.
Звучит сложнее, чем есть на самом деле, библиотеки сделают этот процесс простым и легким.
# Do some NLP article.download() #Downloads the link’s HTML content article.parse() #Parse the article nltk.download('punkt')#1 time download of the sentence tokenizer article.nlp()# Keyword extraction wrapper
Давайте напечатаем текстовое резюме, чтобы увидеть, о чем этот сайт / статья.
text = article.summary #print text print(text)
Компьютерные науки (CS) Компьютерные науки (CS) - это изучение принципов и использования компьютеров. Проще говоря, это наука, которая занимается теорией и методами обработки информации в цифровых компьютерах, проектированием компьютерного оборудования и программного обеспечения, а также приложениями компьютеров. Компьютер - это просто инструмент для ученого-информатика, как телескоп для астронома. Учитесь!
Теперь мы напечатаем тональность обобщенного текста, чтобы увидеть, как автор этого сайта думает о теме.
obj = TextBlob(text) #returns the sentiment of text #by returning a value between -1.0 and 1.0 sentiment = obj.sentiment.polarity print(sentiment)
Цифры отлично подходят для получения тональности текста, но иногда люди просто хотят знать, был ли веб-сайт / статья положительным, отрицательным или нейтральным по теме. Итак, мы это покажем.
if sentiment == 0: print('The text is neutral') elif sentiment > 0: print('The text is positive') else: print('The text is negative')
Заключение и ресурсы
Вот и все, ваша программа создана!
Опять же, если хотите, можете посмотреть и послушать, как я объясняю весь код в моем YouTube-видео .
Если вам интересно узнать больше о машинном обучении, чтобы сразу приступить к работе с проблемами и примерами, я рекомендую вам прочитать Практическое машинное обучение с помощью Scikit-Learn и TensorFlow: концепции, инструменты и методы для создания интеллектуальных систем.
Это отличная книга, которая поможет новичкам научиться писать программы машинного обучения и понимать концепции машинного обучения.
Спасибо, что прочитали эту статью, надеюсь, она вам помогла!