**مدل زبان** آماری یک توزیع احتمال روی دنباله‌ی کلمات است. به طور مثال اگر دنباله‌ای به طول m داشته باشیم، این مدل احتمال {\displaystyle P(w\_{1},\ldots ,w\_{m})} را به کل دنباله می‌دهد.

مدل زبان بافتی (زبان‌شناسی) را برای تمایز بین کلمات و عباراتی که به نظر مشابه می‌رسند فراهم می‌کند. به عنوان مثال، در انگلیسی آمریکایی، عبارات "recognize speech" و "wreck a nice beach" شبیه به هم هستند، اما معانی مختلفی دارند.

پراکندگی داده‌ها یک مشکل اساسی در ساخت مدل‌های زبان است. بیشتر توالی‌های ممکن کلمات در آموزش مشاهده نمی‌شوند. یک راه حل این است که فرض کنیم احتمال کلمه فقط به *n* کلمه قبلی بستگی دارد. این مدل به عنوان مدل ان-گرام شناخته می‌شود و زمانی که n برابر با ۱ باشد مدل به عنوان یونیگرام شناخته می‌شود. مدل یونیگرام به عنوان مدل مدل بسته کلمات نیز شناخته می شود.

تخمین احتمال نسبی عبارات مختلف در بسیاری از کاربردهای پردازش زبان طبیعی، به ویژه مواردی که متن را به عنوان خروجی تولید می کنند، مفید است. از مدل سازی زبان در تشخیص گفتار ،  ترجمه ماشینی ، برچسب‌گذاری کلمات، تجزیه ،  نویسه‌خوان نوری ، تشخیص دست خط ،  بازیابی اطلاعات و سایر برنامه ها استفاده می شود.

در تشخیص گفتار، اصوات با توالی کلمات مطابقت دارند. ابهامات هنگامی که شهودهایی از مدل زبان با یک مدل تلفظ و یک مدل صوتی ادغام شده است، آسان‌تر حل خواهند شد.

مدل‌های زبانی در بازیابی اطلاعات در مدل احتمال پرسشی استفاده می‌شود. در آنجا، یک مدل زبان جداگانه با هر مستند در یک مجموعه مرتبط است. مستندها بر اساس احتمال پرسش *Q* در مدل زبان مستند رتبه‌بندی می‌شوند. {\displaystyle M\_{d}} : {\displaystyle P(Q\mid M\_{d})}. معمولاً برای این منظور از مدل زبان یونیگرام استفاده می شود.

انواع مدل
---------

### یونیگرام

یک مدل یونیگرام را می توان ترکیبی از چندین ماشین حالات متناهی یک حالته دانست.  این مدل احتمالات کلمات مختلف در یک متن را از هم جدا می‌کند، به عنوان مثال از

{\displaystyle P(t\_{1}t\_{2}t\_{3})=P(t\_{1})P(t\_{2}\mid t\_{1})P(t\_{3}\mid t\_{1}t\_{2})}
به

{\displaystyle P\_{\text{uni}}(t\_{1}t\_{2}t\_{3})=P(t\_{1})P(t\_{2})P(t\_{3}).}
در این مدل، احتمال هر کلمه فقط به احتمال خود آن کلمه در مستند بستگی دارد ، بنابراین ما فقط ماشین حالت یک حالته را به عنوان واحدها داریم. ماشین حالت توزیع احتمال در کل واژگان مدل را دارد و مجموع آن‌ها برابر ۱ می‌شود. در زیر تصویر مدل یونیگرام یک مستند را می‌بینیم.

| کلمات | احتمال در مستند |
| --- | --- |
| a | 0.1 |
| world | 0.2 |
| likes | 0.05 |
| we | 0.05 |
| share | 0.3 |
|. .. |. .. |

{\displaystyle \sum \_{\text{term in doc}}P({\text{term}})=1}
احتمال ایجاد شده برای یک پرسش خاص به صورت زیر محاسبه می‌شود

{\displaystyle P({\text{query}})=\prod \_{\text{term in query}}P({\text{term}})}
مستندهای مختلف دارای مدل‌های یونیگرام هستند که احتمال مختلف کلمات در آن وجود دارد. توزیع احتمال از مستندهای مختلف استفاده می‌شود تا احتمال وجود کلمه برای هر جستجو را تولید شود. مستندها را می‌توان برای یک پرسش با توجه به احتمالات رتبه‌بندی کرد. نمونه ای از مدل‌های یونیگرام دو مستند:

