Loading AI tools
статистична модель структури мови З Вікіпедії, вільної енциклопедії
Статистична моде́ль мо́ви (англ. language model) — це розподіл імовірності над послідовностями слів. Заданій такій послідовності, скажімо, довжини m, вона призначує ймовірність усієї цієї послідовності.
Модель мови забезпечує контекст для розрізнювання слів та фраз, які звучать схоже. Наприклад, в американській англійській фрази «recognize speech» (розпізнавати мовлення) та «wreck a nice beach» (вбити гарний пляж) звучать схоже, але означають різні речі.
У побудові моделей мов основною проблемою є розрідженість даних. Більшість можливих послідовностей слів під час тренування не спостерігаються. Одним з розв'язків цієї проблеми є припустити, що ймовірність слова залежить лише від попередніх n слів. Це є відомим як n-грамна модель, або уніграмна модель, коли n = 1. Уніграмна модель є також відомою як модель «торба слів».
Оцінювання відносної правдоподібності різних фраз є корисним у багатьох застосуваннях обробки природної мови, особливо в тих, що породжують текст як вихід. Моделювання мов використовують у розпізнаванні мовлення,[1] машиннім перекладі,[2] розмічуванні частин мови, синтаксичнім аналізі,[2] оптичнім розпізнаванні символів, розпізнаванні рукописного введення,[3] інформаційнім пошуку та інших застосуваннях.
У розпізнаванні мовлення звуки зіставляють з послідовностями слів. Неоднозначності розв'язувати легше, коли свідчення від моделі мови поєднують з моделлю вимови та акустичною моделлю[en].
Моделі мови використовують в інформаційнім пошуку в моделі правдоподібності запитів[en]. Там окрему модель мови пов'язують з кожним документом сукупності. Документи ранжують на основі ймовірності запиту Q в моделі мови документа : . Для цього зазвичай використовують уніграмну модель.
Уніграмну модель (англ. unigram model) можливо розглядати як комбінацію декількох одностанових скінченних автоматів[4]. Вона розділює ймовірності різних лексем (англ. term) у контексті, наприклад, з
до
У цій моделі ймовірність кожного зі слів залежить лише від ймовірності цього слова в документі, тож як вузли ми маємо лише одностановий скінченний автомат. Сам цей автомат має розподіл імовірності над усім словником цієї моделі, що підсумовується до 1. Далі наведено ілюстрацію уніграмної моделі документа.
Лексеми | Ймовірність у документі |
---|---|
a | 0.1 |
world | 0.2 |
likes | 0.05 |
we | 0.05 |
share | 0.3 |
… | … |
Ймовірність, яку формують для конкретного запиту (англ. query), обчислюють як
Різні документи мають уніграмні моделі з різними ймовірностями влучання для слів у них. Розподіли ймовірностей з різних документів використовують для формування ймовірностей влучання для кожного запиту. Документи може бути ранжовано для запиту відповідно до цих імовірностей. Приклад уніграмних моделей двох документів:
Лексеми | Ймовірність у документі 1 | Ймовірність у документі 2 |
---|---|---|
a | 0.1 | 0.3 |
world | 0.2 | 0.1 |
likes | 0.05 | 0.03 |
we | 0.05 | 0.02 |
share | 0.3 | 0.2 |
… | … | … |
У контексті інформаційного пошуку уніграмні моделі мови часто згладжують, щоби уникати випадків, коли P(лексема) = 0. Одним з поширених підходів є формувати модель максимальної правдоподібності для всієї сукупності, й лінійно інтерполювати цю модель сукупності з моделлю максимальної правдоподібності для кожного з документів, щоби згладити її[5].
У n-грамній моделі (англ. n-gram model) ймовірність спостерігання речення наближують як
Виходять з того, що ймовірність спостерігання i-того слова wi в контексті історії попередніх i − 1 слів може бути наближено ймовірністю спостерігання його у скороченій історії контексту з попередніх n − 1 слів (марковська властивість n-того порядку).
Цю умовну ймовірність можливо обчислювати з частотних кількостей n-грамної моделі:
Терміни бігра́мна (англ. bigram) та тригра́мна (англ. trigram) мовні моделі позначують n-грамні моделі з n = 2 та n = 3 відповідно[6].
Як правило, ймовірності n-грамних моделей не виводять із частотних кількостей напряму, оскільки моделі, що виводять таким чином, мають серйозні проблеми, коли вони стикаються з будь-якими не баченими раніше явно n-грамами. Натомість необхідним є згладжування якогось вигляду, що призначує якусь частину загальної маси ймовірності небаченим словам або n-грамам. Використовують різні методи, від згладжування «плюс один» (призначування небаченим n-грамам кількості 1, як неінформативного апріорного), і до витонченіших моделей, таких як дисконтування Ґуда — Тюрігна[en] та моделі відступання[en].
Двоспрямовані представлення (англ. bidirectional representations) обумовлюються як попереднім, так і наступним контекстом (наприклад, словами) в усіх шарах[7].
У біграмній (n = 2) моделі мови ймовірність речення «I saw the red house» наближують як
тоді як у триграмній (n = 3) моделі мови цим наближенням є
Зауважте, що контекст перших n – 1 n-грамів заповнено маркерами початку речення, які зазвичай позначують через <s>.
Крім того, без маркера кінця речення ймовірність неграматичної послідовності «*I saw the» буде завжди вищою за ймовірність довшого речення «I saw the red house».
Максимально-ентропійні[en] моделі мови (англ. maximum entropy language models) кодують взаємозв'язок між словом та n-грамною історією із застосуванням функцій ознак. Цим рівнянням є
де є статистичною сумою[en], є вектором параметрів, а є функцією ознак. У найпростішому випадку функція ознак є просто індикатором наявності певного n-граму. Корисно використовувати апріорне на , або регуляризацію якогось вигляду.
Іншим прикладом експоненційної моделі мови є логарифмічно-білінійна модель.
Нейромережні моделі мов (англ. neural language models, або неперервно-просторові моделі мови, англ. continuous space language models) щоби робити свої передбачування використовують неперервні представлення або вкладення слів[8]. Ці моделі використовують нейронні мережі.
Неперервно-просторові вкладення допомагають пом'якшувати прокляття розмірності в моделюванні мов: що на більших і більших текстах тренуються моделі мов, то дедалі більшим стає число унікальних слів (словник).[lower-alpha 1] Число можливих послідовностей слів зростає експоненційно з розміром словника, спричинюючи проблему розрідженості даних через експоненційно велику кількість послідовностей. Таким чином, для належного оцінювання ймовірностей потрібні статистики. Нейронні мережі уникають цієї проблеми, представляючи слова розподіленим чином, як нелінійні комбінації ваг у нейронній мережі[9]. Альтернативним описом є те, що нейронна мережа наближує функцію мови. Нейронна мережа може мати архітектуру прямого поширення або рекурентну, і тоді як перша є простішою, остання є поширенішою.[потрібні приклади][джерело?]
Як правило, нейромережні моделі мов будують та тренують як імовірнісні класифікатори, що вчаться передбачувати розподіл імовірності
Тобто, мережа тренується передбачувати розподіл імовірності над словником за якогось заданого лінгвістичного контексту. Це здійснюють застосуванням стандартних алгоритмів тренування нейронних мереж, таких як стохастичний градієнтний спуск зі зворотним поширенням.[9] Контекст може бути вікном попередніх слів фіксованої ширини, так, що мережа передбачує
з вектору ознак, що представляє попередні k слів.[9] Іншим варіантом є використовувати як ознаки «майбутні» слова, так само як і «минулі», так, що оцінюваною ймовірністю є
Це називають моделлю торби слів. Коли вектори ознак для слів контексту поєднують неперервною операцією, цю модель називають архітектурою неперервної торби слів (НТС, англ. continuous bag-of-words, CBOW)[10].
Третім варіантом, який тренується повільніше за НТС, але працює дещо краще, є обернути попередню задачу, і зробити так, щоби нейронна мережа вчилася контексту за заданого слова.[10] Формальніше, за заданої послідовності слів максимізують усереднену логарифмічну ймовірність
де k, розмір тренованого контексту, може бути функцією від центрального слова . Це називають пропуск-грамною (англ. skip-gram) моделлю мови[11]. Моделі торби слів та пропуск-грамна є основою програми word2vec[12].
Замість використовувати нейромережні моделі мови, щоби виробляти фактичні ймовірності, поширеним є натомість використання розподіленого представлення, закодованого в «прихованих» шарах мережі, як представлення слів. Тоді кожне слово відображують в n-вимірний дійсний вектор, званий вкладенням слова, де n є розміром шару безпосередньо перед шаром виходу. Представлення в пропуск-грамних моделях мають таку виразну характеристику, що вони моделюють семантичні відношення між словами як лінійні комбінації, вловлюючи свого роду композиційність[en]. Наприклад, у деяких таких моделях, якщо v є функцією, що відображує слово w до його n-вимірного векторного представлення, то
де ≈ роблять точним, ставлячи умову, що його права частина мусить бути найближчим сусідом значення лівої частини.[10][11]
Позиційна модель мови (англ. positional language model)[13] оцінює ймовірність трапляння заданих слів близько в тексті одне до одного, не обов'язково безпосередньо суміжними. Подібним чином, моделі концепції торби слів[14] використовують семантику, пов'язану з багатослівними виразами, такими як «buy_christmas_present», навіть якщо вони використовуються в інформаційно насичених реченнях на кшталт «today I bought a lot of very nice Christmas presents».
Незважаючи на обмежений успіх використання нейронних мереж[15], автори визнають необхідність інших методів при моделюванні мов жестів.
Для оцінювання систем обробки мови було розроблено різноманітні наборі даних[7]. До них належать: