فهرست مستندات پروژه

خواندن نتیجه، گزینه‌ها و امتیاز اطمینان

Tiny Finglishv0.1.0مشاهده منبعفارسی / انگلیسی

ساختار پاسخ را بخوانید و موقعیت ورودی و امتیاز رتبه‌بندی را درست تفسیر کنید.

بررسی یک واژه مبهم

از بارگذار ترکیبی Node.js استفاده کنید و این مثال را کنار hybrid.mjs ذخیره کنید. مثال با سه گزینه و سه خروجی جایگزین پیش‌فرض در نسخه منبع ثبت‌شده اجرا شده است.

import { engine } from "./hybrid.mjs";
const result = engine.transliterate("hamele");
console.log(result.text);
console.log(JSON.stringify(result.alternatives));
console.log(result.confidence);
console.log(JSON.stringify(result.spans[0].candidates.map(
  ({ output, probability }) => ({ output, probability }),
)));
حمله
["حامل","حمل"]
0.9566
[{"output":"حمله","probability":0.9566},{"output":"حامل","probability":0.0357},{"output":"حمل","probability":0.0077}]

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

فیلدهای نتیجه

فیلدمعنی
textخروجی اصلی؛ برابر با اتصال خروجی همه بخش‌ها
alternativesحداکثر تعداد درخواستی پیشنهادهای متفاوت برای کل متن، بدون خود text
confidenceمیانگین هندسی گرد‌شده امتیاز بخش‌های تبدیل‌شده؛ اگر چیزی تبدیل نشود 1
spansبخش‌های مرتب که همه ورودی اصلی، شامل فاصله و نشانه‌گذاری، را می‌پوشانند

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

بخش‌ها و موقعیت در ورودی

هر بخش، input، output، start، end، action و confidence دارد. start ابتدای بازه و end نخستین موقعیت بیرون آن است. این موقعیت‌ها بر حسب واحد کد UTF-16 جاوااسکریپت در ورودی اصلی‌اند؛ نه بایت، تعداد نویسه یونیکد، تعداد حروف دیده‌شده یا موقعیت در خروجی تبدیل‌شده. همیشه از source.slice(start, end) استفاده کنید.

import { engine } from "./hybrid.mjs";
const source = "😀 salam";
const result = engine.transliterate(source);
const word = result.spans.find(span => span.action === "convert");
console.log(word.start, word.end, source.slice(word.start, word.end), word.output);
console.log(result.spans.map(span => span.output).join("") === result.text);
console.log(engine.transliterate("sal e no").text);
3 8 salam سلام
true
سال نو

ایموجی دو واحد کد اشغال می‌کند. در sal e no، پردازش جمله e جدا و فاصله قبل از آن را حذف می‌کند؛ این بخش‌ها با خروجی خالی در آرایه می‌مانند. پیوندهای دیگر ممکن است چند واژه خروجی را در یک بخش قرار دهند. فرض نکنید هر بخش یک واژه نمایشی است یا خروجی فاصله همیشه با ورودی آن برابر است.

عملاطلاعات بیشتر و تفسیر
convertگزینه‌های candidates؛ اگر تعداد مثبت درخواست شود، خروجی انتخاب‌شده اول است
copyدلیل در copyReason؛ خروجی با ورودی برابر است
punctنشانه‌گذاری، با احتمال تبدیل به فارسی
spaceفاصله که ممکن است هنگام پیوند حذف شود

نوع عمومی copyReason شامل url، email، mention، hashtag، number، code، emoji، english، non-latin و unknown-script است. جداساز فعلی لزوما همه این دلیل‌ها را تولید نمی‌کند. هر گزینه output، probability و توضیح reason دارد. توضیح را متن عیب‌یابی بدانید، نه شناسه ثابتی برای پردازش ماشینی.

امتیاز اطمینان چه چیزی را نشان می‌دهد؟

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

فهرست گزینه‌ها پس از پردازش کوتاه می‌شود و نرمال‌سازی دوباره تضمین نشده است؛ امتیازها هم گرد می‌شوند. برخلاف توضیح قدیمی نوع عمومی، نباید فرض کنید جمع احتمال‌های نمایشی 1 است. اطمینان کل، exp(mean(log(max(span.confidence, 1e-9)))) روی بخش‌های convert است و تا چهار رقم اعشار گرد می‌شود. امتیاز بخش‌های کپی، نشانه و فاصله 1 است و در این میانگین نمی‌آید. بنابراین ورودی خالی یا کاملا انگلیسی می‌تواند امتیاز کل 1 داشته باشد، بدون اینکه املای فارسی بررسی شده باشد.

هیچ‌یک از این مقدارها دقت واقعی کالیبره‌شده یا فاصله اطمینان آماری نیست. از آن‌ها برای هدایت بازبینی استفاده کنید، نه ادعای «۹۵ درصد درست». معیارهای ارزیابی را از اطمینان نمایشی جدا نگه دارید.

جستجو در مستندات

در همه پروژه‌ها جستجو کنید. با بستن این پنجره به راهنما برمی‌گردید.

Tab برای جابه‌جایی · Enter برای باز کردنEsc برای بستن