Обробка природної мови — Вікіпедія

Обро́бка приро́дної мо́ви (англ. Natural language processing, NLP) — загальний напрям інформатики, штучного інтелекту та математичної лінгвістики. Він вивчає проблеми комп'ютерного аналізу та синтезу природної мови. Стосовно штучного інтелекту аналіз означає розуміння мови, а синтез — генерацію розумного тексту. Розв'язок цих проблем буде означати створення зручнішої форми взаємодії комп'ютера та людини.

За словами дослідниці Елізабет Лідді: «Обробка природної мови — це комп'ютеризований підхід до аналізу тексту, що базується на низці теорій та наборі технологій. Ця галузь не має одного загальноприйнятого визначення, адже вона перебуває у стані постійних досліджень та розробок. Однак, існують певні аспекти, які б об'єднували усі існуючі визначення».[1]

Олег Іванов, український дослідник у галузі масових комунікацій, визначає аналіз природної мови як «міждисциплінарну галузь науки, що охоплює методики обчислювальної лінгвістики та теорії штучного інтелекту, основним проблемним полем якої є забезпечення взаємодії людських комунікативних актів (вербальних та невербальних) та комп'ютерних систем».[2]

Історія розвитку[ред. | ред. код]

Британська вчена Карен Спарк Джонс виділяє чотири етапи розвитку обробки природної мови:[3]

Перша фаза (кінець 1940-х — кінець 1960-х)[ред. | ред. код]

Перша фаза розвитку обробки природної мови припадала на період кінця 1940-х до кінця 1960-х років. Робота у даний час була сфокусована на машинному перекладі. У 1952 році відбулась перша міжнародна конференція, фокусом якої став машинний переклад. Першим прикладом машинного перекладу, який був представлений на Джорджтаунському експерименті (демонстрація машинного перекладу, 1954 р.) був англо-російський елементарний автоматичний переклад. 1954-й рік став знаковим не лише завдяки першій демонстрації машинного перекладу, а й завдяки публікації першого випуску журналу «Механічний переклад». Кульмінацією першого етапу стала Теддінгтонська міжнародна конференція з машинного мовного перекладу та прикладного мовного аналізу, проведена у 1961 році, на якій було представлено досягнення різних країн світу у галузях морфології, синтаксису, семантики та інтерпретації. Даний період відзначився активністю та ентузіазмом. Незважаючи на низький технологічний розвиток, що значно ускладнював обробку даних, дослідники не боялись зіштовхнутись зі складними завданнями, які поставали перед ними у цей період.

Друга фаза (кінець 1960-х — кінець 1970-х)[ред. | ред. код]

Друга фаза розвитку обробки природної мови припала на кінець 1960-х до кінця 1970-х років та пов'язана зі штучним інтелектом. Дослідники цього періоду найбільшу увагу приділяють знанню про світ та формуванню певних значень у мовленні. Першою ранньою програмою розуміння природної мови була SHRDLU, розроблена у 1972 році. Дана програма розуміла велику кількість англомовних слів та могла робити певні висновки. Це було великим досягненням у дослідженнях штучного інтелекту, проте програми такого типу стикались із ситуаціями реального світу, з якими їм впоратись не вдавалось.

Третя фаза (кінець 1970-х — кінець 1980-х)[ред. | ред. код]

Третя фаза розвитку обробки природної мови тривала з кінця 1970-х та до кінця 1980-х років. В ній тісно переплелись такі галузі як штучний інтелект та семантика. Застосування штучного інтелекту в обробці природної мови вимагало розробки обчислювальної граматики. В практичному сенсі лінгвісти розробили цілу низку граматичних типів, наприклад, функціональний та категоріальний, які були орієнтовані на обчислюваність. Даний період також характеризується стрімким розвитком логічного програмування з метою навчання програм обробки певних текстів.

Четверта фаза (1990-ті)[ред. | ред. код]

Четверта фаза почалась у 1990-х роках, на початку якої здобув популярність лексичний підхід до граматики. Одне з провідних місць в обробці природної мови займав статистичний підхід, який дозволяв тепер не просто аналізувати дані, але й справді застосовувати цей метод для обробки природної мови. Останнє десятиліття 20-го століття характеризувалось застосуванням методики спрощення текстів для виокремлення важливих одиниць з певного потоку інформації.

