راه
۶ کیو· متوسطمتوسطPYTHON۴ ثانیه · ۲۵۶ مگابایت

n-gram ها

کیسه‌ی واژه ترتیب را دور می‌اندازد: «not good» و «good, not bad» یک واژه‌ها را دارند. n-gram ها — دنباله‌های nn توکن پشت‌سرهم — بخشی از آن ترتیب را نگه می‌دارند.

تابع top_ngrams(docs, n):

  1. هر سند را با همان قاعده‌ی CountVectorizer توکن می‌کند: حروف کوچک، و توکن‌ها با r"(?u)\b\w\w+\b"؛
  2. در هر سند همه‌ی n-gram ها را می‌سازد — توکن‌های پشت‌سرهم، که با یک فاصله به هم وصل می‌شوند (n-gram از مرز دو سند نمی‌گذرد)؛
  3. تعداد تکرار هر n-gram را در کل سندها می‌شمارد؛
  4. فهرست [ngram, تعداد] را برمی‌گرداند، مرتب به ترتیب تعداد نزولی، و برای تعدادهای برابر الفبایی — حداکثر پنج سطر اول.

این همان چیزی است که CountVectorizer(ngram_range=(n, n)) می‌شمارد.

نمونه‌ها

ورودی نمونه ۱
[["not good at all", "good, not bad", "not bad at all, really good"], 2]
خروجی نمونه ۱
[["at all", 2], ["not bad", 2], ["all really", 1], ["bad at", 1], ["good at", 1]]

برای نوشتن پاسخ و دریافت امتیاز، ابتدا وارد حساب شوید.

ورود