Розвиток NLP: які перешкоди гальмують обробку природної мови | robot_dreams
Для відстеження статусу замовлення - авторизуйтесь
Введіть код, який був надісланий на пошту Введіть код із SMS, який був надісланий на номер
 
Код дійсний протягом 2 хвилин Код з SMS дійсний протягом 2 хвилин
Ви впевнені, що хочете вийти?
Сеанс завершено
На головну
Що заважає розвитку NLP

Що заважає розвитку NLP

4 відкриті проблеми обробки природної мови

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

Разом із Data Scientist у YouScan Віталієм Радченком з’ясовуємо, які проблеми потрібно розв’язати вченим, щоб комп’ютер зміг зрозуміти людину. 

#1. Проблема семантики: у пошуках сенсу 

Мова синонімічна і багатозначна. Так, складно математично висловити нюанси фрази з омонімами: «графік (художник) не вписався в графік (план)». Подібних прикладів багато.

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

За вилучення сенсу відповідає семантичний аналіз тексту. Правильне застосування слів у контексті забезпечує прагматичний аналіз. Є й інші рівні обробки природної мови: морфологічний, синтаксичний, фонологічний. Але з ними алгоритми вже справляються.

Віталій: «Семантика — вивчення “значення” лексичних одиниць незалежно від контексту. Прагматика — процес розпізнавання “невидимого значення” з огляду на наміри відправника даних, статус одержувача і реальну ситуацію. Модель опановує здебільшого семантичні зв’язки, які можуть переходити в умовне розуміння контексту. Наприклад, у таких завданнях, як-от question answering або summarization, складно “виїхати” тільки на одній семантиці. Потрібно розуміти, чого стосується конкретне запитання або яка основна думка в параграфі. Розвиток цих завдань триває, ускладнюється їхня постановка. Вийшов новий датасет [SQUAD 2.0], у якому потрібно не просто знайти відповідь на запитання в певній статті, а й зрозуміти, чи є в ній відповідь на певне запитання».

У 90-х і 2000-х алгоритми навчилися передбачати наступне слово, виділяти іменовані сутності (власні імена), визначати спам і сортувати документи.

Векторна модель word2vec, реалізована 2013 року, дала змогу створювати семантичні зв’язки та знаходити схожі за значенням слова. Це частково розв’язало проблему складання семантичного словника. Word2vec створює набори взаємопов’язаної лексики. Але така модель аналізу текстів має назву bag of words — простий набір слів без урахування синтаксису і взаємозв’язків між словами у реченні. 

Зараз алгоритми вчаться розуміти контекст.

#2. Проблема визначення емоцій і тональності 

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

Однак багато слів відбивають одні й ті самі почуття в більшості контекстів. Наприклад, слова «відмінно» і «торт» зазвичай позитивні, тоді як «смерть» і «депресія» — негативні. Ці асоціації називають передувальними. Системи аналізу настроїв виграють від знання цих передувальних асоціацій. Списки асоціацій створили шляхом ручного анотування, але воно коштує дорого. Автоматичні методи використовують вручну сформовані списки як базові.

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

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

#3. Кросмовна морфологія і малоресурсні мови 

Комп’ютери розуміють не всі мови однаково добре. Найкраще нейромережі працюють із популярними мовами з фіксованою структурою (наприклад, англійською).

Також важливо брати до уваги кількість описаних слів, наявність текстів у різних жанрах для опрацювання (книжки, журнали, преса), наявність тезаурусів і словників з анотованими текстами. Загалом 20 мов (із понад 7000) підготовлено для роботи з нейромережею. Добре опрацьовані західноєвропейські мови, китайська та японська. Відсутні ресурси для багатьох африканських і азійських, а також мов, що вимирають, і діалектів. Майже неможливо обробити мови без писемності. 

Малоресурсні мови потрібно описувати, тому що:

  • NLP документує мови та створює систему для мов без писемності. Це допоможе зберегти їх, перш ніж вони зникнуть.
  • Можна забезпечити відродження мов. Таке вже було, наприклад, з івритом. Нейромережі можуть це прискорити.
  • Аналіз демографічних і політичних процесів. Носії малоресурсних мов непомітні для світу, їхні інтереси не враховують індекси в пошуковиках, їм недоступна таргетована реклама, про їхні вподобання нічого не відомо. В Африці проживають 1,2 млрд людей, і знання про їхні мови допоможуть відкрити їх світу. 
  • Допомога за надзвичайних ситуацій, хвороб, важливих подій світового масштабу. Миттєвий переклад важливого повідомлення великою кількістю мов здатен врятувати людей, які зможуть це повідомлення зрозуміти. 

Фахівці вручну збирають дані та обробляють їх для створення корпусів малоресурсних мов. Яскравий приклад — американський проєкт Crúbadán. Створивши запити вебпошуку, призначені для захоплення вебсторінок певними мовами, проєкт побудував корпуси для 18 721 мови, включно з валлійською, панджабі, луо, кечуа. 

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

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

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

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

«Батьківська» модель навчається в мовній парі з високими ресурсами (французька/англійська). Потім цю модель повторно застосовують на «дочірній» моделі, яка навчається на мовній парі з низьким рівнем ресурсів (турецька/узбецька).

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

Цей підхід тісно пов’язаний із нещодавніми зусиллями з навчання кросмовної моделі Transformer, навченої на 100 найпопулярніших мовах, які належать до понад 30 мовних сімей.

Віталій: «Фахівці навчають моделі для завдань, на які є попит і можливість виділяти кошти з подальшою окупністю. Під час навчання мовних моделей на великому обсязі тексту, незалежно від мови, зважатимуть на різні особливості, порядок слів, відмінювання — усе те, чого вчать на уроках. Уже зараз є моделі, які охоплюють сотні мов і можуть застосовуватися для них одночасно. Це використовують радше для економії ресурсів, а не для поліпшення точності. Якщо хочеться досягти кращої точності, то потрібно розробляти окремі моделі для кожної мови».

#4. Неправильна кореляція 

Моделі виявляють найпростіші закономірності, що пояснюють дані. Наприклад, є класифікатор зображень, де представлені собаки й кішки. Зображення собак мають відтінки сірого, а кішки — кольорові.

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

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

Віталій: «Спочатку краще зібрати більше даних. Коли ми досягаємо плато після додавання нових даних, то варто замислитися про архітектуру, яка дасть змогу вийти з плато і вирости за точністю. Залежить від мети, для якої створюють нейромережу. Якщо її мають використовувати для спілкування з дітьми, то не можна додавати все підряд. Дані мають проходити фільтрацію на нецензурну лексику, заклики до суїциду та подібні негативні контексти. Нейромережі генерують той текст, на якому вони навчалися, або якусь комбінацію з нього. Відповідно, проблеми можуть виникати через неправильно підготовлену навчальну вибірку. Якщо ми задаємо вид стилю, в якому хочемо генерувати текст, то такі помилки можуть виникнути через недостатню кількість даних або обмеженість поточних рішень».

Ще статті
Порівнюємо швидкість, якість і відповідальність за результат