weixin_61275285 2024-04-07 17:31 采纳率: 0%
浏览 24

微调Qwen数据准备

微调Qwen1.5-7B-Chat数据格式

博主,您好。我非常喜欢您的博客,目前我微调Qwen-7B遇到了一些困难,如果您能解决我的问题,感激不尽。

项目背景:
我的项目是先将通话内容转换为文字,再对文字做三个任务:摘要提取,关键词提取,代办事项提取。

问题:
如果我需要对Qwen1.5B做微调,我是需要将这三个任务放在一条数据中,还是将三个任务分开来做比较好?
数据集的格式是什么呢?
数据大概多少条比较合适呢?

提示词如下:
prompt = f"""
任务要求

  1. 根据所提供的对话内容,生成对话摘要。
  2. 列出对话中提及的所有待办事宜。
  3. 从对话中提取出三个最关键的关键词。

输出格式
请按照以下JSON格式提交您的答案:

{{
"对话摘要": "对话的简短概述...",
"待办事宜": ["任务1", "任务2", "任务3"],
"关键词": ["关键词1", "关键词2", "关键词3"]
}}

JSON格式说明

  • "对话摘要"(str):对对话内容的简短总结。
  • "待办事宜"(list[str]):列出对话中需要完成的任务。
  • "关键词"(list[str]):从对话中提炼出的三个核心词汇。

示例

{{
"对话摘要": "本次对话涉及了项目进展的讨论以及安排下周的会议。",
"待办事宜": ["提交项目报告", "准备会议资料", "收集客户反馈"],
"关键词": ["项目进展", "会议安排", "客户反馈"]
}}

请根据以上要求处理下面的对话
{text}
"""

  • 写回答

3条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-04-07 18:28
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    首先,针对问题,我建议将三个任务分开来做比较好,这样更加清晰明了。每条数据应该包括对话内容、对话摘要、待办事宜和关键词四个部分。 数据集的格式应该是一个列表,每个元素都是一个字典,包括以上四个部分。 至于数据量,建议不少于1000条,以保证模型的稳定性和准确性。 下面是一份简单的代码示例(使用了spaCy和nlpaug库):
    import spacy
    import nlpaug.augmenter.word as naw
    nlp = spacy.load("en_core_web_sm") # 加载英文模型
    def generate_summary(text):
        """
        生成对话摘要
        Args:
        text: str 对话内容
        Returns:
        str 对话摘要
        """
        # 简单的摘要生成
        doc = nlp(text)
        sents = [sent.text for sent in doc.sents] # 按句划分
        return sents[0] # 取第一句作为摘要
    def extract_tasks(text):
        """
        提取待办事项
        Args:
        text: str 对话内容
        Returns:
        list[str] 待办事项列表
        """
        # 使用nlpaug进行数据增强
        aug = naw.ContextualWordEmbsAug(model_path='bert-base-uncased', action="insert")
        augmented_text = aug.augment(text)
        # 这里简单地返回增强后的内容中的单词
        return [token.text for token in nlp(augmented_text) if token.pos_ == "NOUN"]
    def extract_keywords(text, top_k=3):
        """
        提取关键词
        Args:
        text: str 对话内容
        top_k: int 希望返回的关键词数量,默认为3
        Returns:
        list[str] 关键词列表
        """
        # 使用spaCy的TextRank算法提取关键词
        doc = nlp(text)
        ranked_phrases = doc._.phrases
        return [phrase.text for phrase in ranked_phrases[:top_k]]
    # 模拟一部分数据
    data = [
        {
            "text": "今天谈了好几个项目的进展,客户的反馈也都很好,下周需要提交项目报告",
            "summary": "今天谈了好几个项目的进展,客户的反馈也都很好,下周需要提交项目报告",
            "tasks": ["项目报告"],
            "keywords": ["项目进展", "客户反馈", "下周"]
        },
        {
            "text": "明天的会议时间需要调整一下,另外还需要准备会议资料,检查一下客户的反馈",
            "summary": "明天的会议时间需要调整一下,另外还需要准备会议资料,检查一下客户的反馈",
            "tasks": ["会议资料", "客户反馈"],
            "keywords": ["会议时间", "调整", "检查"]
        }
    ]
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月7日

悬赏问题

  • ¥15 Unity 2022.3.34版本安卓打包apk失败,gradle配置问题,用的是mono2x
  • ¥15 R语言中安装bibliometrix 后运行biblioshiny出现问题
  • ¥20 关于#android#的问题:用开发助手发现找不到控件(autojs)
  • ¥15 dir815漏洞反弹shell失败
  • ¥15 支付宝小程序云函数登录获取user_id失败
  • ¥50 python for 循环速度慢
  • ¥15 CubeMX生成的代码用keil编译有报错
  • ¥15 Stata链式中介效应代码修改
  • ¥15 pip安装PyAV报错
  • ¥15 latex投稿显示click download