Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
pac
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ai-tools
pac
Commits
3c8123c1
Commit
3c8123c1
authored
Jun 11, 2026
by
luoqi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
docs: 画像速览补时间语义 — 四类口径(静态/全史/滚动窗/距今切档)+ gap 悬置特例
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
parent
b1717ed1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
8 deletions
+19
-8
docs/algorithm/persona-implementation.md
+19
-8
No files found.
docs/algorithm/persona-implementation.md
View file @
3c8123c1
# PAC 画像(Persona)实现速览
# PAC 画像(Persona)实现速览
>
面向开发交流的实现现状速查(以代码为准)。
设计背景见 [persona-design-v2.md](./persona-design-v2.md)。
> 设计背景见 [persona-design-v2.md](./persona-design-v2.md)。
> 更新:2026-06-11
> 更新:2026-06-11
## 定位
## 定位
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
## 代码地图
## 代码地图
| 部件 | 路径 |
| 部件 | 路径 |
|
---|---
|
|
-------------- | ------------------------------------------------------------------------------------
|
| 引擎(编排/水位/版本) |
`apps/pac-service/src/modules/persona/persona.service.ts`
|
| 引擎(编排/水位/版本) |
`apps/pac-service/src/modules/persona/persona.service.ts`
|
| 16 个标签提取器 |
`apps/pac-service/src/modules/persona/features/*.feature.ts`
+
`feature.registry.ts`
|
| 16 个标签提取器 |
`apps/pac-service/src/modules/persona/features/*.feature.ts`
+
`feature.registry.ts`
|
| 标签字典(单一真理源) |
`packages/types/src/persona-feature-specs.ts`
|
| 标签字典(单一真理源) |
`packages/types/src/persona-feature-specs.ts`
|
...
@@ -43,6 +43,21 @@
...
@@ -43,6 +43,21 @@
每个 feature 落库:
`key + description(自包含中文)+ data(结构化 JSON)+ evidence{factIds}`
。
每个 feature 落库:
`key + description(自包含中文)+ data(结构化 JSON)+ evidence{factIds}`
。
`score`
列预留,目前全空。
`score`
列预留,目前全空。
## 时间语义
**总基准**
:所有标签以
**重算时刻**
为"现在"评估(非事件发生时点);历史某天的画像靠版本流还原(查当天未被 supersede 的版本)。
四类时间口径:
| 口径 | 含义 | 标签 |
|---|---|---|
|
**静态/当前快照**
| 与时间无关,或按"现在"取当前态 | 性别 · 获客渠道(首次,不变)· 年龄段(birthDate→今)· 家庭构成(当前关系边)· 禁忌(当前年龄,
`validUntil`
=到龄自动解除日) |
|
**全史累计**
| lifetime 不设窗 | RFM 的 F(累计就诊)/M(累计净消费)· 转介绍达人 · 权益身份 · 治疗史 · 折扣锚点(全史最低折扣+发生日)· 治疗敏感(全史病历备注) |
|
**滚动窗口**
| 只看近 N 天,随时间自动进出 | 时间偏好
**近 2 年**
(730d,用 planned_for)· 特别关注
**近 1 年**
(爽约/迟到率)· 生命周期的"近 1 年消费 vs 历史年均"(成长/成熟分界) |
|
**距今天数切档**
| 末诊距今多少天落档 | RFM 的 R(≤540=5 / ≤730=4 / ≤1095=3 / ≤1460=2 / >1460=1)· 生命周期(首诊≤180 新客;末诊 180–540 待激活;>540 沉睡;>730 流失)· RFM 风险分(无临床 ≥180d 起算) |
特例:
**潜在治疗/急迫等级**
是"当前未闭合 gap"语义——诊断后未启动治疗就一直在(
`daysSince`
记录悬置天数,只增不减),直到治疗事实进来才消失;
**不设上界**
(缺牙 3 年仍是潜在种植),与召回侧的冷静期/黄金窗口径不同(见上表"画像≠召回")。
## 刷新策略(三条触发路径)
## 刷新策略(三条触发路径)
```
```
...
@@ -77,14 +92,9 @@
...
@@ -77,14 +92,9 @@
-
Plan 优先级:意愿度因子读 rfm/lifecycle
-
Plan 优先级:意愿度因子读 rfm/lifecycle
-
助手 MCP:
`get_patient_overview`
带画像
-
助手 MCP:
`get_patient_overview`
带画像
##
特色(对外交流一句话版)
##
关键
1.
**规则可解释**
:16 标签全规则产出,带 evidence(factIds)可回溯到原始事实两跳到宿主原文。
1.
**规则可解释**
:16 标签全规则产出,带 evidence(factIds)可回溯到原始事实两跳到宿主原文。
2.
**水位幂等**
:事件序号水位,重复触发零成本 no-op,重算账本可审计。
2.
**水位幂等**
:事件序号水位,重复触发零成本 no-op,重算账本可审计。
3.
**版本流不可变**
:画像不 update,只 append 新版;任意时点画像可还原。
3.
**版本流不可变**
:画像不 update,只 append 新版;任意时点画像可还原。
4.
**画像≠召回**
:潜在治疗在画像里是常态属性(无时间门),在召回里才有冷静期/排除逻辑——同一 gap 选择器两种用法。
4.
**画像≠召回**
:潜在治疗在画像里是常态属性(无时间门),在召回里才有冷静期/排除逻辑——同一 gap 选择器两种用法。
\ No newline at end of file
5.
**租户内相对分群**
:RFM 的 M 维用租户分位数而非全局阈值,小诊所与大集团各自成曲线。
## 当前边界(规划中)
-
Layer C LLM 信号抽取未上(治疗敏感等靠关键词);score 全空(无强度排序);禁忌 v1 仅年龄;全量重算并发靠 CLI 手控。
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment