• Мягкое начало обработки естественного языка с использованием Python

Что такое НЛП?

Обработка естественного языка (NLP) - это разработка приложений и сервисов, способных понимать человеческие языки. Некоторые практические примеры НЛП - это распознавание речи, например, для голосового поиска Google, понимания содержания или анализа настроений и т. Д.

Преимущества НЛП

Как вы все знаете, миллионы гигабайт каждый день генерируются блогами, социальными сайтами и веб-страницами.

Многие компании собирают все эти данные для понимания пользователей и их увлечений и предоставляют эти отчеты компаниям для корректировки своих планов.

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

Вы знаете, что поисковые системы - не единственная реализация обработки естественного языка (NLP), и существует множество замечательных реализаций.

Реализации НЛП

Вот некоторые из успешных реализаций обработки естественного языка (NLP):

  • Поисковые системы, такие как Google, Yahoo и т. д. Поисковая система Google понимает, что вы технический специалист, и показывает вам результаты, связанные с вами.
  • Лента социальных веб-сайтов, такая как новостная лента Facebook. Алгоритм новостной ленты понимает ваши интересы, используя обработку естественного языка, и показывает вам похожие объявления и сообщения с большей вероятностью, чем другие сообщения.
  • Речевые движки, например Apple Siri.
  • Спам-фильтры, например спам-фильтры Google. Речь идет не только об обычной фильтрации спама, теперь фильтры спама понимают, что находится внутри содержания электронной почты, и определяют, спам это или нет.

Как начать работу с НЛП с помощью Python?

Инструментарий естественного языка (NLTK) - самая популярная библиотека для обработки естественного языка (NLP), которая была написана на Python и имеет большое сообщество.

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

В этом руководстве по NLP мы будем использовать библиотеку Python NLTK.

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

Установить nltk

Если вы используете Windows, Linux или Mac, вы можете установить NLTK с помощью pip:

$ pip install nltk

Вы можете использовать NLTK на Python 2.7, 3.4 и 3.5 на момент написания этого сообщения.

Как вариант, вы можете установить его из исходного кода из этого tar.

Чтобы проверить, правильно ли установлен NLTK, вы можете открыть терминал Python и ввести следующее:

Импортировать nltk

Если все идет нормально, значит, вы успешно установили библиотеку NLTK.

После того, как вы установили NLTK, вы должны установить пакеты NLTK, выполнив следующий код:

import nltk
nltk.download()

Это покажет загрузчику NLTK, чтобы выбрать, какие пакеты необходимо установить.

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

Здесь мы узнаем, как определить, о чем веб-страница, используя NLTK в Python.

Сначала мы возьмем веб-страницу и проанализируем текст, чтобы понять, о чем она.

Модуль urllib поможет нам сканировать веб-страницу

import urllib.request
response =  urllib.request.urlopen('https://en.wikipedia.org/wiki/SpaceX')
html = response.read()
print(html)

Из ссылки довольно ясно, что страница посвящена SpaceX, теперь давайте посмотрим, может ли наш код правильно определять контекст страницы.

Мы будем использовать Beautiful Soup, библиотеку Python для извлечения данных из файлов HTML и XML. Мы воспользуемся прекрасным супом, чтобы очистить текст нашей веб-страницы от HTML-тегов.

from bs4 import BeautifulSoup
soup = BeautifulSoup(html,'html5lib')
text = soup.get_text(strip = True)
print(text)

Теперь у нас есть чистый текст с просканированной веб-страницы, давайте преобразуем его в токены.

tokens = [t for t in text.split()]
print(tokens)

ваш выходной текст теперь преобразован в токены

Считать слово Частота

nltk предлагает функцию FreqDist (), которая сделает всю работу за нас. Кроме того, мы удалим стоп-слова (a, at, the, for и т. Д.) С нашей веб-страницы, так как они нам не нужны для снижения частоты встречаемости слов. Мы построим график для наиболее часто встречающихся слов на веб-странице, чтобы получить четкое представление о контексте веб-страницы.

from nltk.corpus import stopwords
sr= stopwords.words('english')
clean_tokens = tokens[:]
for token in tokens:
    if token in stopwords.words('english'):
        
        clean_tokens.remove(token)
freq = nltk.FreqDist(clean_tokens)
for key,val in freq.items():
    print(str(key) + ':' + str(val))
freq.plot(20, cumulative=False)

Большой!!! код правильно определил, что веб-страница говорит о SpaceX.

Это было так просто и интересно !!! аналогичным образом вы можете идентифицировать новостные статьи, блоги и т. д.

Я постарался сделать статью простой и интересной для вас, надеюсь, она вам тоже показалась полезной и интересной.

Вы успешно сделали свой первый шаг к НЛП, вам предстоит исследовать океан ...

Если вам понравился этот пост, поставьте ему аплодисменты, это вдохновляет меня писать и делиться с вами еще чем-нибудь, ребята :)

Спасибо…