| کلمات | احتمال در مستند اول | احتمال در مستند دوم |
| --- | --- | --- |
| 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 |
|. .. |. .. |. .. |

در زمینه‌های بازیابی اطلاعات، برای جلوگیری از مواردی که احتمال کلمه در آن صفر شود، آن را smooth می‌کنند. یک رویکرد معمول، ایجاد مدل حداکثر احتمال برای کل مجموعه و درون‌یابی خطی مدل مجموعه با یک مدل حداکثر احتمال برای هر مستند برای smooth کردن مدل است. 

### ان-گرام

در مدل *ان-گرام*، احتمال {\displaystyle P(w\_{1},\ldots ,w\_{m})} از مشاهده جمله {\displaystyle w\_{1},\ldots ,w\_{m}} به صورت زیر محاسبه می‌شود

{\displaystyle P(w\_{1},\ldots ,w\_{m})=\prod \_{i=1}^{m}P(w\_{i}\mid w\_{1},\ldots ,w\_{i-1})\approx \prod \_{i=1}^{m}P(w\_{i}\mid w\_{i-(n-1)},\ldots ,w\_{i-1})}
فرض بر این است که احتمال مشاهده‌ی iامین کلمه (*wi*) در i-1 کلمه قبل را می توان با احتمال مشاهده آن 10 کلمه قبلی تقریب زد. (کلمه nام خاصیت مارکوف).

احتمال شرطی را می‌توان از تعداد کلمه در مدل *ان-گرام* محاسبه کرد:

{\displaystyle P(w\_{i}\mid w\_{i-(n-1)},\ldots ,w\_{i-1})={\frac {\mathrm {count} (w\_{i-(n-1)},\ldots ,w\_{i-1},w\_{i})}{\mathrm {count} (w\_{i-(n-1)},\ldots ,w\_{i-1})}}}
مدل‌های **bigram** و **trigram**، مدل *ان-گرام* با *n* = 2 و *n* = 3 هستند.

به طور معمول، احتمالات مدل ان-گرام مستقیماً از تعداد فرکانس ها بدست نمی‌آیند، زیرا مدل‌هایی که از این طریق بدست آمده‌اند هنگام مواجهه با هر ان-گرامی که قبلاً به طور صریح دیده نشده است، مشکلات جدی دارند. در عوض، نوعی smoothing نیاز است تا مقداری از کل احتمال را به کلمات یا ان-گرامهای دیده نشده اختصاص دهد. از روش های مختلفی استفاده می‌شود ، از روش ساده "add-one" (اختصاص عدد 1 به n-gram مشاهده نشده، به عنوان یک توزیع پیشین) تا مدل‌های پیچیده‌تر، مانند Good-Turing discounting یا مدل‌های back-off.

#### دو طرفه

بازنمایی های دو طرفه هم در قبل و هم در بعد متن (به عنوان مثال ، کلمات) در همه لایه‌ها شرط هستند. 

#### مثال

در یک مدل زبان bigram (n = 2)، احتمال *I saw the red house* *به* طور تقریبی به صورت زیر محاسبه می‌شود

{\displaystyle P({\text{I, saw, the, red, house}})\approx P({\text{I}}\mid \langle s\rangle )P({\text{saw}}\mid {\text{I}})P({\text{the}}\mid {\text{saw}})P({\text{red}}\mid {\text{the}})P({\text{house}}\mid {\text{red}})P(\langle /s\rangle \mid {\text{house}})}
در حالی که در یک مدل زبان trigram ( *n* = 3)، *به* طور تقریبی به صورت زیر محاسبه می‌شود

{\displaystyle P({\text{I, saw, the, red, house}})\approx P({\text{I}}\mid \langle s\rangle ,\langle s\rangle )P({\text{saw}}\mid \langle s\rangle ,I)P({\text{the}}\mid {\text{I, saw}})P({\text{red}}\mid {\text{saw, the}})P({\text{house}}\mid {\text{the, red}})P(\langle /s\rangle \mid {\text{red, house}})}
توجه داشته باشید که در متن n-1 ان-گرام اول با نشانگرهای شروع جمله پر می‌شود ، که به طور معمول 
 نشان داده می‌شود.

علاوه بر این، بدون نشانگر پایان جمله، احتمال دنباله ای بدون گرامر *\* I saw the* بیشتر از جمله طولانی‌تر *I saw the red house* است.

### نمایی

مدل‌های زبان اصل حداکثر آنتروپی با استفاده از توابع ویژگی، رابطه بین کلمه و تاریخچه ان-گرام را رمزگذاری می‌کنند. معادله‌ی آن به صورت زیر است

{\displaystyle P(w\_{m}|w\_{1},\ldots ,w\_{m-1})={\frac {1}{Z(w\_{1},\ldots ,w\_{m-1})}}\exp(a^{T}f(w\_{1},\ldots ,w\_{m}))}
که {\displaystyle Z(w\_{1},\ldots ,w\_{m-1})} تابع partition، a بردار پارامتر و {\displaystyle f(w\_{1},\ldots ,w\_{m})} تابع ویژگی هستند. در ساده ترین حالت، تابع ویژگی فقط نشانگر وجود یک ان-گرام خاص است. استفاده از پیش‌فرض روی a یا منظم‌ساز مفید خواهد بود.

مدل log-bilinear نمونه دیگری از مدل‌های زبانی نمایی است.

### شبکه عصبی

مدل‌های زبانی عصبی (یا *مدل های زبان فضایی پیوسته*) برای ارائه پیش‌بینی‌های خود از نمایش‌های پیوسته یا نمایش کلمات استفاده می‌کنند.  این مدل ها از شبکه‌های عصبی استفاده می‌کنند.

نمایانگر پیوسته فضا به کاهش نفرین ابعاد در مدل سازی زبان کمک می‌کند: با آموزش مدل‌های زبان بر روی متن های بزرگتر و بزرگتر ، تعداد کلمات منحصر به فرد (واژگان) افزایش می‌یابد. تعداد توالی‌های احتمالی کلمات با اندازه واژگان به طور تصاعدی افزایش می‌یابد و به دلیل تعداد زیاد توالی‌ها، باعث ایجاد مشکل پراکندگی داده‌ها می‌شود. بنابراین ، برای برآورد صحیح احتمالات، به آمار نیاز است. شبکه‌های عصبی با نمایش کلمات به صورت توزیع شده، به عنوان ترکیب‌های غیرخطی وزن‌ها در یک شبکه عصبی، از این مشکل جلوگیری می‌کنند.  یک توصیف جایگزین این است که یک شبکه عصبی عملکرد زبان را تقریبی می‌زند. معماری شبکه عصبی ممکن است پیشخور یا بازگشتی باشد، و گرچه اولی ساده تر است دومی بیشتر مورد استفاده قرار می‌گیرد.

به طور معمول، مدل‌های زبان شبکه عصبی به عنوان طبقه‌بندی کننده‌های احتمالی ساخته می شوند و آموزش می‌بینند که توزیع احتمال را پیش‌بینی کنند

{\displaystyle P(w\_{t}|\mathrm {context} )\,\forall t\in V} .
یعنی شبکه آموزش دیده است تا با توجه به متن زبان، توزیع احتمال بر روی واژگان را پیش‌بینی کند. این کار با استفاده از الگوریتم های استاندارد آموزش عصبی عصبی مانند گرادیان کاهشی تصادفی همراه با پس‌انتشار انجام می‌شود.  متن ممکن است یک پنجره با اندازه ثابت کلمات قبلی باشد، شبکه، احتمال زیر را پیش‌بینی می‌کند

{\displaystyle P(w\_{t}|w\_{t-k},\dots ,w\_{t-1})}
از بردار ویژگی که نشان‌دهنده k کلمه‌ی قبلی است.  گزینه دیگر استفاده از کلمات "بعدی" علاوه بر کلمات "قبلی" به عنوان ویژگی است، احتمال تخمین زده شده برابر است با

{\displaystyle P(w\_{t}|w\_{t-k},\dots ,w\_{t-1},w\_{t+1},\dots ,w\_{t+k})} .
به این مدل بسته کلمات گفته می‌شود. وقتی بردارهای مشخصه کلمات در متن با یک عمل پیوسته ترکیب میaوند، از این مدل به عنوان معماری پیوسته کلمات (CBOW) یاد می‌شود. 

گزینه سوم که با سرعت کمتری نسبت به CBOW آموزش داده می‌شود اما عملکرد کمی بهتر دارد، معکوس کردن مشکل قبلی و ایجاد یک شبکه عصبی برای یادگیری متن می‌باشد.  به صورت رسمی‌تر، با داشتن دنباله‌ای از کلمات آموزشی {\displaystyle w\_{1},w\_{2},w\_{3},\dots ,w\_{T}} ، تابعی که متوسط احتمال را به حداکثر می رساند برابر است با

{\displaystyle {\frac {1}{T}}\sum \_{t=1}^{T}\sum \_{-k\leq j\leq k,j\neq 0}\log P(w\_{t+j}|w\_{t})}
که k، اندازه متن آموزش، می‌تواند تابعی از کلمه وسط ({\displaystyle w\_{t}}) باشد. به این مدل زبان skip-gram می‌گویند.  مدل‌های مدل بسته کلمات و skip-gram پایه‌های word2vec هستند. 

به جای استفاده از مدل‌های زبانی شبکه عصبی برای تولید احتمالات واقعی، معمولاً از نمایش توزیع شده در لایه های "پنهان" شبکه به عنوان نمایش کلمات استفاده می‌شود. سپس هر کلمه بر روی یک بردار واقعی n بعدی قرار می گیرد که word embedding نامیده می‌شود، به طوری که n اندازه لایه قبل از لایه خروجی است. نمایش‌ها در مدل‌های skip-gram دارای مشخصه متمایزی است که آنها روابط معنایی بین کلمات را به صورت ترکیب‌های خطی مدل‌سازی می‌کنند و نوعی ترکیب‌بندی را بدست می‌آورند. به عنوان مثال، در برخی از این مدل‌ها، اگر v تابعی باشد که یک کلمه w را به نمایش n-بعدی تبدیل کند، داریم:

{\displaystyle v(\mathrm {king} )-v(\mathrm {male} )+v(\mathrm {female} )\approx v(\mathrm {queen} )}
که ≈ با این شرط که سمت راست آن باید نزدیکترین همسایه مقدار سمت چپ باشد، دقیق‌تر می‌شود.  

### سایر

یک مدل زبان موقعیتی  احتمال وقوع کلمات معین نزدیک به یکدیگر که لزوماً بلافاصله مجاور نیستند را در یک متن ارزیابی می‌کند. به همین ترتیب، مدلهای بسته بندی مفاهیمی  از معانی معنایی مرتبط با عبارات چند کلمه‌ای مانند *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 Treebank
* Winograd NLI

جستارهای وابسته
---------------

* Statistical model
* Factored language model
* Cache language model
* Katz's back-off model
* Transformer
* BERT
* GPT
* GPT-3

یادداشت
-------

منابع
-----

### استناد

<references group="" responsive="1">

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.
2. ↑  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.
3. ↑  Pham, Vu, et al. "Dropout improves recurrent neural networks for handwriting recognition." 2014 14th International Conference on Frontiers in Handwriting Recognition. IEEE, 2014.
4. ↑  Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze: An Introduction to Information Retrieval, pages 237–240. Cambridge University Press, 2009
5. ↑  Buttcher, Clarke, and Cormack. Information Retrieval: Implementing and Evaluating Search Engines. pg. 289–291. MIT Press.
6. 1 2  Devlin, Jacob; Chang, Ming-Wei; Lee, Kenton; Toutanova, Kristina (2018-10-10). "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding". arXiv:1810.04805 [cs.CL].
7. ↑  Karpathy, Andrej. "The Unreasonable Effectiveness of Recurrent Neural Networks".
8. 1 2 3  Bengio, Yoshua (2008). "Neural net language models". *Scholarpedia*. Vol. 3. p. 3881. Bibcode:2008SchpJ...3.3881B. doi:10.4249/scholarpedia.3881.
9. 1 2 3  Mikolov, Tomas; Chen, Kai; Corrado, Greg; Dean, Jeffrey (2013). "Efficient estimation of word representations in vector space". arXiv:1301.3781 [cs.CL].
10. 1 2  Mikolov, Tomas; Sutskever, Ilya; Chen, Kai; Corrado irst4=Greg S.; Dean, Jeff (2013). *Distributed Representations of Words and Phrases and their Compositionality* (PDF). Advances in Neural Information Processing Systems. pp. 3111–3119.
11. ↑  Harris, Derrick (16 August 2013). "We're on the cusp of deep learning for the masses. You can thank Google later". *Gigaom*.
12. ↑  Lv, Yuanhua; Zhai, ChengXiang (2009). "Positional Language Models for Information Retrieval in" (PDF). *Proceedings*. 32nd international ACM SIGIR conference on Research and development in information retrieval (SIGIR). Archived from the original (PDF) on 24 November 2020. Retrieved 29 November 2020.
13. ↑  Cambria, Erik; Hussain, Amir (2012-07-28). *Sentic Computing: Techniques, Tools, and Applications* (به انگلیسی). Springer Netherlands. ISBN 978-94-007-5069-2.
14. ↑  Mocialov, Boris; Hastie, Helen; Turner, Graham (August 2018). "Transfer Learning for British Sign Language Modelling". *Proceedings of the Fifth Workshop on NLP for Similar Languages, Varieties and Dialects (VarDial 2018)*. Retrieved 14 March 2020.
15. ↑  "The Corpus of Linguistic Acceptability (CoLA)". *nyu-mll.github.io*. Retrieved 2019-02-25.
16. ↑  "GLUE Benchmark". *gluebenchmark.com* (به انگلیسی). Retrieved 2019-02-25.
17. ↑  "Microsoft Research Paraphrase Corpus". *Microsoft Download Center* (به انگلیسی). Retrieved 2019-02-25.
18. ↑  Aghaebrahimian, Ahmad (2017), "Quora Question Answer Dataset", *Text, Speech, and Dialogue*, Lecture Notes in Computer Science, vol. 10415, Springer International Publishing, pp. 66–73, doi:10.1007/978-3-319-64206-2\_8, ISBN 9783319642055
19. ↑  Sammons, V.G.Vinod Vydiswaran, Dan Roth, Mark; Vydiswaran, V.G.; Roth, Dan. "Recognizing Textual Entailment" (PDF). Archived from the original (PDF) on 9 August 2017. Retrieved February 24, 2019.`{{cite web}}`: نگهداری یادکرد:نام‌های متعدد:فهرست نویسندگان (link)
20. ↑  "The Stanford Question Answering Dataset". *rajpurkar.github.io*. Retrieved 2019-02-25.
21. ↑  "Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank". *nlp.stanford.edu*. Retrieved 2019-02-25.

