Моделі та платформи ШІ
Що таке NLP (Natural Language Processing)?
Natural Language Processing (NLP) – це вивчення та застосування технік та інструментів, які дозволяють комп’ютерам обробляти, аналізувати, інтерпретувати та розуміти людську мову. NLP – це міжгалузева галузь, яка поєднує техніки, встановлені в галузях лінгвістики та комп’ютерних наук. Ці техніки використовуються у поєднанні з штучним інтелектом для створення чат-ботів та цифрових помічників, таких як Google Assistant та Amazon’s (AMZN ) Alexa.
Давайте розглянемо раціоналізацию природної мови, деякі техніки, використовувані в NLP, та деякі загальні випадки використання NLP.
Чому Natural Language Processing (NLP) має значення
Для того, щоб комп’ютери могли інтерпретувати людську мову, їх потрібно перетворити у форму, яку комп’ютер може маніпулювати. Однак це не так просто, як перетворення текстових даних у числа. Для того, щоб отримати значення з людської мови, потрібно витягнути закономірності з сотень або тисяч слів, які складають текстовий документ. Це не проста задача. Є мало жорстких правил, які можна застосувати до інтерпретації людської мови. Наприклад, той самий набір слів може мати різні значення залежно від контексту. Людська мова – це складна та часто двозначна річ, і висловлювання можна вимовити зі щирістю або з іронією.
Незважаючи на це, є деякі загальні рекомендації, які можна використовувати при інтерпретації слів та символів, таких як символ “s”, який використовується для позначення того, що предмет є множинним. Ці загальні рекомендації потрібно використовувати у поєднанні один з одним, щоб витягнути значення з тексту, створити функції, які алгоритм машинного навчання може інтерпретувати.
Природна мова обробки включає застосування різних алгоритмів, які можуть перетворити неструктуровані дані у структуровані дані. Якщо ці алгоритми застосовуються неправильно, комп’ютер часто не може витягнути правильне значення з тексту. Це часто можна побачити при перекладі тексту між мовами, де точне значення речення часто втрачається. Хоча машинний переклад значно покращився за останні роки, помилки машинного перекладу все ще трапляються часто.
Техніки Natural Language Processing (NLP)

