طراحی رابط کاربری صوتی؛ VUI فارسی در وب از Prototype تا Pilot

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

این راهنما طراحی رابط کاربری صوتی یا Voice User Interface را برای وب فارسی از انتخاب Use case تا Prototype، معماری ASR/NLU/TTS، حریم خصوصی، دسترسی‌پذیری و Pilot توضیح می‌دهد. رابط صوتی داخل وب، دستیار سیستم‌عامل و سئوی جست‌وجوی صوتی را از هم جدا می‌کنیم تا تصمیم فنی و بازاریابی با هم مخلوط نشوند. وضعیت APIها و منابع در ۱۵ مرداد ۱۴۰۵ / ۶ اوت ۲۰۲۶ بازبینی شده است؛ پشتیبانی Browser، زبان و Provider را پیش از Production روی Deviceهای هدف دوباره آزمایش کنید.

پاسخ کوتاه: آیا وب‌سایت شما به VUI نیاز دارد؟

اگر یک کار پرتکرار و کوتاه مانند جست‌وجوی محصول، ثبت یادداشت، فیلترکردن یا پیگیری سفارش دارید و کاربر در موبایل، حین حرکت یا با محدودیت حرکتی از تایپ دشوار استفاده می‌کند، Voice input ارزش Pilot دارد. اگر کار شامل مقایسهٔ متراکم، ورود رمز، تصمیم مالی، محیط عمومی یا دادهٔ حساس است، GUI/Text باید مسیر اصلی یا دست‌کم جایگزین کامل بماند.

شرایطنامزد مناسبنامزد ضعیفشاهد لازم
دست‌ها مشغول یا تایپ موبایل دشوارDictation و جست‌وجوی کوتاهفرم چندمرحله‌ای حساسTask time و Error کمتر از Text
واژگان محدود و دامنه مشخصفرمان کنترل‌شدهگفت‌وگوی «هرچه خواستی بپرس»Intent/Slot accuracy و Recovery
محتوای بصری روی صفحهMultimodal: صدا + گزینهٔ قابل‌لمسVoice-only برای جدول و مقایسهTask completion و Recall
محیط شلوغ یا خصوصیText/Keyboard fallbackاجبار به گفتن آدرس یا کد ملیآزمون Context واقعی
عمل پرریسکVoice برای شروع + تأیید دیداری و Re-authخرید/حذف فقط با جملهٔ صوتیThreat model و Abuse test

VUI را Feature آینده‌نگر ندانید؛ یک فرضیهٔ UX است. آن را با اصول طراحی تجربهٔ کاربری و Journey صورت‌بندی کنید و اگر Voice در Pilot از مسیر موجود بهتر نشد، حذفش کنید.

چهار Scope متفاوت که معمولاً VUI نامیده می‌شوند

Scopeتعریفنمونهمالک فنی
Speech input در وبتبدیل گفتار به متن در یک کنترلجست‌وجوی صوتی داخل فروشگاهFrontend + ASR
Voice commandنگاشت جمله به Intent/Action محدود«سفارش‌های باز را نشان بده»ASR + NLU + Policy + API
Conversational assistantگفت‌وگوی چندنوبتی با Stateپشتیبانی یا راهنمای انتخابDialog manager/LLM + Tools
Speech outputتبدیل متن به صداخواندن خلاصه یا تأییدTTS + Content design
Voice search بیرون سایتپرس‌وجو در موتور/دستیار شخص ثالثجست‌وجوی وب با صداSearch platform؛ نه VUI سایت
IVR/تماس تلفنیتعامل صوتی روی شبکه تلفنمرکز تماس خودکارTelephony stack

ممکن است سایت فقط Dictation لازم داشته باشد، نه دستیار مکالمه‌ای. افزودن LLM به جست‌وجوی ده‌دسته‌ای هزینه، تأخیر و سطح حمله را بی‌دلیل بالا می‌برد. در مقابل، پشتیبانی چندمرحله‌ای بدون مدیریت State و Handoff انسانی با یک میکروفون حل نمی‌شود.

Snapshot پلتفرم در ۲۰۲۶

Web Speech API

