N گرم N-gram در زبان شناسی

,

در نظر گرفته شده ن- گرم به عنوان وسیله ای برای تثبیت واقعیت زبانی و به عنوان یک ساختار مدل. ارتباط بین مدل ن-گرم ها و گرامرهای رسمی توجه به کاستی ها و تناقضات مرتبط با استفاده از مدل های احتمالی جلب می شود.

معرفی

بیایید با یک تعریف رسمی شروع کنیم. بگذارید الفبای متناهی داده شود VT={wi)، جایی که wi- یک نماد جداگانه مجموعه‌ای از زنجیره‌ها (رشته‌ها) با طول محدود متشکل از حروف الفبا VT، در الفبا یک زبان نامیده می شود VTو تعیین شده است L(VT). یک زنجیر زبان جداگانه L(VT)ما آن را یک بیانیه به این زبان می نامیم. در نوبتش، ن-گرم به حروف الفبا VTطول زنجیره نامیده می شود ن. ن-گرام می تواند با برخی دستورات منطبق باشد، زیر رشته ای از آن باشد یا اصلاً در دستور گنجانده نشود. L(VT).

در اینجا چند نمونه آورده شده است ن-گرم

3. , ن- گرم زبان روسی. // این مجموعه

4. گلنز اس.آمار پزشکی و بیولوژیکی. مطابق. از انگلیسی ویرایش شده توسط و. م.، 1999.

5. زبانشناسی توصیفی. مقدمه ای بر کتاب «درآمدی بر زبان شناسی توصیفی» اثر جی. م.، 1959.

6. زبان شناسی نظری و کاربردی. م.، 1968.

8. , مکث در حین سنتز خودکار گفتار. // نظریه و عمل پژوهش گفتار. M. 1999.

9. مینسکی ام.شوخ طبعی و منطق ناخودآگاه شناختی. // جدید در زبان شناسی خارجی. جلد XXIII. م.، 1988.

10. اسلوبین دی.، گرین جی.روانشناسی زبان. م.، 1976

11. نظریه احتمال. م.، 1972.

12. فو ک.روش های ساختاری در تشخیص الگو. م.، 1977.

13. هریس تی.نظریه انشعاب فرآیندهای تصادفی. م.، 1966.

14. بریل ای و همکارانفراتر ن-grams: آیا پیچیدگی زبانی می تواند مدل سازی زبان را بهبود بخشد؟

15. غرفه تی.نمایش احتمالی زبان های رسمی. // IEEE Annual Symp. سوئیچینگ و تئوری اتوماتا. 1969.

16. جلینک اف.مدل سازی زبان خود سازمان یافته برای تشخیص گفتار. // خواندن در تشخیص گفتار. 1989.

17. جلینک اف.، لافرتی جی.محاسبه احتمال تولید زیررشته اولیه توسط دستور زبان تصادفی بدون زمینه. // زبان شناسی محاسباتی، ج.

18. هریس ز.اس.روش در زبان شناسی ساختاری. شیکاگو، 1951.

19. لشلی ک.مشکل نظم سریال در رفتار. // Psycholinguistics: A book of Reading, N. Y. 1961.

20. شلزینگر ای.ساختار جمله و فرآیند خواندن موتون. 1968.

21. شیبر اس.شواهدی علیه بی بافتی زبان طبیعی. // زبان شناسی و فلسفه، ج.

22. استخر سولا I.روندهای امروزی در تحلیل محتوا // روانشناسی: کتاب خواندن، N. Y. 1961

23. استولکه ای.، سگال جی.احتمالات n-گرام دقیق از دستور زبان های تصادفی بدون زمینه. // مجموعه مقالات سی و دومین نشست سالانه ACL. 1994.

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

جستجوی خطی

کاربرد متوالی ساده یک متریک معین (مثلاً متریک لونشتاین) برای کلمات متن ورودی. هنگام استفاده از یک متریک محدود، این روش امکان عملکرد بهینه را فراهم می کند. اما، در عین حال، بیشتر ک، زمان کار بیشتر افزایش می یابد. تخمین زمان مجانبی - O(kn).

Bitap (همچنین به عنوان Shift-Or یا Baeza-Yates-Gonnet نیز شناخته می شود، و اصلاح آن توسط Wu-Manber)

الگوریتم Bitapو اصلاحات مختلف آن اغلب برای جستجوی فازی بدون نمایه سازی استفاده می شود. نوعی از آن استفاده می شود، به عنوان مثال، در ابزار یونیکس agrep، که عملکردهایی مشابه grep استاندارد را انجام می دهد، اما با پشتیبانی از خطاها در جستجوی جستجو و حتی قابلیت های محدودی برای استفاده از عبارات منظم ارائه می دهد.

ایده این الگوریتم برای اولین بار توسط شهروندان مطرح شد ریکاردو بائزا-یتسو گاستون گونت، انتشار مقاله مرتبط در سال 92.
نسخه اصلی الگوریتم فقط با جایگزینی کاراکترها سروکار دارد و در واقع فاصله را محاسبه می کند همینگ. اما کمی بعد سان ووو اودی منبراصلاحی در این الگوریتم برای محاسبه فاصله پیشنهاد شده است لونشتاین، یعنی پشتیبانی از درج و حذف را معرفی کرد و اولین نسخه از ابزار agrep را بر اساس آن توسعه داد.






ارزش حاصل

جایی که ک- تعداد اشتباهات j- شاخص نماد، س x - ماسک کاراکتر (در ماسک، بیت های واحد در موقعیت های مربوط به موقعیت های این کاراکتر در درخواست قرار دارند).
اینکه آیا یک درخواست مطابقت دارد یا نه، توسط آخرین بیت بردار حاصله R تعیین می شود.

سرعت بالای عملکرد این الگوریتم با موازی سازی بیت محاسبات تضمین می شود - در یک عملیات می توان محاسبات را روی 32 بیت یا بیشتر به طور همزمان انجام داد.
در عین حال، اجرای بی اهمیت از جستجوی کلماتی که بیشتر از 32 نباشد پشتیبانی می کند. این محدودیت با عرض نوع استاندارد تعیین می شود. بین المللی(در معماری های 32 بیتی). از انواع ابعاد بزرگتر نیز می توان استفاده کرد، اما این ممکن است تا حدی الگوریتم را کند کند.

علیرغم اینکه زمان اجرای مجانبی این الگوریتم O(kn)با روش خطی منطبق است، با پرس و جوهای طولانی و تعداد خطاها بسیار سریعتر است. کبیش از 2.

آزمایش کردن

آزمایش بر روی متنی با 3.2 میلیون کلمه انجام شد که میانگین طول کلمه 10 بود.
جستجوی دقیق
زمان جستجو: 3562 میلی‌ثانیه
جستجو با استفاده از متریک Levenshtein
زمان جستجو در k=2: 5728 میلی‌ثانیه
زمان جستجو در k=5: 8385 میلی‌ثانیه
با استفاده از الگوریتم Bitap با تغییرات Wu-Manber جستجو کنید
زمان جستجو در k=2: 5499 میلی‌ثانیه
زمان جستجو در k=5: 5928 میلی‌ثانیه

واضح است که یک جستجوی ساده با استفاده از متریک، برخلاف الگوریتم Bitap، به شدت به تعداد خطاها بستگی دارد. ک.

با این حال، وقتی صحبت از جستجوی متون بزرگ و بدون تغییر می شود، زمان جستجو را می توان با پیش پردازش چنین متنی کاهش داد. نمایه سازی.

الگوریتم های جستجوی فازی با نمایه سازی (آفلاین)

یکی از ویژگی های همه الگوریتم های جستجوی فازی با نمایه سازی این است که نمایه با استفاده از فرهنگ لغت کامپایل شده از متن مبدأ یا فهرستی از رکوردها در پایگاه داده ساخته می شود.

این الگوریتم‌ها از روش‌های مختلفی برای حل مسئله استفاده می‌کنند - برخی از آنها از کاهش برای جستجوی دقیق استفاده می‌کنند، برخی دیگر از ویژگی‌های متریک برای ساختن ساختارهای فضایی مختلف و غیره استفاده می‌کنند.

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

فرض بر این است که نمایه، مانند فرهنگ لغت، به طور کامل در حافظه بارگذاری شده است.

مشخصات تاکتیکی و فنی فرهنگ لغت:

  • متن منبع - 8.2 گیگابایت مواد از کتابخانه Moshkov (lib.ru)، 680 میلیون کلمه؛
  • حجم دیکشنری - 65 مگابایت;
  • تعداد کلمات - 3.2 میلیون.
  • میانگین طول کلمه 9.5 کاراکتر است.
  • میانگین طول کلمه مربع (می تواند هنگام ارزیابی برخی از الگوریتم ها مفید باشد) - 10.0 کاراکتر.
  • الفبا - حروف بزرگ A-Z، بدون E (برای ساده کردن برخی از عملیات). کلمات حاوی کاراکترهای غیر الفبایی در فرهنگ لغت گنجانده نشده است.
وابستگی اندازه فرهنگ لغت به حجم متن کاملاً خطی نیست - تا یک حجم خاص، یک چارچوب اساسی از کلمات تشکیل می شود که از 15٪ برای 500 هزار کلمه تا 5٪ برای 5 میلیون متغیر است. وابستگی به خطی نزدیک می شود، به آرامی کاهش می یابد و برای 680 میلیون کلمه به 0.5٪ می رسد. حفظ بعدی رشد بیشتر از طریق کلمات نادر تضمین می شود.

الگوریتم بسط نمونه

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

از پرس و جو اصلی، مجموعه ای از کلمات "اشتباه" ساخته شده است که برای هر یک از آنها جستجوی دقیق در فرهنگ لغت انجام می شود.

زمان اجرای آن به شدت به تعداد k خطا و اندازه الفبای A بستگی دارد و در مورد استفاده از جستجوی فرهنگ لغت باینری به این صورت است:

مثلاً وقتی k = 1و کلمات با طول 7 (به عنوان مثال، "کروکودیل") در الفبای روسی، بسیاری از کلمات اشتباه در اندازه 450 خواهند بود، یعنی باید 450 پرس و جو در فرهنگ لغت ایجاد شود که کاملا قابل قبول است.
اما در حال حاضر در k = 2اندازه چنین مجموعه ای بیش از 115 هزار گزینه خواهد بود که مربوط به جستجوی کامل یک فرهنگ لغت کوچک یا در مورد ما 1/27 است و بنابراین زمان کار بسیار طولانی خواهد بود. در عین حال، ما نباید فراموش کنیم که برای هر یک از این کلمات لازم است جستجوی دقیق در فرهنگ لغت انجام شود.

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

این روش مدتها پیش ابداع شد و بیشترین استفاده را دارد، زیرا اجرای آن بسیار ساده است و عملکرد نسبتاً خوبی را ارائه می دهد. الگوریتم بر اساس این اصل است:
"اگر کلمه A با کلمه B مطابقت داشته باشد، با در نظر گرفتن چندین خطا، با درجه احتمال بالا حداقل یک زیررشته مشترک به طول N خواهند داشت."
این زیر رشته ها با طول N N-گرم نامیده می شوند.
در طول نمایه سازی، یک کلمه به این N-gram ها تقسیم می شود و سپس کلمه در لیست های هر یک از این N-gram ها قرار می گیرد. در حین جستجو، پرس و جو نیز به N-gram تقسیم می شود و برای هر یک از آنها لیستی از کلمات حاوی چنین زیررشته ای به صورت متوالی جستجو می شود.

بیشترین استفاده در عمل تریگرام ها هستند - رشته های فرعی با طول 3. انتخاب یک مقدار بزرگتر از N منجر به محدودیت در حداقل طول کلمه ای می شود که در آن خطاها می توانند از قبل شناسایی شوند.

ویژگی ها:
الگوریتم N-gram همه کلمات اشتباه املایی ممکن را پیدا نمی کند. اگر برای مثال کلمه VOTKA را بگیریم و آن را به تریگرام تجزیه کنیم: VO تی KA → VO تیدر باره تیبه تی KA - می توانید متوجه شوید که همه آنها حاوی خطای T هستند. بنابراین، کلمه "VODKA" یافت نمی شود، زیرا حاوی هیچ یک از این سه گرام ها نیست و در لیست های مربوطه گنجانده نمی شود. بنابراین، هرچه طول کلمه کوتاهتر باشد و خطاهای آن بیشتر باشد، احتمال اینکه در لیست های مربوط به N-گرم پرس و جو قرار نگیرد و در نتیجه وجود نداشته باشد بیشتر است.

در همین حال، روش N-gram فضای کاملی را برای استفاده از معیارهای خود با ویژگی‌ها و پیچیدگی‌های دلخواه باز می‌کند، اما باید هزینه آن را بپردازید - هنگام استفاده از آن، هنوز باید حدود 15٪ از فرهنگ لغت را به طور متوالی جستجو کنید، که کاملاً یک کلمه است. مقدار زیادی برای دیکشنری های بزرگ

بهبودهای احتمالی:
می توانید جداول هش N-gram را بر اساس طول کلمه و موقعیت N-gram در یک کلمه تقسیم کنید (اصلاح 1). چگونه طول کلمه جستجو و پرس و جو نمی تواند بیش از آن متفاوت باشد ک، و موقعیت یک N-گرم در یک کلمه نمی تواند بیش از k متفاوت باشد. بنابراین، لازم است فقط جدول مربوط به موقعیت این N-گرم در کلمه و همچنین k جدول در سمت چپ و k جدول در سمت راست بررسی شود. جمع 2k+1جداول همسایه

شما می توانید با تقسیم جداول بر طول کلمه، و به طور مشابه فقط مشاهده همسایه، اندازه مجموعه مورد نیاز برای مشاهده را کاهش دهید. 2k+1جداول (اصلاح 2).

این الگوریتم در مقاله L.M. Boytsov توضیح داده شده است. "هش با امضا." این مبتنی بر نمایش نسبتاً واضحی از "ساختار" یک کلمه به شکل بیت بیت است که به عنوان هش (امضا) در جدول هش استفاده می شود.

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

فرآیند محاسبه هش - هر بیت از هش با گروهی از کاراکترهای الفبا مرتبط است. بیت 1 در موقعیت مندر هش به این معنی است که کلمه منبع حاوی کاراکتری از i-thگروه های الفبا ترتیب حروف در یک کلمه مطلقاً معنی ندارد.

حذف یک کاراکتر یا مقدار هش را تغییر نمی‌دهد (اگر هنوز کاراکترهایی از همان گروه الفبا در کلمه وجود داشته باشد)، یا بیت مربوط به این گروه به 0 تغییر می‌کند. هنگام درج، به همین ترتیب، یکی از بیت‌ها تغییر می‌کند. 1 می شود، یا هیچ تغییری وجود نخواهد داشت. هنگام جایگزینی کاراکترها، همه چیز کمی پیچیده تر است - هش می تواند بدون تغییر بماند یا در 1 یا 2 موقعیت تغییر کند. در طول جایگشت، هیچ تغییری به هیچ وجه رخ نمی دهد، زیرا ترتیب نمادها در هنگام ساخت هش، همانطور که قبلا ذکر شد، در نظر گرفته نمی شود. بنابراین، برای پوشش کامل k خطا، حداقل باید تغییر دهید 2kبیت در هش

زمان عملیاتی، به طور متوسط، با k "ناقص" (درج، حذف و جابجایی، و همچنین بخش کوچکی از جایگزینی) خطاهای:

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

درختان BK

درختان بورکهارد-کلردرخت‌های متریک هستند، الگوریتم‌هایی برای ساخت چنین درخت‌هایی بر اساس ویژگی متریک برای برآوردن نابرابری مثلث است:

این ویژگی به متریک ها اجازه می دهد تا فضاهای متریک با ابعاد دلخواه را تشکیل دهند. چنین فضاهای متریک لزوماً نیستند اقلیدسی، به عنوان مثال، معیارها لونشتاینو Damerau-Levenshteinفرم غیر اقلیدسیفضا. بر اساس این ویژگی ها، می توان ساختار داده ای ساخت که در چنین فضای متریکی که درختان برکهارد-کلر هستند جستجو کند.

بهبودها:
می‌توانید از توانایی برخی معیارها برای محاسبه فاصله با یک محدودیت استفاده کنید، حد بالایی را برابر با مجموع حداکثر فاصله تا فرزندان رأس و فاصله حاصل از آن قرار دهید، که این روند را کمی تسریع می‌کند:

آزمایش کردن

آزمایش بر روی یک لپ تاپ با Intel Core Duo T2500 (2GHz/667MHz FSB/2MB)، 2Gb RAM، OS - Ubuntu 10.10 Desktop i686، JRE - OpenJDK 6 Update 20 انجام شد.

آزمایش با استفاده از فاصله Damerau-Levenshtein و تعداد خطاها انجام شد k = 2. اندازه فهرست به همراه فرهنگ لغت (65 مگابایت) نشان داده شده است.

حجم فهرست: 65 مگابایت
زمان جستجو: 320ms / 330ms
کامل بودن نتایج: 100%

N-gram (اصلی)
حجم فهرست: 170 مگابایت
زمان ایجاد ایندکس: 32 ثانیه
زمان جستجو: 71 میلی‌ثانیه / 110 میلی‌ثانیه
کامل بودن نتایج: 65%
N-gram (اصلاح 1)
حجم فهرست: 170 مگابایت
زمان ایجاد ایندکس: 32 ثانیه
زمان جستجو: 39ms / 46ms
کامل بودن نتایج: 63%
N-gram (اصلاح 2)
حجم فهرست: 170 مگابایت
زمان ایجاد ایندکس: 32 ثانیه
زمان جستجو: 37ms / 45ms
کامل بودن نتایج: 62%

حجم فهرست: 85 مگابایت
زمان ایجاد ایندکس: 0.6 ثانیه
زمان جستجو: 55 میلی‌ثانیه
کامل بودن نتایج: 56.5%

درختان BK
حجم فهرست: 150 مگابایت
زمان ایجاد ایندکس: 120 ثانیه
زمان جستجو: 540 میلی‌ثانیه
کامل بودن نتایج: 63%

جمع

بیشتر الگوریتم‌های جستجوی فازی نمایه‌شده واقعاً زیرخطی نیستند (یعنی دارای زمان اجرای مجانبی هستند. O (log n)یا کمتر)، و سرعت عملکرد آنها معمولاً به طور مستقیم به آن بستگی دارد ن. با این وجود، پیشرفت‌ها و پیشرفت‌های متعدد، دستیابی به زمان‌های عملیاتی به اندازه کافی کوتاه را حتی با حجم بسیار زیادی از فرهنگ لغت ممکن می‌سازد.

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

استفاده عملی از الگوریتم‌های جستجوی فازی در موتورهای جستجوی واقعی ارتباط نزدیکی با الگوریتم‌های آوایی، الگوریتم‌های ریشه واژگانی دارد - جداسازی بخش پایه از اشکال مختلف کلمه یک کلمه (به عنوان مثال، Snowball و Yandex mystem این قابلیت را ارائه می‌دهند)، و همچنین رتبه بندی بر اساس اطلاعات آماری یا با استفاده از معیارهای پیچیده پیچیده.

  • فاصله لونشتاین (با گزینه قطع و پیشوند)؛
  • فاصله Damerau-Levenshtein (با گزینه قطع و پیشوند)؛
  • الگوریتم Bitap (Shift-OR / Shift-AND با تغییرات Wu-Manber)؛
  • الگوریتم گسترش نمونه.
  • روش N-gram (اصلی و با تغییرات)؛
  • روش هش امضا؛
  • درختان BK.
من می‌خواستم کد را برای فهم آسان و در عین حال به اندازه کافی برای استفاده عملی کارآمد کنم. این وظیفه من نبود که آخرین آب را از JVM بیرون بیاورم. لذت ببرید.

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

با استفاده از N-gram

استفاده عمومی از N-gram

  • استخراج داده‌ها برای خوشه‌بندی مجموعه‌ای از تصاویر ماهواره‌ای زمین از فضا و سپس تصمیم‌گیری در مورد قسمت‌های خاصی از زمین در تصویر،
  • جستجوی توالی های ژنتیکی،
  • در زمینه ژنتیک برای تعیین نمونه های DNA از گونه های حیوانی خاص استفاده می شود،
  • در فشرده سازی کامپیوتر،
  • با استفاده از N-gram، داده های مربوط به صدا معمولاً نمایه می شوند.

N-گرام نیز به طور گسترده در پردازش زبان طبیعی استفاده می شود.

استفاده از N-Gram برای نیازهای پردازش زبان طبیعی

در زمینه پردازش زبان طبیعی، N-gram در درجه اول برای پیش بینی بر اساس مدل های احتمالی استفاده می شود. مدل N-gram احتمال آخرین کلمه یک N-gram را در صورتی محاسبه می کند که تمام کلمات قبلی شناخته شده باشند. هنگام استفاده از این رویکرد برای مدل سازی زبان، فرض بر این است که وقوع هر کلمه فقط به کلمات قبلی بستگی دارد.

یکی دیگر از کاربردهای N-gram برای تشخیص سرقت ادبی است. اگر متن را به چند قطعه کوچک تقسیم کنید که با n-گرم نشان داده می شود، می توان آنها را به راحتی با یکدیگر مقایسه کرد و بنابراین درجه شباهت اسناد کنترل شده را به دست آورد. N-gram اغلب با موفقیت برای دسته بندی متن و زبان استفاده می شود. علاوه بر این، می توان از آنها برای ایجاد توابعی استفاده کرد که به شما امکان می دهد از داده های متنی دانش به دست آورید. با استفاده از N-grams می توانید به طور موثر نامزدهایی را برای جایگزینی کلمات غلط املایی پیدا کنید.

پروژه های تحقیقاتی گوگل

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

گوگل تصمیم گرفت ساختمان آموزشی خود را ایجاد کند. این پروژه Google teracorpus نام دارد و شامل 1,024,908,267,229 کلمه است که از وب سایت های عمومی جمع آوری شده است.

روشهای استخراج n-گرم

با توجه به استفاده مکرر از N-gram برای حل مسائل مختلف، یک الگوریتم قابل اعتماد و سریع برای استخراج آنها از متن مورد نیاز است. یک ابزار استخراج n-gram مناسب باید بتواند اندازه متن نامحدود را مدیریت کند، سریع باشد و از منابع موجود استفاده بهینه کند. روش های مختلفی برای استخراج N-gram از متن وجود دارد. این روش ها بر اساس اصول مختلفی هستند:

یادداشت

همچنین ببینید


بنیاد ویکی مدیا 2010.

  • n-tv
  • N-cadherin

ببینید «N-gram» در فرهنگ‌های دیگر چیست:

    گرم- (گرم فرانسوی، از صفت گرامای یونانی). واحد زبان فرانسه وزن = وزن 1 سانتی متر مکعب آب مقطر = 22.5 روسی. سهام فرهنگ لغات کلمات خارجی موجود در زبان روسی. Chudinov A.N., 1910. گرم واحد اندازه گیری وزن در فرانسه ... فرهنگ لغت کلمات خارجی زبان روسی

    گرم- گرم، جن. pl گرم و قابل قبول (در گفتار شفاهی بعد از اعداد) گرم. صد گرم (گرم). در دفاع از شکل جدید جنس. حالت جمع تعداد گرم توسط کارشناس زبان روسی، نویسنده K. Chukovsky صحبت شد. این همان چیزی است که او در کتاب "زنده به عنوان زندگی" نوشت: ... فرهنگ لغت دشواری های تلفظ و استرس در زبان روسی مدرن

    گرم- گرم، گرم، شوهر. (از علامت دستور زبان یونانی، حرف). واحد اصلی وزن در سیستم متریک برابر با وزن 1 سانتی متر مکعب آب است. یک گرم حدود 1/400 پوند وزن دارد. ❖ اتم گرم (فیزیکی) تعداد گرم یک ماده برابر با وزن اتمی آن... ... فرهنگ توضیحی اوشاکوف

    گرم رونتگن- گرم roentgen/n، گرم roentgen/na، gen. pl گرم رونتگن و گرم رونتگن ... با یکدیگر. جدا از هم. مجزا شده.

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

    GRAM-ATOM- GRAM ATOM، مقدار عنصری که جرم آن، بر حسب گرم، برابر با جرم اتمی آن است. با مول واحد SI جایگزین شد. به عنوان مثال، یک گرم اتم هیدروژن (H، جرم اتمی = 1) برابر با یک گرم است. b>معادل گرم، وزن بر حسب گرم از آن... ... فرهنگ دانشنامه علمی و فنی

    گرم- گرم، اوه، مهربان. pl گرم و گرم شوهر واحد جرم در سیستم اعشاری، یک هزارم کیلوگرم. نه یک گرم (نه) از هیچ چیز (عامیانه) نه اصلاً، نه اصلاً. این مرد (نه) وجدان دارد. | تصرف گرم، اوه، اوه باهوش... ... فرهنگ توضیحی اوژگوف

    گرم- آ؛ pl جنس گرم و گرم؛ متر [فرانسوی] گرم] واحد جرم در سیستم متریک، یک هزارم کیلوگرم. ◊ نه یک گرم. اصلا نه اصلا. در چه کسی ل. نه ذره ای دروغ هیچ کس یک ذره وجدان ندارد. * * * گرم (فرانسوی ... فرهنگ لغت دایره المعارفی

    گرم زنوب تئوفیل- (Gramme) (1826 1901)، مهندس برق. متولد بلژیک، کار در فرانسه. اختراع یک ژنراتور الکتریکی قابل استفاده با آرمیچر حلقه را دریافت کرد (1869). تولید صنعتی ماشین های الکتریکی را پایه گذاری کرد. * * * گرم زنوب... ... فرهنگ لغت دایره المعارفی

    گرم اتم- مقدار یک ماده بر حسب گرم، عددی برابر جرم اتمی آن است. این اصطلاح برای استفاده توصیه نمی شود. در SI، مقدار یک ماده بر حسب مول بیان می شود. * * * GRAM ATOM GRAM ATOM، مقدار یک ماده بر حسب گرم، عددی برابر جرم اتمی آن (cm ... فرهنگ لغت دایره المعارفی

    مولکول گرم- مقدار یک ماده بر حسب گرم، عددی برابر با وزن مولکولی آن است. این اصطلاح برای استفاده توصیه نمی شود. در SI، مقدار یک ماده بر حسب مول بیان می شود. * * * مولکول گرم مولکول گرم، مقدار یک ماده بر حسب گرم، عددی برابر با ... ... فرهنگ لغت دایره المعارفی

هسته معنایی

برای توسعه موفقیت آمیز و افزایش دید یک وب سایت در واقعیت های مدرن، لازم است به طور مداوم هسته معنایی گسترش یابد. یکی از بهترین راه ها برای گسترش، جمع آوری کلمات کلیدی رقبا است.

امروزه دستیابی به معناشناسی رقبا دشوار نیست، زیرا خدمات زیادی وجود دارد، چه پولی و چه رایگان.

لیست موارد رایگان:

- megaindex.ru - ابزار "نمایش سایت".

- xtool.ru - یک سرویس شناخته شده که همچنین کلمات کلیدی که سایت برای آنها رتبه بندی شده است را نشان می دهد

لیست موارد پرداخت شده:

— spywords.ru — مناسب برای Yandex و Google

- semrush.ru - فقط برای گوگل

— prodvigator.ua — آنالوگ اوکراینی spywords.ru

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

N-gram - دنباله ای از n عنصر. در عمل، N-gram بیشتر به عنوان یک سری کلمات یافت می شود. دنباله ای از دو عنصر متوالی اغلب نامیده می شود بیگرام، دنباله ای از سه عنصر نامیده می شود سه گرام. حداقل چهار یا چند عنصر به عنوان N-گرم تعیین می شوند، N با تعداد عناصر متوالی جایگزین می شود.

بیایید این تکنیک را مرحله به مرحله بررسی کنیم:

- عنوان (توضیحات) رقبا را تخلیه می کنیم. با استفاده از برنامه Screaming Frog SEO قابل انجام است.

- در یک ویرایشگر متن، لیست حاصل را از قسمت های کمکی گفتار، علائم نگارشی و سایر زباله ها پاک می کنیم. من از تابع جستجو و جایگزینی در ویرایشگر متن عالی (کلید فوری ctrl+H)، با استفاده از عبارات منظم استفاده می‌کنم:

- n-gram مورد نظر را انتخاب کنید و فرکانس را حداقل یک تنظیم کنید. بهترین گزینه تریگرم و 4 گرم است:

- نتیجه زیر را می گیریم:

ستونشمردنتعداد تکرارها را نشان می دهدn-گرم، ستونفرکانس -فرکانسn-گرم

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

گروه بندی درخواست ها

درک چگونگی گروه بندی هسته معنایی رقبا بسیار مهم است، زیرا این به توزیع صحیح عبارات کلیدی در صفحات سایت کمک می کند.

برای انجام این کار، پس از ایجاد یک لیست کامل از پرس و جوها، باید صفحات و موقعیت های مرتبط رقبا را بدست آوریم (شما می توانید از سرویس seolib.ru استفاده کنید)، و سپس آنها را با گروه بندی خود مقایسه کنید. اگر مشخص است که یک رقیب موقعیت خوبی را اشغال می کند و در عین حال گروه بندی آن با ما متفاوت است (مثلاً سؤالات یک رقیب در صفحات مختلف توزیع شده است، اما ما سؤالات یکسانی در یک صفحه داریم)، ​​باید توجه کنید این را بررسی کنید و صفحات فرود را در وب سایت خود مرور کنید.

بیایید به یک مثال کوچک از مقایسه گروه بندی یک سایت شرطی و رقیب آن نگاه کنیم.

همانطور که از جدول مشخص است، در وب سایت site.ru یک صفحه فرود برای همه کلمات کلیدی انتخاب شده است. رقیب صفحات مختلف را برای همان پرس و جوها رتبه بندی می کند و موقعیت های TOP یا نزدیک به TOP را می گیرد. بر این اساس، می توان نتیجه گرفت که گروه بندی سایت.ru نیاز به تجدید نظر دارد، به ویژه، لازم است یک صفحه جداگانه برای عبارات کلیدی با کلمه "نما" ایجاد شود.

کیفیت متون

اولین و مهمترین چیزی که باید در هنگام تجزیه و تحلیل متون رقبا به آن توجه کنید، جزء کمی (تعداد رخدادها، حجم متن و غیره) نیست، بلکه جزء کیفی یا معنایی است - اطلاعات چقدر مفید است، رقیب چیست. پیشنهادات و نحوه انجام آن

بیایید به چند نمونه نگاه کنیم.

فرض کنید گل ها را تحویل می دهید و در صفحه اصلی متن تازگی آنها را تضمین می کنید. به عنوان مثال، مانند این:

خدمات ارسال گلسایت. ruایمنی دسته گل ها را حتی در فصل سرد تضمین می کند.

در اینجا یک مثال از یکی از رقبای ما آورده شده است:

سفارش ترکیبات معطر از ما سودآور است، زیرا در صورت شک در تازگی گلها، 100٪ پول را تضمین می کنیم.

ضمانت رقیب پشتوانه پولی است که از ضمانت انتزاعی مهمتر است.

بیایید به مثال دیگری نگاه کنیم - متن صفحه دسته "کاشی و سرامیک" یک فروشگاه آنلاین:

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

حال بیایید به متن رقیب نگاه کنیم:

این متن مفیدتر است زیرا ... به طور مختصر تفاوت‌های بین کاشی‌ها را بیان می‌کند و به شما کمک می‌کند تا نحوه انتخاب مناسب را درک کنید.

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

مرتبط بودن متون

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

هنگام ارزیابی ارتباط متن با یک پرس و جو، موتور جستجو نه تنها وجود کلمات کلیدی، بلکه کلمات اضافی را نیز تجزیه و تحلیل می کند، بنابراین معنای متن را تعیین می کند. به عنوان مثال، اگر در حال نوشتن متنی در مورد یک فیل هستیم، می توان کلمات مرتبط را در نظر گرفت: "تنه"، "عاج"، "طبیعت"، "باغ وحش". اگر متن در مورد مهره شطرنج "اسقف" باشد، این کلمات عبارتند از: "قطعه"، "چک"، "ملکه" و غیره.

شما می توانید مناسب ترین لیست کلمات را برای پرسش های خود در متن های رقبا دریافت کنید. برای انجام این کار باید مراحل زیر را انجام دهید:

- ما تمام متون را از TOP-10 با توجه به درخواست HF مورد نظر در فایل های متنی مختلف کپی می کنیم.

— بخش‌های رسمی گفتار، علائم نگارشی و اعداد را از متون حذف می‌کنیم (که قبلاً در مورد آن بحث شد).

- مرتب کردن کلمات در یک رشته - با استفاده از تابع "جستجو و جایگزین" با عبارات منظم. فاصله را با \n جایگزین کنید.

- در مرحله بعد، لازم است تمام فرم های کلمه را به فرم فرهنگ لغت معمولی (leme) بیاورید. برای انجام این کار، می توانید از سرویس https://tools.k50project.ru/lemma/ استفاده کنید. در فیلد باید لیستی از کلمات هر فایل را جداگانه وارد کنید و روی دکمه "lemmetize and output as a csv table" کلیک کنید. نتیجه باید 10 فایل با کلمات lemmetized باشد.

- ما کلمات تکراری را در هر فایل حذف می کنیم.

- ما کلمات را از فایل ها در یک لیست ترکیب می کنیم.

- اکنون باید یک فرهنگ لغت فرکانس ایجاد کنیم. برای انجام این کار، لیست حاصل را به سرویس https://tools.k50project.ru/lemma/ اضافه کنید و روی "ساخت فرهنگ لغت فرکانس در فرم CSV" کلیک کنید.

- لیست کلمات ما آماده است:

اگر فرکانس 10 باشد، این کلمه در هر 10 سایت استفاده شده است، اگر 8 باشد، پس فقط در 8 و غیره. توصیه می کنیم از رایج ترین کلمات استفاده کنید، اما راه حل های جالبی نیز در میان کلمات نادر پیدا می شود.

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

همانطور که می بینید، رقبا منبع بسیار مهمی از اطلاعات هستند که می توانند به شما در بهینه سازی بهتر سایت های خود کمک کنند. در این مقاله من تمام جنبه ها را پوشش نداده ام و در آینده به نوشتن در مورد آنچه مفید است و چگونه می توانید از رقبای خود یاد بگیرید ادامه خواهم داد.

مشترک شدن در خبرنامه ما

تعریف نمونه هایی از مسائل کاربردی ایجاد یک مدل زبان n-gram محاسبه احتمال n-gram حذف پراکندگی مجموعه آموزشی o هموارسازی افزودنی o تخفیف Witten-Bell o تخفیف با تورینگ خوب o کاتز عقب نشینی o حذف شده درون یابی تخمین n مدل زبان گرام با استفاده از محتویات آنتروپی


N-gram (انگلیسی N-gram) دنباله ای از N عنصر از یک دنباله است. بیایید به دنباله کلمات نگاه کنیم. گربه یونیگرام، سگ، اسب،... گربه کوچک بیگرام، سگ بزرگ، اسب قوی،... تریگرام گربه کوچک می خورد، پارس سگ بزرگ، دویدن اسب قوی،... تعریف


نمونه هایی از مشکلات کاربردی تشخیص گفتار. برخی از کلمات با املای متفاوت یکسان تلفظ می شوند. وظیفه انتخاب کلمه صحیح در متن است. تولید متون در یک موضوع معین. مثال: Yandex.Abstracts. جستجوی خطاهای معنایی او در تلاش است تا دقیق شود - از نقطه نظر نحو درست است، از نقطه نظر معناشناسی اینطور نیست. او در تلاش است تا بفهمد - درست است. تلاش برای پیدا کردن در متون انگلیسی بسیار بیشتر از تلاش برای دقیق کردن یافت می شود، به این معنی که اگر آمار داشته باشید، می توانید خطاهایی از این دست را پیدا کنید و از بین ببرید.


ایجاد یک مدل زبان از n-gram برای حل مشکلات برنامه ذکر شده، باید یک مدل زبان N-gram ایجاد کنید. برای ایجاد یک مدل باید: 1. احتمالات n گرم را در پیکره آموزشی محاسبه کنید. 2. با استفاده از یکی از روش های هموارسازی مشکل پراکندگی جسم را برطرف کنید. 3. کیفیت مدل زبان n-gram حاصل را با استفاده از آنتروپی ارزیابی کنید.


محاسبه احتمال N-گرم (1) در پیکره آموزشی، n-گرم خاصی با فرکانس های مختلف رخ می دهد. برای هر n-گرم، می‌توانیم شمارش کنیم که چند بار در بدنه ظاهر می‌شود. بر اساس داده‌های به‌دست‌آمده، یک مدل احتمالی می‌توان ساخت، که سپس می‌توان از آن برای تخمین احتمال n-گرم در برخی از پیکره‌های آزمایشی استفاده کرد.


محاسبه احتمال N-گرم (2) بیایید به یک مثال نگاه کنیم. اجازه دهید مجموعه از یک جمله تشکیل شود: آنها در کنار استخر پیک نیک کردند، سپس روی چمن ها دراز کشیدند و به ستاره ها نگاه کردند. Unigrams: They, pickned, by, … Bigrams: They Picknicked, Picknicked by, by the, … Trigrams They pickned by, Picknicked by the, by the pool,…


محاسبه احتمال N گرم (3) اکنون می توانید n گرم را بشمارید. همه دو و سه گرام های شناسایی شده یک بار در بدنه ظاهر می شوند. همه یونیگرام ها به استثنای کلمه the نیز یک بار ظاهر می شوند. کلمه the سه بار ظاهر می شود. اکنون که می دانیم هر n گرم چند بار اتفاق می افتد، می توانیم یک مدل احتمالی از n گرم بسازیم. در مورد تک‌گرم‌ها، احتمال کلمه u را می‌توان با استفاده از این فرمول محاسبه کرد: به عنوان مثال، برای کلمه the احتمال برابر با 16/3 خواهد بود (زیرا 16 کلمه در بدنه وجود دارد که 3 کلمه آن عبارتند از کلمه). تعداد دفعات استفاده از کلمه u در مجموعه آموزشی آنها در کنار استخر پیک نیک کردند، سپس روی چمن دراز کشیدند و به ستاره ها نگاه کردند.


1، احتمال کمی متفاوت محاسبه می شود. مورد بیگرام را در نظر بگیرید: اجازه دهید محاسبه احتمال بیگرام استخر ضروری باشد. اگر هر کلمه یک بیگرام را به عنوان یک رویداد در نظر بگیریم، آنگاه احتمال" title=" محاسبه احتمال N-gram (4) برای n-gram، که در آن n>1، احتمال کمی متفاوت محاسبه می شود. مورد بیگرام ها را در نظر بگیرید: اگر هر کلمه از یک بیگرام را به عنوان یک رویداد در نظر بگیریم، لازم است که احتمال بیگرام ها را محاسبه کنیم" class="link_thumb"> 9 !}محاسبه احتمال N-گرم (4) برای n-گرم، که در آن n>1، احتمال کمی متفاوت محاسبه می شود. مورد بیگرام را در نظر بگیرید: اجازه دهید محاسبه احتمال بیگرام استخر ضروری باشد. اگر هر کلمه از بیگرام را به عنوان یک رویداد در نظر بگیریم، احتمال مجموعه ای از رویدادها را می توان با استفاده از فرمول محاسبه کرد: بنابراین، احتمال بیگرام برابر استخر:، که در آن 1، احتمال کمی متفاوت محاسبه می شود. مورد بیگرام را در نظر بگیرید: اجازه دهید محاسبه احتمال بیگرام استخر ضروری باشد. اگر هر کلمه از بیگرام را به عنوان یک رویداد در نظر بگیریم، آنگاه باور "> 1، احتمال تا حدودی متفاوت محاسبه می شود. مورد بیگرام ها را در نظر بگیرید: اجازه دهید لازم باشد که احتمال بیگرام را محاسبه کنیم. اگر هر کلمه را در نظر بگیریم. از بیگرام به عنوان یک رویداد، پس احتمال مجموعه ای از رویدادها را می توان با استفاده از فرمول محاسبه کرد: بنابراین، احتمال بیگرام the pool:، که در آن "> 1، احتمال کمی متفاوت محاسبه می شود. مورد بیگرام را در نظر بگیرید: اجازه دهید محاسبه احتمال بیگرام استخر ضروری باشد. اگر هر کلمه یک بیگرام را به عنوان یک رویداد در نظر بگیریم، آنگاه احتمال" title=" محاسبه احتمال N-gram (4) برای n-gram، که در آن n>1، احتمال کمی متفاوت محاسبه می شود. مورد بیگرام ها را در نظر بگیرید: اگر هر کلمه از یک بیگرام را به عنوان یک رویداد در نظر بگیریم، لازم است که احتمال بیگرام ها را محاسبه کنیم"> title="محاسبه احتمال N-گرم (4) برای n-گرم، که در آن n>1، احتمال کمی متفاوت محاسبه می شود. مورد بیگرام را در نظر بگیرید: اجازه دهید محاسبه احتمال بیگرام استخر ضروری باشد. اگر هر کلمه بیگرام را به عنوان یک رویداد در نظر بگیریم، پس"> !}


محاسبه احتمال N-گرم (5) اکنون محاسبه احتمال یک n گرم دلخواه (یا جمله ای به طول n) را در نظر بگیرید. با بسط مورد بیگرام ها، فرمول احتمال n-گرم را به دست می آوریم: محاسبه احتمال با استفاده از چنین فرمولی آسان نیست، بنابراین یک ساده سازی ارائه می شود - از تاریخچه ای با طول ثابت استفاده کنید، به عنوان مثال. بنابراین، محاسبه احتمال یک جمله به محاسبه احتمال شرطی N-گرم هایی که این جمله را تشکیل می دهند خلاصه می شود:




از بین بردن پراکندگی پیکره (1) مشکل با مدل زبان هموار n-gram: برای برخی از n-gram ها می توان احتمال را تا حد زیادی دست کم گرفت (یا حتی صفر)، اگرچه در واقعیت (در پیکره آزمایشی) این n-gram ها می توانند کاملاً رخ دهند. غالبا . دلیل: سپاه آموزشی محدود و ویژگی آن. راه حل: با کاهش احتمال برخی از n-گرم ها، احتمال آن دسته از n-gram هایی را که در مجموعه آموزشی مشاهده نشده اند (یا به ندرت با آنها مواجه شده اند) افزایش دهید.




حذف پراکندگی پیکره (3) الگوریتم‌های حذف پراکندگی از مفاهیم زیر استفاده می‌کنند: انواع - کلمات مختلف (توالی کلمات) در متن. نشانه ها - همه کلمات (توالی کلمات) در متن. آنها کنار استخر پیک نیک زدند، سپس روی چمن ها دراز کشیدند و به ستاره ها نگاه کردند - 14 نوع، 16 نشانه





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


تخفیف Witten-Bell (1) بر اساس یک ایده ساده: از داده های مربوط به n-گرم های موجود در مجموعه آموزشی برای تخمین احتمال گم شدن n-گرم استفاده کنید. ایده روش از الگوریتم های فشرده سازی گرفته شده است: دو نوع رویداد در نظر گرفته می شود - یک نماد جدید (نوع) و یک نماد (توکن) مواجه شد. فرمول احتمال برای همه n-گرم های از دست رفته (یعنی احتمال مواجهه با یک n-گرم در پیکره آزمایشی که در پیکره آموزشی نبود): N تعداد نشانه ها در پیکره آموزشی است، T تعداد انواعی است که دارای قبلا در مجموعه آموزشی با آن مواجه شده است






تخفیف ویتن بل (4) =>=> =>"> =>"> =>" title="Witten-Bell Discounting (4) =>=>"> title="تخفیف ویتن بل (4) =>=>"> !}




تخفیف خوب تورینگ (1) ایده: برای n گرم که صفر بار (s بار) اتفاق افتاده است، امتیاز متناسب با تعداد n گرم است که یک بار اتفاق افتاده است (s + 1 بار). بیایید به یک مثال نگاه کنیم: فرض کنید 18 ماهی صید شده است. در مجموع 6 گونه مختلف صید شد و تنها یک نماینده از سه گونه صید شد. ما باید این احتمال را پیدا کنیم که ماهی بعدی متعلق به یک گونه جدید باشد. در مجموع 7 گونه احتمالی وجود دارد (6 گونه قبلاً صید شده اند).








کاتز Backoff (2) ضریب α برای توزیع صحیح احتمال باقیمانده N-گرم مطابق با توزیع احتمال (N-1) - گرم ضروری است. اگر α را وارد نکنید، تخمین اشتباه خواهد بود، زیرا برابری برآورده نخواهد شد: محاسبه α در پایان گزارش داده شده است. ارزیابی یک مدل زبان با استفاده از آنتروپی (1) آنتروپی معیار عدم قطعیت است. با استفاده از آنتروپی، می توانید مناسب ترین مدل زبان N-gram را برای یک مسئله کاربردی مشخص تعیین کنید. فرمول آنتروپی باینری: مثال: آنتروپی تست پرتاب سکه را محاسبه کنید. پاسخ: 1 بیت، مشروط بر اینکه نتایج آزمایش به یک اندازه محتمل باشد (هر طرف با احتمال 1/2 ظاهر شود).




ارزیابی یک مدل زبان با استفاده از آنتروپی (3) برای مقایسه مدل‌های زبانی مختلف، از آنتروپی متقاطع استفاده می‌شود: هرچه مقدار آنتروپی متقاطع H(p,m) به آنتروپی واقعی H(p) نزدیک‌تر باشد، مدل زبان بهتر است: در مورد ما، H(p ) آنتروپی بدنه آزمون است. m(w) – مدل زبان (مثلاً مدل N-gram)


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


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


اشتراک گذاری