Анализ настроений - это процесс компьютерной идентификации и категоризации мнений, выраженных в фрагменте текста, особенно для определения того, является ли отношение автора к определенной теме, продукту и т. д. положительным, отрицательным или нейтральным. . - Википедия

В этой статье я покажу вам, как создать свою собственную программу, чтобы определить, является ли статья на веб-сайте положительной, отрицательной или нейтральной, с использованием языка программирования 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: концепции, инструменты и методы для создания интеллектуальных систем.

Это отличная книга, которая поможет новичкам научиться писать программы машинного обучения и понимать концепции машинного обучения.

Практическое машинное обучение с помощью Scikit-Learn и TensorFlow: концепции, инструменты и методы для создания интеллектуальных систем

Спасибо, что прочитали эту статью, надеюсь, она вам помогла!