Web Speech API دو بخش اصلی Speech Recognition و Speech Synthesis دارد، اما میزان پشتیبانی، Prefix، زبان، پردازش محلی/راه‌دور و رفتار Permission در Browserها یکسان نیست. مستند Web Speech API در MDN را با جدول Compatibility همان تاریخ بررسی کنید؛ Feature detection و Fallback ضروری است.

ویژگی SpeechRecognition.processLocally برای الزام پردازش روی Device معرفی شده، اما در مستند جاری MDN Experimental است و ممکن است به Language pack نصب‌شده نیاز داشته باشد. نبود آن را به معنی «صدا حتماً محلی است» یا وجود آن را به معنی «فارسی حتماً پشتیبانی می‌شود» تفسیر نکنید.

Microphone capture و Permission

برای گرفتن جریان خام میکروفون، getUserMedia() در Secure Context و با اجازهٔ کاربر کار می‌کند. مشخصات Media Capture and Streams در W3C گرفتن رضایت صریح، امکان قطع Track و نمایش دسترسی/ضبط را در مدل Browser لحاظ می‌کند. از کاربر در Load صفحه اجازه نخواهید؛ ابتدا ارزش و مقصد پردازش را توضیح دهید، سپس با اقدام روشن مانند «برای گفتن عبارت نگه دارید» درخواست کنید.

پلتفرم دستیار با API وب یکی نیست

معماری را به قابلیت قدیمی یک Vendor گره نزنید. برای نمونه، Google Conversational Actions در ۱۳ ژوئن ۲۰۲۳ تعطیل شد، هرچند مسیرهای دیگری مانند App Actions و Smart Home جدا بودند. هر Skill/Action را با وضعیت انتشار، زبان، منطقه، Store policy، Export و برنامهٔ خروج همان روز ارزیابی کنید.

Use case خوب و بد برای صدای وب

Use caseچرا ممکن است مناسب باشد؟ریسکFallback
جست‌وجوی محصول/مقالهعبارت طولانی و تایپ موبایلنام خاص، برند لاتین و نویزنمایش Transcript و ویرایش Text
پرکردن یادداشت آزادسرعت Dictationنقطه‌گذاری و دادهٔ حساسText area قابل‌ویرایش
فیلتر محدود«رنگ مشکی زیر دو میلیون»واحد، Range و ابهامChipهای دیداری تأییدشده
پیگیری سفارشIntent روشنافشای وضعیت در محیط عمومینمایش امن پس از Login
راهنمای Step-by-stepدست‌های مشغولقطع/Repeat و بار حافظهمتن، تصویر و کنترل Pause
خرید یا انتقال حساسشروع سریعSpoof، اشتباه مبلغ و RepudiationReview دیداری + Re-auth + Confirm
مقایسهٔ چند محصولپرسش مقدماتیاطلاعات متراکم شنیداریجدول/کارت قابل‌اسکن

قانون ساده: اگر کاربر برای ارزیابی پاسخ باید چند مقدار را هم‌زمان به خاطر بسپارد، Screen را شریک صدا کنید. Voice output طولانی، متن را دسترس‌پذیرتر نمی‌کند؛ بار حافظهٔ شنیداری می‌تواند نتیجه را بدتر کند.

Voice UX brief پیش از طراحی

  • کاربر: زبان، لهجه، سن، توانایی، Device و سواد دیجیتال.
  • Context: خانه، خیابان، خودرو، محل کار، نویز و حضور دیگران.
  • Job: کاری که Voice باید سریع‌تر/ممکن‌تر کند.
  • Risk: پیامد تشخیص اشتباه، افشای صدا یا اجرای ناخواسته.
  • Corpus: عبارت‌های واقعی، نه فقط جمله‌های طراح.
  • Fallback: Text، Touch، Keyboard، Human handoff یا Cancel.
  • Outcome: Task success، Error، Time، رضایت یا دسترسی.
  • Stop rule: چه نتیجه‌ای Pilot را متوقف می‌کند؟

عبارت‌های نمونه را با مصاحبه و Log جست‌وجوی داخلی جمع کنید. صدای کاربر را بدون Consent و Purpose روشن به Dataset تبدیل نکنید.

معماری مرجع رابط صوتی

یک مسیر متداول:

User action → Microphone/Audio → VAD/Endpointing → ASR → Normalization → Intent/Entity یا LLM → Policy/Authorization → Tool/API → Response composer → Screen + TTS

لایهوظیفهشکست مهمTelemetry
Captureگرفتن صدا با رضایتPermission denied، Mic unavailablepermission_result بدون Fingerprint اضافی
VAD/Endpointingتشخیص آغاز/پایان گفتارقطع زودهنگام یا انتظار طولانیspeech_duration، endpoint_latency
ASRصدا به Transcriptنام خاص/لهجه/نویزconfidence، WER/CER در Test set
Normalizationعدد، تاریخ، فاصله و واحد«دو تومن» در برابر «دو میلیون»normalized fields + reason
NLU/LLMIntent و Entity یا پاسخابهام، Hallucination، Prompt injectionintent، slots، confidence، model version
Policyمحدودکردن Action و نیاز به تأییداجرای فرمان خارج Scopedecision، rule، actor
Tool/APIخواندن/نوشتن در سیستمTimeout، Retry و Duplicate actiontool، idempotency، result class
Responseپاسخ کوتاه دیداری/شنیداریافشای حساس یا خروجی طولانیresponse type، TTS latency

در Use case محدود، Grammar/Intent طبقه‌بندی‌شده اغلب قابل‌کنترل‌تر از LLM آزاد است. LLM را فقط وقتی اضافه کنید که Variation زبان ارزشش را داشته باشد و Policy مستقل اجازهٔ Action بدهد.

پردازش محلی، Server یا Hybrid؟

گزینهمزیتهزینه/ریسکمناسب برای
Browser/OS APIراه‌اندازی سریعSupport و محل پردازش متغیرPrototype با Fallback
On-device modelکاهش ارسال Audio و امکان OfflineModel size، RAM، Battery و زبانواژگان محدود/Device مشخص
Server/Cloud streamingModel قوی‌تر و مدیریت متمرکزLatency، هزینه، Residency و انتقال دادهمحصول با Consent و DPA
Hybridفرمان ساده محلی، سؤال پیچیده Remoteپیچیدگی Routing و UXRisk tierهای متفاوت

برای کاربران ایران، فقط میانگین سرعت دفتر تهران را نسنجید. Mobile data، Packet loss، VPN، ISP، Device ضعیف و زمان دانلود Language/model pack را در Test matrix بگذارید. Local همیشه سریع‌تر نیست؛ Model بزرگ و Warm-up می‌تواند تجربه را کند کند.

طراحی و ارزیابی ASR فارسی

یک Demo با فارسی رسمی نمایندهٔ بازار نیست. Corpus باید تنوع واقعی داشته باشد:

  • فارسی رسمی و محاوره‌ای: «می‌خواهم»، «می‌خوام»، «میخام» در Transcript؛
  • لهجه و گویش، بدون برچسب‌زدن تحقیرآمیز به کاربر؛
  • Code-switch: برند و مدل لاتین در جملهٔ فارسی؛
  • اعداد: رقم فارسی/لاتین، «یک و نیم»، «دو تومن»، کد سفارش و تلفن؛
  • تاریخ شمسی، ساعت و بازه؛
  • آدرس‌های ایران، نام خیابان/شهر و نام خانوادگی؛
  • نیم‌فاصله، ی/ک فارسی و عربی و علائم؛
  • صدای آرام، سریع، مکث، لکنت و گفتار نامعمول؛
  • نویز خیابان، تلویزیون، خودرو، Echo و میکروفون ارزان.

Normalization بدون تغییر معنا

دو خروجی نگه دارید: Transcript خام برای Debug محدود و امن، و مقدار Normalized برای Business logic. تبدیل عدد/واحد باید Explainable باشد. اگر «دو تومن» ممکن است دو تومان یا دو میلیون تومان باشد، حدس نزنید؛ سؤال Clarification بسازید. برای Search، Variantها را به Index نگاشت کنید؛ برای تراکنش، مقدار را دیداری نمایش و تأیید کنید.

WER کافی نیست

WER = (Substitution + Deletion + Insertion) / تعداد واژه‌های مرجع

در فارسی، فاصله و نیم‌فاصله WER را حساس می‌کند؛ CER و نسخهٔ Normalized نیز گزارش شوند. اما Product metric مهم‌تر Task success است. شاید ASR یک واژه را غلط بنویسد ولی Intent و محصول درست انتخاب شوند؛ یا متن ظاهراً درست باشد اما عدد مالی اشتباه Normalized شود.

مدل مکالمه: Intent، Entity، State و Repair

برای هر قابلیت یک Contract بنویسید:

فیلدنمونهٔ جست‌وجوی فروشگاه
Intentsearch_product
نمونه عبارت«کفش پیاده‌روی مشکی زیر سه میلیون»
Entity/Slotcategory=کفش، use=پیاده‌روی، color=مشکی، max_price=۳٬۰۰۰٬۰۰۰ تومان
Required slotحداقل category یا query
Ambiguityسه میلیون ریال یا تومان؟
ConfirmationChip دیداری «تا ۳ میلیون تومان»
Actionفقط Search read-only
FallbackTranscript قابل‌ویرایش و Search معمولی

پنج نوع شکست و پاسخ مناسب

  1. No input: «صدایی نرسید؛ دوباره بگویید یا تایپ کنید.»
  2. No match: به‌جای «نفهمیدم»، Scope را بگویید: «نام محصول یا دسته را بگویید.»
  3. Ambiguous: دو گزینهٔ کوتاه نشان دهید؛ سؤال باز و طولانی نپرسید.
  4. Partial match: Slotهای مطمئن را حفظ و فقط مورد نامطمئن را سؤال کنید.
  5. System failure: مسئولیت را به کاربر ندهید؛ Text fallback و Retry امن بدهید.

پس از دو Repair ناموفق، Mode را عوض کنید یا Handoff بدهید. تکرار همان Prompt با صدای بلندتر طراحی مکالمه نیست.

Multimodal؛ صدا باید روی صفحه قابل‌دیدن باشد

  • هنگام Listening، وضعیت واضح، کنترل Stop و زمان محدود نشان دهید.
  • Transcript را زنده اما با امکان اصلاح نمایش دهید.
  • Entityهای استخراج‌شده را به Chip یا فیلد قابل‌ویرایش تبدیل کنید.
  • نتیجهٔ طولانی را به‌جای خواندن کامل، خلاصه و روی Screen نمایش دهید.
  • فرمان حساس را با Summary دیداری، مبلغ/مقصد و دکمهٔ تأیید تکمیل کنید.
  • Focus، Screen reader announcement و Keyboard order را حفظ کنید.
  • کاربر بتواند بی‌هزینه از Voice به Text و برعکس برود.

Persona صوتی قرار نیست انسان را تقلید کند. کوتاهی، وضوح، Consistency و اعلام محدودیت مهم‌تر از شوخی یا لحن نمایشی است. صدا را با برند هماهنگ کنید، اما هرگز وانمود نکنید انسان یا متخصص واقعی پاسخ می‌دهد.

VUI خودکار دسترس‌پذیر نیست

Voice input می‌تواند برای بعضی کاربران دارای محدودیت حرکتی، تایپ یا بینایی مفید باشد؛ در عین حال برای فرد ناشنوا، کم‌شنوا، دارای اختلال گفتار، کاربر غیرکلامی یا محیطی که صحبت‌کردن ممکن نیست، مانع است. راهنمای W3C دربارهٔ موانع گفتار بر روش جایگزین مانند Text تأکید می‌کند.

چک‌لیست دسترسی

  • تمام کارها با Keyboard/Touch/Text نیز کامل شوند.
  • دکمهٔ میکروفون Name، Role، State و Label دیداری درست داشته باشد.
  • Listening/Processing/Error به Screen reader اعلام شود، بدون تکرار آزاردهنده.
  • Transcript و پاسخ صوتی، معادل Text داشته باشند.
  • Auto-play صدا رخ ندهد؛ Pause، Stop و Volume در اختیار کاربر باشد.
  • Timeout برای گفتار آهسته قابل‌تنظیم یا قابل‌تمدید باشد.
  • رنگ تنها Signal ضبط یا خطا نباشد.
  • با Speech input خود سیستم‌عامل و Screen reader تعارض ایجاد نشود.

