شمارش واژه، نویسه و زمان مطالعه
واژه، نویسهٔ دیداری، جمله، بند و واژههای پرتکرار را با قواعد بخشبندی یونیکد مرورگر میشمارد و زمان مطالعه و بلندخوانی را با سرعت قابل تنظیم برآورد میکند.
پرتکرارترین واژهها
| شود | ۳ | ۴٫۱۱% |
| متن | ۳ | ۴٫۱۱% |
| و | ۳ | ۴٫۱۱% |
| آن | ۲ | ۲٫۷۴% |
| است | ۲ | ۲٫۷۴% |
| این | ۲ | ۲٫۷۴% |
| بندها | ۲ | ۲٫۷۴% |
| تا | ۲ | ۲٫۷۴% |
| خودتان | ۲ | ۲٫۷۴% |
| در | ۲ | ۲٫۷۴% |
چگونگی کار
چه چیزهایی شمرده میشوند
نتیجه شامل واژه، نویسه با و بدون فاصله، جمله، بند، واژهٔ یکتا، میانگین طول جمله و زمان مطالعه و بلندخوانی است. جدول پایین نیز ۲۵ واژهٔ پرتکرار را نشان میدهد و میتواند به CSV تبدیل شود.
مسئلهٔ اصلی مرزهاست. text.split(' ') نیمفاصله، چند فاصله، نشانهگذاری و
زبانهایی را که همیشه میان واژهها فاصله ندارند درست نمیفهمد. این ابزار
Intl.Segmenter را به کار میبرد؛ یعنی پیادهسازی قواعد UAX #۲۹ که همراه
مرورگر ارائه شده است.
واژه و نویسه یک تعریف فنی دارند
واژه قطعهای است که الگوریتم یونیکد آن را word-like علامت میزند. عدد هم word-like است، اما فاصله و نشانهٔ تنها نیست. نویسه بهصورت grapheme cluster شمرده میشود. در نتیجه حرفی که نشانهٔ ترکیبی جداگانه دارد یک بار شمرده میشود، همانطور که ایموجی همراه اصلاحکنندهٔ رنگ پوست برای خواننده یک شکل است.
این عدد میتواند با string.length جاوااسکریپت فرق داشته باشد؛ length واحدهای
UTF-۱۶ را میشمارد، نه چیزهایی را که انسان روی صفحه جدا میبیند.
جمله، بند و زمان
مرز جمله از یونیکد میآید و فهرستی کوتاه از حرف آغازین و کوتاهنوشت لاتین
برای جلوگیری از شکستن نمونهای مانند Dr. Smith روی آن اعمال میشود. این
فهرست عمداً محدود است و برای کوتاهنوشت ناشناخته ممکن است یک جملهٔ اضافه ببینید.
بند، بلوک غیرخالی میان خطهای خالی است. یک Enter ساده درون شعر یا متن شکسته، بند تازه نمیسازد.
زمان فقط تقسیم است. برای نمونه ۴۷۶ واژه با سرعت ۲۳۸ واژه در دقیقه، دو دقیقه مطالعه میشود. چون عددهای پیشفرض از فراتحلیلی روی ۱۹۰ پژوهش دربارهٔ متن انگلیسی آمدهاند، کاربر فارسی باید آنها را نقطهٔ شروع بداند و در صورت نیاز تغییر دهد.
مراحل انجام کار
- پایان خطهای ویندوز و مک قدیمی را به یک شکست خط یکسان تبدیل کن تا متن یکسان از ویرایشگرهای مختلف نتیجهٔ یکسان بدهد.
- متن را با Intl.Segmenter در سطح واژه بخشبندی و فقط قطعههایی را بشمار که یونیکد word-like میداند.
- متن را در سطح grapheme دوباره بخشبندی کن تا حرف همراه نشانهٔ ترکیبی یا ایموجی همراه رنگ پوست یک نویسهٔ دیداری شمرده شود.
- مرز جملههای یونیکد را بگیر و اگر قطعه با حرف آغازین یا یکی از کوتاهنوشتهای ثبتشده پایان یافت، آن را به قطعهٔ بعدی وصل کن.
- بندها را با خط خالی جدا کن و بخشهایی را که فقط فاصله دارند کنار بگذار.
- واژهها را با توجه به گزینهٔ بزرگی حروف لاتین نرمال و ۲۵ واژهٔ پرتکرار را برای جدول مرتب کن.
- شمار واژه را بر دو سرعت واردشده تقسیم و نزدیکترین ثانیه را گزارش کن.
فرضها
- مرز واژهها همان قواعد پیشفرض یونیکد در UAX #۲۹ است. آپاستروف داخل واژه آن را نمیشکند، بنابراین «don’t» یک واژه است و عدد قالببندیشدهای مثل «۱٬۰۰۰٫۵۰» هم یک واژه؛ اما خط تیره میشکند، بنابراین «state-of-the-art» چهار واژه است.
- نویسه یعنی grapheme cluster، نه واحد کد UTF-۱۶؛ این تعریف به چیزی که خواننده یک نویسه میبیند نزدیکتر است.
- فهرست تکمیلی کوتاهنوشتهای جمله لاتین و انگلیسیمحور است. نقطه در کوتاهنوشت فارسی ناشناخته ممکن است یک جملهٔ اضافه بسازد.
- بند یک بخش غیرخالی میان خطهای خالی است. شکست خط تکی درون یک بخش بند تازه نمیسازد.
- سرعتهای ۲۳۸ واژه در دقیقه برای مطالعه و ۱۸۳ برای بلندخوانی از فراتحلیل متن انگلیسی بزرگسالان میآیند و برای فارسی فقط نقطهٔ آغاز قابل تنظیماند.
- زمان مطالعه فقط حاصل تقسیم واژه بر سرعت است و دشواری واژگان، فرمول، جدول و مکث فکری را مدل نمیکند.
پرسشهای رایج
آیا متن واردشده بارگذاری میشود؟
نه. همهٔ شمارشها در همین زبانه انجام میشوند. متن میتواند در بخش پس از # یک پیوند اشتراک قرار بگیرد، اما مرورگر fragment را در درخواست HTTP به سرور نمیفرستد.
چرا ورودی به ۲٬۰۰۰ نویسه محدود است؟
همهٔ وضعیت ابزار باید در یک پیوند قابل اشتراک جا بگیرد و پیوند باید در پیامرسان سالم بماند. برای سند بلند، رابطی که فایل را محلی میخواند مناسبتر است.
متن فارسی چگونه بدون تکیه بر فاصله شمرده میشود؟
Intl.Segmenter قواعد بخشبندی یونیکد و دادهٔ زبانی همراه مرورگر را به کار میبرد. نیمفاصله، نشانههای ترکیبی و خطهای گوناگون با یک split ساده روی فاصله برابر نیستند و به همین دلیل از الگوریتم استاندارد استفاده میشود.
چرا گاهی یک جمله بیشتر از شمارش دستی دیده میشود؟
معمولاً نقطهٔ پس از یک کوتاهنوشت بهعنوان پایان جمله شناخته شده است. فهرست کوچکی از شکلهای لاتین اصلاح میشود، اما هیچ فهرستی همهٔ کوتاهنوشتهای فارسی، تخصصی و سازمانی را با اطمینان پوشش نمیدهد.
برای متن فارسی چه سرعت مطالعهای وارد کنم؟
مقدارهای پیشفرض از پژوهش متن انگلیسی آمدهاند و هدف نیستند. برای متن فارسی، محتوای دشوار، زبان دوم یا سخنرانی سرعت تجربهشدهٔ خود را وارد کنید.