Automatic Summarization of Doctor-Patient Encounter Dialogues Using Large Language Model

本文是LLM系列文章,针对《Automatic Summarization of Doctor-Patient Encounter Dialogues Using Large Language Model through Prompt Tuning》的翻译。

通过提示调优使用大语言模型自动总结医患对话

摘要

自动文本摘要 (ATS) 是一项新兴技术,可帮助临床医生提供持续、协调的护理。本研究提出了一种使用生成大语言模型(LLM)总结医患对话的方法。我们开发了提示调整算法来指导生成LLM总结临床文本。我们检查了 GatorTronGPT 的提示调整策略、软提示的大小以及短学习能力,GatorTronGPT 是一种生成临床 LLM,使用 2770 亿个临床和通用英语单词以及多达 200 亿个参数开发。我们使用临床基准数据集 MTS-DIALOG,将 GatorTronGPT 与之前基于广泛使用的 T5 模型微调的解决方案进行了比较。实验结果表明,GatorTronGPT20B模型在所有评估指标上均取得了最佳性能。所提出的解决方案具有较低的计算成本,因为 LLM 参数在提示调整期间不会更新。这项研究证明了通过提示调整,生成临床LLM对于临床 ATS 的效率。

1 引言

2 方法

3 实验设置

4 结果

5 讨论和结论

临床 ATS 是一项很有前途的技术,可以帮助临床医生进行临床记录。在这项研究中,我们开发了 NLP 方法来指导LLM通过提示调整将医患对话总结为临床笔记。这种方法具有成本效益,使最终用户免于使用LLM的劳动密集型提示工程过程。我们系统地研究了初始化美德token以进行提示调整的策略、美德token的大小、计算成本以及通过提示调整的 LLM 的小样本学习能力。使用基准临床 ATS 数据集的评估结果表明,所

### 代码摘要的增强提示框架 使用大型语言模型(LLM)进行代码摘要的增强提示框架是一种利用预训练语言模型的强大生成能力,结合任务特定提示策略来提高代码摘要质量的方法。这种方法通常涉及对原始输入进行改写、扩展或结构化调整,以引导模型更好地理解代码逻辑并生成更准确的摘要[^3]。 #### 核心组件 1. **问题蒸馏器(Problem Distiller)** 在处理代码摘要任务时,首先需要从给定的代码片段中提取关键信息和相关约束条件。这一步骤类似于自然语言处理中的意图识别,旨在捕捉代码的功能性特征。例如,在Python函数中,问题蒸馏器可能会关注函数名、参数列表、返回值类型以及注释等元素,从而为后续步骤提供结构化的输入[^3]。 2. **元缓冲区(Meta-Buffer)** 元缓冲区存储了一系列高层次的思考模板(thought-template),这些模板代表了不同类型的代码模式或常见编程问题。当处理一个新的代码片段时,系统会根据蒸馏出的信息在元缓冲区中搜索最相关的思考模板,并将其作为基础来构建具体的推理路径。这种机制有助于模型快速适应新任务,同时保持对已有知识的有效利用。 3. **实例化与推理过程** 一旦找到合适的思考模板,下一步是将其具体化为针对当前代码片段的详细推理结构。这一过程可能包括变量命名分析、控制流图构建、数据依赖关系识别等技术手段。通过这种方式,模型能够更深入地理解代码的语义,并据此生成更加精确的摘要内容[^3]。 4. **缓冲管理器(Buffer Manager)** 缓冲管理器负责总结整个问题解决过程,并从中提炼出新的高层次思考用于更新元缓冲区。这个迭代优化的过程不仅提高了模型对未来类似任务的响应速度,还增强了其泛化能力和鲁棒性[^3]。 #### 实现示例 以下是一个简单的Python代码示例,展示了如何使用Hugging Face Transformers库实现基于Prefix-Tuning的代码摘要增强提示框架: ```python from transformers import AutoTokenizer, AutoModelForSeq2SeqLM # 加载预训练的T5模型和对应的分词器 model_name = "Salesforce/codet5-base" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSeq2SeqLM.from_pretrained(model_name) def enhanced_prompting_code_summarization(code_snippet): # 使用问题蒸馏器提取关键信息 distilled_info = extract_critical_information(code_snippet) # 在元缓冲区中查找最相关的思考模板 thought_template = retrieve_relevant_thought_template(distilled_info) # 将思考模板实例化为具体的推理结构 reasoning_structure = instantiate_reasoning_structure(thought_template, code_snippet) # 构建增强提示 enhanced_prompt = build_enhanced_prompt(reasoning_structure) # 对增强后的提示进行编码 inputs = tokenizer(enhanced_prompt, return_tensors="pt", max_length=512, truncation=True) # 生成摘要 outputs = model.generate(**inputs, max_new_tokens=64) summary = tokenizer.decode(outputs[0], skip_special_tokens=True) return summary # 示例代码片段 code_snippet = """ def calculate_average(numbers): if not numbers: return 0 total = sum(numbers) count = len(numbers) average = total / count return average """ # 调用函数生成摘要 summary = enhanced_prompting_code_summarization(code_snippet) print(f"Code Summary: {summary}") ``` 在这个示例中,`extract_critical_information`、`retrieve_relevant_thought_template` 和 `instantiate_reasoning_structure` 是假设存在的辅助函数,它们分别实现了问题蒸馏、模板检索和实例化推理结构的功能。实际应用中,这些函数的具体实现将取决于所采用的技术细节和业务需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值