WCAG 2.2 معیار پایهٔ وب است؛ داشتن Voice قابلیت‌های Keyboard، Focus، Label، Error identification و Accessible authentication را حذف نمی‌کند. VUI را با کاربران دارای نیازهای متفاوت تست کنید، نه فقط تیم سازنده.

حریم خصوصی: میکروفون، Audio و Transcript

پیش از توسعه، Data map بسازید:

دادهآیا لازم است؟Retention نمونهکنترل
Raw audioاغلب برای عملیات روزمره لازم نیستپیش‌فرض صفر؛ Dataset فقط با Consent جداEncryption، محدودیت دسترسی، حذف
Transcriptبرای نتیجه/Debug کمینهکوتاه و Purpose-boundRedaction و دسترسی نقش‌محور
Intent/Entityبرای Task و Analyticsبر اساس نیاز محصولPseudonymization و Minimize
Account/Orderفقط پس از Login و ضرورتطبق رکورد عملیاتیAuthorization و Audit
Failure sampleبرای بهبود مدل با نمونه محدودWindow مشخصOpt-in، Review و حذف PII

در UI بگویید چه چیزی ضبط می‌شود، کجا/توسط چه Providerی پردازش می‌شود، آیا برای آموزش مدل استفاده می‌شود و چگونه حذف می‌شود. Consent عملیات Voice را با رضایت اختیاری آموزش مدل یکی نکنید. مسیر Privacy را با بودجه و برنامهٔ عملی حریم خصوصی داده هماهنگ کنید.

امنیت Voice و فرمان‌های حساس

صدا یک Secret قابل‌اتکا نیست. فایل ضبط‌شده، پخش از بلندگو، Deepfake، صدای فرد دیگر، Transcript آلوده و Prompt injection می‌توانند سیستم را فریب دهند. حتی تشخیص Speaker، احراز هویت قطعی یا Consent تراکنش نیست.

  • Voice را برای Action حساس تنها عامل تأیید نکنید.
  • خواندن اطلاعات حساس را در محیط عمومی کمینه کنید.
  • برای خرید، حذف، تغییر حساب یا افشای داده Re-auth و تأیید دیداری لازم کنید.
  • Toolهای LLM را Allowlist و Scope کنید؛ Model اجازهٔ مستقیم همهٔ APIها نداشته باشد.
  • Argumentها را Server-side اعتبارسنجی و Action نوشتنی را Idempotent کنید.
  • Prompt، Content بازیابی‌شده و صدای کاربر را دادهٔ غیرقابل‌اعتماد بدانید.
  • Log امنِ Actor، Intent، Policy decision، Tool و نتیجه داشته باشید.
  • Kill switch و Feature flag برای Incident فراهم کنید.

اگر VUI به حساب، سفارش یا CRM متصل است، مرز Authorization و Tool API را با راهنمای امنیت API و کنترل دسترسی طراحی کنید.

LLM در رابط صوتی؛ فهم زبان با مجوز عمل فرق دارد

LLM می‌تواند عبارت‌های متنوع را بهتر Parse یا پاسخ را طبیعی‌تر کند، اما Confidence زبانی، مجوز اجرای Action نیست. معماری امن سه خروجی جدا دارد:

  1. Interpretation: Intent، Entity و ابهام با Schema محدود.
  2. Policy: Rule مستقل تصمیم می‌گیرد Read، Clarify، Confirm، Re-auth یا Deny.
  3. Execution: Tool محدود با Validation، Idempotency و Audit اجرا می‌شود.

پاسخ آزاد مدل برای موجودی، قیمت، وضعیت سفارش یا سیاست مرجوعی Source of truth نیست؛ Tool/API معتبر داده را می‌دهد و Response composer آن را خلاصه می‌کند. اگر داده موجود نیست، «نمی‌دانم/اجازه ندارم» بهتر از پاسخ محتمل است.

Latency و عملکرد ادراک‌شده

Latency Voice جمع چند مرحله است:

Permission + Capture start + Endpointing + Upload/ASR + NLU/LLM + Tool + Response + TTS start

