Smart Search Platform - Intent Taxonomy and Result Contract
SharedShared Capabilities890 words4 min read
Purpose
Phần tiêu đề “Purpose”- Chuẩn hóa ngôn ngữ intent và cấu trúc kết quả để các module mở rộng mà không phá consistency.
Unified Intent Taxonomy (v1)
Phần tiêu đề “Unified Intent Taxonomy (v1)”A. Learning Actions
Phần tiêu đề “A. Learning Actions”ACT_ASSIGNMENTACT_TESTACT_EXERCISEACT_DICTATIONACT_VOCABACT_GRAMMARACT_MENTAL_MODEL
B. Operations Actions
Phần tiêu đề “B. Operations Actions”ACT_SCHEDULEACT_BOOKINGACT_ABSENCEACT_ATTENDANCEACT_EVENTS
C. Progress Actions
Phần tiêu đề “C. Progress Actions”ACT_RESULTACT_FEEDBACKACT_LEADERBOARDACT_CERTIFICATE
D. AI Insight Actions
Phần tiêu đề “D. AI Insight Actions”ACT_AI_STATSACT_AI_PRACTICE_PROCESSACT_AI_SCHEDULE_PREPACT_AI_SESSION_SUMMARYACT_AI_ERROR_BANKACT_AI_VOCAB_CONNECTACT_AI_EXPLAINACT_AI_TUTOR
Intent Governance Rules
Phần tiêu đề “Intent Governance Rules”- Mỗi intent phải có:
idcategoryverbs[]objects[]actionPhrases[]prioritysupportedDepth[]
- Cấm tạo intent mới nếu có thể mở rộng từ intent hiện hữu bằng
contexthoặcvariant. - Synonym song ngữ (VI/EN) là bắt buộc cho intent dùng chung.
Intent Variant Policy (v1)
Phần tiêu đề “Intent Variant Policy (v1)”AI Thi thu Full Testkhông tạo intent mới.- Canonical mapping:
intentId = ACT_TESTvariant.inlineFeatureKey = AIF_MOCK_FULL_TESTvariant.renderMode = AI_inline_builder
- Nếu thiếu context tạo test (program/form):
- fallback về luồng test chuẩn
ACT_TESTvới disambiguation ngắn.
- fallback về luồng test chuẩn
Intent Bundle Registry (Msearch umbrella queries)
Phần tiêu đề “Intent Bundle Registry (Msearch umbrella queries)”- Bundle dùng cho query tổng quát, không thay thế intent taxonomy chính.
- Bundle mặc định:
BUNDLE_AI_FEATURES:- trigger:
ai,tính năng ai,ai có gì,trợ lý ai. - mở rộng ra toàn bộ
ACT_AI_*hợp lệ theo area policy.
- trigger:
BUNDLE_PRACTICE_ACTIONS:- trigger:
làm bài,làm bài tập,luyện tập,practice. - mở rộng ra
ACT_EXERCISE,ACT_ASSIGNMENT,ACT_TEST,ACT_DICTATION,ACT_VOCAB+ AI hỗ trợ làm bài.
- trigger:
- Governance:
- bundle mới cần review giống intent mới.
- không tạo bundle nếu có thể giải bằng synonym đơn intent.
Content Facet Tagging (Msearch metadata layer)
Phần tiêu đề “Content Facet Tagging (Msearch metadata layer)”- Mỗi search feature/result phải có lớp tag nội dung để match theo “loại nội dung”, không chỉ theo tên feature.
- Facet groups chuẩn:
featureFamily:ai|practice|schedule|result|vocabulary|course_ops|discovery.contentType:insight|task|plan|material|review|catalog|guide.contentFormat:widget|list|card|popup|tab|report|checklist.keywordAliases[]: synonym tự nhiên theo domain (VI/EN).
- Ví dụ:
AI Weekly Pulse:featureFamily=ai,contentType=insight,contentFormat=report,- aliases:
thống kê tuần,báo cáo tuần,weekly stats.
Bài test chưa làm:featureFamily=practice,contentType=task,contentFormat=list,- aliases:
làm test,bài chưa làm,unattempted test.
Result Contract (Shared)
Phần tiêu đề “Result Contract (Shared)”interface SmartSearchResult { id: string; intentId: string; depth: 'PAGE' | 'STEP' | 'AI' | 'EXEC'; type: 'nav' | 'activity' | 'ai' | 'info' | 'completion'; title: string; subtitle?: string; ctaLabel: string; route?: string; actionKey?: string; badges?: string[]; contextTags?: string[]; facetTags?: { featureFamily?: 'ai' | 'practice' | 'schedule' | 'result' | 'vocabulary' | 'course_ops' | 'discovery'; contentType?: 'insight' | 'task' | 'plan' | 'material' | 'review' | 'catalog' | 'guide'; contentFormat?: 'widget' | 'list' | 'card' | 'popup' | 'tab' | 'report' | 'checklist'; keywordAliases?: string[]; }; sourceModule: 'home' | 'course' | 'learning' | 'practice' | 'vocabulary' | 'shared'; freshnessAt?: string; confidence?: number;}Ranking Contract (Shared)
Phần tiêu đề “Ranking Contract (Shared)”finalScore = intentPriority + urgencyBoost + contextBoost + recencyBoost + confidenceBoost- Quy tắc ưu tiên:
Urgency(due, upcoming, overdue)Momentum(in-progress, resume)Local Context Bias(đang đứng ở module nào)Cross-module Continuity(vừa hoàn thành flow nào)
Display Contract (Shared)
Phần tiêu đề “Display Contract (Shared)”- Prefix suggestions: tối đa
3. - Mỗi category group: tối đa
3kết quả. - Chỉ có
1Hero Action cho mỗi query state. - Query ngắn ưu tiên completion; query rõ nghĩa ưu tiên contextual results.
AIkhông lấn át kết quả tác vụ trừ khi user gọi intent AI hoặc không có kết quả phù hợp.- Exception cho umbrella query:
- nếu match bundle trigger (
AI,làm bài,làm bài tập…), chuyển sangbundle modevà bỏ giới hạn prefixmax 3. - bundle mode phải render theo nhóm tính năng và cho phép liệt kê đầy đủ danh sách khả dụng trong context hiện tại.
- nếu match bundle trigger (
- Exception cho facet query:
- nếu query match
contentType/contentFormat/featureFamily, hệ thống phải trả đầy đủ feature cùng facet trước khi fallback sang match theo title. - ví dụ query
widget,báo cáo,checklist,popup,taskphải trả nhóm tính năng tương ứng dù user không nhớ tên feature.
- nếu query match
References
Phần tiêu đề “References”SSP_00_Overview.mdcontracts/SSP_Context_Pack_Adapter_Contracts.md../Course Management/CM_FEATURE_Smart_Search.md../Course Management/CM_REF_Static_Action_Library.md
Change log
Phần tiêu đề “Change log”- 2026-02-28: title: “Smart Search Platform - Intent Taxonomy and Result Contract”
- 2026-03-01: Add intent-variant governance for
AI Thi thu Full Test(ACT_TEST + AIF_MOCK_FULL_TEST) to avoid taxonomy sprawl.