Лучшие проекты НЛП на Github, которые вы должны освоить [2022]

Опубликовано: 2021-01-01

У искусственного интеллекта есть несколько ответвлений, из которых обработка естественного языка (NLP) стала мощным инструментом нового века. НЛП восходит к 1950-м годам, когда Алан Тьюринг опубликовал статью « Вычислительные машины и интеллект », в которой предлагался тест (теперь известный как тест Тьюринга ), включающий автоматическую интерпретацию и генерацию естественных человеческих языков. Несмотря на это, НЛП только недавно получило всемирное признание и популярность.

Оглавление

Что такое обработка естественного языка?

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

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

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

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

В этой статье мы перечислим 12 проектов НЛП на GitHub, чтобы вдохновить вас! Работа над этими проектами поможет обогатить ваши знания в предметной области и отточить ваши практические навыки.

Лучшие проекты GitHub NLP

1. Идентификация перефразирования

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

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

2. Сходство документов

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

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

3. Текстовое предсказание

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

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

4. Наука гениальности

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

На начальных этапах этот проект фокусируется на изучении временных и дисциплинарных различий в длине и синтаксических особенностях заголовков статей в Web of Science — наборе данных, содержащем более 50 миллионов статей, опубликованных с 1900 года. Более широкая картина заключается в создании количественной модели. которые могут точно оценить влияние научной статьи на сообщество.

5. Извлекайте настроения акций из заголовков новостей

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

6. Умный бот

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

Например, если вы хотите запросить статью в Википедии, вы можете использовать шаблон «Расскажите мне о XYZ» и продолжать задавать подобные вопросы после установления контекста. Опять же, вы можете запросить веб-страницу, указав URL-адрес страницы в качестве источника, например « https://www.microsoft.com/en-us/software-download/faq ». Это работает исключительно хорошо со страницами часто задаваемых вопросов и вопросов и ответов.

7. ЦитатыCyVerse

Проект CitesCyVerse разработан на основе The Science Citation Knowledge Extractor . CitesCyVerse — это инструмент с открытым исходным кодом, который использует машинное обучение и NLP, чтобы помочь исследователям в области биомедицины понять, как другие используют их работу, анализируя содержание статей, в которых они цитируются. Используя ML и NLP, CitesCyVerse извлекает важные темы и концепции, обсуждаемые в цитирующих документах. Это позволяет исследователям лучше понять, как их работа влияет на других в научном сообществе.

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

8. Data Science Capstone — скрипты обработки данных

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

Для сборки этого проекта вам понадобится двухъядерная система (поскольку большинство скриптов однопоточные) с оперативной памятью не менее 16 ГБ. Что касается требований к программному обеспечению, вам нужно — Linux (лучше всего протестировать на Ubuntu 14.04), Python (версия 2.7), NLTK (версия 3.0) и NumPy.

Читайте: Идеи и темы проекта обработки естественного языка

9. Генератор скриптов

Это захватывающий проект, в котором вы будете создавать RNN для создания телевизионных сценариев для популярного шоу «Симпсоны» на основе набора данных сценариев всех 27 сезонов шоу. RNN создадут новый сценарий для конкретной сцены, снятой в таверне Мо.

Проект генератора скриптов является частью проекта Udacity Deep Learning Nanodegree. Реализация проекта содержится в: dlnd_tv_script_generation.ipynb

10. Прогноз акций Reddit

Этот проект направлен на то, чтобы понять, как сообщения в социальных сетях влияют на будущие цены отдельных акций. Здесь мы изучим влияние постов в социальных сетях на Reddit, особенно сабреддиты/форумы, ориентированные на инвестиции, с использованием методов анализа текста.

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

11. Я_Бот

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

Вам нужно экспортировать чаты WhatsApp с телефона и обучить бота на этих данных. Для этого вам нужно зайти в WhatsApp на своем телефоне, выбрать любой разговор и экспортировать его из настроек приложения. Затем вы можете переместить сгенерированный файл «.txt» в папку Me_Bot.

12. Анализатор речевых эмоций

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

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

Читайте также: Глубокое обучение против НЛП

Заключение

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

Если вы хотите улучшить свои навыки НЛП, вам нужно взяться за эти проекты НЛП. Если вам интересно узнать больше о машинном обучении, ознакомьтесь с дипломом PG IIIT-B и upGrad в области машинного обучения и искусственного интеллекта, который предназначен для работающих профессионалов и предлагает более 450 часов тщательного обучения, более 30 тематических исследований и заданий, IIIT- Статус B Alumni, более 5 практических практических проектов и помощь в трудоустройстве в ведущих фирмах.

Каковы основные проблемы обработки естественного языка?

Обработка естественного языка имеет много проблем. Основной проблемой является нехватка вычислительных мощностей. Текущие алгоритмы созданы для работы в автономных системах, которым требуется огромная вычислительная мощность и может потребоваться больше времени для завершения обработки. Другая проблема — доступные ресурсы. Создать алгоритм, способный работать с небольшим объемом данных, непросто и требует больше времени. Еще одной проблемой является доступность огромных объемов данных, которые нам необходимо обрабатывать.

Какая модель НЛП дает наибольшую точность?

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

Что такое токенизация в НЛП?

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