فقط زمان API را گزارش نکنید. زمان از Tap تا اولین Feedback، تا Transcript، تا نتیجهٔ دیداری و تا شروع TTS را در p50/p95 بسنجید. Streaming می‌تواند Transcript و پاسخ را زودتر نشان دهد، اما Partial result نباید Action حساس را اجرا کند.

  • Feedback Listening در کمتر از حس «دکمه کار نکرد» ظاهر شود.
  • Endpointing را برای مکث طبیعی فارسی تنظیم و تست کنید.
  • Model/Language pack بزرگ را بی‌خبر روی Mobile data دانلود نکنید.
  • Timeout و Retry با Text fallback داشته باشید.
  • بار JS، Audio library و Widget را در Performance budget قرار دهید.

اثر Script و Model روی LCP/INP را با راهنمای Core Web Vitals و RUM پایش کنید.

Metricهای VUI از ASR تا Outcome

لایهMetricبرش ضروری
دسترسیPermission accept/deny، Feature availableBrowser/OS/Device بدون Fingerprinting اضافی
ASRWER، CER، Named entity/number errorلهجه، نویز، جنس صدا فقط با طرح اخلاقی، Device
NLUIntent accuracy، Slot precision/recall/F1Intent و Risk tier
DialogNo-input، No-match، Clarification، Turn countUse case و Step
UXTask success، Time، Correction، Mode switchVoice/Text و Context
عملکردLatency p50/p95 هر مرحلهISP، شبکه، Device
OutcomeSearch success، Ticket deflection سالم، ConversionControl مشابه
GuardrailWrong action، privacy complaint، unsafe disclosureSeverity و Root cause

هر Error class Owner داشته باشد. Average accuracy می‌تواند شکست یک لهجه یا Device را پنهان کند. Dataset ارزیابی را از Training جدا و نسخه‌دار نگه دارید. برای Event taxonomy و تحلیل Funnel از راهنمای UX داده‌آگاه استفاده کنید.

Prototype پیش از ASR واقعی

با Wizard-of-Oz آغاز کنید: کاربر صحبت می‌کند، پژوهشگر پشت صحنه پاسخ سیستم را طبق Script انتخاب می‌کند. این روش بدون ساخت مدل نشان می‌دهد Use case، Prompt و Repair اصولاً قابل‌فهم هستند یا نه.

  1. Top task و Context را انتخاب کنید.
  2. Happy path، No-match، Ambiguity، Timeout و Cancel را بنویسید.
  3. ۱۰ تا ۲۰ عبارت واقعی برای هر Intent جمع کنید؛ این عدد Benchmark مدل نیست، شروع طراحی است.
  4. پاسخ صوتی کوتاه و معادل دیداری بسازید.
  5. Prototype را با صدای پژوهشگر یا TTS، Screen و دکمهٔ واقعی تست کنید.
  6. رفتار را مشاهده کنید: کاربر چه می‌گوید، کجا مکث و چگونه اصلاح می‌کند؟
  7. سپس Provider/API را روی Corpus واقعی Benchmark کنید.

پروتکل جذب، سناریو، رضایت ضبط و تحلیل Severity را با راهنمای تست کاربردپذیری تنظیم کنید.

Scorecard انتخاب ASR/TTS یا پلتفرم

معیاروزن نمونهشاهد
دقت فارسی در Corpus شما۲۰٪Benchmark blind با WER/CER و Task success
Latency و Streaming۱۵٪p50/p95 روی شبکهٔ ایران
Privacy/Residency/Training۱۵٪DPA، Retention، Subprocessor و Opt-out
Browser/Device coverage۱۰٪ماتریس واقعی، نه لیست Marketing
Customization۱۰٪Vocabulary، Hint، normalization و Export
Security۱۰٪Auth، Isolation، Encryption، Audit و Incident
عملیات۱۰٪SLA، Status، Quota، Support و Rollback
TCO و Exit۱۰٪Audio minute، Egress، Model، Migration و Data export

Demo انگلیسی یا فارسی استودیویی را امتیاز ندهید. Corpus Blind با عبارت‌های نام خاص، عدد، نویز و لهجهٔ بازار شما معیار است. Gate رد: استفادهٔ مبهم از Audio برای Training، نبود حذف، شکست Action حساس یا نداشتن Text fallback.

ماتریس تست Production

بعدسناریوهاانتظار
Browser/OSAndroid/iOS/Windows/macOS و Browserهای هدفFeature detection و Fallback
PermissionAllow، Deny، Block دائم، Revocationبدون بن‌بست و درخواست تکراری آزاردهنده
AudioMic ضعیف، Bluetooth، قطع Track، تماس ورودیState درست و Recovery
شبکهSlow، Loss، Offline، VPN، تغییر NetworkTimeout، Cancel و Text مسیر امن
فارسیلهجه، Code-switch، عدد، تاریخ، آدرس، نام برندMetric برش‌خورده و Clarification
AccessibilityKeyboard، Screen reader، Speech disabilityTask کامل بدون Voice
PrivacyIndicator، Stop، Delete، Retentionرفتار مطابق Notice/Consent
SecurityReplay، صدای پس‌زمینه، Prompt injection، Tool abuseDeny/Confirm/Re-auth و Audit
ActionDuplicate utterance، Retry، Timeout APIIdempotency و نتیجهٔ واحد
PerformanceCold/Warm model، Long utterance، concurrent usersBudget p95 و Graceful degradation

VUI و سئوی جست‌وجوی صوتی؛ ادعاها را جدا کنیم

اضافه‌کردن میکروفون به جست‌وجوی داخلی، سیگنال رتبه‌بندی مستقیم اثبات‌شده‌ای برای گوگل نیست. موتور جست‌وجو Query صوتی را به‌عنوان درخواست کاربر پردازش می‌کند؛ سایت همچنان باید پاسخ مفید، Crawlable، سریع و قابل‌اعتماد ارائه کند. محتوای محاوره‌ای فقط وقتی مفید است که نیت واقعی را بهتر پاسخ دهد، نه چون تعداد سؤال یا Long-tail را زیاد می‌کند.

  • سؤال واقعی کاربر را با پاسخ کوتاه و سپس جزئیات عمیق پوشش دهید.
  • عنوان، H1، URL، لینک داخلی و Structured data مرتبط را صحیح نگه دارید.
  • FAQ برای کاربر مفید است، اما نمایش Rich result برای همهٔ سایت‌ها تضمین نیست.
  • speakable را نسخهٔ عمومی «سئوی صوتی فارسی» ندانید؛ مستند جاری Google برای Speakable آن را Beta و برای محتوای خبری انگلیسی در آمریکا روی دستگاه‌های مشخص توصیف می‌کند.
  • Voice query را در Search Console به‌طور عمومی به Segment قابل‌اعتماد و مستقل تبدیل نمی‌کنید؛ از ادعای سهم دقیق بدون داده بپرهیزید.

برای بهینه‌سازی خود صفحه، چک‌لیست سئوی داخلی را اجرا کنید. هدف، پاسخ بهتر است؛ نه تولید انبوه FAQ برای شکار جست‌وجوی صوتی.

Pilot شش‌هفته‌ای VUI فارسی

  1. هفتهٔ ۱: Voice UX brief، Top task، Context، Risk و Baseline مسیر Text.
  2. هفتهٔ ۲: Corpus، Intent/Slot، State، Repair، Data map و Threat model.
  3. هفتهٔ ۳: Wizard-of-Oz و تست کاربردپذیری با گروه متنوع.
  4. هفتهٔ ۴: Benchmark دو گزینهٔ ASR/TTS روی Corpus Blind و شبکه/Device ایران.
  5. هفتهٔ ۵: Prototype واقعی با Feature flag، Fallback، Telemetry و سقف Action read-only.
  6. هفتهٔ ۶: آزمایش کنترل‌شده و تصمیم Go/Iterate/Stop بر اساس Task success و Guardrail.

برای Pilot اول، Action نوشتنی حساس انتخاب نکنید. جست‌وجوی Read-only با Transcript قابل‌ویرایش، Scope کوچک و دادهٔ قابل‌اندازه‌گیری دارد. پس از اثبات Fit، پیچیدگی گفت‌وگو و ابزارها را مرحله‌ای اضافه کنید.

