Documentation
¶
Overview ¶
Package clarify 澄清/标准化词表内核:口语→规范维度词条(term_map)的模型、外置 加载、内在校验,以及澄清反问的回答消解(序数指代 → 选项词包含 → 逃生兜底)。
归一/澄清只补充语义不改路由:词表命中产出宿主槽位(词表治本,LLM 同名槽位不可 推翻);挂起态存取、反问状态机与注入段渲染留宿主——本包只管「表长什么样、回答 怎么消解」这两件纯逻辑。
沉淀自 bianque 输入标准化层 + 消歧 clarify(v0.9.7):序数解析在宿主已有消歧衔接 与标准化反问两处消费者。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func OrdinalIndex ¶
OrdinalIndex 解析回答里的序数指代(第一个/第1个/第 2 个/1./选项二/选一),返回 1-based 序号。汉字与阿拉伯数字双形态;仅当剥离序数构式后剩余部分为空、整体就是序数指代时 命中(「1个进程在跑」这类普通句子不误伤)。
func ResolveAnswer ¶
func ResolveAnswer(options []string, fallback, answer string) (picked string, isFallback bool, ok bool)
ResolveAnswer 澄清回答消解:序数指代(1-based 对 options 序,越界=放弃)→ 选项词 包含匹配(双侧去空格,容「磁盘io」对「磁盘 IO」)→ 逃生选项(答案是其前缀也算, 如「不清楚」对「不清楚,全面查」)。 picked=命中的选项词(fallback 命中时为空);ok=false=回答不在本题语义内(宿主按 「用户换话题」处置,清挂起走正常分类)。
Types ¶
type Entry ¶
type Entry struct {
Word string `yaml:"word"`
Dimension string `yaml:"dimension"` // 标准维度键 ^[a-z][a-z0-9_]*$
Terms []string `yaml:"terms"` // 标准术语(宿主注入段展示用)
Vague bool `yaml:"vague"` // true=模糊维度:宿主场景命中时可反问补齐细分
Clarify *Options `yaml:"clarify"` // vague=true 时必填;非 vague 不得配置
Domain string `yaml:"domain"` // 空=全域;否则宿主校验其为已注册域
}
Entry 词表条目:Word 由宿主词表内核子串匹配(如 router.KeywordHit,含否定守门), 声明序即匹配优先级——specific 词条须声明在泛词之前。