Магистр ДонНТУ Столбунська Анастасія Сергіївна

Столбунська
Анастасія Сергіївна

Факультет комп’ютерних наук та технологій

Кафедра штучного інтелекту та сістемного аналізу

Спеціальність Системи штучного інтелекту

Створення інтелектуальної системи стилістичної оцінки тексту

Науковий керівник: доц. Кравец Тетяна Миколаївна

Реферат за темою випускної роботи

Зміст

  • Вступ

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

    Метою даної роботи є дослідження обробки природної мови — одного з напрямків штучного інтелекту і математичної лінгвістики, яке займається вивченням проблем комп'ютерного аналізу і синтезу природних мов.

    Дана мета зумовила наступні задачі:

    • визначити поняття обробка природної мови;
    • виявити основні завдання обробки природної мови;
    • виявити труднощі, що виникають при виконанні завдань природної мови.
  • Обробка природної мови

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

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

    Існує 10 основних і найбільш актуальних завдань обробки природної мови.[1,8]

    1. Одна з найбільш важливих завдань - розпізнавання мовлення. Під цим процесом розуміється процес, що веде до перетворення мовного сигналу людського голосу в цифрову інформацію. Така можливість може бути використана людьми, позбавленими здатності набору тексту за допомогою рук або для спрощення і прискорення цього процесу.
    2. Синтез мовлення - формування за друкованим текстом сигналів мови, тобто штучне виробництво людської мови. Виконанням цього завдання займається така галузь сучасної інформатики, комп'ютерної лінгвістики, інформаційних технологій, як штучний інтелект.

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

    3. Аналіз тексту - процес вилучення змістовної, високої якості інформації з тексту на природній мові для автоматизації процесу вилучення та аналізу данних.
    4. Синтез текст - це об'єднання слів у реченнях, реченнь у текст по заданій на етапі аналізу прагматичної структури. Задача синтеза може розглядатися як зворотна по відношенню до аналізу. Наприклад, багатомовна генерація. Так називають автоматичне складання спеціальних документів на декількох мовах (патентних формул, інструкцій з експлуатації технічних виробів або програмних систем). Для вирішення цього типу завдань застосовуються докладні мовні моделі.
    5. Машинний, або автоматичний переклад. Під цим завданням обробки природної мови мається на увазі процес перекладу усних текстів, написаних природною мовою, на іншу, також природню, мову за допомогою електронно-обчислювальних машин в призначених для цього типу задач комп'ютерних програмах.
    6. Створення питально-відповідних систем, тобто таких інформаційних систем, які здатні приймати, розпізнавати, класифікувати питання і давати відповіді на них на природній мові.

      Ця задача здійснюється за наступним алгоритмом:

      • визначення типу питання;
      • пошуком текстів, якi потенційно містять відповідь на це питання;
      • витяганням відповіді з цих джерел.

      Такі системи можна класифікувати на:

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

      Виконання цього завдання має на увазі виконання наступнoї послідовності операцій:

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

      Існує 3 різновиди інформаційного пошуку:

      • пошук за змістом всього документа;
      • пошук за назвою документа, датою його створення, автором, розміром та іншими даними;
      • пошук по тематиці зображення, предмету, присутнього на ньому.[2]
    8. Витяг інформації - завдання обробки природної мови, що виконує автоматичне вилучення необхідних даних з джерела інформації, тексту (як правило, неструктурованого).
    9. Аналіз тональності тексту - аналіз лексем тексту, оцінка їх емоційного забарвлення і класифікація за належністю до нейтрального, позитивного або негативного лексичного шару мови.
    10. Реферування - скорочення обсягу тексту за допомогою виділення основних тез шляхом пошуку відповідностей заданих в пошуку ключових слiв та його короткий виклад.
  • Застосування машинного навчання для розуміння і використання тексту

    Обробка природної мови дозволяє отримувати нові чудові результати і є дуже широкою областю. Наступні ключові аспекти практичного застосування, які зустрічаються набагато частіше за інших:

    • Ідентифікація різних когорт користувачів або клієнтів (наприклад, пророкування відтоку клієнтів, сукупного прибутку клієнта, продуктових переваг).
    • Точне детектування і витяг різних категорій відгуків (позитивні і негативні думки, згадки окремих атрибутів на кшталт розміру одягу і т.д.).
    • Класифікація тексту відповідно за його змістом (запит елементарної допомоги, термінова проблема).[3]
  • Труднощі при виконанні завдань

    В процесі виконання завдань виникають перешкоди, створювані тими чи іншими особливостями природної мови. Наприклад, на якість розуміння тексту можуть вплинути такі фактори, як:

    • віднесеність мови до тієї чи іншої мовної сім'ї, групі;
    • порядок мови (прямий, зворотний або вільне володіння);
    • характерні особливості національної культури носіїв природної мови;
    • логічний лад мови;
    • синтаксичну побудову мови;
    • граматичну будову мови;
    • грамотність;
    • фонетичні особливості мови;
    • полісемічнiсть мови;
    • наявність омонімів в данiй природнiй мовi;
    • способи словотворення, властиві певної мовi;
    • неологізми, філологія;
    • фразеологічні звороти і стійкі вирази.[4,5]
  • Стадії мовного аналізу для обробки природної мови

    Комп'ютери чудово працюють зі структурованою інформацією, наприклад таблицями в базах даних. Але люди спілкуються один з одним не таблицями, а словами. Для комп'ютерів це занадто складно.

    Проблемою вилучення даних машиною зі звичайного тексту займається особливий напрямок штучного інтелекту: обробка природної мови, або NLP (Natural Language processing).

    Комп'ютери не можуть в повній мері розуміти живу людську мову, проте вони на багато здатні. NLP може робити по–справжньому чарівні речі та економити величезну кількість часу.

    Процес читання і розуміння тексту сам по собі дуже складний. Люди часто не дотримуються логіки і послідовність розповіді.

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

    Спочатку потрібно розбити процес мовного аналізу на стадії і зрозуміти, як вони працюють.[6–8]

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

      Можна було б просто розділяти текст за певними знаками пунктуації. Але сучасні NLP конвеєри мають в запасі складніші методи, які підходять навіть для роботи з неформатованими фрагментами.

    2. Токенізація, або виділення слів. Відділення фрагмента тексту, коли зустрічаємо пробіл. Розділові знаки теж є токенами, оскільки можуть мати важливе значення.
    3. Визначення частин мови. Переглядає кожен токен і намагається вгадати, якою частиною мови він є: іменником, дієсловом, прикметником або чимось іншим. Знаючи роль кожного слова в реченні, можна зрозуміти його загальний зміст.

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

    4. Лематизація. У мовi слова можуть мати різні форми. Якщо тексти обробляє комп'ютер, він повинен знати основну форму кожного слова, щоб розуміти, що мова йде про одну й ту ж концепцію. У NLP цей процес називається лематизації — знаходженням основної форми (леми) кожного слова в реченні.
    5. Визначення стоп–слів. Визначення важливості кожного слова в реченні. Наприклад, в англійській мові дуже багато допоміжних слів, таких як: and, the, a. При статистичному аналізі тексту ці маркери створюють багато шуму, так як з'являються частіше, ніж інші. Деякі NLP пайплайни відзначають їх як стоп–слова і відсівають перед підрахунком кількості. Для виявлення стоп-слів зазвичай використовуються готові таблиці.
    6. Парсинг залежностей. Встановлення взаємозв'язків між словами в реченні. Кінцева мета — побудова дерева, в якому кожен токен має єдиного батька. Коренем може бути головне дієслово. Модель отримує слова і повертає результат. Однак це більш складне завдання.
      • 6.1. Пошук груп іменників. Розглядає кожне слово в нашій пропозиції як окрему сутність. Але іноді потрібно згрупувати токени, які відносяться до однієї і тієї ж ідеї чи речі. Використовується отримане дерево парсинга, щоб автоматично об'єднати такі слова.
    7. Розпізнавання іменованих сутностей (Named Entity Recognition, NER). Виявлення іменників і зв'язків їх з реальними концепціями. NER–системи не просто переглядають словники. Вони аналізують контекст токена в реченні і використовують статистичні моделі, щоб вгадати який об'єкт він представляє.
    8. Дозвіл кореференції. Дозволом кореференції називається відстеження займенників в пропозиціях з метою вибрати всi слова, що відносяться до однієї сутності. Скомбінувавши цю методику з деревом парсинга та інформацією про іменованi сутності та отримати можливість витягти з документа величезну кількість корисних даних.
  • Конвеєр NLP на Python

    На малюнку 1 зображені стандартні етапи звичайного NLP-конвеєра, але в залежності від кінцевої мети проекту і особливостей реалізації моделі, деякі з них можна пропускати або міняти місцями.[7]

    Заключна схема конвеєра

    Малюнок 1 — Заключна схема конвеєра (анімація: 9 кадрів, 1 цикл повторення, 16,5 кілобайт)

  • Обробка природної мови і машинне навчання

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

    Багато компаній намагаються розробити ідеального чат-бота, який, веде діалог, що не відрізняється від звичайного спілкування між людьми. Нові чат-боти використовують глибоке навчання не тільки для аналізу введення людської мови, а й для генерування відповідей. Аналіз і створення відповіді досягається в результаті використання алгоритму глибокого навчання, який застосовується в декодуванні введення і генеруванні відповіді. NLP також переводить введення і виведення в текстовий формат, зрозумілий і комп'ютера, і людині.

    Список завдань, які штучна обробка мови повинна вирішувати. Багато з них можуть бути пов'язані з розпізнаванням як тексту, так і мови або навіть картинок.[9,10]

    1. Реферування. Завдання полягає в тому, щоб створити реферат або резюме великого тексту.
    2. Відкриті та закриті питання. Від сучасних чат–ботів очікують готовності відповісти на питання незалежно від того, відкриті вони чи закриті.
    3. Зіставлення. Бот повинен зіставляти об'єкти зі словами, і розуміти, коли різні слова відносяться до одного об'єкту.
    4. Двозначність. Двозначність, яка часто міститься в явищах природної мови, поки що представляють серйозну проблему для пошукових роботів. Одна тільки омонімія вимагає, щоб було вибране правильне значення в залежності від контексту.
    5. Морфологія. Чат–бот повинен вміти розділяти слова на морфеми.
    6. Семантика. Власне, це завдання визначення сенсу пропозицій або слів в природній мові, і генерація висловлювань на природній мові.
    7. Структура тексту. Зв'язаність зі структурою тексту і пунктуацією.
    8. Тональність. Чат–бот повинен розрізняти емоційне забарвлення висловлювань людини, його ставлення до предмету розмови. Повинен розпізнавати за манерою людини висловлюватися, будовою пропозицій і вибору слів, в якому настрої люда: зол, щасливий, сумний.
  • Висновки

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

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

    Обробка природної мови дозволяє отримувати нові чудові результати і є дуже широкою областю.

  • Список джерел

    1. Корн, Г. Справочник по математике для научных работников и инженеров / Г. Корн, Т. Корн. — М.: Наука. Главная редакция физико–математической литературы, 1974. — 832 с.
    2. Джаратано, Джозеф. Экспертные системы: принципы разработки и программирование / Джозеф Джаратано. — М.: Высшая школа, 2002. — 1152 с.
    3. Ясницкий, Л. Н. Введение в искусственный интеллект / Л. Н. Ясницкий. — М.: Издат. центр Академия, 2005. — 176 с.
    4. Джексон, Питер Введение в экспертные системы / Питер Джексон. — Харьков, 1997. — 112 с.
    5. Большакова, Е.И. Автоматическая обработка текстов на естественном языке и компьютерная лингвистика / Е.И. Большакова, Э.С. Клышинский, Д.Э. Ланде, А.А. Носков, О.В. Пескова. Е.В. Ягунова — М.: СССР-США СП Параграф, 1990. — 160 с.
    6. Как решить 90% задач NLP: пошаговое руководство по обработке естественного языка — Режим доступа: https://habr.com/company/oleg-bunin/blog/352614/
    7. Обработка естественного языка на Python — Режим доступа: https://proglib.io/p/fun-nlp/
    8. Столбунская А.С., Кравец Т.Н. Создание интеллектуальной системы стилистической оценки текста // Программная инженерия: методы и технологии разработки информационновычислительных систем(ПИИВС–2018) сборник научных трудов II научно–практической конференции (студенческая секция), Том 2, 14–15 ноября 2018 г. — Донецк, ГОУВПО Донецкий национальный технический университет, 2018. — с.253–256.
    9. Андрюхин А.И., Полетаев В.А. Рефлексивная референция и анализ квайнов // Информатика, управляющие системы, математическое и компьютерное моделирование в рамках III форума Инновационные перспективы Донбасса (ИУСМКМ — 2017): VIII Международная научно–техническая конференция, 25 мая 2017, г. Донецк: / Донец. национал. техн. ун–т; редкол. Ю.К. Орлов и др. — Донецк: ДонНТУ, 2017. — с.163–166.
    10. Как решить проблему машинного понимания естественного языка — Режим доступа: https://habr.com/post/271321/
    11. Особенности функционирования интеллектуальной поисковой системы — Режим доступа: http://elib.bsu.by/..