Розвиток обробки природної мови в XXI столітті[ред. | ред. код]

На початку 2023 року, вчені Стенфордського університету (Каліфорнія, США) встановили новий рекорд роботи мовного інтерфейсу мозок-комп'ютер (Brain-Computer Interface, ВСІ), досягнувши рекордно високого показника декодування мови. Новий рекорд полягає в тому, що швидкість декодування мови штучного інтелекту досягла 62 слова на хвилину, що в 3,4 рази швидше за попередній рекорд для будь-якого виду BCI[4].

Задачі та обмеження[ред. | ред. код]

Розуміння природної мови іноді вважають AI-повною задачею, тому що розпізнавання живої мови потребує величезних знань системи про навколишнє середовище та можливості взаємодіяти з ним. Саме означення змісту слова «розуміти» — одна з головних задач штучного інтелекту. В наш час значну роль у вирішенні задач з обробки природномовних даних відіграють онтології, наприклад, WordNet, UWN. У процесі дослідження обробки природної мови було досягнуто значних результатів, серед яких розробка потужних лексикографічних систем, програм для машинного перекладу, електронних словників та ін. Однак, існує проблема, яка досі не знайшла свого вирішення, вона коріниться у самій природі людської мови. Проблема розуміння людського мовлення полягає саме у його неоднозначності. Можна виділити наступні види неоднозначностей[5]:

  1. Синтаксична неоднозначність: у прислів'ї «Час — не кінь, не підженеш і не зупиниш» для обробки природної мови буде абсолютно неясним те, про що саме йдеться у реченні, про коня чи про час.
  2. Смислова неоднозначність: у питанні «Де знайти ключ до того замку?» слово замок може мати два абсолютно різні значення, зважаючи на поставлений наголос.
  3. Відмінкова неоднозначність: у фразах «Усі були схвильовані перед концертом» та «Не треба давати перед!» слово перед означає час або місце, що абсолютно змінює сенс фрази.
  4. Референційна неоднозначність: у фразі «Відкрий поличку та дістань мокру парасольку, я хочу її висушити» займенник її за смисловим значенням матиме відношення до мокрої парасольки, проте для машини, у якої повністю відсутнє розуміння реальності, даний займенник відноситиметься як до полички, так і до парасольки.

Одним із викликів, який виникає у процесі обробки природної мови, можна вважати проблему синонімії, в результаті якої одне поняття може бути вираженим декількома різними словами. Як наслідок, релевантні документи, в яких використано синоніми понять, що було вказано користувачем у запиті, може бути не визначено системою.

Вплив вищеперелічених явищ є особливо відчутним при створенні систем машинного перекладу. Проблема полягає у складності встановлення конкретного відображення дійсної семантико-синтаксичної структури речення у його внутрішнє логічне уявлення, яке автоматично генерується системою.[6]

Розв'язання таких типів неоднозначностей можливе за допомогою введення додаткових значень, які збільшать знання програми про ту чи іншу галузь. Сьогодні програм, які «розуміють» усі типи неоднозначностей у великому спектрі галузей, не існує, проте є програми, що можуть коректно реагувати на неоднозначності у дуже вузьких сферах.

