Где мы это видим?

Когда мы пытаемся набрать предложение в gmail, он пытается выполнить автодополнение, это НЛП, спам-фильтр? это НЛП! Языковой перевод? это тоже НЛП!

Чат-бот службы поддержки также является хорошим примером НЛП. Его также используют Alexa, Google Assistant и поисковые системы Google (BERT, представляющий собой двунаправленный кодировщик от преобразователей).

БЕРТ:

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

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

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

Почему НЛП сейчас процветает?

Это связано с несколькими причинами, описанными здесь:
1. Свободно доступные предварительно обученные модели (мы можем использовать эти удивительные предварительно обученные модели и использовать трансферное обучение, т.е. точно настроить модель в соответствии с нашей проблемой), например. Fasttext, Tensorflow Hub, GPT3 (самая большая нейронная сеть, 4 миллиона долларов)
2. Экосистемы с открытым исходным кодом (Python, Jupyter)
3. Дешевое оборудование и облачные ресурсы
4. Учебные ресурсы

Регулярное выражение для НЛП

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

Разница между re.findall() и re.search(): search возвращает первое вхождение, тогда как findall возвращает все вхождения.

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

Чтобы удалить лишние пробелы и новые строки, мы можем использовать , это удаляет несколько пробелов и новые строки с 1 пробелом

re.sub("[ \n]+"," ",text)

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ:

Обнаружение спама:

Текстовая классификация:
По текстовой классификации мы можем разделить жалобы на серьезные или нет.
Как?
Мы можем преобразовать жалобу в какой-то вектор(TF- Векторизация IDF), и затем мы можем использовать классификатор для его классификации (наивный байесовский метод).

Другим вариантом использования этого является классификация медицинских документов как рецепт или история болезни.

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

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

Извлечение информации:

Чат-боты :
Существует несколько типов чат-ботов :
Часто задаваемые вопросы :
Фиксированные ответы на вопросы
Бот на основе потока :
Наш ответ подается, и следующий вопрос приходит, идет в потоке
Открытый бот:
Простой общий разговор
Машинный перевод:Перевод текстов в режиме реального времени. Это делается с помощью RNN (рекуррентной нейронной сети)
Моделирование языка: предсказывает вероятность следующего набора слов, которые мы собираемся напечатать
Обобщение текста: Обобщить всю статью в предложении

Этапы конвейера НЛП:
Сбор данных:
получение необходимых данных. есть много трюков, таких как увеличение данных (создание данных из существующих данных, 100 из 10)
Извлечение текста и очистка данных:объединение всех необходимых данных в один и удаление лишних \n,заклинаний проверки и т. д.
Сегментация предложения или токенизация предложения:Разрыв этого предложения.

Стемминг:процесс удаления лишних слов для получения основного слова называется стеммингом.(eating=eat)
Лемматизация:сопоставление слова с его основой слово (съел = съесть)

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

Шаги, пройденные до сих пор:

Ссылка: codebasics