### منابع

* J M Ponte and W B Croft (1998). "A Language Modeling Approach to Information Retrieval". *Research and Development in Information Retrieval*. pp. 275–281. CiteSeerX 10.1.1.117.4237.`{{cite conference}}`: نگهداری یادکرد:استفاده از پارامتر نویسندگان (link)
* F Song and W B Croft (1999). "A General Language Model for Information Retrieval". *Research and Development in Information Retrieval*. pp. 279–280. CiteSeerX 10.1.1.21.6467.`{{cite conference}}`: نگهداری یادکرد:استفاده از پارامتر نویسندگان (link)
* Chen, Stanley; Joshua Goodman (1998). *An Empirical Study of Smoothing Techniques for Language Modeling* (Technical report). Harvard University. CiteSeerX 10.1.1.131.5458.

پیوند به بیرون
--------------

### نرم‌افزار

* BERT در گیت‌هاب- نمایشگرهای رمزگذار دو طرفه از ترانسفورماتورها
* CSLM - جعبه ابزار رایگان برای مدل‌های زبان شبکه عصبی پیشخور
* DALM در گیت‌هاب- نرم‌افزار سریع و رایگان برای queryهای زبان
* ترانسفورماتور آموزش دیده از قبل
* IRSTLM on سورس‌فورج - نرم‌افزار رایگان برای مدل سازی زبان
* Kylm (جعبه ابزار مدل سازی زبان کیوتو) - جعبه ابزار رایگان مدل سازی زبان در جاوا
* KenLM - نرم‌افزار سریع و رایگان برای مدل سازی زبان
* LMSharp در گیت‌هاب- جعبه ابزار مدل زبان رایگان برای مدل های *n* -gram صاف Kneser – Ney و مدل های شبکه عصبی باگشتی
* MITLM در گیت‌هاب- مجموعه ابزار مدل سازی زبان MIT. نرم‌افزار رایگان
* NPLM - جعبه ابزار رایگان برای مدل‌های زبان عصشبکه عصبی پیشخور
* OpenGrm NGram library - نرم‌افزار رایگان برای مدل سازی زبان. ساخته شده در OpenFst.
* OxLM در گیت‌هاب- جعبه ابزار رایگان برای مدل‌های زبان شبکه عصبی پیشخور
* مدل زبان موقعیتی
* RandLM on سورس‌فورج - نرم‌افزار رایگان برای مدل‌سازی تصادفی زبان
* RNNLM - مجموعه ابزارهای مدل زبان شبکه عصبی بازگشتی رایگان
* SRILM - نرم‌افزار اختصاصی برای مدل‌سازی زبان
* VariKN - نرم‌افزار رایگان برای ایجاد ، رشد و هرس مدل های ان-گرام صاف Kneser-Ney.
* مدل های زبانی که روی داده های شبکه خبری آموزش داده شده اند