Головні завдання[ред. | ред. код]

  • Видобування даних: вивчення даних, пошук зв'язків та закономірностей між ними
  • Синтез мовлення: озвучення/прочитання тексту (документ, повідомлення і т. д.) голосом, який є наближеним до природного
  • Розпізнавання мови: виведення/розпізнавання тексту з картинок, відсканованих документів або файлів у PDF форматі. Сюди ж входить розпізнавання мовлення, продуковане людським голосом.
  • Генерування природної мови: конвертування комп'ютерних даних у природну мову людини.
  • Машинний переклад: автоматичний переклад з однієї людської мови на іншу. Дане завдання є надзвичайно складним, адже машина не володіє тими знаннями, якими володіє людина, що робить їх «розуміння» тих чи інших фраз абсолютно різним.
  • Питально-відповідальні системи: відповіді на питання, поставлені людською мовою. Зазвичай питання є конкретизованими, наприклад, «Де знаходиться Ейфелева Вежа?», проте існують питання, на які немає конкретної відповіді, наприклад, «Чому всі люди різні?», що робить дане завдання надзвичайно складним для виконання.
  • Розпізнавання/визначення теми: поділ тексту на частини з подальшим визначенням провідної теми для кожної з них.
  • Інформаційний пошук: пошук, розпізнавання та видобування інформації.
  • Добування даних: отримання семантичної інформації з тексту.
  • Отримання зв'язків: визначення відносин між об'єктами у певному шматку тексту (наприклад, хто з ким працює).
  • Спрощення тексту[7]: зміна, розширення або інша обробка інформації для спрощення структури або граматики тексту зі збереженням основної думки.
  • Розв'язання лексичної багатоманітності: надання списку можливих значень конкретного багатозначного слова, серед яких можна вибрати найбільш підходяще відповідно до контексту.
  • Розпізнавання абревіатур та заголовків
  • Детектування окремих лінгвістичних одиниць
  • Морфологічна декомпозиція: перетворення окремих термінів (наприклад, медичних або технічних) у зрозумілу форму.

Підходи до виконання завдань[ред. | ред. код]

Статистичний підхід[ред. | ред. код]

В основі статистичного підходу до обробки природної мови лежить припущення, що зміст тексту може бути визначено за найуживанішими словами. Основним завданням даного підходу є визначення кількості повторень конкретного слова та словосполучень в тексті[8]. Латентно-семантичний підхід є різновидом статистичного методу та базується на ідеї, що сукупність усіх контекстів, у яких зустрічається або не зустрічається дане слово, визначає множину взаємних обмежень для виявлення схожостей у значеннях слів. Основна проблема, з якою стикаються статистичні підходи, полягає в розгляді тексту як набору слів без смислового зв'язку.

Лінгвістичний підхід[ред. | ред. код]

Лінгвістичний підхід до обробки природної мови складається з чотирьох рівнів: графематичного, морфологічного, синтаксичного та семантичного.[9] Перший рівень полягає у виділенні окремих елементів тексту/документу, наприклад, розділів, абзаців, речень і т. д. Другий рівень полягає у визначенні морфологічних характеристик окремого слова. Третій рівень відповідає за визначення синтаксичної залежності слів у реченнях. Останній рівень пов'язаний зі смисловим розумінням тексту, що включає розробки у сфері штучного інтелекту. Дослідницькі досягнення у цій сфері є дуже обмеженими у зв'язку зі складністю людської мови.

Символічний підхід[ред. | ред. код]

Символічний підхід до обробки природної мови здійснює глибинний аналіз лінгвістичних явищ та базується на явному представленні знань, що здійснюється шляхом використання добре досліджених схем представлення знань та алгоритмів, що працюють з ними.[10] Джерелом знання про мову можуть виступати словники, формули та правила, розроблені людьми.

Коннективістський підхід[ред. | ред. код]

Даний метод обробки природної мови відповідає за обробку загальних моделей з використанням конкретних прикладів мовних явищ. Найбільш значуща відмінність коннективістського підходу від інших статистичних методів полягає у поєднанні статистичних знань та різних теорій уявлень, що дозволяють працювати з логічними висновками та трансформацією логічних формул.

Метод допоміжних векторів[ред. | ред. код]

Диференційний метод машинного навчання, що допомагає провести класифікацію слів за категоріями. Даний метод побудований на певній множині властивостей.

Прихована марковська модель[ред. | ред. код]

Це така графічна система, у якій кожна вершина позначає випадкову змінну, що може набувати будь-якого значення (з певними ймовірностями) між декількома станами, породжуючи при цьому один з декількох можливих вихідних символів з кожним переходом. Множина всіх можливих станів та унікальних символів може бути великою. Ми можемо бачити вихідні дані, проте початкові стани системи є прихованими.

Умовні випадкові поля[ред. | ред. код]

Роздільна (диференційна) модель, яка формує логістичну регресію для послідовності даних. Використовується для передбачення стану змінної, що базується на спостереженій змінній.

N-грамні моделі[ред. | ред. код]

Модель побудована на послідовності з n елементів: речень, слів, букв, звуків і т. д. Модель дозволяє розрахувати ймовірність появи будь-якого елемента за відомих ймовірностей появи таких попередніх елементів. Така модель зводиться до скінченної множини ймовірностей, кожну з яких може бути оцінено після обчислення повторюваності відповідних n-грам.[11]

Рівні обробки природної мови[ред. | ред. код]

Зрозуміти, що ж таки відбувається в системі обробки природної мови, можна завдяки рівням мовної структури. Значення мовлення людини передається кожним рівнем мови. Для того, щоб обробка природної мови була максимально ефективною, потрібно щоб її система включала усі мовні рівні. Обробка природної мови виконується у шість рівнів:[12]

  1. Фонологічний аналіз полягає у дослідженні організації та інтерпретації звуків мовлення у мові. Базовими правилами фонологічного аналізу вважаються фонетичні, фонемні та просодичні.
  2. Морфологічний аналіз можна визначити як аспект дослідження, що полягає у ідентифікації, аналізі та описі структури або форм слів у мові.
  3. Лексичний аналіз полягає у поділі тексту на розділи, абзаци, речення та/або слова.
  4. Синтаксичний аналіз полягає в аналізі слів у реченні задля розуміння його граматичної структури. Слова перетворюються в структури, що показують, який зв'язок існує між словами. Окремі сполучення слів може бути виконано у зв'язку з порушенням граматичних правил або правил комбінування слів у мові.
  5. Семантичний аналіз має справу зі значеннями слів, фраз та речень у мові. Він сприяє визначенню можливих смислів речення у контексті.
  6. Прагматичний аналіз є аспектом дослідження, що дозволяє зрозуміти, як комбінуються речення з різними контекстами для формування абзаців, текстів або діалогів. Прагматичний аналіз полягає в інтерпретації окремих речень у відповідних для них контекстах.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Liddy, E.D. 2001. Natural Language Processing. In Encyclopedia of Library and Information Science, 2nd Ed. NY. Marcel Decker, Inc. — P.1
  2. Іванов О. В. Класичний контент-аналіз та аналіз тексту: термінологічні та методологічні відмінності / Іванов Олег Валерійович // Вісник Харківського національного університету імені В. Н. Каразіна, Харків: Видавничий центр ХНУ імені В. Н. Каразіна, 2013. — № 1045. — С.72
  3. Karen S. Jones. Natural language processing: a historical review //Cambridge: Computer Laboratory, University of Cambridge, 2001. — P.2
  4. Штучний інтелект поставив світовий рекорд у зчитуванні людських думок. 23.01.2023, 11:40 am
  5. История компьютера. chernykh.net. Архів оригіналу за 8 грудня 2015. Процитовано 30 листопада 2015.
  6. Анисимов А. В., Марченко А. А. Система обработки текстов на естественном языке // «Штучний інтелект». — 2002. — № 4. -С. 157
  7. Демократизація письмової комунікації для розвитку власних можливостей НЛГ. 21.06.2022
  8. Слюсар, В.И. (2020). Применение торцевого произведения матриц в задачах обработки естественного языка (PDF). Нейромережні технології та їх застосування НМТіЗ-2020: збірник наукових праць XIX Міжнародної наукової конференції «Нейромережні технології та їх застосування НМТіЗ-2020». - Краматорськ: Донбаська державна машинобудівна академія. -2020 . с. 156 - 162. Архів оригіналу (PDF) за 25 січня 2021. Процитовано 12 грудня 2020.
  9. Диковицкий В. В., Шишаев М. Г. Обработка текстов естественного языка в моделях поисковых систем // Сборник научных трудов. — 2010. — С.30
  10. Liddy, E.D. 2001. Natural Language Processing. In Encyclopedia of Library and Information Science, 2nd Ed. NY. Marcel Decker, Inc. — P.10
  11. Бабенко Т. В., Сушко С. О. Про ентропію української мови // Науково-практичний журнал «Захист інформації». — 2012. — № 3. — С. 105
  12. Olaronke G. Iroju, Janet O. Olaleke, A Systematic Review in Natural Language Processing in Healthcare // I.J. Information Technology and Computer Science. — 2015. — #8. — P. 45