言语康复工作中,最耗时的往往不是训练本身,而是文书工作:
这些内容格式固定、术语规范,但每份报告又需要根据患者的具体表现做差异化描述——这正是AI擅长的领域。
核心思路是:模板化框架 + AI动态填充。
以下是一个简化的报告生成器原型:
import json
from dataclasses import dataclass, field
from typing import List, Dict, Optional
@dataclass
class PatientProfile: 17015.baike.tongsou.com
"""患者基本信息"""
name: str
age: int
gender: str
diagnosis: str # 如"功能性构音障碍"
severity: str # "轻度" / "中度" / "重度"
target_phonemes: List[str] # 目标音位,如["/g/", "/k/"]
speech_clarity: float # 语音清晰度百分比
@dataclass
class AssessmentReport: 17014.baike.tongsou.com
"""生成的评估报告"""
patient_name: str
assessment_date: str
chief_complaint: str
findings: str
diagnosis: str
training_plan: str
goals_short_term: List[str]
goals_long_term: List[str]
# 模板库
REPORT_TEMPLATES = {
"chief_complaint": (
"患者{age}岁,{gender},主诉{diagnosis},"
"表现为{severity}程度构音异常,语音清晰度约{clarity}%。"
),
"findings_gongyin": (
"构音器官结构检查未见明显器质性异常。"
"语音样本分析显示,目标音位{targets}存在替代、省略或歪曲现象。"
"其中,{severity}患者常见错误类型为{error_pattern}。"
),
"training_plan_gongyin": (
"建议采用传统音位训练法,分阶段进行:"
"第一阶段——听觉辨别训练,建立正确音位概念;"
"第二阶段——构音运动训练,通过口部定位练习掌握目标音位发音方式;"
"第三阶段——音节-词语-句子层级泛化训练;"
"第四阶段——日常对话中的自然运用。"
"建议每周训练{frequency}次,每次{duration}分钟。"
),
}
# 错误类型映射
ERROR_PATTERNS = {
"轻度": "以歪曲为主,偶有替代",
"中度": "替代与歪曲并存,部分音位省略",
"重度": "以替代和省略为主,目标音位产出困难",
}
def generate_report(profile: PatientProfile, date: str) -> AssessmentReport:
"""根据患者资料生成评估报告草稿"""
# 填充主诉
chief_complaint = REPORT_TEMPLATES["chief_complaint"].format(
age=profile.age,
gender=profile.gender,
diagnosis=profile.diagnosis,
severity=profile.severity,
clarity=profile.speech_clarity,
)
# 填充检查所见
targets_str = "、".join(profile.target_phonemes)
error_pattern = ERROR_PATTERNS.get(profile.severity, "替代、省略或歪曲")
findings = REPORT_TEMPLATES["findings_gongyin"].format(
targets=targets_str,
severity=profile.severity,
error_pattern=error_pattern,
)
# 填充训练计划
frequency = 2 if profile.severity == "轻度" else 3
duration = 30 if profile.age < 6 else 45
training_plan = REPORT_TEMPLATES["training_plan_gongyin"].format(
frequency=frequency,
duration=duration,
)
# 生成长短期目标
short_term = [
f"建立/{p}/音位的正确听觉辨别能力" for p in profile.target_phonemes
]
short_term.append(f"在音节水平正确产出/{profile.target_phonemes[0]}/音")
long_term = [
"在日常对话中正确运用目标音位",
f"语音清晰度提升至{min(95, profile.speech_clarity + 20)}%以上",
]
return AssessmentReport(
patient_name=profile.name,
assessment_date=date,
chief_complaint=chief_complaint,
findings=findings,
diagnosis=profile.diagnosis,
training_plan=training_plan,
goals_short_term=short_term,
goals_long_term=long_term,
)
def report_to_markdown(report: AssessmentReport) -> str: 17013.baike.tongsou.com
"""将报告转为Markdown格式"""
md = f"""# 言语功能评估报告
**姓名**:{report.patient_name}
**评估日期**:{report.assessment_date}
## 一、主诉
{report.chief_complaint}
## 二、检查所见
{report.findings}
## 三、诊断结论
{report.diagnosis}
## 四、训练方案
{report.training_plan}
## 五、训练目标
### 短期目标
"""
for i, goal in enumerate(report.goals_short_term, 1):
md += f"{i}. {goal}\n"
md += "\n### 长期目标\n"
for i, goal in enumerate(report.goals_long_term, 1):
md += f"{i}. {goal}\n"
return md
# 使用示例
if __name__ == "__main__": 17012.baike.tongsou.com
patient = PatientProfile(
name="张小明",
age=5,
gender="男",
diagnosis="功能性构音障碍",
severity="中度",
target_phonemes=["/g/", "/k/"],
speech_clarity=62.0,
)
report = generate_report(patient, "2026-10-15")
print(report_to_markdown(report))运行上述代码,会生成如下报告草稿:
# 言语功能评估报告
**姓名**:张小明
**评估日期**:2026-10-15
## 一、主诉
患者5岁,男,主诉功能性构音障碍,表现为中度程度构音异常,语音清晰度约62.0%。
## 二、检查所见
构音器官结构检查未见明显器质性异常。语音样本分析显示,目标音位/g/、/k/存在替代、省略或歪曲现象。其中,中度患者常见错误类型为替代与歪曲并存,部分音位省略。
## 三、诊断结论
功能性构音障碍
## 四、训练方案
建议采用传统音位训练法,分阶段进行:第一阶段——听觉辨别训练,建立正确音位概念;第二阶段——构音运动训练,通过口部定位练习掌握目标音位发音方式;第三阶段——音节-词语-句子层级泛化训练;第四阶段——日常对话中的自然运用。建议每周训练3次,每次30分钟。
## 五、训练目标
### 短期目标
1. 建立/g/音位的正确听觉辨别能力
2. 建立/k/音位的正确听觉辨别能力
3. 在音节水平正确产出/g/音
### 长期目标
1. 在日常对话中正确运用目标音位
2. 语音清晰度提升至82.0%以上这个原型只是起点,实际落地还可以做更多:
AI在康复领域的价值,不在于替代治疗师的专业判断,而在于把治疗师从繁琐的文书工作中解放出来,让他们有更多时间专注于患者本身。模板化+AI生成的组合,既保证了报告的规范性,又保留了必要的灵活性——这或许是AI+康复最务实的落地路径。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。