Фото: Tamur via WikiMedia Commons, Public Domain (https://commons.wikimedia.org/wiki/File:ParseTree.svg)
Багато технік, які використовуються в природній мові обробки, можна розділити на дві категорії: синтаксис або семантика. Синтаксичні техніки – це ті, які займаються порядком слів, тоді як семантичні техніки – це ті, які займаються значенням слів.
Синтаксичні техніки NLP
Приклади синтаксису включають:
- Лемматизація
- Морфологічна сегментація
- Позначення частин мови
- Парсинг
- Розрив речень
- Стемінг
- Сегментація слів
Лемматизація полягає у витягненні різних форм слова до однієї форми. Лемматизація бере речі, такі як часи та множина, і спрощує їх, наприклад, “feet” може стати “foot”, а “stripes” може стати “stripe”. Ця спрощена форма слова робить його легшим для алгоритму інтерпретувати слова у документі.
Морфологічна сегментація – це процес розділення слів на морфеми або базові одиниці слова. Ці одиниці – це речі, такі як вільні морфеми (які можуть стояти самостійно як слова) та префікси або суфікси.
Позначення частин мови – це просто процес визначення, яка частина мови кожне слово у вхідному документі.
Парсинг – це аналіз усіх слів у реченні та кореляція їх з формальними граматичними мітками або граматичним аналізом усіх слів.
Розрив речень, або сегментація меж речень, – це визначення початку та кінця речення.
Стемінг – це процес спрощення слів до їхньої основної форми. Наприклад, “connected”, “connection” та “connections” всі будуть спрощені до “connect”.
Сегментація слів – це процес розділення великих частин тексту на маленькі одиниці, які можуть бути словами або спрощеними/лематизованими одиницями.
Семантичні техніки NLP
Семантичні техніки NLP включають техніки, такі як:
- Визначення іменованих сутностей
- Генерація природної мови
- Дисамбігуація значень слів
Визначення іменованих сутностей включає позначення певних частин тексту, які можна розмістити у одну з декількох попередньо визначених груп. Попередньо визначені категорії включають речі, такі як дати, міста, місця, компанії та особи.
Генерація природної мови – це процес використання баз даних для перетворення структурованих даних у природну мову. Наприклад, статистика про погоду, таку як температура та швидкість вітру, можуть бути підсумовані природною мовою.
Дисамбігуація значень слів – це процес присвоєння значення словам у тексті на основі контексту, у якому вони з’являються.
Глибокі моделі навчання для NLP
Регулярні багаторівневі перцептрони не можуть обробляти інтерпретацію послідовних даних, де порядок інформації важливий. Для того, щоб обробляти важливість порядку у послідовних даних, використовується тип нейронної мережі, який зберігає інформацію з попередніх кроків навчання.
Рекурентні нейронні мережі – це типи нейронних мереж, які перебувають над даними з попередніх кроків, беручи їх до уваги під час розрахунку ваг поточного кроку. По суті, РНН мають три параметри, які використовуються під час прямого проходу навчання: матриця, заснована на попередньому прихованим стані, матриця, заснована на поточному вводі, та матриця, яка знаходиться між прихованим станом та виводом. Через те, що РНН можуть брати інформацію з попередніх кроків до уваги, вони можуть витягнути відповідні закономірності з текстових даних, беручи до уваги попередні слова у реченні під час інтерпретації значення слова.
Інший тип глибокої архітектури навчання, який використовується для обробки текстових даних, – це архітектура довгострокової пам’яті (LSTM). Мережі LSTM подібні до РНН за структурою, але через деякі відмінності у своїй архітектурі вони tend to виконувати краще, ніж РНН. Вони уникнули певної проблеми, яка часто виникає при використанні РНН, такої як проблема вибухаючих градієнтів.
Ці глибокі нейронні мережі можуть бути однонаправленими або двонаправленими. Двонаправлені мережі можуть брати до уваги не тільки слова, які приходять перед поточним словом, але й слова, які приходять після нього. Хоча це призводить до вищої точності, воно більш обчислювально дороге.
Використання Natural Language Processing (NLP)

Фото: mohammed_hassan via Pixabay, Pixabay License (https://pixabay.com/illustrations/chatbot-chat-application-artificial-3589528/)
Через те, що природна мова обробки включає аналіз та маніпуляцію людською мовою, вона має дуже широкий спектр застосувань. Можливі застосування NLP включають чат-боти, цифрових помічників, аналіз настроїв, організацію документів, підбор кадрів та охорону здоров’я.
Чат-боти та цифрові помічники, такі як Amazon’s Alexa та Google Assistant, – це приклади платформ розпізнавання та синтезу мови, які використовують NLP для інтерпретації та відповіді на голосові команди. Ці цифрові помічники допомагають людям з великою кількістю завдань, дозволяючи їм перекласти деякі свої когнітивні завдання на інший пристрій та звільнити деяку частину свого мозку для інших, більш важливих речей. Замість того, щоб шукати найкращий маршрут до банку у зайняте ранкове час, ми можемо просто попросити нашого цифрового помічника зробити це.
Аналіз настроїв – це використання технік NLP для вивчення реакцій та почуттів людей на певне явище, як це виражається їхньою мовою. Захоплення настрою висловлювання, наприклад, інтерпретація того, чи є огляд продукту хорошим чи поганим, може надати компаніям суттєву інформацію щодо того, як їхній продукт сприймається.
Автоматична організація текстових документів – це ще одне застосування NLP. Компанії, такі як Google та Yahoo, використовують алгоритми NLP для класифікації електронних документів, розміщуючи їх у відповідні категорії, такі як “соціальні” або “рекламні”. Вони також використовують ці техніки для визначення спаму та запобігання його потрапляння до вашої поштової скриньки.
Групи також розробили техніки NLP для визначення потенційних кандидатів на роботу, знаходить їх на основі відповідних навичок. Менеджери з підбору персоналу також використовують техніки NLP для допомоги у сортуванні списків кандидатів.
Техніки NLP також використовуються для покращення охорони здоров’я. NLP можна використовувати для покращення виявлення захворювань. Медичні записи можна проаналізувати, та симптоми витягнуті алгоритмами NLP, які потім можна використовувати для пропозиції можливих діагнозів. Одним з прикладів цього є платформа Amazon Comprehend Medical, яка аналізує медичні записи та витягує захворювання та лікування. Застосування NLP у сфері охорони здоров’я також поширюються на психічне здоров’я. Є програми, такі як WoeBot, яка розмовляє з користувачами про різні техніки управління тривогою, засновані на когнітивно-поведінцевій терапії.












