1. 引言
1.1. 研究背景与意义
在全球化日益深入的背景下,外语已成为跨国交流、学术研究和国际商业合作的关键工具。然而,传统外语学习模式在个性化和灵活性方面存在许多不足,且缺乏有效的反馈机制,导致学习效率不高。近年来教育领域正经历深刻变革,依托人工智能、大数据与自然语言处理等技术,学习系统能够实时捕捉用户行为特征、兴趣偏好和能力水平,量身定制学习路径,动态调整课程内容与节奏实现个性化教学,从而弥补传统模式的不足。
本课题旨在设计一个基于大模型技术的个性化外语学习系统,与其他英语学习平台不同,本系统运用大语言模型技术对用户的外语水平进行评估,提供更为精准的定制化学习建议。同时通过融入词汇记忆游戏、AI翻译以及互动讨论等趣味元素,显著提升平台学习趣味性和参与度,帮助学习者保持长效动力。帮助用户克服学习中的薄弱环节,避免无效重复的学习内容,提高学习效率[1]。
1.2. 国内外研究现状
1.2.1. 国外研究现状
Jin Ha Woo和Heeyoul Choi (2021)在其“Systematic Review for AI-based Language Learning Tools”研究中提到,AI工具对语言学习产生了积极影响。这些工具能够识别语言错误、提供反馈并评估语言能力,帮助学习者提升语言水平并优化学习体验。尤其在听说技能方面,显著改善了学习者的心理状态,包括降低焦虑感、提升沉浸感和临场感等。研究表明,AI工具有助于提升学习者对第二语言特征的可理解性输入和专注度,获得更显著的学习成效[2]。
而ChatGPT作为一种基于人工智能的语言生成模型,近年来在学术和写作领域得到了广泛的关注与应用。Tira Nur Fitria (2023)在其研究“Artificial intelligence (AI) technology in OpenAI ChatGPT application: A review of ChatGPT in writing English essay”中通过描述性定性研究方法考察了ChatGPT在英语学术文本生成中的应用效能。用户输入指令后,ChatGPT能够快速生成符合规范的英语文本,严格遵守学术写作框架,逻辑严谨,且能根据指令动态调整语言难度。然而研究发现,其生成文本存在一定局限性,需要通过语料库的对比或者人工审核语法问题。过度依赖会导致学生减少内化过程,认知能力降低[3]。
目前国外研究外语学习系统的有Duolingo、Cambridge Learning Management System (CLMS)等。Duolingo通过分析用户的学习记录、错误模式和学习进度,提供个性化的学习推荐。平台采用游戏化的设计和即时反馈功能,增强了互动性和学习体验,但软件在语法深度和词汇覆盖方面略显不足。CLMS是剑桥大学出版社推出的专业语言学习平台,目标是为备考标准化考试的用户提供针对性的学习资源。该平台借助严谨的学习框架,使其成为一个强目标导向性的外语学习软件,但学习体验过于沉闷死板。
1.2.2. 国内研究现状
叶佩(2024)在“基于MVC框架的英语在线学习资源管理系统”研究中提出,通过用户建模,计算个性化推荐的方法,让学生查找学习资源时更加方便快捷[4]。针对个性化推荐问题,岳佩、张浩(2023)在“基于深度学习的英语教学资源个性化推荐系统”研究中提到,基于内容的推荐系统需要事先建立用户兴趣特征向量–资源关联匹配模型,通过分析用户偏好的资源来推荐类似的资源,这种系统推荐的资源都是用户感兴趣的资源[5]。
胡天姿(2021)等人在“基于人工智能的多功能英语记忆App设计”中指出,目前国内应用市场中出现的英语学习软件功能较为单一,没有依据用户习惯推荐个性化学习内容,使得用户的学习过程较为枯燥,降低了用户学习英语的热情。该研究提出利用人工智能技术抓取用户习惯,进而对不同的用户推送个性化内容,使得英语学习具有趣味性和针对性[6]。
国内基于外语学习的研究有英语流利说、有道精品课等。英语流利说是国内自主研发的一款专注口语学习的智能应用,该程序通过语音识别来评估用户的发音并提供改进建议,然而复杂场景下的语音识别准确度存在一定不足。有道自研了教育领域大型语言模型“子曰”,在口语练习、AI家庭辅导等场景已实现初步应用。但偏重课程学习,学习进度跟踪和个性化反馈在一定程度上依赖助教等人力支持,即时性有待进一步通过技术手段加强。
总体而言,国内外个性化外语学习平台各具特色,在技术应用和教学方法上展现了不同维度的创新。尽管部分平台已开始探索和应用大型语言模型技术,但在外语学习的使用场景中仍存在一定改善空间。未来的发展方向应侧重于系统反馈的实时性与精准性,以便能及时纠正用户错误并提供智能化学习建议。此外还需进一步提升用户学习体验,提供更加灵活、个性化的互动功能,避免学习过程中的枯燥乏味。
2. 系统需求分析
本系统的目标是设计并实现一个基于大模型技术的个性化外语学习系统,以满足不同用户在外语学习过程中的多样需求。该系统的需求分析包括用户注册与登录、学习资料管理、听力测试、阅读测试、写作与口语测评、翻译功能、词汇游戏、数据统计与分析、论坛互动等功能。管理员还可以进行用户管理、学习资源管理和试题管理等。确保系统在不同角色下都能顺利运行,提供个性化的学习支持,提升用户体验和学习效果。
3. 系统设计与实现
3.1. 系统模块设计
该个性化外语学习系统主要分为用户端和管理员端两个部分。用户端包括用户管理、英语学习、学习评估和辅助学习四大模块,涵盖注册、登录、课程推荐、听说读写练习等功能,满足用户的多样化学习需求。而管理员端则包含账号管理、课程管理、测试管理、游戏管理和论坛管理等功能,负责用户账户、课程内容以及测评题目管理等,确保系统的稳定运行和内容更新。系统模块设计如图1所示。
3.2. 数据库设计
在个性化外语学习系统中,每个用户都有独一无二的学习路径。用户不仅可以参与听说读写测试,还能系统地学习各类课程。此外还能在论坛中发帖、评论与其他学员交流心得,内置了词汇记忆游戏,让学习过程变得生动、有趣。通过合理的数据库设计,能够高效管理这些功能模块,保证系统的可扩展性和高性能性。下面给出文本课程、视频课程、口语测评和写作测评4个重要数据库表的介绍。
Figure 1. System module diagram
图1. 系统模块图
文本资料表用于存储与文本资料相关的信息,包含文本资料ID、课程标题、课程内容、作者、课程难度等级以及创建时间。文本课程表如表1所示。
Table 1. Text course data sheet
表1. 文本课程表
列名 |
数据类型 |
字段描述 |
id |
integer |
主键 |
title |
varchar |
课程标题 |
content |
text |
课程内容 |
author |
varchar |
作者 |
level |
varchar |
难度级别 |
created_at |
datetime |
创建时间 |
视频资料表用于存储视频资料的信息,包含视频资料ID、课程标题、视频、描述、难度级别、创建时间。视频资料表表如表2所示。
Table 2. Video information data sheet
表2. 视频资料表
列名 |
数据类型 |
字段描述 |
id |
integer |
主键 |
title |
varchar |
课程标题 |
video_url |
varchar |
视频 |
description |
text |
课程描述 |
level |
varchar |
难度级别 |
created_at |
datetime |
创建时间 |
口语测评表用于存储口语测评记录信息,该表包含口语测评ID、用户口语作答内容、AI反馈、用户ID以及任务ID。口语测评表如表3所示。
Table 3. Speaking assessment data sheet
表3. 口语测评表
列名 |
数据类型 |
字段描述 |
id |
integer |
主键 |
user_answer |
text |
口语作答内容 |
coze_response |
text |
AI口语反馈 |
user_id |
bigint |
用户ID,外键关联用户表 |
task_id |
bigint |
任务ID,外键关联口语测评任务表 |
写作测评表用于存储写作测评记录信息,包含写作测评ID、用户作文内容、AI反馈、得分、创建时间、用户ID和任务ID。写作测评表如表4所示。
Table 4. Writing assessment data sheet
表4. 写作测评表
列名 |
数据类型 |
字段描述 |
id |
integer |
主键 |
essay_content |
text |
用户作文内容 |
coze_response |
text |
AI写作评价 |
score |
real |
写作得分 |
created_at |
datetime |
创建时间 |
user_id |
bigint |
用户ID,外键关联用户表 |
task_id |
bigint |
任务ID,外键关联写作测评任务表 |
3.3. 系统功能实现
3.3.1. 课程推荐
Figure 2. Course recommendation results
图2. 课程推荐结果
用户在进入课程学习界面后,可以针对用户感兴趣的课程进行相似内容推荐,需要事先建立用户兴趣特征向量–资源关联匹配模型,通过分析用户偏好的资源来推荐类似的资源。系统会提取请求中的课程参数,查询所有课程统一转换为字典形式存入列表,随后将课程的标题、内容与难度合并为一段文本,并使用TF-IDF算法进行向量化。通过计算课程之间的相似度,为用户推荐与目标课程最相似的课程,以JSON格式返回推荐结果。这种推荐机制旨在根据用户的学习需求,提供更精准的学习资源,帮助用户高效拓展知识领域[7]。推荐结果如图2所示。
代码如下:
# 使用TF-IDF向量化方法进行文本处理,去除英文停用词
vectorizer = TfidfVectorizer(stop_words='english')
tfidf_matrix = vectorizer.fit_transform(documents)
# 查找当前课程在lessons列表中的索引
for idx, lesson in enumerate(lessons):
if str(lesson['id']) == str(lesson_id) and lesson['type'] == lesson_type:
target_index = idx
break
# 计算当前课程与所有其他课程之间的余弦相似度
cosine_sim = cosine_similarity(tfidf_matrix[target_index], tfidf_matrix).flatten()
# 排除当前课程自身,找出最相似的前5门课程
similar_indices = cosine_sim.argsort()[-6:-1][::-1]
for idx in similar_indices:
recommendations.append(lessons[idx])
return JsonResponse({'recommendations': recommendations})
3.3.2. 智能体配置与核心工作流
本系统中的智能交互与测评功能,其核心在于智能体(Agent)的配置及其执行的自动化工作流。配置智能体时首先需要明确其角色设定和回应方式,这实质上是对底层大型语言模型(LLM)进行精细化Prompt工程的过程。通过预设智能体的角色身份、设计其语言风格以及限制其回答范围与知识边界,引导LLM的输出,使其生成的内容更贴合具体应用场景和用户期望。
为实现复杂任务的自动化处理并提升LLM应用的准确性和效率,本系统设计并实现了一套模块化的工作流,如图3所示。该工作流整合了意图识别、知识库检索(RAG)、网络搜索以及多个LLM的调用。当用户与智能体交互时,输入内容首先进入工作流的开始节点。意图识别节点用于接收用户查询,使用内置的豆包语言模型,通过预设的分类规则判断用户的主要意图。此节点的一个关键分支是判断用户问题是否需要获取最新的网络信息,识别到此类意图工作流将激活bingWebSearch节点,根据用户查询及预设参数(如结果数量、时效性等)调用Bing搜索引擎获取网络上的相关数据,这些数据随后将作为上下文信息提供给后续的LLM节点进行处理。
对于需要依赖内部专业知识库进行精准评估的场景,如特定测评标准解读,工作流将激活知识库检索节点。该节点是实现RAG功能的核心环节,本系统构建了专门的英语知识库,搜集了互联网上公开的英语学习资料和数据集,包含教材内容、优秀作文范例、常见语法错误解析等结构化与非结构化数据。利用Coze平台知识库存储和管理外部数据的能力,上传网站后可自动对原始文本进行预处理,根据指定符号作为分段依据,将文档分割成一个个独立的句子或段落再转换为向量。
Figure 3. Workflow
图3. 工作流
为提升检索的准确性和召回率,知识库检索节点采用了Coze平台的混合检索策略,遵循业界先进的RAG架构,旨在结合向量检索与关键词搜索的优势。向量检索是将外部知识库中的文档先拆分成语义完整的段落或句子,然后通过Embedding将文本转换为多维向量,同时对用户的提问执行相同的向量化处理。相比之下传统关键词检索更擅长于精确匹配、少量字符的匹配以及对低频词汇的检索。Coze平台通过整合两种检索方法,弥补了单一方式的不足,通过多种检索系统的协同工作实现更全面的检索效果。
在本系统的实践中,为优化基于Coze平台的知识库检索效果,经调试设置了适当的最大召回数量5和最小匹配度0.5。最大召回数量决定了在一次搜索过程中,系统会返回多少个相关的结果,设定为较大的数字可以确保检索到更全面的信息,但过高可能会增加计算量拖慢系统速度。最小匹配度用于设置检索结果与查询的相关性阈值,如果太高可能导致筛选过于严格,错过潜在的相关信息,如果太低可能返回大量无关或低质量结果。
此外,使用了查询改写以及结果重排。通过查询改写技术自动调整用户的检索词,更准确地反映其真实意图,扩大召回范围并提升命中精度。在混合检索过程中不同检索引擎产出的结果会被统一整合,归一化后一并提供给大模型,所以需要重排序模型基于用户问题与候选文档之间的语义相似度对结果进行重新排序,进一步优化检索效果。这些经过RAG流程检索并排序的知识片段将作为关键的上下文信息,动态注入到后续LLM节点的Prompt中引导LLM基于这些准确的知识来进行评估,从而缓解大型模型固有的幻觉问题,提升最终输出内容的准确性、专业性和可靠性。知识库配置如图4所示。
Figure 4. Knowledge base configuration
图4. 知识库配置
工作流中的两个LLM处理节点承担着核心的智能处理任务。DeepSeek节点接收来自bingWebSearch节点的网络搜索结果作为核心输入,DeepSeek-V3工具调用模型依据预设的Prompt对输入信息进行理解、分析、整合、推理和生成。在具体的测评应用场景下,该节点负责依据知识库检索的评分标准和相关语言知识,对用户的口语转录文本或写作文本内容进行多维度的评估,生成包含具体得分、缺点分析以及针对性建议等的综合反馈报告。豆包节点则作为另一个LLM处理单元,在完成知识库检索后综合处理知识库内容,使对话更加流畅自然。
最后工作流的结束节点负责整合所有前序处理节点生成的最终结果,按照定义的格式返回给系统后端服务,通过前端界面呈现给用户。通过上述工作流的编排,系统能自动化处理各种用户请求,必要时结合外部的实时网络信息与内部的专业领域知识,借助大型语言模型所具备的强大自然语言处理与生成能力,为用户提供高度智能化、个性化的外语学习服务。
3.3.3. 阅读、听力测评
用户进入能力评估界面后,选择阅读或听力选项,阅读完测评须知后点击开始测评,进入选题页面。用户根据自身需求选择适当难度的题目,完成作答后系统会对用户的答案进行评判,根据用户得分推荐相关课程,使用户学习符合当前水平的课程。代码如下:
# 遍历用户提交的答案字典
correct_count = sum(1 for question_id, answer in user_answers.items()
if ListeningQuestion.objects.get(id=question_id).correct_answer == answer)
total_valid_questions = len(user_answers)
# 计算得分并创建测试记录
score = int((correct_count / total_valid_questions) * 100)
record = ListeningTestRecord.objects.create(
user=user,
score=score,
total_questions=total_valid_questions,
correct_answers=correct_count,
time_taken=data.get('time_taken', 0)
)
3.3.4. 口语测评
用户进入能力评估界面后,选择口语评估选项,并挑选相应的口语任务进行测试。用户按照指示完成口语录音并提交,其口语回答通过集成在系统内的语音识别技术转换为文本格式。转录后的文本内容将连同该口语任务相关的上下文信息作为核心输入数据,触发智能体核心工作流进行后续处理。从预设的专业知识库中获取与口语测评相关的详细评分标准、常见语法错误类型等背景知识。接着由大语言模型节点基于预先设定的角色形象和评估Prompt指令,对用户的口语表现在多个关键维度(例如语言的流利度、语法的规范性、词汇使用的丰富度等)进行全面分析与评估并展示给用户。为用户提供接近真人考官水平的、详尽口语能力评估,帮助用户了解自身实际水平,并依据系统提供的反馈进行有针对性的学习与改进。代码如下:
# 调用Coze API进行流式评估
response_text = ""
for event in self.coze.chat.stream(
additional_messages=[
Message.build_user_question_text(prompt),
],
):
# 处理每一段流式返回
if event.event == ChatEventType.CONVERSATION_MESSAGE_DELTA:
response_text += event.message.content # 拼接流式响应内容
# 请求结束后,解析完整响应并生成评估结果
evaluation = json.loads(response_text)
score = evaluation.get("score")
feedback = evaluation.get("feedback")
3.3.5. 写作测评
用户在进入能力评估界面后,选择写作评估选项,并挑选相应的写作任务进行练习。当用户完成文本输入并提交后,该文本连同原始的写作任务要求与背景信息将同样驱动智能体核心工作流进行后续的分析与评估。从系统的专业知识库中调取与当前写作任务相关的评分细则、优秀范文片段、常见的写作结构与组织方式以及相关的语法规则与应用实例等背景知识。随后,LLM节点将对用户文章在多个核心维度(例如内容的切题度、论点论证的充分性与合理性、语法运用的准确性等)进行全面、系统的分析评价,生成包含具体分数、范文等信息的个性化反馈报告。帮助用户识别写作过程中存在的不足,并能据此进行高效的后续学习与提升。代码如下:
response_text = ""
# 调用 Coze API 进行流式对话,实时接收评估结果
for event in self.coze.chat.stream(
bot_id=self.bot_id,
user_id=str(request.user.id),
additional_messages=[ # 传递用户输入的评估问题
Message.build_user_question_text(prompt),],
):
if event.event == ChatEventType.CONVERSATION_MESSAGE_DELTA:
response_text += event.message.content
assessment_data = json.loads(response_text)
except json.JSONDecodeError:
return Response({"error": "失败"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
4. 实验分析
本系统测试主要采用黑盒测试方法,通过提供预设输入并比对实际输出与预期结果,以验证系统是否符合功能需求。在此基础上,完成了测试用例的设计与执行。
4.1. 课程推荐功能测试用例
课程推荐功能是本系统提升用户学习体验的重要部分,旨在根据用户当前浏览的课程智能推荐相似的其他课程资源。以下测试用例涵盖模块的全部场景,确保返回结果符合预期。测试用例如表5所示。
Table 5. Course recommendations functional test cases
表5. 课程推荐功能测试用例
编号 |
测试用例描述 |
输入数据 |
预期结果 |
是否通过 |
1 |
测试内容推荐功能,用户浏览一个存在的文本课程,请求相似课程推荐 |
lesson_id = {一个有效的文本课程ID},
lesson_type='text' |
系统返回一个包含与该文本课程内容相似的其他课程列表的JSON响应,列表不为空,且不包含当前课程 |
通过 |
2 |
测试内容推荐功能,用户浏览一个存在的视频课程,请求相似课程推荐 |
lesson_id = {一个有效的视频课程ID},
lesson_type='video' |
系统返回一个包含与该视频课程内容相似的其他课程列表的JSON响应,列表不为空,且不包含当前课程 |
通过 |
3 |
测试内容推荐功能,请求推荐的课程不存在于系统中 |
lesson_id = {一个无效或不存在的课程ID},
lesson_type='text' |
系统返回一个空列表和包含错误提示的JSON响应 |
通过 |
4.2. 大模型智能体功能测试用例
大模型智能体功能是系统的关键模块,主要包括智能体人设及回复逻辑、工作流、插件和知识库检索。下面测试用例覆盖了模块的全部功能,确保智能体的回复符合预期效果,给予用户有针对性的回复。测试用例如表6所示。
Table 6. Functional test cases for large model intelligentsia
表6. 大模型智能体功能测试用例
编号 |
测试用例描述 |
输入数据 |
预期结果 |
是否通过 |
1 |
验证“助教”人设下
的回复风格 |
人设 = “助教”,用户输入:
“英语学习关键是什么?” |
回复包含学习关键点,
且模型无跑题 |
通过 |
2 |
意图识别节点,触发Bing外部搜索 |
用户输入:“告诉我最新的英语学习方法。” |
意图识别模块判定需联网调用插件搜索,返回内容包含网络实时信息 |
通过 |
3 |
验证工作流执行流程 |
用户输入:“给我一份英语学习指南。” |
大模型调用工作流,
结束节点汇总最后的回复 |
通过 |
4 |
验证工作流知识库检索 |
用户输入:“如何使用虚拟语气?” |
从知识库召回相关片段,
回答流畅自然 |
通过 |
4.3. 能力评估功能测试用例
能力评估功能涉及多个测评模块,包括听力测评、阅读测评、口语测评、写作测评等。测试用例将涵盖每个测评模块的功能,确保测评流程的顺畅和正确性。测试用例如表7所示。
Table 7. Capability assessment functional test cases
表7. 能力评估功能测试用例
编号 |
测试用例描述 |
输入数据 |
预期结果 |
是否通过 |
1 |
测试听力测评模块,用户提交答案后评分 |
听力答案 |
返回听力分数与建议 |
通过 |
2 |
测试阅读测评模块,用户提交答案后评分 |
阅读答案 |
返回阅读分数与改进建议 |
通过 |
3 |
测试口语测评模块,用户录音后评分 |
口语录音 |
返回口语评分与建议 |
通过 |
4 |
测试写作测评模块,用户提交写作内容后评分 |
写作内容 |
返回写作评分与改进建议 |
通过 |
经过这些测试,各核心模块均能按照预期运行,所有测试用例均顺利通过。系统在课程推荐、智能体回复、能力评估功能方面表现稳定。系统已被验证符合设计标准,并且表现出稳定性和可靠性。
5. 结语
基于大模型技术的个性化外语学习系统不仅能够提供定制化的学习体验,还能根据用户的具体需求,提供有效的学习建议,显著提高学习效率。该系统能识别语言错误、提供反馈并评估语言能力,帮助学习者提升语言水平并优化学习体验。
通过对系统的深入设计与实现,特别是课程推荐、口语和写作测评等功能的优化,本系统有效地解决了传统外语学习方法中的一些不足,充分利用智能技术提供精准的学习支持[8]。
NOTES
*通讯作者。