Статистична мо́вна моде́ль або моде́ль мо́ви () — це розподіл імовірності над послідовностями слів. Заданій такій послідовності, скажімо, довжини , вона призначує ймовірність усієї цієї послідовності.
Мовна модель забезпечує контекст для розрізнювання слів та фраз, які звучать схоже. Наприклад, в американській англійській фрази «recognize speech» (розпізнавати мовлення) та «wreck a nice beach» (вбити гарний пляж) звучать схоже, але означають різні речі.
У побудові моделей мов основною проблемою є розрідженість даних. Більшість можливих послідовностей слів під час тренування не спостерігаються. Одним з розв'язків цієї проблеми є припустити, що ймовірність слова залежить лише від попередніх n слів. Це є відомим як n-грамна модель, або уніграмна модель, коли n = 1. Уніграмна модель є також відомою як модель «торба слів».
Оцінювання відносної правдоподібності різних фраз є корисним у багатьох застосуваннях обробки природної мови, особливо в тих, що породжують текст як вихід. Моделювання мов використовують у розпізнаванні мовлення,Kuhn, Roland, and Renato De Mori. "A cache-based natural language model for speech recognition." IEEE transactions on pattern analysis and machine intelligence 12.6 (1990): 570-583. машиннім перекладі, розмічуванні частин мови, синтаксичнім аналізі,Andreas, Jacob, Andreas Vlachos, and Stephen Clark. "Semantic parsing as machine translation ." Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers). 2013. оптичнім розпізнаванні символів, розпізнаванні рукописного введення,Pham, Vu, et al. "Dropout improves recurrent neural networks for handwriting recognition ." 2014 14th International Conference on Frontiers in Handwriting Recognition. IEEE, 2014. інформаційнім пошуку та інших застосуваннях.
У розпізнаванні мовлення звуки зіставляють з послідовностями слів. Неоднозначності розв'язувати легше, коли свідчення від моделі мови поєднують з моделлю вимови та .
Моделі мови використовують в інформаційнім пошуку в . Там окрему мовна модель пов'язують з кожним документом сукупності. Документи ранжують на основі ймовірності запиту Q в моделі мови документа : . Для цього зазвичай використовують уніграмну модель.
Типи моделей
Уніграмна
Уніграмну модель () можливо розглядати як комбінацію декількох одностанових скінченних автоматівChristopher D. Manning, Prabhakar Raghavan, Hinrich Schütze: An Introduction to Information Retrieval, pages 237–240. Cambridge University Press, 2009 . Вона розділює ймовірності різних лексем () у контексті, наприклад, з
до
У цій моделі ймовірність кожного зі слів залежить лише від ймовірності цього слова в документі, тож як вузли ми маємо лише одностановий скінченний автомат. Сам цей автомат має розподіл імовірності над усім словником цієї моделі, що підсумовується до 1. Далі наведено ілюстрацію уніграмної моделі документа.
Лексеми Ймовірність у документі a 0.1 world 0.2 likes 0.05 we 0.05 share 0.3 … …
Ймовірність, яку формують для конкретного запиту (), обчислюють як
Різні документи мають уніграмні моделі з різними ймовірностями влучання для слів у них. Розподіли ймовірностей з різних документів використовують для формування ймовірностей влучання для кожного запиту. Документи може бути ранжовано для запиту відповідно до цих імовірностей. Приклад уніграмних моделей двох документів:
Лексеми Ймовірність у документі 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. Одним з поширених підходів є формувати модель максимальної правдоподібності для всієї сукупності, й лінійно інтерполювати цю модель сукупності з моделлю максимальної правдоподібності для кожного з документів, щоби згладити їїButtcher, Clarke, and Cormack. Information Retrieval: Implementing and Evaluating Search Engines. pg. 289–291. MIT Press. .
n-грамна
У n-грамній моделі () ймовірність спостерігання речення наближують як
Виходять з того, що ймовірність спостерігання i-того слова wi в контексті історії попередніх i − 1 слів може бути наближено ймовірністю спостерігання його у скороченій історії контексту з попередніх n − 1 слів (марковська властивість n-того порядку).
Цю умовну ймовірність можливо обчислювати з частотних кількостей n-грамної моделі:
Терміни бігра́мна () та тригра́мна () мовні моделі позначують n-грамні моделі з n = 2 та n = 3 відповідноCraig Trim, What is Language Modeling? , April 26th, 2013. .
Як правило, ймовірності n-грамних моделей не виводять із частотних кількостей напряму, оскільки моделі, що виводять таким чином, мають серйозні проблеми, коли вони стикаються з будь-якими не баченими раніше явно n-грамами. Натомість необхідним є згладжування якогось вигляду, що призначує якусь частину загальної маси ймовірності небаченим словам або n-грамам. Використовують різні методи, від згладжування «плюс один» (призначування небаченим n-грамам кількості 1, як неінформативного апріорного), і до витонченіших моделей, таких як та .
Двоспрямована
Двоспрямовані представлення () обумовлюються як попереднім, так і наступним контекстом (наприклад, словами) в усіх шарах.
Приклад
У біграмній (n = 2) моделі мови ймовірність речення «I saw the red house» наближують як
тоді як у триграмній (n = 3) моделі мови цим наближенням є
Зауважте, що контекст перших n – 1 n-грамів заповнено маркерами початку речення, які зазвичай позначують через <s>.
Крім того, без маркера кінця речення ймовірність неграматичної послідовності «*I saw the» буде завжди вищою за ймовірність довшого речення «I saw the red house».
Експоненційна
моделі мови () кодують взаємозв'язок між словом та n-грамною історією із застосуванням функцій ознак. Цим рівнянням є
,
де є , є вектором параметрів, а є функцією ознак. У найпростішому випадку функція ознак є просто індикатором наявності певного n-граму. Корисно використовувати апріорне на , або регуляризацію якогось вигляду.
Іншим прикладом експоненційної моделі мови є логарифмічно-білінійна модель.
Нейромережна
Нейромережні моделі мов (, або неперервно-просторові моделі мови, ) щоби робити свої передбачування використовують неперервні представлення або вкладення слів . Ці моделі використовують нейронні мережі.
Неперервно-просторові вкладення допомагають пом'якшувати прокляття розмірності в моделюванні мов: що на більших і більших текстах тренуються моделі мов, то дедалі більшим стає число унікальних слів (словник). Число можливих послідовностей слів зростає експоненційно з розміром словника, спричинюючи проблему розрідженості даних через експоненційно велику кількість послідовностей. Таким чином, для належного оцінювання ймовірностей потрібні статистики. Нейронні мережі уникають цієї проблеми, представляючи слова розподіленим чином, як нелінійні комбінації ваг у нейронній мережі . Альтернативним описом є те, що нейронна мережа наближує функцію мови. Нейронна мережа може мати архітектуру прямого поширення або рекурентну, і тоді як перша є простішою, остання є поширенішою.
Як правило, нейромережні моделі мов будують та тренують як імовірнісні класифікатори, що вчаться передбачувати розподіл імовірності
.
Тобто, мережа тренується передбачувати розподіл імовірності над словником за якогось заданого лінгвістичного контексту. Це здійснюють застосуванням стандартних алгоритмів тренування нейронних мереж, таких як стохастичний градієнтний спуск зі зворотним поширенням. Контекст може бути вікном попередніх слів фіксованої ширини, так, що мережа передбачує
з вектору ознак, що представляє попередні слів. Іншим варіантом є використовувати як ознаки «майбутні» слова, так само як і «минулі», так, що оцінюваною ймовірністю є
.
Це називають моделлю торби слів. Коли вектори ознак для слів контексту поєднують неперервною операцією, цю модель називають архітектурою неперервної торби слів (НТС, ) .
Третім варіантом, який тренується повільніше за НТС, але працює дещо краще, є обернути попередню задачу, і зробити так, щоби нейронна мережа вчилася контексту за заданого слова. Формальніше, за заданої послідовності слів максимізують усереднену логарифмічну ймовірність
,
де , розмір тренованого контексту, може бути функцією від центрального слова . Це називають пропуск-грамною () моделлю мови . Моделі торби слів та пропуск-грамна є основою програми word2vec .
Замість використовувати нейромережні моделі мови, щоби виробляти фактичні ймовірності, поширеним є натомість використання розподіленого представлення, закодованого в «прихованих» шарах мережі, як представлення слів. Тоді кожне слово відображують в -вимірний дійсний вектор, званий вкладенням слова, де є розміром шару безпосередньо перед шаром виходу. Представлення в пропуск-грамних моделях мають таку виразну характеристику, що вони моделюють семантичні відношення між словами як лінійні комбінації, вловлюючи свого роду . Наприклад, у деяких таких моделях, якщо є функцією, що відображує слово до його -вимірного векторного представлення, то
,
де ≈ роблять точним, ставлячи умову, що його права частина мусить бути найближчим сусідом значення лівої частини.
Інші
Позиційна мовна модель () оцінює ймовірність трапляння заданих слів близько в тексті одне до одного, не обов'язково безпосередньо суміжними. Подібним чином, моделі концепції торби слів використовують семантику, пов'язану з багатослівними виразами, такими як «buy_christmas_present», навіть якщо вони використовуються в інформаційно насичених реченнях на кшталт «today I bought a lot of very nice Christmas presents».
Незважаючи на обмежений успіх використання нейронних мереж автори визнають необхідність інших методів при моделюванні жестових мов.
Еталони
Для оцінювання систем обробки мови було розроблено різноманітні наборі даних . До них належать:
Corpus of Linguistic Acceptability GLUE benchmark Microsoft Research Paraphrase Corpus Multi-Genre Natural Language Inference Question Natural Language Inference Quora Question Pairs Recognizing Textual Entailment Semantic Textual Similarity Benchmark SQuAD question answering Test Stanford Sentiment Winograd NLI
Див. також
Статистична модель
Трансформер BERT GPT GPT-3
Виноски
Примітки
Джерела
Посилання
Програмне забезпечення
— Bidirectional Encoder Representations from Transformers CSLM — вільний інструментарій для моделей мови на нейронних мережах прямого поширення — швидке вільне програмне забезпечення для запитів до моделей мови Generative Pre-trained Transformer IRSTLM — вільне програмне забезпечення для моделювання мов Kylm (Kyoto Language Modeling Toolkit) — вільний інструментарій моделювання мов мовою Java KenLM — швидке вільне програмне забезпечення для моделювання мов — вільний інструментарій моделювання мов для n-грамних моделей зі та рекурентно-нейромережних моделей — інструментарій моделювання мов МТІ. Вільне програмне забезпечення NPLM — вільний інструментарій для моделей мови на нейронних мережах прямого поширення OpenGrm NGram library — вільне програмне забезпечення для моделювання мов. Побудовано на OpenFst. — вільний інструментарій для моделей мови на нейронних мережах прямого поширення Positional Language Model RandLM — вільне програмне забезпечення для увипадковленого моделювання мов RNNLM — вільний інструментарій для рекурентно-нейромережних моделей мови SRILM — власницьке програмне забезпечення для моделювання мов VariKN — вільне програмне забезпечення для створювання, вирощування та обрізання n-грамних моделей зі згладжуванням Кнесера — Нея Моделі мови, натреновані на даних newswire