چک‌لیست پیش از انتشار رابط صوتی

  • Use case و دلیل برتری Voice نسبت به Text مستند است.
  • Scope میان Dictation، Command، Assistant، TTS و Voice search روشن است.
  • Feature detection، Browser matrix و Text fallback کامل است.
  • Corpus فارسی شامل لهجه، Code-switch، عدد، نام و نویز بازار است.
  • ASR/NLU با WER/CER/Intent/Slot و Task success ارزیابی شده‌اند.
  • Listening، Transcript، Stop، Repair و Mode switch واضح‌اند.
  • Keyboard، Screen reader و کاربر دارای اختلال گفتار در تست پوشش داده شده‌اند.
  • Raw audio، Transcript، Retention، Training و حذف در Data map مشخص‌اند.
  • Action حساس به Voice تنها متکی نیست و Policy/Re-auth مستقل دارد.
  • LLM به Toolهای Allowlist با Validation و Audit محدود است.
  • Latency p50/p95 و اثر روی Core Web Vitals در شبکهٔ ایران اندازه‌گیری شده است.
  • Feature flag، Kill switch، Incident owner و Stop rule وجود دارد.

سؤالات متداول طراحی رابط کاربری صوتی

رابط کاربری صوتی یا VUI چیست؟

رابطی است که بخشی از تعامل را با گفتار ورودی یا صدای خروجی انجام می‌دهد. VUI می‌تواند Dictation ساده، فرمان محدود یا مکالمهٔ چندنوبتی باشد. جست‌وجوی صوتی در موتور جست‌وجو و IVR تلفنی Scopeهای جدا هستند و معماری یکسان ندارند.

آیا Speech Recognition در همهٔ مرورگرها کار می‌کند؟

خیر؛ پشتیبانی، Prefix، زبان، Permission و محلی/راه‌دور بودن پردازش متفاوت و در حال تغییر است. Web Speech API را Feature-detect کنید، Browser/OSهای واقعی را بسنجید و کنترل Text/Keyboard کامل داشته باشید. قابلیت آزمایشی processLocally نیز تضمین پشتیبانی فارسی نیست.

آیا افزودن صدا سایت را دسترس‌پذیر می‌کند؟

برای بعضی کاربران می‌تواند مانع تایپ یا حرکت را کم کند، اما برای کاربر دارای اختلال گفتار، ناشنوا/کم‌شنوا یا محیطی که صحبت ممکن نیست مانع می‌شود. Voice باید یک Mode اختیاری با Text، Keyboard، Transcript، Focus و Error accessible باشد؛ نه تنها راه انجام کار.

آیا جست‌وجوی صوتی داخل سایت رتبهٔ گوگل را بهتر می‌کند؟

اثر مستقیم اثبات‌شده‌ای ندارد. اگر قابلیت Voice واقعاً تجربه و یافتن محتوا را بهتر کند، ارزش محصولی دارد؛ اما رتبه به کیفیت، ارتباط، Crawlability و سیگنال‌های متعدد وابسته است. FAQ یا Speakable نیز رتبه و Rich result را تضمین نمی‌کنند.

اولین Pilot مناسب برای VUI فارسی چیست؟

یک جست‌وجوی Read-only و محدود با Push-to-talk، نمایش Transcript و امکان ویرایش. نام محصول، برند لاتین، عدد، لهجه و نویز را روی Corpus واقعی آزمایش کنید. اگر Task success و زمان از Search متنی بهتر نشد یا شکایت حریم خصوصی بالا بود، Scope را اصلاح یا Feature را متوقف کنید.

جمع‌بندی

VUI آیندهٔ اجتناب‌ناپذیر همهٔ صفحات نیست؛ یک Mode تعاملی برای Task و Context مناسب است. طراحی موفق از Corpus فارسی، مکالمهٔ محدود، Repair روشن، رابط Multimodal، حریم خصوصی و مسیر جایگزین آغاز می‌شود. Browser API یا LLM را پیش از اثبات مسئله انتخاب نکنید. ابتدا با Wizard-of-Oz نشان دهید Voice کار را بهتر می‌کند، سپس ASR را روی لهجه و شبکهٔ واقعی Benchmark و فقط Actionهای کم‌ریسک را Pilot کنید.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *