Сегодня в Интернете доступно около 20 зеттабайт данных. Если вы совершенно не знаете, что такое зеттабайт (как и я, когда впервые прочитал эту статистику), позвольте мне объяснить вам, насколько велика эта цифра.

Почему бы нам не начать с понимания того, что такое байт? байт - одна из самых маленьких мер данных. Один байт состоит из одного символа и ничего более. Буква «а», цифра «2» или любой другой подобный символ является байтом.

Если уменьшить масштаб в 1000 раз, мы получим килобайт. Килобайт или 1000 байтов эквивалентны средней странице текста (которая содержит около 1000 символов). Если мы уменьшим масштаб еще в 1000 раз, мы получим мегабайт, который состоит из объема данных, как для книги с примерно 1000 страницами.

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

Если мы уменьшим масштаб еще на 1000 раз, мы получим петабайт данных. Это примерно то, сколько данных вы получите, если срубите каждое из 390 миллиардов деревьев в тропических лесах Амазонки (я не говорю, что вам следует попробовать это), превратили каждое дерево в бумагу, а затем покрыли обе стороны каждого дерева. отдельная статья с текстом. Это безумие. Но подождите, это еще не все!

Теперь, если вы возьмете 1000 этих тропических лесов Амазонки, заполненных текстом, у вас будет эксабайт. Даже представить себе не могу, насколько он велик. Наконец, если вы возьмете еще 1000 из этих эксабайт, у вас будет один зеттабайт. И помните, сейчас в Интернете двадцать таких. Вот сколько данных сейчас в сети - невообразимое количество.

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

Однако у традиционных стратегий машинного обучения есть свои ограничения. Они преимущественно эффективны и анализируют и обрабатывают очень структурированные данные. Когда наши данные представлены в виде чисел, очень возможно структурировать эти данные в формате, легко понятном машинам. Здесь есть только одна проблема: большая часть данных в Интернете представлена ​​в виде письменного текста, а не чисел (например, эта статья или что-то еще, что вы читали в Интернете, и миллионы вещей, которые вы не читали в Интернете).

Теперь вы можете задаться вопросом: есть ли способ использовать традиционные стратегии машинного обучения, чтобы позволить машинам анализировать текст? Возможно, вы будете счастливы узнать, что ответ на этот вопрос положительный.

Как машины могут понимать текст и почему мы должны этого хотеть?

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

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

Невероятная вещь в том, чтобы позволить машинам понимать язык, заключается в том, что последствия намного шире, чем просто создание еще одного прославленного математического уравнения для анализа данных. Особенность языка и текста в том, что большая часть всех человеческих знаний содержится в той или иной форме текста и доступна в Интернете. Таким образом, предоставление машинам возможности понимать язык аналогично предоставлению им доступа к знаниям, накопленным человечеством за сотни тысяч лет. Это явно имеет огромный потенциал.

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

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

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

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

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

К счастью, мы можем использовать пересечение обработки естественного языка и машинного обучения, чтобы анализировать такие базы данных отзывов и делать выводы за считанные секунды!

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

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

Построение алгоритма с помощью NLP и ML

Допустим, у нас есть база данных отзывов о продукте, состоящая из устного отзыва о продукте и соответствующей оценки. Мы можем использовать эти данные для создания полезного алгоритма. В нашем примере мы скажем, что каждый отзыв выглядит примерно так:

Оценка: 5/5
Обзор: Мне понравился этот товар. Мне понравилось, как легко им было пользоваться и как удобно было их носить с собой. Было отличное удобство использования. Всем рекомендую!

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

1. Токенизация

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

В своей основной форме токенизация на самом деле довольно проста. Алгоритм может просто искать общие символы, обозначающие отдельные слова. Наиболее очевидным из них является пробел, который встречается почти между каждым словом. Токенизация также разбивает слова, следующие за пунктуацией. Существуют несколько более сложных случаев токенизации (например, если две части «мистера Брауна» будут разделены, поскольку технически между ними есть период), но в целом процесс прост.

2. Фильтрация игнорируемых слов

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

Например, такие слова, как «the» или «a», помогают предложениям звучать лучше и лучше звучат для читателей. Однако они ничего не добавляют к содержанию отзывов. Отзыв, в котором есть слово «the», вряд ли станет хорошим или плохим обзором, как и все остальное. Стоп-слова вообще не коррелируют с тональностью фраз, в которых они содержатся, и поэтому могут быть удалены.

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

