技术领域
[0001] 本申请属于语言教学领域,特别是涉及对话教学方法与系统。
相关背景技术
[0002] 透过对话来学习语言或其他的课程是相当直觉的。在传统的对话教学方法当中,会让计算机程序所扮演的教师与学员进行对话。不过因为对话是开放端的(open‑ended),在一个回合的对话当中,教师程序往往难以将学员的对话限制在所欲教学的目标之内。
[0003] 此外,由于对话教学的剧本是连续性的,如果前一个回合的对话脱离了剧本。也就难以继续剧本的次一个回合。当学员经历过上述的情况后,可能不会认为透过传统式的对话教学来学习是个有趣的经验。
[0004] 有鉴于此,亟需一种能够让学员在学习指示的框架中练习较合宜回答的对话教学方法及系统,以便增进对话教学的学习效果与乐趣。
具体实施方式
[0039] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
[0040] 本申请之说明书和权利要求以及图式中的术语“第一”“第二”“第三”等(如果存在)用于区别类似之对象,而不必用于描述特定的顺序或先后次序。应当理解,该等描述之对象在适当情况下可以互换。在本申请之描述中,“复数个”之含义是两个或两个以上,除非另有明确具体地限定。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排它的包含。图式中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现该等功能实体,或在一个或复数个硬件电路或集成电路中实现该等功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现该等功能实体。
[0041] 在本申请之描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示之方位或位置关系为基于附图所示之方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指之装置或组件必须具有特定之方位、以特定之方位构造和操作,是故不能理解为对本申请之限制。
[0042] 在本申请之描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,亦可以为可拆卸连接,或一体地连接;可以为机械连接,亦可以为电连接或可以相互通讯;可以为直接相连,亦可以藉由中间媒介间接相连,可以为两个组件内部之连通或两个组件之相互作用关系。对于本领域之普通技术人员而言,可以根据具体情况理解前述术语在本申请中之具体含义。
[0043] 为使本申请之目的、特征和优点能够更加明显易懂,下面结合图式和具体实施方式对本申请作进一步详细之说明。
[0044] 请参考图1所示,其为根据本申请实施例的对话教学系统100的方块示意图。该对话教学系统100包含服务器110、网络120与多个用户计算器130。该网络120可以是一或多个实体网络的结合,其可以包含一或多个互相连接的广域网或电信网络,与上述广域网或电信网络相连接的一或多个接取网络或局域网络。该广域网或电信网络可以是电信厂商提供的有线或无线的网络。举例来说,可以是因特网、3G/4G/5G/6G等无线移动网络、星链或铱计划的卫星通信网路。该接取网络或局域网络可以是有线或无线的局域网络,例如遵从IEEE 802.3系列协议的有线网络,或是遵从IEEE802.11系列协议的无线网络。该网络120可以在该服务器110与用户计算器130之间传递信息。
[0045] 请参考图2所示,其为根据本申请实施例的服务器110的方块示意图。该服务器110可以包含一或多部实体或逻辑计算器的组合,例如在一或多部实体计算器内的虚拟机(virtual machine)组成的服务器。从软件功能方面,该服务器110可以包含数据库管理系统(DBMS,Database Management System)210、应用逻辑伺服系统(Application/Logic Serving System)220、接口系统230与Web接口系统240。
[0046] 前述的数据库管理系统210可以包含关系数据库管理系统(relational DBMS),例如常见的MySQL、Oracle、DB2,或是非关系型的数据库管理系统,甚至是简单的电子表格(spreadsheet)系统。其用于储存对话教学系统100的各式对话剧本(script)、对话历史、用户数据、用户学习历史进度等相关的各式数据。
[0047] 上述的应用逻辑伺服系统220可以包含常见的应用程序服务器与/或商业逻辑(business logic)系统,例如Oracle公司的J2EE服务器与微软的ASP.NET服务器。上述的应用逻辑伺服系统220可以包含人工智能模型与其推论模块,例如已经训练完成的各式类神经网络模型。上述的应用逻辑伺服系统220可以实现不同的应用程序或商业逻辑,利用存在于数据库管理系统210的数据,透过接口系统230与/或Web接口系统240对用户计算器130进行通讯。举例来说,Enterprise JavaBeans与ASP程序可以用于实现本申请所提供的方法与步骤,以便对数据库管理系统210的数据进行各式操作。
[0048] 上述的接口系统230可以包含专属的(proprietary)与/或符合工业标准传输协议的接口系统,用于和用户计算器130上安装的应用程序(Application)进行通讯。上述的Web接口系统240可以利用HTTP、HTTPS、HTML等系列和用户计算器130所安装的网页浏览器(web browser)进行通讯,例如常见的Apache Web Server。
[0049] 本申请并不限定该服务器110所实现的软件必然要是上述的三层式(three‑tier)架构,也可以是单一客制化形式的软件套件所构成。但无论如何,在计算器领域中具有普通技术能力的人员可以理解到本申请的服务器110包含了与网络120连接的能力,实现本申请所提供的方法与步骤的能力,以及存储相关数据的能力。
[0050] 在一实施例当中,对话教学系统100还可以包含人工智能服务器140,用于提供自然语言处理能力,以处理教学指示内容的计算产生。该人工智能服务器140可以用于实现自然语言处理模型,例如大型语言模型(LLM,Large Language Model),像是OpenAI公司的ChatGPT、Google公司的Lamda、Meta公司的LLaMA等之类的模型。
[0051] 请参考图3所示,其为根据本申请实施例的用户计算器130的方块示意图。该用户计算器130可以是穿戴式行动装置、智能型手机、个人数字助理、平板型计算机、膝上型计算机、桌面计算机与/或任何形式的计算器。举例来说,该用户计算器130可以是冯纽曼(Von Neumann)架构或其变化型的计算器。
[0052] 该用户计算器130可以包含中央处理器310、内存模块320、输出入接口模块330、输出装置340、输入装置350、存储装置360与/或网络装置370。该中央处理器310包含至少一个微处理器,例如适用于RISC‑V、x86、x64、ARM、Alpha指令集之一的微处理器,用于执行存储于该内存模块320的指令,以便透过操作系统与/或应用程序等软件来控制该用户计算器130,以及利用操作系统与/或应用程控硬件实现本申请所提供的方法与步骤。
[0053] 该输出入接口模块330可以为专属或符合工业标准的接口,例如USB系列、SATA系列、SCSI系列、PCI系列、PCI‑Express系列等接口,用于连接上述的输出装置340、输入装置350、存储装置360与/或网络装置370。该输出装置340用于将数据输出到该用户计算器130之外,例如输出声音、影像、数据等相应的信号。常见的输出装置340包含显示器、扬声器、打印机等。该输入装置350用于将数据输入到该用户计算器130,常见的输入装置350包含触摸板、触控屏幕、键盘、鼠标、麦克风、摄像器、卫星定位装置、2D或3D扫描仪等。该存储装置360包含非挥发性(non‑volatile)的内存,例如硬盘机、闪存、光盘、磁盘等内存装置。该网络装置370用于连接到上述的网络120,例如连接到该网络120所包含的接取网络。
[0054] 在一实施例当中,可以透过所连接的路由器位置、无线基地台位置来得知用户计算器130的位置。除此之外,无线或卫星通信网路的业者,也可以利用多个基地台或卫星对该网络装置370所发出的通信电波进行三角定位,以便测得该用户计算器130的位置。并且透过位置为底的服务(LBS,Location‑Based Service)将该用户计算器130的位置,传送到该用户计算器130。
[0055] 该存储装置360用于储存上述的操作系统与应用程序,用于协助实现本申请所提供的方法与步骤。在一实施例当中,该用户可以透过安装在该用户计算器130的通用或专用的网页浏览器连接到前述服务器110的Web接口系统240,与服务器110进行通信。在另一实施例当中,该用户可以透过安装在该用户计算器130的专用应用程序,透过专属的通讯协议连接到该接口系统230,与服务器110进行通信。计算器领域的普通技术人员可以理解到,当本申请所提供的方法与步骤需要于用户计算器130上执行时,可以藉由服务器110所提供的网页程序(如HTML5、Java Bytecode、ASP、java‑script等),令浏览器执行该方法与步骤的一部分或全部。也可以藉由已经安装在用户计算器130的应用程序,根据服务器110所提供的指令与/或数据,令该应用程序执行该方法与步骤的一部分或全部。
[0056] 本领域普通技术人员可以理解到,虽然图3所示的方块示意图为用户计算器130的实施例,但也可以适用于图1所示的服务器110。服务器110可以包含中央处理器、网络装置、内存模块等相关的装置,用于实现本申请所提供的方法与步骤。
[0057] 上述的对话教学系统100可以用于实现本申请所提供的对话教学方法。本申请所提供的对话教学方法包含在用户计算器130上显示的对话窗口。该对话窗口可以是专用应用程序的一部分,也可以是在浏览器上显示的一部分。在某些实施例当中,该对话窗口可以是实时通讯软件的一个对话窗口。本申请并不限定该对话窗口的实现方式。上述的实时通讯软件可以是WhatsApp、LINE、Messenger等。也可以藉由短讯(SMS)与/或多媒体讯息(MMS)来进行数据的传输。
[0058] 在对话窗口当中,包含了三方的对话内容。除了使用者之外,还包含了由服务器110所执行的剧本提供的第一方对话与代表教师(Mentor)的一或多个教学指示。在一实施例当中,用户可以选择在多个对话教学剧本当中选择一个剧本。每一个剧本包含多个回合的对话。在每一回合的对话当中,包含第一方对话与相对应于该第一方对话的教学指示。当用户的对话符合该第一方对话与/或该一或多个教学指示,服务器110才会让剧本继续进行到下一个回合。否则,会再重复提示另一个教学指示,让用户学习在这一个回合当中应当要如何回复第一方对话。
[0059] 请参考图4所示,其为根据本申请实施例的对话窗口内容400的示意图。该对话窗口内容400包含第一回合的第一方对话410A,以及第一回合的第一教学指示420A。在对话窗口内容400当中,可以包含三个按钮,其分别是略过本回合按钮430、给予例句按钮440、语音输入按钮450。
[0060] 在一实施例当中,当用户计算器130在显示上述的对话窗口内容400时,也可以利用喇叭或扬声器播放第一方对话410A的内容。本领域普通技术人员可以理解到,用户计算器130可以利用常用的合成功能,将第一方对话410A的内容读出。在另一实施例当中,也可以将第一教学指示420A的内容读出。
[0061] 在本实施例当中,第一方对话410A是用第一种语言撰写或读出,第一教学指示420A则是用第二种语言撰写或读出。第二种语音是用户已经熟悉的语言,第一种语言则是用户要学习的语言。在本实施例当中,上述的第一种语言和第二种语言都是自然语言
(natural language)。如图4所示,第一种语言是英文,第二种语言是中文。教学的目的是让用户(亦即学员)练习以第一种语言来回答,其回答的方向要对应到第一方对话410A与/或第一教学指示420A的内容。
[0062] 用户可以按下语音输入按钮450,透过麦克风输入对话内容。用户计算器130可以利用常用的语音识别功能,将语音转换成文字。上述的语音识别功能可以在用户计算器130上进行,也可以将语音信号传送到远程进行辨识。例如,用户计算器130可以将语音信号直接传回给服务器110,由服务器110进行辨识并且转换成第一种语言。
[0063] 在另一个实施例当中,用户可以使用其他的输入设备将对话进行输入,例如鼠标或键盘等。当用户计算器130在显示用户对话时,也可以利用喇叭或扬声器重复播放用户对话的内容。上述的语音识别功能与输入功能,可以限制为是第一种语言。
[0064] 请参考图5所示,其为根据本申请实施例的对话窗口内容500的示意图。该对话窗口内容500包含了第一回合的用户对话510A(又可称为第二方对话或学员对话)。服务器110会判断用户对话510A是否符合第一教学指示420A的内容。在一实施例当中,服务器110可以判断用户对话510A与多个以第一语言作为例句其中之一的句型是否相符。当相符时,服务器110会进入下一个回合的对话。在另一实施例当中,服务器110可以将用户对话510A与第一方对话410A放入预先训练好的人工智能模型当中进行判断。例如图1所示的人工智能服务器140所实现的大型语言模型,可以具有一种分类器(classifier),可以将第二方用户对话510A和第一方用户对话410A进行比对分类,获得是否相符的分类。也可以将第二方用户对话510A和第一教学指示420A进行比对分类,获得是否相符的分类。本领域普通技术人员可以理解到,本申请并不限制使用哪一些技术来对用户对话510A进行判断。
[0065] 当判断结果相符时,对话窗口内容500会出现第二回合的第一方对话410B与第一教学指示420B。如同对话窗口内容400一样,在对话窗口内容500当中,可以包含三个按钮,其分别是略过本回合按钮430、给予例句按钮440、语音输入按钮450。
[0066] 请参考图6所示,其为根据本申请实施例的对话窗口内容600的示意图。在图4所示的实施例当中,当用户按下了给予例句按钮440,亦即显示第二教学指示按钮之后,会如对话窗口内容600所显示的,在第一教学指示420A的下方会出现相对应的第二教学指示460A。在图6所显示的第二教学指示460A当中,包含了两个例句。用户可以阅读第二教学指示460A的例句,稍加变化后回答。
[0067] 请参考图7所示,其为根据本申请实施例的对话窗口内容700的示意图。在图6所示的实施例当中,用户参考了第二教学指示460A的第二个例句后回答。因此,服务器110判断用户对话510A与第一方对话410A或第二教学指示460A相符。服务器110即提示了第二回合的第一方对话410B与第一教学指示420B。
[0068] 请参考图8所示,其为根据本申请实施例的对话窗口内容800的示意图。在图6所示的实施例当中,当用户按下了略过此回合按钮430之后,伺服端110可以提示第一回合的第二教学指示460A,并且不待用户输入对话,即进入第二回合,亦即提示了第二回合的第一方对话410B与第一教学指示420B。
[0069] 请参考图9所示,其为根据本申请实施例的一对话教学方法900的流程示意图。该对话教学方法900可以适用于图1所示的对话教学系统100。特别是以服务器110所执行的软件,配合用户计算器130来实现。任两步骤之间如果没有数据相依的关系,本申请并不限定任两步骤的执行顺序。对话教学方法900可以适用于一个对话剧本,每个对话剧本包含N个回合,N为大于1的正整数,变量i可以初始化为1。对话教学方法900可以由步骤910开始。
[0070] 步骤910:进入第i回合对话。
[0071] 步骤920:可以透过网络120,将第i回合的第一方对话传送至用户计算器130,并且可以令用户计算器130以声音与/或影像将第一方对话提示给用户,也就是用扬声器与/或显示器将声音与/或影像将第一方对话播放/显示出来。
[0072] 步骤930:可以透过网络120,将第i回合的第一教学指示传送至用户计算器130,并且可以令用户计算器130以声音与/或影像将第一教学指示提示给用户。
[0073] 步骤940:接收用户的输入,并且根据用户输入分别进到以下步骤。当用户输入略过此回合的指令时,流程进到步骤950。当用户输入提示第二教学指令的要求指令时,流程进到步骤952。当用户透过语音识别或键盘等输入第二方对话(或称用户对话、学员对话)时,流程进到步骤960。
[0074] 步骤950:可以透过网络120,将第i回合的第二教学指示传送至用户计算器130,并且令用户计算器130以声音与/或影像将第二教学指示提示给用户。接着,流程进到步骤970。
[0075] 步骤952:可以透过网络120,将第i回合的第二教学指示传送至用户计算器130,并且令用户计算器130以声音与/或影像将第二教学指示提示给用户。接着,流程回到步骤940。
[0076] 步骤960:比对用户输入的第二方对话是否符合该第一方对话。如前所述,当两者相符时,流程进到步骤970。否则,流程回到步骤940。
[0077] 步骤970:递增i。接着,流程进到步骤980。
[0078] 步骤980:判断i是否大于或等于N。当i大于或等于N时,流程进到步骤990。否则,流程回到步骤910,进到下一回合。
[0079] 步骤990:结束该对话教学方法900。
[0080] 如前所述,如果没有教学提示的话,前一个回合的对话很容易脱离了剧本。也就难以继续剧本的次一个回合。当学员经历过上述的情况后,可能不会认为透过传统式的对话教学来学习是有趣的经验。
[0081] 在一实施例当中,上述的步骤930的第一教学指示与/或步骤950/952的第二教学指示可以是事先编辑好的,储存在剧本当中。在另一实施例当中,步骤930的第一教学指示与/或步骤950/952的第二教学指示可以是利用人工智能实时产生的。举例来说,上述的人工智能可以是一种已经训练完成的大型语言模型(Large Language Model),利用该回合的第一方对话来产生第一教学指示与/或第二教学指示。在一变化当中,可以利用多个回合的第一方对话来产生第一教学指示与/或第二教学指示。
[0082] 上述的人工智能可以实现在图1所示的服务器110当中,或者是由服务器110透过应用程序编程接口或其他管道,令使用大型语言模型的另一服务器140来产生。
[0083] 当使用人工智能模型产生教学指示时,可以站在第一方的角度,也可以站在第二方用户的角度。例如站在第一方的角度时,人工智能可以对第一方对话的主题进行转换。当第一方对话问用户是否要做某一件事情时,例如一起吃午餐,人工智能可以提供正反两面的教学指示。正面的教学指示包含了当用户想做某一件事情(想吃午餐)的时候,他的说法可以怎么讲。反面的教学指示包含了当用户不想做某一件事情(不想吃午餐)的时候,该怎么推辞。除了正反两种回答,当可能的回答具有多种选项时,人工智能可以根据其内涵的知识,扩充各种选项的响应广度。
[0084] 因此,本申请所提供的对话教学方法特别在对话中加入步骤930的第一教学指示与/或步骤950/952的第二教学指示。本申请并不限制只有两个教学指示,每一个回合还可以包含更多的教学指示。它们的功能包含但不限于下列:
[0085] 1.限缩用户回答范围,以便让对话限制在本回合的教学指示的目标(例如教学指示当中问用户在哪里工作)
[0086] 2.建议用户一些事项。(在某些情况,建议用户主动提问或做一些相关的响应)[0087] 3.提供答案(针对第一方对话的问题,提供正确答案,以及可能的换句话说)
[0088] 4.引导用户看一些相关的数据或进入另一个对话题材(当用户回答不正确,针对其弱点建议另一个题材)。
[0089] 5.给予用户一些鼓励、嘉勉的字眼,提振士气。
[0090] 由此可见,教学指示在本申请所提供的对话教学方法提供的重要功能,是本申请的发明特征之一。据此,本申请提供了一种能够让学员在教学指示的框架中练习较合宜回答的对话教学方法及系统,以便增进对话教学的学习效果与乐趣。
[0091] 根据本申请的实施例,提供一种对话教学方法,包含:接收教学剧本,其中该教学剧本包含N个回合,N为大于1的自然数,设变数i值为1,1<=i<=N;以及当i<=N时,执行第i回合的下列步骤:透过网络传送该N个回合中的第i回合的第一方对话至用户计算器,令该用户计算器提示该第一方对话;透过该网络传送该第i回合的第一教学指示至该用户计算器,令该用户计算器提示该第一教学指示;透过该网络自该用户计算器接收相应于该第i回合的第二方对话;判断该第二方对话是否符合该第i回合的该第一方对话或该第一教学指示至少其中之一;当该第二方对话符合该第i回合的该第一方对话或该第一教学指示至少其中之一时,令该变量i值递增1。
[0092] 如前述的对话教学方法,为了让用户可以透过熟悉的第二自然语言来练习第一自然语言,其中上述的第一方对话与第二方对话包含第一自然语言,该第一教学指示包含第二自然语言。
[0093] 如前述的对话教学方法,为了让用户可以练习听力与阅读能力,其中上述提示该N个回合第i回合的第一方对话包含下列其中之一或任意组合:在显示器的对话框显示该第一方对话;以及令扬声器发出该第一方对话的语音。
[0094] 如前述的对话教学方法,为了让用户可以练习说写第一种语言的能力,其中上述接收相应于该第i回合的第二方对话包含下列步骤其中之一,以及提示该第二方对话:令麦克风接收语音,并且透过语音识别将该语音转换成该第二方对话;以及令输入设备接收该第二方对话的文字输入。
[0095] 如前述的对话教学方法,为了让用户学习范例式的回答,其中当该第二方对话不符合该第i回合的该第一教学指示时,该对话教学方法还包含提示该第i回合的第二教学指示,其中该第二教学指示包含该第一自然语言的范例。
[0096] 如前述的对话教学方法,为了让用户的回答接近标准回答,其中判断该第二方对话是否符合该第i回合的该第一方对话或该第一教学指示至少其中之一的步骤还包含:比较该第二方对话与该第i回合的多个答案,当该第二方对话与该多个答案之一相近时,判断该第二方对话符合该第i回合的该第一方对话或该第一教学指示至少其中之一。
[0097] 如前述的对话教学方法,其中判断该第二方对话是否符合该第i回合的该第一方对话或该第一教学指示至少其中之一的步骤还包含:将该第二方对话输入一人工智能模型进行推论,当该推论的结果符合该第一教学指示时,判断该第二方对话符合该第i回合的该第一方对话或该第一教学指示至少其中之一。
[0098] 如前述的对话教学方法,为了让用户在不知道该如何响应时可以继续进行对话教学方法,其中在上述的提示该第i回合的第一教学指示的步骤之后,还包含下列其中之一或其任意组合:提示略过该第i回合的选项指令;以及提示该第i回合的第二教学指示的选项指令。
[0099] 如前述的对话教学方法,为了让用户可以直接略过本回合,还包含:透过该网络自该用户计算器的输入设备接收上述略过该第i回合的选项指令;透过该网络传送第二教学指示至该用户计算器,并且令用户计算器提示该第i回合的第二教学指示;以及令i值递增1以结束该第i回合,并进入第i+1回合。
[0100] 如前述的对话教学方法,为了让用户可以再一次阅读新的教学指令,还包含:透过该网络自该用户计算器的输入设备接收上述提示该第i回合的第二教学指示的选项指令;以及透过该网络传送该第i回合的第二教学指示至该用户计算器,并且令用户计算器提示该第i回合的第二教学指示。
[0101] 如前述的对话教学方法,为了简化编写剧本,其中上述的该第i回合的第一教学指示是根据该第i回合的第一方对话,透过一人工智能模型所产生。
[0102] 如前述的对话教学方法,为了简化编写剧本并考虑到剧本的连续性,其中上述的该第i回合的第一教学指示是根据第1回合至该第i回合的第一方对话,透过人工智能模型所产生。
[0103] 如前述的对话教学方法,为了简化编写剧本并考虑到剧本的连续性,其中上述的该第i回合的第二教学指示是根据该第i回合的第一方对话与第一教学指示,透过人工智能模型所产生。
[0104] 根据本申请的一实施例,提供一种用于实现对话教学系统的服务器,用于实现上述的对话教学方法。
[0105] 根据本申请的一实施例,提供一种用于实现对话教学系统的系统,包含上述的服务器与用户计算器。
[0106] 总上所述,本申请提供一种能够让学员在学习至少一个教学指示的框架中练习较合宜回答的对话教学方法及系统,能够增进对话教学的学习效果与乐趣。
[0107] 以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,根据本申请的技术方案及其申请构思加以等同替换或改变,都应涵盖在本申请的保护范围之内。