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