首页> 中国专利> 更新语言模型的系统及方法

更新语言模型的系统及方法

摘要

本发明提供一种更新语言模型的系统及方法,该系统包含数据储存模块、数据更新模块及模型构建模块。数据储存模块用以储存对应于多个类别的多笔语料数据。数据更新模块用以将一笔新语料数据储存到数据储存模块。该笔新语料数据对应于其中一类别。模型构建模块系用以构建多个分类语言模型,及基于数据储存模块所储存的该笔新语料数据更新其中一分类语言模型。所更新的分类语言模型对应于该笔新语料数据所对应的类别。本发明所提供的更新语言模型的系统及方法,能以极快的速度更新语言模型,同时亦能提高语言模型在实际应用中的效力。

著录项

  • 公开/公告号CN115952780A

    专利类型发明专利

  • 公开/公告日2023-04-11

    原文格式PDF

  • 申请/专利权人 威盛电子股份有限公司;

    申请/专利号CN202310070814.1

  • 发明设计人 罗佳辉;郭晶晶;

    申请日2023-01-17

  • 分类号G06F40/20(2020.01);G06F18/24(2023.01);

  • 代理机构北京林达刘知识产权代理事务所(普通合伙) 11277;北京林达刘知识产权代理事务所(普通合伙) 11277;

  • 代理人刘新宇;宋晓雯

  • 地址 中国台湾新北市新店区中正路535号8楼

  • 入库时间 2023-06-19 19:18:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-04-28

    实质审查的生效 IPC(主分类):G06F40/20 专利申请号:2023100708141 申请日:20230117

    实质审查的生效

  • 2023-04-11

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及自然语言处理(natural language processing;NLP)技术,特别涉及一种更新语言模型的系统及方法。

背景技术

语言模型(language model)是指句子或字词之间的机率分布,其经常使用在各种自然语言处理方面的应用,诸如语音辨识、机器翻译、词性标注、句法分析、手写体识别及信息检索。举例来说,在语音辨识的应用情境中,“基金”一词的发音很类似“鸡精”,因此仅凭声学模型(acoustic model)不足以精准判定说话者指的是哪一个词,必须搭配语言模型以从上下文推断说话者实际上指的是“基金”或“鸡精”。具体来说,若说话者在该词之前说出发音近似于“投资”的词,则该词较有可能是“基金”;若说话者在该词之前说出发音近似于“营养”的词,则该词较有可能是“鸡精”。

语言模型通常是使用通用的语料(corpus)进行训练。这种通用语言模型(genericlanguage model)缺乏应用领域的针对性,导致在实际应用上的效果不理想。尤其在语音辨识的应用中,对于发音近似的语音仍会经常误判。举例来说,若在理财应用的领域使用通用语言模型,可能会因为相对缺乏与“基金”一词相关的语料,而将说话者所说出的“推荐基金”误判为“推荐鸡精”。再举一例,若在语音计算机或数学互动教学的领域使用通用语言模型,可能会因为语料中相对缺乏数字及四则运算相关的词汇,而将说话者所说出的“九加一等于几”误判为“酒家一等虞姬”。此外,当使用者端有更新语言模型的需求时,由于通用语言模型需要的语料数量庞大,再加上传统需将旧的语料与新的语料合并以重新构建整个语言模型的作法,其消耗的时间与运算资源甚为可观。

因此,会希望有一种更新语言模型的系统及方法,以解决上述问题。

发明内容

本发明的实施例提供一种更新语言模型的系统,其包含数据储存模块、数据更新模块及模型构建模块。数据储存模块用以储存对应于多个类别的多笔语料数据(corpusdata)。数据更新模块用以将一笔新语料数据储存到数据储存模块。该笔新语料数据对应于其中一个类别。模型构建模块用以构建多个分类语言模型(classified languagemodels),及基于数据储存模块所储存的该笔新语料数据更新其中一个分类语言模型。所更新的分类语言模型对应于该笔新语料数据所对应的类别。

本发明的实施例提供用于计算机系统的一种更新语言模型的方法,其包含将一笔新语料数据储存至计算机系统的数据储存模块,以及基于该数据储存模块所储存的该笔新语料数据更新多个分类语言模型中的一个。数据储存模块用以储存对应于多个类别的多笔语料数据。该笔新语料数据对应于其中一个类别。所更新的分类语言模型对应于该笔新语料数据所对应的类别。

本发明所提供的更新语言模型的系统及方法,能以极快的速度更新语言模型,同时亦能提高语言模型在实际应用中的效力。

附图说明

本发明将可从以下示范的实施例的叙述搭配附图更佳地理解。此外,应被理解的是,在本发明的流程图中,各区块的执行顺序可被改变,且/或某些区块可被改变、删减或合并。

图1是根据本发明的一实施例绘示的一种更新语言模型系统的系统方块图。

图2是根据本发明的一实施例绘示的一种更新语言模型的方法的流程图。

图3是根据本发明的一实施例绘示的一种更新语言模型的方法的流程图。

图4是根据本发明的一实施例绘示的一种更新语言模型系统的系统方块图。

图5是根据本发明的一实施例绘示的一种更新语言模型的方法的流程图。

图6是根据本发明的一实施例绘示的决定新语料数据所对应的类别的更详细的步骤的流程图。

图7是根据本发明的另一实施例绘示的一种更新语言模型系统的系统方块图。

其中,附图中符号的简单说明如下:

100:系统;101:数据更新模块;102:数据储存模块;103:模型构建模块;200:方法;201-202:步骤;300:方法;301:步骤;400:系统;401:语料分类模块;500:方法;501:步骤;601-603:步骤;700:系统;701:数据搜集模块;711:后端服务器;712:客户端装置。

具体实施方式

以下叙述列举本发明的多种实施例,但并非意图限制本发明内容。实际的发明范围,是由本申请的权利要求书所界定。

在以下所列举的各实施例中,将以相同的标号代表相同或相似的元件或组件。

在本说明书中以及权利要求书中的序号,例如“第一”、“第二”等等,仅是为了方便说明,彼此之间并没有顺序上的先后关系。

在本说明书中以及权利要求书中所使用的冠词“一”,并非意图将本发明限制于“仅有一者”的态样。举例来说,“一笔新语料数据”可包含“一或多笔新语料数据”的态样,“其中一个类别”可包含“其中一或多个类别”的态样,“其中一个分类语言模型”可包含“其中一或多个分类语言模型”的态样。

图1是根据本发明的一实施例绘示的一种更新语言模型的系统100的系统方块图。如图1所示,系统100可包含数据更新模块101、数据储存模块102,及模型构建模块103。

系统100可以是一种计算机系统,诸如运行操作系统(如Windows、MacOS、Linux、UNIX等)的个人计算机(如桌上型计算机或笔记本计算机)或服务器计算机。

上述数据更新模块101及模型构建模块103,可以通过系统100的处理装置载入含有多个指令的程序所实施。处理装置可以是任何一种用于执行指令的装置,诸如中央处理单元(CPU)、图形处理单元(GPU)、微处理器(microprocessor)、控制器、微控制器(microcontroller)或状态机(state machine)。

上述数据储存模块102,可以由系统100的储存装置所实施。储存装置可以是任何一种包含非易失性存储器(如只读存储器(read only memory)、电可抹除式可复写只读存储器(electrically-erasable programmable read-only memory;EEPROM)、闪速存储器、非易失性随机存取存储器(non-volatile random access memory;NVRAM))的装置,诸如硬盘(HDD)、固态硬盘(SSD)或光盘。

数据储存模块102用以储存对应于多个类别的多笔语料数据(corpus data),以供语言模型构建之用。每笔语料数据可以是一个完整的句子(例如“明天天气如何”),或者是多个短句所组成的段落(例如“明天天气还不错,适合出外郊游”),本发明并不限定每笔语料数据的长度。类别可以是指各种语言,诸如简体中文、繁体中文、英文、西班牙文等。类别也可以是指各种应用情境,诸如互动教学、日常生活信息查询、导航、智能家电控制、计算机等。类别也可以是指上述范例应用情境的细分,例如互动教学的应用情境可细分为语文、数学、历史等科目的类别,日常生活信息查询的应用情境可细分为天气、空气品质、交通路况等信息的类别。本发明并不限定类别的种类及数量。类别可以是由人工进行标注,或者是由系统自动判别。之后将叙述系统自动判别语料数据所对应的类别的各种实施态样。

应注意的是,本发明并不限定每笔语料数据仅对应于一个类别。反之,每笔语料数据可以对应于多个类别。举例来说,语料数据“明天天气如何”可以对应于“繁体中文”及“日常生活信息查询”的类别。在互动教学的情境中,语料数据“唐宋八大家是谁”可以对应于“语文科”及“历史科”的类别。

数据更新模块101用以将新语料数据储存到数据储存模块102。新语料数据可以是从线上公开的语料库下载取得,诸如美国当代英语语料库(https://www.english-corpora.org)、宾州大学语料库(https://www.ldc.upenn.edu/new-corpora)、中国台湾华语文语料库(https://coct.naer.edu.tw/)、国家语委现代汉语通用平衡语料库(http://cascorpus.com/link-detail/542132)等语料库,但本发明并不对此限定。新语料数据也可以是使用者通过系统100的输入装置所输入,诸如键盘、鼠标、扫描器、触控式面板、麦克风等输入装置或其任意组合,但本发明并不对此限定。

模型构建模块103用以构建分类语言模型(classified language models)。不同于通用语言模型使用庞杂的语料库进行训练,分类语言模型是模型构建模块103仅使用数据储存模块102中对应于特定类别的语料数据所训练。举例来说,模型构建模块103仅使用对应于“语文科”类别的语料数据训练第一分类语言模型、仅使用对应于“数学科”类别的语料数据训练第二分类语言模型、仅使用对应于“历史科”类别的语料数据训练第三分类语言模型,诸如此类。如此一来,第一分类语言模型、第二分类语言模型、第三分类语言模型可分别因为唐诗宋词、四则运算、古人事迹相关的语料数据的相对比重的提高,而显著提升其在语文科、数学科、历史科的互动教学情境中的效力。

在本发明的实施例中,模型构建模块103还用以基于数据储存模块102所储存的新语料数据更新分类语言模型,所更新的分类语言模型对应于新语料数据对应的类别。举例来说,新语料数据“唐宋八大家是谁”对应于“语文科”及“历史科”的类别,因此模型构建模块103基于该笔语料数据更新对应于“语文科”类别的第一分类语言模型,以及更新对应于“历史科”类别的第三分类语言模型,但不更新对应于“数学科”类别的第二分类语言模型或者其他的语言分类模型。

在一实施例中,模型构建模块103除了基于新语料数据更新分类语言模型之外,也会基于新语料数据更新通用语言模型。举例来说,模型构建模块103会基于新语料数据“唐宋八大家是谁”更新对应于“语文科”类别的第一分类语言模型,以及更新对应于“历史科”类别的第三分类语言模型,也会基于该笔新语料数据更新通用语言模型。

在一实施例中,分类语言模型使用n元语法(n-gram)计算其对应类别所对应的语料数据中的多个词语彼此之间的机率分数。n元语法是基于(n-1)阶马可夫链(Markovchain)的一种机率语言模型,通过n个词语出现的机率来推断语句的结构。

如以下<表1>,展示对应于“日常生活信息查询”类别的第四分类语言模型在使用2-gram语法进行训练后,所得到词语之间的机率分数的范例。

<表1>

在<表1>展示的范例中,位于第2栏第5列的值为0.33,表示在“日常生活信息查询”类别所对应的语料数据中,词语“我”随后出现词语“明天”的机率为0.33,其数学表达式为P(明天|我)=0.33。位于第5栏第4列的值为0.056,表示在“日常生活信息查询”类别所对应的语料数据中,词语“明天”随后出现词语“他”的机率为0.056,其数学表达式为P(他|明天)=0.056。位于第4栏第3列的值为0,在“日常生活信息查询”类别所对应的语料数据中,词语“他”随后出现词语“你”的机率为0,其数学表达式为P(你|他)=0。换句话说,在“日常生活信息查询”类别所对应的语料数据中,没有任何一笔语料数据中的词语“他”随后出现词语“你”。

在一实施例中,模型构建模块103采用增量(incremental)的方式更新语言模型。具体而言,模型构建模块103通过仅更新该笔新语料数据中的词语彼此之间的机率分数,以更新分类语言模型,而不更新未在该笔新语料数据中的其他词语的机率分数。

举例来说,假设在第四分类语言模型更新之前,于“日常生活信息查询”类别所对应的语料数据中,词语“我”、“要”、“明天”、“天气”出现的次数分别为200次、150次、50次、30次(其他词语的出现次数不在此范例中提供),词语“我要”与“明天天气”出现的次数分别为是45次与32次,由上述信息可据以计算出词语“我”随后出现词语“要”的机率为45/200=0.225,词语“明天”随后出现词语“天气”的机率为32/50=0.64。假设有一笔新语料数据“明天天气如何”,模型构建模块103仅会更新该笔新语料数据中的词语“明天”、“天气”、“如何”彼此之间的机率分数,而不会更新未在该笔新语料数据中的词语(例如“我”、“要”、“上海”、“南京”等)的机率分数。具体而言,在第四分类语言模型更新之后,词语“明天”在“日常生活信息查询”类别所对应的语料数据中出现的次数会增加1次而变为51次,词语“明天天气”出现的次数会增加1次而变为33次,因此可计算出词语“明天”随后出现词语“天气”的机率为33/51=0.647。至于词语“我”、“要”在“日常生活信息查询”类别所对应的语料数据中出现的次数并没有因为新语料数据“明天天气如何”而增加,因此词语“我”随后出现词语“要”的机率必定维持不变,其计算可略过。如此一来,可大幅减少模型构建模块103的计算量,缩短第四分类语言模型的训练时间。

在一实施例中,数据储存模块102还将对应于各类别的所有语料数据储存为分类语料库。举例来说,数据储存模块102将“日常生活信息查询”类别所对应的所有语料数据(例如包含“明天天气如何”)储存为“日常生活信息语料库”。语料数据“唐宋八大家是谁”对应于“语文科”及“历史科”的类别,因此会同时储存在“语文科语料库”及“历史科语料库”中。更进一步地,系统100可以是包含多台计算机的分散式系统,每台计算机具有其储存装置以储存其中一种语料库(例如“历史科语料库”),也具有其处理装置以基于储存装置所储存的语料库更新其对应的分类语言模型(例如第三分类语言模型)。如此一来,可更进一步提升分类语言模型建构及更新的效能。

在另一实施例中,数据储存模块102还储存每笔语料数据所对应类别的类别标签。举例来说,数据储存模块102储存语料数据“唐宋八大家是谁”的同时,也会储存语料数据“唐宋八大家是谁”的语文科类别标签及历史科类别标签。如此一来,数据储存模块102便不必因为语料数据“唐宋八大家是谁”对应于两个类别而耗费两笔语料数据的储存空间,故储存的效率得以进一步提升。

图2是根据本发明的一实施例绘示的图1的系统100所使用的一种更新语言模型的方法200的流程图。如图2所示,方法200可包含步骤201及步骤202。这些步骤可以是由系统100的处理装置所执行。

于步骤201,将一笔新语料数据储存至数据储存模块102。然后,方法200进行步骤202。

如以上所述,数据储存模块102所储存的语料数据对应于多个类别,而该笔新属料数据可对应于其中一个或多个类别。举例来说,在互动教学的应用情境中,数据储存模块102所储存的语料数据可对应于“语文科”、“数学科”、“历史科”等类别,而新语料数据“唐宋八大家是谁”可对应于其中的“语文科”及“历史科”的类别。

于步骤202,基于数据储存模块102所储存的该笔新语料数据更新其中一个(或多个)分类语言模型,所更新的分类语言模型对应于该笔新语料数据所对应的类别。此步骤对应于系统100的模型构建模块103。

举例来说,新语料数据“唐宋八大家是谁”对应于“语文科”及“历史科”的类别,因此于步骤202所更新的分类语言模型可以是分别对应于“语文科”及“历史科”的第一分类语言模型与第三分类语言模型,而对应于“数学科”类别的第二分类语言模型或者其他的语言分类模型则不会被更新。

如以上所述,模型构建模块103除了基于新语料数据更新分类语言模型之外,也可基于新语料数据更新通用语言模型。以下将参考图3再次叙述此种实施态样。

图3是根据本发明的一实施例绘示的图1的系统100所使用的一种更新语言模型的方法300的流程图。如图3所示,方法300相较于方法200,还包含步骤301。

于步骤301,基于数据储存模块所储存的该笔新语料数据更新通用语言模型。如同步骤202,步骤301对应于系统100的模型构建模块103,并且可以是由系统100的处理装置所执行。

举例来说,可于步骤202基于新语料数据“唐宋八大家是谁”,更新分别对应于“语文科”与“历史科”类别的第一分类语言模型与第三分类语言模型,可于步骤301更新无视类别的通用语言模型。步骤301与步骤202之间并没有依附的关系,两者可以分别执行。本发明并不限定步骤301与步骤202的执行顺序。

图4是根据本发明的一实施例绘示的一种更新语言模型的系统400的系统方块图。如图4所示,系统400相较于系统100,还包含语料分类模块401。如同数据更新模块101及模型构建模块103,语料分类模块401可以是通过系统100的处理装置载入含有多个指令的程序所实施。语料分类模块401用以自动判别语料数据(含新语料数据)所对应的类别。以下将详述语料分类模块401的各种实施态样。

在一实施例中,语料分类模块401可采用关键词匹配(keyword matching)方法判断一笔语料数据是否对应于某一类别。具体而言,根据该类别的关键词中是否有至少一者出现在该笔语料数据中,判断该笔语料数据是否对应于该类别。举例来说,类别“日常生活信息查询”具有“天气”、“气温”、“路况”等关键词,其中“天气”一词有出现在语料数据“明天天气如何”中,因此语料分类模块401可将该笔语料数据判定为对应于“日常生活信息查询”的类别。各类别关键词可以是由人类预先给定,也可以是选自系统400通过搜集特定来源的文本(例如使用网络爬虫抓取气象局官方网页上的文本),再对文本采用文字探勘(textmining)技术所找出的关键词。

在一实施例中,可以在关键词匹配法的基础上更进一步采用知识工程(knowledgeengineering)的方法,为每一类别定义出更为复杂的判定规则。举例来说,可以用布林表达式(Boolean expressions)或正规表达式(regular expressions)表示一个类别对应的语料数据所必须满足多个关键词之间的关系,诸如AND、OR、NOT及其组合,或者其他更为复杂的逻辑。

在一实施例中,语料分类模块401可使用机器学习领域中的分类模型决定新语料数据所对应的类别。以下将参考图5和图6叙述语料分类模块401使用分类模型的实作态样。

图5是根据本发明的一实施例绘示的图4的系统400所使用的一种更新语言模型的方法500的流程图。如图5所示,方法500相较于方法200,还包含于步骤201之前的步骤501。

于步骤501,语料分类模块401使用分类模型决定该笔新语料数据所对应的类别。然后,方法500进行步骤201。

分类模型可以是任何一种机器学习领域中的分类器(classifier),例如决策树(decision tree)、逻辑回归(logistic regression)、朴素贝叶斯(naive Bayes)、随机森林(random forest)、支持向量机(Support Vector Machine;SVM)或全连接神经网络(full-connected neural network),本发明并不对此限定。于步骤501使用时,分类模型已预先通过反复地结果反馈与参数更新,训练到其输出结果的错误率降低至可接受的水平。训练分类模型时所使用的训练数据集中的语料数据,其对应的类别可以是以人工标注,或者是系统采用以上叙述过的任何一种方法(例如关键字匹配方法或知识工程方法)自动判别。

图6是根据本发明的一实施例绘示的图5中的步骤501的更详细的步骤的流程图。如图6所示,步骤501可还包含步骤601-603。

于步骤601,提取该笔新语料数据的特征向量(feature vector)。然后,进行步骤602。

在此实施例中,是以向量空间模型(vector space model)来表示每笔语料数据。换句话说,每笔语料数据会有一特征向量(w

在一实施例中,是使用词频-逆向词频(term frequency–inverse documentfrequency;TF-IDF)法决定w

于步骤602,将特征向量输入(已预先训练的)分类模型。然后,进行步骤603。

于步骤603,根据分类模型所输出的分类结果决定该笔新语料数据所对应的类别。举例来说,假设分类模型所输出的分类结果指示新语料数据“唐宋八大家是谁”对应于“语文科”、“数学科”与“历史科”等类别的机率分别为90%、30%、80%,则选出机率最高的“语文科”作为该笔新语料数据所对应的类别。替代地,可选出机率大于一指定阈值(例如70%)的“语文科”与“历史科”作为该笔新语料数据所对应的类别。

图7是根据本发明的另一实施例绘示的一种更新语言模型的系统700的系统方块图。如图7所示,系统700相较于系统100,还包含数据搜集模块701。此外,系统700还包含后端服务器711及客户端装置712,其中后端服务器711负责训练及/或更新语言模型,客户端装置712经由网络从后端服务器711下载已训练及/或更新的语言模型,并且将其应用于语音识别的应用情境。除了套用语言模型之外,客户端装置712更兼具搜集(或反馈)新语料数据的机制。因此,图7中的数据搜集模块701是由客户端装置712所实施,数据更新模块101、数据储存模块102及模型构建模块103则由后端服务器711所实施。

在一实施例中,数据搜集模块701用以记录客户端装置712通过语音辨识技术(可以是套用后端服务器711所训练的语言模型的任何一种语音辨识技术,本发明并不对此限定)无法识别的语句,并将这多个语句转换为新语料数据(即,将这些语句整理成符合语料数据的格式)。响应于新语料数据的数量累积超过一阈值,将所累积的该多个新语料数据上传至后端服务器711。应理解的是,虽然此处是以单独的客户端装置712作为示例以阐述本实施例,但本发明并不限制系统700所包含的客户端装置的数目。举例来说,后端服务器711可以接收来自多个客户端装置所批量上传的新语料数据。

在一实施例中,数据搜集模块701在将语句转换为新语料数据时,可根据应用情境决定新语料数据所属类别并注记之。

上述方法可被实现于使用计算机可执行指令。举例而言,这些指令可包含可以致使通用型计算机、特殊用途计算机或特殊用途处理装置执行特定功能或一组功能的指令和数据。部分所使用的计算机资源可通过网络被存取。计算机可执行性指令可例如为二元或中间格式指令,诸如组合语言、固件或原始码。

本发明所提供更新语言模型的系统及方法,能以极快的速度更新语言模型,同时亦能提高语言模型在实际应用中的效力。

以上段落采用多种形式来叙述。显然地,本文的内容可以采用多种方式实现,而在示例中所揭露的任何特定架构或功能仅是一种代表性的情况。根据本文的内容,本领域技术人员应理解,可独立实施操作本文所揭露的各个形式,或者合并实施操作两种以上的形式。

上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号