3. Стемминг и лемматизация

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

Например, слова «консультироваться», «консультант» и «консультировать» имеют одинаковое значение. Наш алгоритм может сказать это на основании того факта, что все они имеют одно и то же корневое слово. Таким образом, мы можем сократить все эти слова до их корня «консультация», чтобы не допустить, чтобы наш алгоритм запутался и подумал, что все это разные концепции.

Завершив всю эту обработку естественного языка, мы, наконец, можем перейти к применению машинного обучения к нашим данным, чтобы делать выводы!

4. Применение машинного обучения

В зависимости от того, какие результаты мы пытаемся получить из нашего набора данных, существует множество различных алгоритмов машинного обучения, которые мы могли бы использовать. Одним из распространенных алгоритмов, используемых при анализе тональности, является Наивный алгоритм Байеса, который может помочь сопоставить определенные слова с хорошими и плохими отзывами. Подобно этому алгоритму, существует множество других, которые можно использовать для этих целей.

Как ВЫ можете использовать НЛП и анализ настроений в своих интересах?

Теперь, когда вы знаете основы того, как работает обработка естественного языка и анализ тональности, почему бы нам не поговорить о том, как на самом деле можно реализовать эти технологии для собственных нужд. Вооружившись этими инструментами, вы сможете максимально использовать данные в Интернете, чтобы помочь вам в ваших собственных усилиях.

В настоящее время в Интернете доступен ряд инструментов для анализа настроений, которые служат для самых разных целей - от анализа отзывов до сбора настроений в социальных сетях. Если вы хотите узнать больше об этих инструментах и ​​о том, какой из них лучше всего использовать, эта статья - отличное место для начала.

Если вы подозреваете, что технологии и инструменты, которые уже представлены на рынке, вам не подходят, существует ряд других доступных вариантов. В частности, вы можете создать свой собственный алгоритм анализа настроений с нуля и адаптировать его к своим потребностям. Наиболее распространенный способ сделать это - использовать язык программирования Python, поскольку для этого языка уже есть ряд инструментов, которые помогут вам.

Вы можете использовать инструменты веб-парсинга, такие как Scrapy, для сбора полезных текстовых данных из различных онлайн-источников, чтобы создать базу данных для анализа настроений. Затем вы можете использовать инструменты Python, такие как набор инструментов естественного языка (NLTK) и VADER, для фактического анализа данных. Используя любой из этих инструментов и процессов, вы можете полностью использовать огромный объем данных, доступных вам сегодня.

Посмотрите мой проект!

Недавно я использовал все эти концепции для создания алгоритма анализа настроений, чтобы помочь Barclays Center в Бруклине. Я использовал свой алгоритм для анализа отзывов клиентов, чтобы выяснить, что людям больше всего нравится и не нравится в Barclays Center. Обязательно ознакомьтесь с моим проектом ниже, где я подробно объясняю, как я все сделал и как это работает!

Узнайте здесь о моем алгоритме анализа настроений!

Надеюсь, вы видите, что обработка естественного языка имеет большой потенциал, чтобы помочь нам анализировать и использовать вербальные данные. Кроме того, у него есть еще больший потенциал, чтобы оказать влияние и решить более крупные проблемы в будущем!

Ключевые выводы

  • В Интернете так много данных, и большая часть этих данных представлена ​​в виде текста. В результате нам нужен эффективный способ обработки и использования этих текстовых данных.
  • Обработку естественного языка можно использовать параллельно с машинным обучением, чтобы делать выводы на основе вербальных данных.
  • Мы можем использовать процессы НЛП, такие как токенизация, фильтрация запрещенных слов, выделение слов и лемматизация, для подготовки словесных данных для анализа с помощью традиционных алгоритмов машинного обучения.
  • Существует ряд различных инструментов, которые вы можете использовать для создания собственного алгоритма анализа настроений или использовать уже существующие.
  • Комбинация НЛП и машинного обучения имеет огромный потенциал, чтобы помочь нам сегодня, и еще больший потенциал, чтобы повлиять на будущее.

Подожди ... пока не щелкай!

Я Адам, 16-летний парень, увлеченный такими технологиями, как искусственный интеллект / машинное обучение, блокчейн, квантовые вычисления и многое другое.

Если вам понравилось изучать эту тему или вы интересуетесь современными технологиями и искусственным интеллектом, обязательно: