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

Photo: 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 до кращої продуктивності, ніж РНН. Вони уникнули певної проблеми, яка часто виникає при використанні РНН, такої як проблема вибухових градієнтів.
Ці глибокі нейронні мережі можуть бути або уніді렉ціональними, або бідірекціональними. Бідірекціональні мережі здатні брати до уваги не тільки слова, які передують поточному слову, але й слова, які слідують за ним. Хоча це призводить до вищої точності, це більш обчислювально дороге.
Варіанти використання Natural Language Processing (NLP)

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










