CN111198935A - 模型处理方法、装置、存储介质及电子设备 - Google Patents
模型处理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111198935A CN111198935A CN201811368382.8A CN201811368382A CN111198935A CN 111198935 A CN111198935 A CN 111198935A CN 201811368382 A CN201811368382 A CN 201811368382A CN 111198935 A CN111198935 A CN 111198935A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- initial
- training set
- corpus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
本公开涉及人工智能技术领域,具体涉及一种模型处理方法、模型处理装置、计算机可读存储介质及电子设备。本公开实施例提供的模型处理方法包括:将初始标注语料加入初始训练集,利用所述初始训练集训练得到语言模型;获取所述语言模型输出的预测结果,并提取所述预测结果中错误预测结果的特征信息;当判断所述特征信息与所述初始标注语料相关时,根据所述特征信息生成预设数量的模拟标注语料;将所述模拟标注语料加入所述初始训练集,并利用加入所述模拟标注语料的所述初始训练集继续训练所述语言模型。本公开实施例提供的模型处理方法可以改善数据标注质量,提高语言模型的预测效果。
Description
技术领域
本公开涉及人工智能技术领域,具体涉及一种模型处理方法、模型处理装置、计算机可读存储介质及电子设备。
背景技术
人工智能(Artificial Intelligence,简称AI)是研究使计算机来模拟人的某些思维过程和智能行为的学科,随着AI技术的发展,尤其是自然语言处理(Natural LanguageProcessing,简称NLP)技术的进步,诸如智能助理、机器翻译等与自然语言理解相关的AI辅助工具得以实现并获得了广泛应用。
与NLP技术相关的具体应用的实现主要得益于大数据处理和机器学习框架以及更进一步的深度学习算法。而且随着相关应用的落地实施,可以获得真实的用户反馈,并在用户反馈信息的帮助下对相关应用的算法或者模型进行改进和完善。NLP技术中涉及的大部分任务是监督学习问题,例如序列标注、文本分类、情感分析等应用都需要标注数据进行模型训练。现有技术中大多通过人工标注的方式得到标注数据,这一过程不仅繁琐、低效而且标注错误率也较高,严重影响模型的预测效果。因此,如何改善数据标注质量对模型预测效果的影响是目前亟待解决的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种模型处理方法、模型处理装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服相关技术中存在的因数据标注质量低下而导致的模型预测效果差的技术问题。
根据本公开的一个方面,提供一种模型处理方法,其特殊之处在于,包括:
将初始标注语料加入初始训练集,利用所述初始训练集训练得到语言模型;
获取所述语言模型输出的预测结果,并提取所述预测结果中错误预测结果的特征信息;
当判断所述特征信息与所述初始标注语料相关时,根据所述特征信息生成预设数量的模拟标注语料;
将所述模拟标注语料加入所述初始训练集,并利用加入所述模拟标注语料的所述初始训练集继续训练所述语言模型。
在本公开的一种示例性实施方式中,所述利用所述初始训练集训练得到语言模型,包括:
按照预设分类规则对所述初始训练集中的初始标注语料进行分类形成多个分类训练集;
利用分布式管理的多个所述分类训练集训练得到所述语言模型。
在本公开的一种示例性实施方式中,所述方法还包括:
当判断所述特征信息与一分类训练集相关时,采集属于该分类训练集的追加原始语料;
获取对所述追加原始语料进行标注后得到的追加标注语料;
将所述追加标注语料加入所述初始训练集,并利用加入所述追加标注语料的所述初始训练集继续训练所述语言模型。
在本公开的一种示例性实施方式中,所述语言模型包括分类模型和语义模型;
所述利用所述初始训练集训练得到语言模型,包括:
利用所述初始训练集训练得到所述分类模型;
利用经过所述分类模型分类后的二次训练集训练得到所述语义模型。
在本公开的一种示例性实施方式中,所述分类模型是基于卷积神经网络的分类模型。
在本公开的一种示例性实施方式中,所述语义模型是基于长短期记忆网络的语义模型。
在本公开的一种示例性实施方式中,利用经过所述分类模型分类后的二次训练集训练得到所述语义模型,包括:
获取经过所述分类模型分类后的多种类别的训练语料;
将属于预设类别的训练语料加入所述二次训练集;
利用所述二次训练集训练得到所述语义模型。
在本公开的一种示例性实施方式中,所述方法还包括:
当判断所述特征信息与所述分类模型分类结果中的一种分类类别相关时,采集属于该分类类别的追加训练语料;
将所述追加训练语料加入所述二次训练集,并利用加入所述追加训练语料的所述二次训练集继续训练所述语义模型。
在本公开的一种示例性实施方式中,在利用所述初始训练集训练得到所述分类模型之前,所述方法还包括:
为所述初始训练集中的训练语料构造与字符特征相关的数值特征。
在本公开的一种示例性实施方式中,在利用经过所述分类模型分类后的二次训练集训练得到所述语义模型之前,所述方法还包括:
为所述二次训练集中的训练语料构造与文本特征相关的数值特征。
在本公开的一种示例性实施方式中,所述将初始标注语料加入初始训练集,包括:
获取用于记录用户输入语句的日志数据,并对所述日志数据进行预处理以得到原始语料;
获取对所述原始语料进行标注后得到的初始标注语料,并将所述初始标注语料加入所述初始训练集。
在本公开的一种示例性实施方式中,所述对所述日志数据进行预处理以得到原始语料,包括:
对所述日志数据进行正则清洗,以得到去除噪声语句后的原始语料。
根据本公开的一个方面,提供一种模型处理装置,其特殊之处在于,包括:
第一训练模块,被配置为将初始标注语料加入初始训练集,利用所述初始训练集训练得到语言模型;
特征提取模块,被配置为获取所述语言模型输出的预测结果,并提取所述预测结果中错误预测结果的特征信息;
语料模拟模块,被配置为当判断所述特征信息与所述初始标注语料相关时,根据所述特征信息生成预设数量的模拟标注语料;
第二训练模块,被配置为将所述模拟标注语料加入所述初始训练集,并利用加入所述模拟标注语料的所述初始训练集继续训练所述语言模型。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特殊之处在于,所述计算机程序被处理器执行时实现以上任一所述的模型处理方法。
根据本公开的一个方面,提供一种电子设备,其特殊之处在于,包括处理器和存储器;其中,存储器用于存储所述处理器的可执行指令,所述处理器被配置为经由执行所述可执行指令来执行以上任一所述的模型处理方法。
本公开实施例所提供的模型处理方法中,通过分析语言模型的错误预测结果以获取相关特征信息,并利用特征信息生成模拟标注数据,以对语言模型做进一步训练,从而可以改善数据标注质量,提高语言模型的预测效果。另外,通过生成模拟标注数据可以智能化地丰富训练语料,降低人工标注的成本,同时也可以避免人工标注错误率较高的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施方式中模型处理方法的步骤流程图。
图2示意性示出本公开示例性实施方式中模型处理方法的部分步骤流程图。
图3示意性示出本公开示例性实施方式中模型处理方法的部分步骤流程图。
图4示意性示出本公开示例性实施方式中模型处理方法的部分步骤流程图。
图5示意性示出本公开示例性实施方式中模型处理方法的部分步骤流程图。
图6示意性示出本公开示例性实施方式中模型处理方法的部分步骤流程图。
图7示意性示出本公开示例性实施方式中模型处理方法的部分步骤流程图。
图8示意性示出本公开示例性实施方式中模型处理装置的组成框图。
图9示意性示出本公开示例性实施方式中一种程序产品的示意图。
图10示意性示出本公开示例性实施方式中一种电子设备的模块示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本公开的示例性实施方式中首先提供一种模型处理方法,该方法主要用于对自然语言处理技术中涉及的相关语言模型进行改进和完善,以便提高语言模型的预测效果。
如图1所示,本示例性实施方式提供的模型处理方法主要可以包括以下步骤:
步骤S110.将初始标注语料加入初始训练集,利用初始训练集训练得到语言模型。
本步骤首先构建一用于存储训练语料的初始训练集,在将初始标注语料加入该初始训练集后,可以利用初始训练集在预先构建的机器学习框架下进行训练以得到待处理的语言模型。其中,初始标注语料可以是对生语料进行人工标注后得到的训练语料,除了初始标注语料以外,初始训练集中还可以包括对人工标注结果中的错误标注数据(badcase)进行二次加工后的数据,例如一部分因认知错误而导致的错误标注数据可以通过人工抽检的方式检出,而另一部分低级拼写错误可以由软件程序进行自动检出。在对检出的错误标注数据进行二次加工后,可以加入到初始训练集中对原有标注数据进行替换,从而提高标注质量。除此之外,初始训练集中还可以包括利用预设的标注模板模拟生成的训练语料或者其他任意的可以用于模型训练的训练语料,本示例性实施方式对此不做特殊限定。
步骤S120.获取语言模型输出的预测结果,并提取预测结果中错误预测结果的特征信息。
在由步骤S110完成对语言模型的训练后,本步骤将对语言模型的预测效果进行测试,通过测试获得语言模型的预测结果,然后针对预测结果中的错误预测结果进行分析以提取导致预测错误的特征信息。其中,对语言模型进行的测试可以包括多种类型,例如,可以包括批量测试、逐条测试和人工评测等等。批量测试主要是指借助批量测试工具利用批量化的测试语料对语言模型进行测试,批量测试有利于对批量化出现的错误预测结果进行统一分析,以提取具有较强普遍性的特征信息。逐条测试主要是指对输入语言模型的语句进行实时逐条测试以实时获取错误预测结果的特征信息。人工评测是指可以按照预设的评测周期,定期获取语言模型的人工评测结果,然后对人工评测得到的错误预测结果进行分析以得到特征信息。
步骤S130.当判断特征信息与初始标注语料相关时,根据特征信息生成预设数量的模拟标注语料。
针对步骤S120中提取得到的错误预测结果的特征信息,本步骤可以判断该特征信息是否与初始标注语料相关,如果判断结果为是,那么可以根据该特征信息生成一定数量的模拟标注语料。举例而言,针对一种用于对用户输入语句中的“品牌词”、“产品词”、“修饰词”等特征进行语义标注的语言模型,当输入测试语句“我要买红色的森马连衣裙”时,语言模型给出的预测结果是:“红色”为修饰词,“连衣裙”为产品词。该预测结果漏掉了品牌词“森马”,在品牌词维度上是一条错误预测结果,因此步骤S120中可以进行分析并提取得到句式“我要买***(品牌词)***(产品词)”作为错误预测结果的特征信息,该句式是初始标注语料中较为常见的语句格式。针对这一特征信息,本步骤可以模拟生成大量的具有相同句式的由不同品牌词对应产品词的语料数据,例如“我要买小米手机”、“我要买华为手机”、“我要买格力空调”等等,在为模拟生成的语料数据标注正确的预测答案后形成模拟标注语料。又例如,当输入测试语句“我要买小米6”时,正确的标注结果应当是“小米6”整体为产品词,但是语言模型输出了错误的预测结果:“小米”为品牌词,“6”为产品词。由步骤S120进行分析后可以提取得到词语格式“品牌词+型号”作为错误预测结果的特征信息,该词语格式也是初始标注语料中较为常见的词语格式。针对这一特征信息,本步骤可以模拟生成大量的具有相同词语格式的由不同品牌词与型号共同组成产品词的语料数据,例如“小米8”、“iPhone X”、“华为P20”等等,在为模拟生成的语料数据标注正确的预测答案后形成模拟标注语料。为了更好地对与初始标注语料相关的特征信息进行判断,本示例性实施方式还可以对初始标注语料中的常用语句格式或者词语格式形成特征模板用以提取错误标注预料的特征信息,利用该特征模板对错误标注语料进行正则匹配即可快速高效地获得错误预测结果与初始标注语料之间的关联关系。当然,在其他一些实施例中,也可以采用其他任意的判断方式,本公开对此不做特殊限定。
步骤S140.将模拟标注语料加入初始训练集,并利用加入模拟标注语料的初始训练集继续训练语言模型。
本步骤将把步骤S130中生成的模拟标注语料加入至初始训练集中,然后利用加入模拟标注语料的初始训练集对语言模型继续进行训练,以便提高语言模型的预测效果。
在本示例性实施方式提供的模型处理方法中,通过分析语言模型的错误预测结果以获取相关特征信息,并利用特征信息生成模拟标注数据,以对语言模型做进一步训练,从而可以改善数据标注质量,提高语言模型的预测效果。另外,通过生成模拟标注数据可以智能化地丰富训练语料,降低人工标注的成本,同时也可以避免人工标注错误率较高的问题。
如图2所示,在本公开的另一示例性实施方式中,步骤S110中的将初始标注语料加入初始训练集,可以包括以下步骤:
步骤S210.获取用于记录用户输入语句的日志数据,并对日志数据进行预处理以得到原始语料。
在本示例性实施方式中,可以通过采集用户输入语句的方式获取训练语料。举例而言,用户输入语句会被服务端程序以日志的形式存储在数据库中,例如存储在基于Hadoop分布式系统的数据库中,同时可以将日志数据同步至Hive数据库表中。在本步骤中,具体可以是从相关数据库中获取用于记录用户输入语句的日志数据,并对日志数据进行预处理以得到原始语料。其中,对日志数据进行预处理主要可以包括对用户输入语句的筛选和过滤过程。例如,数据库中存储的日志数据是用户与智能助理的历史对话记录,而能够体现用户意图的一般是对话的第一句,因此在获取到日志数据后,可以通过筛选仅保留每次对话的第一句。另外,在历史对话记录中,可能会存在一些没有信息含量的噪声语句,因此本步骤中通过预处理可以对日志数据进行正则清洗,以得到去除噪声语句后的原始语料。除此之外,本步骤还可以为用户输入语句设置一重复阈值,以便控制原始语料中的语句重复度。
步骤S220.获取对原始语料进行标注后得到的初始标注语料,并将初始标注语料加入初始训练集。
由步骤S210得到原始语料后,可以对原始语料进行标注以得到初始标注语料,然后将初始标注语料加入初始训练集,用以对语言模型进行训练。
在本示例性实施方式中,初始标注语料的来源是真实的用户输入语句,可以最大程度地还原用户意图,提高语言模型的预测准确性。另外,通过预处理可以优化训练语料的分布情况,降低重复度较高的语句或者噪声语句对模型训练的影响。
如图3所示,在本公开的另一示例性实施方式中,步骤S110中的利用初始训练集训练得到语言模型,可以包括以下步骤:
步骤S310.按照预设分类规则对初始训练集中的初始标注语料进行分类形成多个分类训练集。
针对初始训练集中的初始标注语料,可以按照预设分类规则对其进行分类以形成多个分类训练集。例如,对于应用于商品信息标注或者其他相关领域的语言模型,可以使用市场上常用的商品分类规则对初始标注语料进行分类。另外,也可以根据实际需要预先设定专用的分类规则对初始标注语料进行分类,本示例性实施方式对此不做特殊限定。
步骤S320.利用分布式管理的多个分类训练集训练得到语言模型。
由步骤S310完成初始标注语料的分类后,本步骤可以利用分布式管理的多个分类训练集对语言模型进行训练。例如,本示例性实施方式可以利用Spark计算引擎对属于不同分类训练集的初始标注语料进行分布式管理。其中涉及的部分管理逻辑包括在main函数中开启spark会话,并配置spark执行的性能参数,相关参数配置示例如下:
appName,设置为“cateKeyWords”;
spark.default.paralisim,设置spark计算过程的分区个数,保证分区个数不要太多,提高计算效率,例如设置为2000;
spark.sql.shuffle.partitions,运行sql时进行数据洗牌以打乱数据,例如设置为2000;
spark.driver.maxResultSize,spark的worker送回driver的数据大小,一旦超过该限制,driver会终止执行,例如设置为0,表示无限制;
spark.serializer,设置spark序列化数据的方式,例如设置为Kryoserializer;
spark.rpc.askTimeout,响应外部请求的时间,例如设置为120;
spark.akka.timeout,并发请求时间可以等待的时间,例如设置为120;
spark.network.timeout,网络超时可以容许的时间,例如设置为120;
spark.storage.blockManagerHeartBeatMs,数据块计算过程的心跳次数,例如设置为30000;
spark.task.maxFailures,容许最多失败的任务数量,例如设置为1000;
spark.yarn.maxappAttemps,yarn集群驱动应用程序和请求资源最多可以尝试的次数,例如设置为3;
spark.memory.fraction,spark计算过程中内存占得资源比例,例如设置为0.7。
在本示例性实施方式中,通过对初始标注语料进行分布式管理,不仅可以提高模型训练效率,而且可以有针对性地对后续步骤中的错误预测结果进行改进。
在以上示例性实施方式的基础上,模型处理方法还可以包括如图4所示的以下步骤:
步骤S410.当判断特征信息与一分类训练集相关时,采集属于该分类训练集的追加原始语料。
针对步骤S120中提取到的错误预测结果的特征信息,除了以上实施例中涉及的语句格式、词语格式等特征以外,也可以包括错误预测结果在初始训练集中的分类特征,亦即可以根据提取到的特征信息判断错误预测结果是否可以对应至步骤S310中形成的某一分类训练集中。如果判断特征信息与一分类训练集相关,那么可以采集一定数量的属于该分类训练集的追加原始语料。例如,在一种分级、分品类的商品分类规则下,语言模型对属于某个三级品类中的某种商品预测效果较差,那么本步骤便可以采集涉及该三级品类的相关关键词语(例如商品名称)作为追加原始语料。
步骤S420.获取对追加原始语料进行标注后得到的追加标注语料。
在对采集到的追加原始语料进行标注后作为追加标注语料。
步骤S430.将追加标注语料加入初始训练集,并利用加入追加标注语料的初始训练集继续训练语言模型。
得到追加标注语料后,可以将追加标注语料加入至初始训练集中,然后利用加入追加标注语料的初始训练集对语言模型继续进行训练。
在本示例性实施方式中,通过对预测效果较差的分类训练集进行训练语料的追加补充,可以提高模型优化的针对性,进而提高模型优化效率和优化效果。
在本公开的另一示例性实施方式中,步骤S110中训练的语言模型可以包括分类模型和语义模型。相应地,利用初始训练集训练得到语言模型可以包括如图5所示的以下步骤:
步骤S510.利用初始训练集训练得到分类模型。
利用初始训练集首先训练得到分类模型,该分类模型可以是基于卷积神经网络(Convolutional Neural Network,简称CNN)的分类模型。以应用于网络商城中的智能助理为例,CNN分类模型可以根据用户意图将用户输入语句分为多种业务场景。部分统计数据在不同业务场景下的分布情况如表1所示。
表1多种业务场景下用户输入语句的数量分布表
业务场景 | 数量 |
商品查询 | 2436 |
订单查询 | 1015 |
模糊优惠查询 | 779 |
特定商品优惠查询 | 597 |
售后服务 | 690 |
全站直达频道 | 501 |
步骤S520.利用经过分类模型分类后的二次训练集训练得到语义模型。
在由步骤S510得到分类模型后,本步骤可以利用经过分类模型分类后的二次训练集训练得到语义模型,该语义模型可以是基于长短期记忆网络(Long short term memory,简称LSTM)的语义模型。仍以应用于网络商城中的智能助理为例,LSTM语义模型可以识别用户输入语句中的语义信息。部分用户输入语句的语义标注结果如表2所示。
表2用户输入语句的语义标注结果
用户输入语句 | 产品词 | 品牌词 | 修饰词 |
买一个好一点的挂烫机还要价位低些 | 挂烫机 | 价位低 | |
潮依曼的三件套我要退款 | 三件套 | 潮依曼 | |
我要退货美的电风扇 | 电风扇 | 美的 | |
我买的小冰箱坏了怎么能联系维修 | 小冰箱 | ||
我三星手机坏了屏幕有的换吗 | 手机屏幕 | 三星 | |
你们的不锈钢质量太差了 | |||
金利来雕花皮鞋 | 皮鞋 | 金利来 | 雕花 |
夏新蓝牙音响 | 蓝牙音响 | 夏新 | |
不要了,退货 | N/A |
如图6所示,步骤S520.利用经过分类模型分类后的二次训练集训练得到语义模型,可以进一步包括以下步骤:
步骤S610.获取经过分类模型分类后的多种类别的训练语料。
本步骤首先获取经过分类模型分类后的属于不同类别的训练语料,例如可以是带有相关分类标签的用户输入语句。
步骤S620.将属于预设类别的训练语料加入二次训练集。
根据不同的业务需求,可以对分类后的训练语料进行筛选,将属于预设类别的训练语料加入二次训练集中。例如,可以利用专门的校验工具对数据类别进行过滤,通过筛选标签的方式,清洗掉不属于预设类别的训练语料。
步骤S630.利用二次训练集训练得到语义模型。
利用步骤S620中得到的二次训练集可以训练得到语义模型,该语义模型可以通过分布式训练得到,一个词语可以同时预测至多个槽位。
在该示例性实施方式的基础上,模型处理方法还包括如图7所示的以下步骤:
步骤S710.当判断特征信息与分类模型分类结果中的一种分类类别相关时,采集属于该分类类别的追加训练语料。
由以上步骤可知,进入语义模型的数据可以先通过分类模型进行分类,由语义模型输出的数据具有分类模型的分类标签。因此,在由步骤S120中提取到的错误预测结果的特征信息可以包括相应的分类标签。基于该分类标签可以判断特征信息与分类模型分类结果中的一种分类类别相关,在本步骤中即可以采集一定数量的属于该分类类别的追加训练语料。
步骤S720.将追加训练语料加入二次训练集,并利用加入追加训练语料的二次训练集继续训练语义模型。
将步骤S710中采集得到的追加训练语料加入二次训练集,然后利用加入追加训练语料的二次训练集继续对语义模型进行训练。
在本示例性实施方式中,通过提取错误预测结果的特征信息,可以对预测效果较差的分类类别进行专项数据观察,将更多的属于预测效果较差的分类类别的数据加入至二次训练集中对模型进行继续训练,从而可以针对性地对各种分类类别进行模型优化。
在以上示例性实施方式的基础上,模型处理方法还可以包括对语言模型的训练语料进行特征追加的步骤。仍以应用于网络商城中的智能助理为例,对语料特征追加管理的方式如下:
在步骤S510.利用初始训练集训练得到分类模型之前,可以包括步骤:为初始训练集中的训练语料构造与字符特征相关的数值特征。
智能助理中的业务场景分类模型用的是深度学习中的CNN,特征工程是用字级别特征构造的,统计用户输入语料中频数最高的5000字,然后由频数降序排列,为每个汉字编号,作为该汉字的数值特征。随着训练语料的不断增加,汉字也在不断加多,一种方式是每一次根据当前训练语料动态生成训练集汉字的数值编号特征,另一种方式是将之前的汉字数值特征固化,之后每次追加进去,本发明采用第二种方式,减少了算法端模型训练和服务端调用模型文件交互次数。
在步骤S520.利用经过分类模型分类后的二次训练集训练得到语义模型之前,可以包括步骤:为二次训练集中的训练语料构造与文本特征相关的数值特征。
智能助理中的语义模型用的是深度学习中的LSTM-CRF,特征工程的构造比较多,主要是指文本特征和标签维度的映射关系,其中文本特征包括汉字级别的特征、分词级别的特征以及上下文级别的特征。同业务场景分类器模型一样,语义模型也采用文本数值映射ID(即汉字和对应数值编号的映射)追加的方式,管理比较方便,可以定时进行算法服务文件整体更新。
深度学习生成模型文件在算法端是checkpoint下的4个文件,在服务端是PB文件,为了相互统一,算法端和服务端都采用读取PB文件的模式,能更好地定位错误预测结果的成因。
错误预测结果以及人工标注错误均可以视为Badcase,Badcase的成因以及改进方式大致可以分为以下三种:
(1)Badcase是否由数据引起
如果Badcase规律明显,且批量出现,就要返回到标注中检查数据,很可能是标注人员批量把一部分数据标注错了,比如用户输入“小米6手机。”模型预测结果“6。”是产品词,“小米”是品牌词,显然产品词的预测有误,反复试验,发现是标注有问题。
(2)Badcase是否可用业务规则改进
在分类模型中,如果用户输入是短文本,比如“台灯。”、“青岛啤酒”等这种语料,分类器不能正确分到商品查询类别下,这样的Badcase适合用业务规则去改进,改进方法是:将网络商城中涉及的短文本品牌词、短文本产品词批量导入Redis数据库,当接收到用户输入信息的时候,首先到Redis中匹配,匹配成功,便分到商品查询业务类别,否则用户输入进入CNN分类模型,得到预测结果。
(3)Badcase特点分析,改进模型网络设计
如果新的Badcase不属于前面两种情形,那么尝试改进模型的网络结构,例如语义模型对用户输入的句号很敏感,用户输入“我要买山东产的小米。”其中含有句号,语义模型无法识别,而不含句号的用户输入语句则可以准确识别,由此可以判断是模型网络的问题。通过在原有LSTM-CRF网络层的基础上,加入highway网络层,使得句号敏感问题得到改善。
基于以上示例性实施方式提供的模型处理方法,针对智能助理业务,利用spark和tensorflow落地标注算法,落地NLP深度学习算法,对于智能化地改进标注质量、优化语言模型、搭建前沿科技平台具有重要的推进意义。
需要说明的是,虽然以上示例性实施方式以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或者必须执行全部的步骤才能实现期望的结果。附加地或者备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
在本公开的示例性实施方式中,还提供一种模型处理装置。如图8所示,该装置主要可以包括:第一训练模块810、特征提取模块820、语料模拟模块830和第二训练模块840。其中,第一训练模块810被配置为将初始标注语料加入初始训练集,利用初始训练集训练得到语言模型;特征提取模块820被配置为获取语言模型输出的预测结果,并提取预测结果中错误预测结果的特征信息;语料模拟模块830被配置为当判断特征信息与初始标注语料相关时,根据特征信息生成预设数量的模拟标注语料;第二训练模块840被配置为将模拟标注语料加入初始训练集,并利用加入模拟标注语料的初始训练集继续训练语言模型。
上述模型处理装置的具体细节已经在对应的模型处理方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施方式中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现本公开的上述的模型处理方法。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码;该程序产品可以存储在一个非易失性存储介质(可以是CD-ROM、U盘或者移动硬盘等)中或网络上;当所述程序产品在一台计算设备(可以是个人计算机、服务器、终端装置或者网络设备等)上运行时,所述程序代码用于使所述计算设备执行本公开中上述各示例性实施例中的方法步骤。
参见图9所示,根据本公开的实施方式的用于实现上述方法的程序产品900,其可以采用便携式紧凑磁盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备(例如个人计算机、服务器、终端装置或者网络设备等)上运行。然而,本公开的程序产品不限于此。在本示例性实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或者多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。
可读存储介质例如可以为但不限于电、磁、光、电磁、红外线或半导体的系统、装置或器件、或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任意可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户计算设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络(包括局域网(LAN)或广域网(WAN)等)连接到用户计算设备;或者,可以连接到外部计算设备,例如利用因特网服务提供商来通过因特网连接。
在本公开的示例性实施方式中,还提供一种电子设备,所述电子设备包括至少一个处理器以及至少一个用于存储所述处理器的可执行指令的存储器;其中,所述处理器被配置为经由执行所述可执行指令来执行本公开中上述各示例性实施例中的方法步骤。
下面结合图10对本示例性实施方式中的电子设备1000进行描述。电子设备1000仅仅为一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
参见图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:至少一个处理单元1010、至少一个存储单元1020、连接不同系统组件(包括处理单元1010和存储单元1020)的总线1030、显示单元1040。
其中,存储单元1020存储有程序代码,所述程序代码可以被处理单元1010执行,使得处理单元1010执行本公开中上述各示例性实施例中的方法步骤。
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元1021(RAM)和/或高速缓存存储单元1022,还可以进一步包括只读存储单元1023(ROM)。
存储单元1020还可以包括具有一组(至少一个)程序模块1025的程序/实用工具1024,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用各种总线结构中的任意总线结构的局域总线。
电子设备1000也可以与一个或多个外部设备1100(例如键盘、指向设备、蓝牙设备等)通信,还可以与一个或者多个使得用户可以与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其他计算设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN)、广域网(WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器1060可以通过总线1030与电子设备1000的其他模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
本领域技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
上述所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中,如有可能,各实施例中所讨论的特征是可互换的。在上面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组件、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本公开的各方面。
Claims (15)
1.一种模型处理方法,其特征在于,包括:
将初始标注语料加入初始训练集,利用所述初始训练集训练得到语言模型;
获取所述语言模型输出的预测结果,并提取所述预测结果中错误预测结果的特征信息;
当判断所述特征信息与所述初始标注语料相关时,根据所述特征信息生成预设数量的模拟标注语料;
将所述模拟标注语料加入所述初始训练集,并利用加入所述模拟标注语料的所述初始训练集继续训练所述语言模型。
2.根据权利要求1所述的模型处理方法,其特征在于,所述利用所述初始训练集训练得到语言模型,包括:
按照预设分类规则对所述初始训练集中的初始标注语料进行分类形成多个分类训练集;
利用分布式管理的多个所述分类训练集训练得到所述语言模型。
3.根据权利要求2所述的模型处理方法,其特征在于,所述方法还包括:
当判断所述特征信息与一分类训练集相关时,采集属于该分类训练集的追加原始语料;
获取对所述追加原始语料进行标注后得到的追加标注语料;
将所述追加标注语料加入所述初始训练集,并利用加入所述追加标注语料的所述初始训练集继续训练所述语言模型。
4.根据权利要求1所述的模型处理方法,其特征在于,所述语言模型包括分类模型和语义模型;
所述利用所述初始训练集训练得到语言模型,包括:
利用所述初始训练集训练得到所述分类模型;
利用经过所述分类模型分类后的二次训练集训练得到所述语义模型。
5.根据权利要求4所述的模型处理方法,其特征在于,所述分类模型是基于卷积神经网络的分类模型。
6.根据权利要求4所述的模型处理方法,其特征在于,所述语义模型是基于长短期记忆网络的语义模型。
7.根据权利要求4所述的模型处理方法,其特征在于,利用经过所述分类模型分类后的二次训练集训练得到所述语义模型,包括:
获取经过所述分类模型分类后的多种类别的训练语料;
将属于预设类别的训练语料加入所述二次训练集;
利用所述二次训练集训练得到所述语义模型。
8.根据权利要求7所述的模型处理方法,其特征在于,所述方法还包括:
当判断所述特征信息与所述分类模型分类结果中的一种分类类别相关时,采集属于该分类类别的追加训练语料;
将所述追加训练语料加入所述二次训练集,并利用加入所述追加训练语料的所述二次训练集继续训练所述语义模型。
9.根据权利要求4所述的模型处理方法,其特征在于,在利用所述初始训练集训练得到所述分类模型之前,所述方法还包括:
为所述初始训练集中的训练语料构造与字符特征相关的数值特征。
10.根据权利要求4所述的模型处理方法,其特征在于,在利用经过所述分类模型分类后的二次训练集训练得到所述语义模型之前,所述方法还包括:
为所述二次训练集中的训练语料构造与文本特征相关的数值特征。
11.根据权利要求1所述的模型处理方法,其特征在于,所述将初始标注语料加入初始训练集,包括:
获取用于记录用户输入语句的日志数据,并对所述日志数据进行预处理以得到原始语料;
获取对所述原始语料进行标注后得到的初始标注语料,并将所述初始标注语料加入所述初始训练集。
12.根据权利要求11所述的模型处理方法,其特征在于,所述对所述日志数据进行预处理以得到原始语料,包括:
对所述日志数据进行正则清洗,以得到去除噪声语句后的原始语料。
13.一种模型处理装置,其特征在于,包括:
第一训练模块,被配置为将初始标注语料加入初始训练集,利用所述初始训练集训练得到语言模型;
特征提取模块,被配置为获取所述语言模型输出的预测结果,并提取所述预测结果中错误预测结果的特征信息;
语料模拟模块,被配置为当判断所述特征信息与所述初始标注语料相关时,根据所述特征信息生成预设数量的模拟标注语料;
第二训练模块,被配置为将所述模拟标注语料加入所述初始训练集,并利用加入所述模拟标注语料的所述初始训练集继续训练所述语言模型。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-12中任意一项所述的模型处理方法。
15.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器被配置为经由执行所述可执行指令来执行权利要求1-12中任意一项所述的模型处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811368382.8A CN111198935A (zh) | 2018-11-16 | 2018-11-16 | 模型处理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811368382.8A CN111198935A (zh) | 2018-11-16 | 2018-11-16 | 模型处理方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111198935A true CN111198935A (zh) | 2020-05-26 |
Family
ID=70745791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811368382.8A Pending CN111198935A (zh) | 2018-11-16 | 2018-11-16 | 模型处理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111198935A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111860628A (zh) * | 2020-07-08 | 2020-10-30 | 上海乘安科技集团有限公司 | 一种基于深度学习的流量识别与特征提取方法 |
CN111881105A (zh) * | 2020-07-30 | 2020-11-03 | 北京智能工场科技有限公司 | 业务数据的标注模型及其模型训练方法 |
CN112507093A (zh) * | 2020-12-10 | 2021-03-16 | 税友软件集团股份有限公司 | 一种语料混淆处理方法、装置及介质 |
CN113554171A (zh) * | 2021-06-30 | 2021-10-26 | 北京百度网讯科技有限公司 | 模型定制系统和方法 |
CN113626592A (zh) * | 2021-07-08 | 2021-11-09 | 中汽创智科技有限公司 | 一种基于语料的分类方法、装置,电子设备及存储介质 |
CN113741884A (zh) * | 2020-05-29 | 2021-12-03 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及设备 |
CN113807096A (zh) * | 2021-04-09 | 2021-12-17 | 京东科技控股股份有限公司 | 文本数据的处理方法、装置、计算机设备和存储介质 |
-
2018
- 2018-11-16 CN CN201811368382.8A patent/CN111198935A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113741884A (zh) * | 2020-05-29 | 2021-12-03 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及设备 |
CN111860628A (zh) * | 2020-07-08 | 2020-10-30 | 上海乘安科技集团有限公司 | 一种基于深度学习的流量识别与特征提取方法 |
CN111881105A (zh) * | 2020-07-30 | 2020-11-03 | 北京智能工场科技有限公司 | 业务数据的标注模型及其模型训练方法 |
CN111881105B (zh) * | 2020-07-30 | 2024-02-09 | 北京智能工场科技有限公司 | 业务数据的标注模型及其模型训练方法 |
CN112507093A (zh) * | 2020-12-10 | 2021-03-16 | 税友软件集团股份有限公司 | 一种语料混淆处理方法、装置及介质 |
CN113807096A (zh) * | 2021-04-09 | 2021-12-17 | 京东科技控股股份有限公司 | 文本数据的处理方法、装置、计算机设备和存储介质 |
CN113554171A (zh) * | 2021-06-30 | 2021-10-26 | 北京百度网讯科技有限公司 | 模型定制系统和方法 |
CN113554171B (zh) * | 2021-06-30 | 2023-07-25 | 北京百度网讯科技有限公司 | 模型定制系统和方法 |
CN113626592A (zh) * | 2021-07-08 | 2021-11-09 | 中汽创智科技有限公司 | 一种基于语料的分类方法、装置,电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111198935A (zh) | 模型处理方法、装置、存储介质及电子设备 | |
CN110799981B (zh) | 用于与领域无关的方面级别情绪检测的系统和方法 | |
CN108563620A (zh) | 文本自动写作方法和系统 | |
KR20200007969A (ko) | 정보 처리 방법, 단말기, 및 컴퓨터 저장 매체 | |
US11238132B2 (en) | Method and system for using existing models in connection with new model development | |
CN111639516B (zh) | 基于机器学习的分析平台 | |
Barbosa et al. | Evaluating hotels rating prediction based on sentiment analysis services | |
KR20200127020A (ko) | 의미 텍스트 데이터를 태그와 매칭시키는 방법, 장치 및 명령을 저장하는 컴퓨터 판독 가능한 기억 매체 | |
CN110866799A (zh) | 使用人工智能监视在线零售平台的系统和方法 | |
CN111309910A (zh) | 文本信息挖掘方法及装置 | |
US20220358292A1 (en) | Method and apparatus for recognizing entity, electronic device and storage medium | |
CN110555205B (zh) | 否定语义识别方法及装置、电子设备、存储介质 | |
US10984781B2 (en) | Identifying representative conversations using a state model | |
CN111930912A (zh) | 对话管理方法及系统、设备和存储介质 | |
CN112182220A (zh) | 基于深度学习的客服预警分析方法、系统、设备及介质 | |
CN110929169A (zh) | 基于改进Canopy聚类协同过滤算法的职位推荐方法 | |
US20230351121A1 (en) | Method and system for generating conversation flows | |
WO2021128721A1 (zh) | 文本分类处理方法和装置 | |
CN113590771A (zh) | 一种数据挖掘方法、装置、设备及存储介质 | |
CN109300550B (zh) | 医学数据关系挖掘方法及装置 | |
CN110782128A (zh) | 一种用户职业标签生成方法、装置和电子设备 | |
US20220092452A1 (en) | Automated machine learning tool for explaining the effects of complex text on predictive results | |
Zitnik | Using sentiment analysis to improve business operations | |
CN113191821A (zh) | 一种数据处理方法及装置 | |
CN113870998A (zh) | 问诊方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |