Найти тему
SoftSAR

Библиотеки Python для анализа естественного языка

Оглавление

Python является популярным языком для написания чат ботов, голосовых помощников, поисковых систем и др программ. Natural language processing (NLP) обработка естественного языка. Эта область знаний находящаяся на стыке науки о данных и сфере искусственного интеллект. Главная задача NLP обучить компьютеры понимать человеческие языки и извлекать смысл из текста. Python содержит обширный набор библиотека для анализа естественного языка. В данной статье мы рассмотрим самые популярные из них.

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

NLTK

NLTK это ведущая платформа для создания программ Python для работы с данными человеческого языка. Библиотека предоставляет простые в использовании интерфейсы для более чем 50 корпусов и лексические ресурсы , такие как WordNet, вместе с набором библиотек обработки текста для классификации, токенизации, выделения корней, тегов, синтаксического анализа и семантических рассуждений.

Благодаря практическому руководству, знакомящему с основами программирования наряду с темами компьютерной лингвистики, а также исчерпывающей документации по API, NLTK одинаково подходит для лингвистов, инженеров, студентов, преподавателей, исследователей и отраслевых пользователей. NLTK доступен для Windows, Mac OS X и Linux. NLTK это бесплатный проект с открытым исходным кодом.

Документация доступна по ссылке.

Textblob

-2

TextBlob это библиотека Python для обработки текстовых данных. Библиотека предоставляет простой API для выполнения задач обработки естественного языка (NLP), таких как маркировка частей речи, извлечение именной фразы, анализ тональности, классификация, перевод и многое другое.

Поддерживаемые функции:

  • Извлечение словосочетания существительного.
  • Маркировка по частям речи.
  • Анализ настроений.
  • Классификация (Наивный Байес, Дерево решений).
  • Токенизация (разделение текста на слова и предложения).
  • Частота слов и фраз.
  • Словоизменение (множественное и единственное число) и лемматизация.
  • Орфографическая коррекция.

Документация доступна по ссылке.

SpaCy

-3

SpaCy это библиотека для расширенной обработки естественного языка в Python. Библиотека основана на самых последних исследованиях и разрабатывалась для использования в реальных (коммерческих) продуктах.

SpaCy предоставляется с предварительно обученными моделями и в настоящее время поддерживает токенизацию и поддержку более чем 60 языков. Библиотека имеет самые современные модели нейроных сетей для тегирования, синтаксического анализа, распознавания именованных сущностей , классификации текста и многого другого. SpaCy является коммерческим программным обеспечением с открытым исходным кодом, выпущенным под лицензией MIT.

Поддерживаемые функции:

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

Документация доступна по ссылке.

Gensim

-4

Gensim это библиотека Python для тематического моделирования, индексации документов и поиска сходства с большими корпусами. Целевая аудитория разработчики, занимающиеся обработкой естественного языка (NLP) и поиск информации (IR).

Поддерживаемые функции:

  • Все алгоритмы не зависят от памяти относительно размера корпуса.
  • Легко подключить собственный входной корпус/поток данных, легко расширяется с помощью других алгоритмов векторного пространства.
  • Эффективные многоядерные реализации популярных алгоритмов, таких как онлайн-скрытый семантический анализ, скрытое распределение Дирихле (LDA) , случайные проекции (RP), иерархический процесс Дирихле (HDP).

Документация доступна по ссылке.

Polyglot

Polyglot это конвейер естественного языка, который поддерживает массивные многоязычные приложения. Бесплатное программное обеспечение: лицензия GPLv3.

Поддерживаемые функции:

  • Токенизация (165 языков)
  • Распознавание языка (196 языков)
  • Распознавание именованных объектов (40 языков)
  • Часть речевых тегов (16 языков)
  • Анализ настроений (136 языков)
  • Вложения слов (137 языков)
  • Морфологический анализ (135 языков)
  • Транслитерация (69 языков)

Документация доступна по ссылке.

Pattern

Pattern это модуль веб-майнинга для Python. В нем есть инструменты для:

  • Интеллектуальный анализ данных: веб-сервисы (Google, Twitter, Wikipedia), поисковый робот, анализатор HTML DOM.
  • Обработка естественного языка: теги по частям речи, поиск n-грамм, анализ настроений, WordNet.
  • Машинное обучение: модель векторного пространства, кластеризация, классификация (KNN, SVM, Perceptron)
  • Сетевой анализ: центральность графа и визуализация.

Исходный код находится под лицензией BSD.

Документация доступна по ссылке.

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

С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am