CN116954386A - 输入法中的信息推荐方法、相关装置和介质 - Google Patents

输入法中的信息推荐方法、相关装置和介质 Download PDF

Info

Publication number
CN116954386A
CN116954386A CN202310501071.9A CN202310501071A CN116954386A CN 116954386 A CN116954386 A CN 116954386A CN 202310501071 A CN202310501071 A CN 202310501071A CN 116954386 A CN116954386 A CN 116954386A
Authority
CN
China
Prior art keywords
text
intention
sample
target
intent
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
Application number
CN202310501071.9A
Other languages
English (en)
Inventor
姚波怀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sogou Technology Development Co Ltd
Original Assignee
Beijing Sogou Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sogou Technology Development Co Ltd filed Critical Beijing Sogou Technology Development Co Ltd
Priority to CN202310501071.9A priority Critical patent/CN116954386A/zh
Publication of CN116954386A publication Critical patent/CN116954386A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)

Abstract

本公开提供了一种输入法中的信息推荐方法、相关装置和介质。该输入法中的信息推荐方法包括:检测对目标输入法的启动;获取利用目标输入法输入的目标文本;将目标文本输入意图识别模型,由意图识别模型输出目标文本对应的目标意图;基于目标意图搜索到目标信息;将目标信息显示在使用目标输入法的终端,其中,意图识别模型通过以下过程预先生成:为第一样本文本集中的每个第一样本文本,增加引导语,生成第一样本引导文本;将第一样本引导文本输入大规模预训练语言模型,得到第一意图标签;基于第一意图标签,生成意图识别模型。本公开实施例提高了输入法中信息推荐效率和准确率。本公开实施例可应用于输入法、信息推荐、智能客服等各种场景。

Description

输入法中的信息推荐方法、相关装置和介质
技术领域
本公开涉及输入法领域,特别是涉及一种输入法中的信息推荐方法、相关装置和介质。
背景技术
目前根据对象输入文本进行信息推荐(如新书推荐等)主要应用于垂直场景(如订票助手、客服机器人)。相关技术的信息推荐中,从目标意图中获取种子词,在对象日志中查找与种子词匹配的文本,作为样本文本,并将目标意图作为标签,训练一个分类模型。分类模型训练好后,就可以根据对象输入的任何文本,输出该文本对应的意图,根据该意图找到推荐的信息(服务或功能)。
相关技术的缺点在于,从目标意图确定、种子词提取到样本文本标签标注,都需要大量人工,效率和自动化程度低,且种子词提取的方式中,种子词直接来源于目标意图本身,隐式意图泛化能力差,多意图识别能力差。对于输入法中的信息推荐来说,推荐效率和准确率都差。
发明内容
本公开实施例提供了一种输入法中的信息推荐方法、相关装置和介质,它能够针对输入法中的信息推荐提高推荐效率和准确率。
根据本公开的一方面,提供了一种输入法中的信息推荐方法,包括:
检测对目标输入法的启动;
获取利用所述目标输入法输入的目标文本;
将所述目标文本输入意图识别模型,由所述意图识别模型输出所述目标文本对应的目标意图;
基于所述目标意图搜索到目标信息;
将所述目标信息显示在使用所述目标输入法的终端;
其中,所述意图识别模型通过以下过程预先生成:获取第一样本文本集,所述第一样本文本集包括多个第一样本文本;为所述第一样本文本集中的每个所述第一样本文本,增加引导语,生成第一样本引导文本;将所述第一样本引导文本输入大规模预训练语言模型,得到所述第一样本文本的第一意图标签;基于每个所述第一样本文本的所述第一意图标签,生成所述意图识别模型。
根据本公开的一方面,提供了一种输入法中的信息推荐装置,包括:
检测单元,用于检测对目标输入法的启动;
第一获取单元,用于获取利用所述目标输入法输入的目标文本;
第一输入单元,用于将所述目标文本输入意图识别模型,由所述意图识别模型输出所述目标文本对应的目标意图;
搜索单元,用于基于所述目标意图搜索到目标信息;
显示单元,用于将所述目标信息显示在使用所述目标输入法的终端;
其中,所述意图识别模型通过以下过程预先生成:获取第一样本文本集,所述第一样本文本集包括多个第一样本文本;为所述第一样本文本集中的每个所述第一样本文本,增加引导语,生成第一样本引导文本;将所述第一样本引导文本输入大规模预训练语言模型,得到所述第一样本文本的第一意图标签;基于每个所述第一样本文本的所述第一意图标签,生成所述意图识别模型。
可选地,所述第一输入单元具体用于:
将所述第一样本引导文本输入多个所述大规模预训练语言模型,将每个所述大规模预训练语言模型输出的识别意图组合成识别意图集;
对所述识别意图集中的所述识别意图进行聚类;
基于聚类结果,生成所述第一意图标签。
可选地,所述第一输入单元具体用于:
为聚类成的每一类分配意图类别标识,所述意图类别标识互不相同;
将聚类成的每一类所对应的所述意图类别标识整合为所述第一意图标签。
可选地,所述第一输入单元具体用于:
将所述第一样本文本集中的每个所述第一样本文本向量化,得到第一文本向量;
将所述第一文本向量输入所述意图识别模型,得到判定的意图类别标识,与所述第一样本文本对应的所述第一意图标签比较;
构造第一误差函数,所述第一误差函数为所述第一样本文本集中所述判定的意图类别标识与所述第一意图标签不同的第一样本文本数目,与所述第一样本文本集中的第一样本文本总数的比;
基于第一误差函数,训练所述意图识别模型。
可选地,所述第一输入单元具体用于:
获取所述第一意图标签中各个所述意图类别标识对应的类向量;
将所述类向量整合成所述意图识别模型的权重矩阵,从而生成所述意图识别模型。
可选地,所述第一输入单元具体用于:
获取待增加意图的目标文本描述;
将所述目标文本描述向量化,得到目标文本向量;
将所述目标文本向量添加到所述意图识别模型的权重矩阵中,从而更新所述意图识别模型。
可选地,所述第一输入单元具体用于:
获取所述待增加意图的候选文本描述集;
获取第三样本文本集,所述第三样本文本集中的每个第三样本文本触发所述待增加意图;
针对所述候选文本描述集中的每个候选文本描述,将所述候选文本描述作为所述第三样本文本集中的每个所述第三样本文本的标签,将每个所述第三样本文本输入评测模型,由所述评测模型输出判定的文本描述,将判定的所述文本描述与所述标签比对;
将判定的所述文本描述与所述标签不一致的第三样本文本数目最小的所述候选文本描述,作为所述目标文本描述。
可选地,所述第一输入单元具体用于:
获取所述待增加意图中的关键词;
基于所述关键词,生成包含所述关键词的第一候选文本描述;
基于所述第一候选文本描述,获取触发所述第一候选文本描述的第四样本文本;
将所述第四样本文本输入生成模型,得到第二候选文本描述;
将所述第一候选文本描述和所述第二候选文本描述整合成所述候选文本描述集。
可选地,所述第一输入单元具体用于:
在第一语料库中,查找与所述第一候选文本描述匹配的第一语句;
将所述第一语料库中所述第一语句之前的第二语句,作为触发所述第一候选文本描述的第四样本文本。
可选地,所述第一输入单元具体用于:
在第二语料库中,查找与所述候选文本描述中任一候选文本描述匹配的第三语句;
将所述第二语料库中所述第三语句之前的第四语句,确定为所述第三样本文本,放入所述第三样本文本集。
可选地,所述第一输入单元具体用于:
针对所述第一意图标签中各个所述意图类别标识对应的类,获取所述类中的各个所述识别意图文本描述的文本向量;
将所述类中的各个所述识别意图文本描述的文本向量的平均值,确定为所述意图类别标识对应的类向量。
可选地,所述第一输入单元具体用于:
获取所述聚类成的每一类的聚类中心对应的识别意图文本描述;
将所述聚类成的每一类的所述聚类中心对应的所述识别意图文本描述,整合为所述第一意图标签。
可选地,所述第一输入单元具体用于:
将所述第一样本文本集中的每个所述第一样本文本输入所述意图识别模型,得到生成的意图文本描述;
基于所述生成的意图文本描述与所述第一意图标签中有差异的字符数,构造第二误差函数;
基于所述第二误差函数,训练所述意图识别模型。
可选地,所述第一输入单元具体用于:
针对所述聚类成的每一类,获取所述类中的各个所述识别意图文本描述的文本向量;
将所述类中的各个所述识别意图文本描述的文本向量的平均值,确定为类向量;
将各类的所述类向量整合为所述第一意图标签。
可选地,所述第一输入单元具体用于:
对于所述第一样本文本集中的部分所述第一样本文本,修改所述第一样本文本、和所述第一样本文本的第一意图标签中的至少一个,得到第二样本文本和所述第二样本文本的第二意图标签;
将每个所述第一样本文本向量化,得到第一文本向量,并将每个所述第二样本文本向量化,得到第二文本向量;
确定所述第一文本向量与所述第一意图标签之间的第一距离、和所述第二文本向量与所述第二意图标签之间的第二距离;
构造第三误差函数,所述第三误差函数是所述第一距离的增函数,是所述第二距离的减函数;
基于所述第三误差函数,训练所述意图识别模型。
可选地,所述第一输入单元还用于:在意图标签库中存储所述第一样本文本集中每个所述第一样本文本的所述第一意图标签,并建立每一所述第一意图标签对应的标签索引;
所述第一输入单元还用于:
将所述目标文本向量化,得到第三文本向量;
按照所述标签索引,在所述意图标签库中查找与所述第三文本向量匹配的所述第一意图标签,并输出与所述第一意图标签对应的所述目标意图。
可选地,所述第一输入单元具体用于:
获取待增加意图的目标文本描述;
将所述目标文本描述向量化,得到待增加第一意图标签,以增加到所述意图标签库中存储的所述第一意图标签中。
根据本公开的一方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的输入法中的信息推荐方法。
根据本公开的一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的输入法中的信息推荐方法。
根据本公开的一方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器读取并执行,使得该计算机设备执行如上所述的输入法中的信息推荐方法。
本公开实施例中,通过给任意第一样本文本增加引导语,并输入大规模预训练语言模型,得到第一意图标签,反过来用第一意图标签生成意图识别模型。整个过程无需人工,提高了效率和自动化程度。同时,借助于大规模预训练语言模型的泛化能力,缓解隐式意图的识别和多意图的识别问题。用这样生成的意图识别模型,在对象利用目标输入法进行输入时快速识别出目标意图,利用目标意图搜索到目标信息,提高输入法中信息推荐效率和准确率。
本公开的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本公开技术方案的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1是根据本公开的实施例的输入法中的信息推荐方法应用的系统的体系构架图;
图2A-E是根据本公开的实施例的输入法中的信息推荐方法应用在输入法推荐场景下的示意图;
图3是根据本公开的实施例的输入法中的信息推荐方法的流程图;
图4A-B是关于图3中步骤310的界面示意图;
图5A-C是在图3中步骤310之后的关于多种启动信息推荐选项的界面示意图;
图6A-C是关于图3中步骤320的界面示意图;
图7A-B是关于图3中步骤340的界面示意图;
图8A-C是关于图3中步骤350的界面示意图;
图9是本公开的实施例的意图识别模型的生成过程的流程图;
图10是图9中步骤930通过聚类生成第一意图标签的流程图;
图11是本公开的一个实施例的第一意图标签为意图类别标识的生成过程的实现过程示意图;
图12是本公开的一个实施例在第一意图标签为意图类别标识情况下的模型训练过程的流程图;
图13是本公开的一个实施例在第一意图标签为意图类别标识情况下的模型生成过程的流程图;
图14是图13的模型的生成过程的实现过程示意图;
图15是本公开的一个实施例的第一意图标签为意图文本描述的生成过程的流程图;
图16是本公开的一个实施例的第一意图标签为意图文本描述的生成过程的实现过程示意图;
图17是本公开的一个实施例的第一意图标签为意图文本描述情况下的模型训练过程的流程图;
图18是本公开的一个实施例的第一意图标签为类向量的生成过程的流程图;
图19是本公开的一个实施例的第一意图标签为类向量的生成过程的实现过程示意图;
图20是本公开的一个实施例在第一意图标签为类向量的情况下的模型训练过程的流程图;
图21示出了本公开的一个实施例的输入法中的信息推荐方法的一种具体结构;
图22是本公开的一个实施例的意图识别模型的更新的流程图;
图23是本公开的一个实施例利用权重矩阵实现意图识别模型的更新的实现过程示意图;
图24是图23中步骤2310利用评测模型获得目标文本描述的流程图;
图25是图24中步骤2410利用关键词和生成模型获得候选文本描述集的流程图;
图26是关于图25的实现过程示意图;
图27是本公开的一个实施例利用第一语料库获取第四样本文本的实现过程示意图;
图28是本公开的一个实施例利用第二语料库获取第三样本文本集的实现过程示意图;
图29是本公开的一个实施例利用第二语料库获取第三样本文本集的实现过程示意图;
图30是本公开的一个实施例利用意图标签库实现意图识别模型的更新的实现过程示意图;
图31是根据本公开的实施例的输入法中的信息推荐装置的模块图;
图32是根据本公开的实施例的输入法中的信息推荐方法的终端结构图;
图33是根据本公开的实施例的输入法中的信息推荐方法的服务器结构图。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本公开,并不用于限定本公开。
对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释:
人工智能:是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得目标结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
输入法:是指为将各种符号输入计算机或其他设备(如手机)而采用的编码方法。
对象在网上冲浪的时候,会有各种各样的工具或者服务的需求。例如,娱乐需求(看电视剧、听音乐等)、写作类需求(查素材、文本校对等)、论文发表类需求(查重、论文检索等)等等。目前,互联网上很多产品,通过识别对象上述的这些意图,为对象提供或者推荐相关的服务,以满足用户需求。同样,输入法也可以在用户输入时,通过识别对象的意图,为对象推荐相关服务与功能,降低对象查找服务的代价,提升用户使用体验,满足用户需求。
相关技术的信息推荐中,从目标意图中获取种子词,在对象日志中查找与种子词匹配的文本,作为样本文本,并将目标意图作为标签,训练一个分类模型。分类模型训练好后,就可以根据对象输入的任何文本,输出该文本对应的意图,根据该意图找到推荐的信息(服务或功能)。
但是,相关技术的缺点在于,从目标意图确定、种子词提取到样本文本标签标注,都需要大量人工,效率和自动化程度低,且种子词提取的方式中,种子词直接来源于目标意图本身,隐式意图泛化能力差,多意图识别能力差。对于输入法中的信息推荐来说,推荐效率和准确率都差。因此,急需一种能够提高输入法中的信息推荐的推荐效率和准确率且更具有普适性的技术。
本公开实施例应用的系统体系构架及场景说明
图1是根据本公开的实施例的输入法中的信息推荐方法所应用的系统构架图。它包括对象终端140、互联网130、网关120、服务器110等。
对象终端140包括桌面电脑、膝上型电脑、PDA(个人数字助理)、手机、车载终端、家庭影院终端、专用终端等多种形式。另外,它可以是单台设备,也可以是多台设备组成的集合。对象终端140可以以有线或无线的方式与互联网130进行通信,交换数据。
服务器110是指能对对象终端140提供某些服务的计算机系统。相对于普通对象终端140来说,服务器110在稳定性、安全性、性能等方面都要求更高。服务器110可以是网络平台中的一台高性能计算机、多台高性能计算机的集群、一台高性能计算机中划出的一部分(例如虚拟机)、多台高性能计算机中划出的一部分(例如虚拟机)的组合等。服务器110是指为对象进行信息推荐的服务器。
网关120又称网间连接器、协议转换器。网关在传输层上实现网络互连,是一种充当转换作用的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。同时,网关也可以提供过滤和安全功能。对象终端140向服务器110发送的消息要通过网关120发送到相应的服务器。服务器110向对象终端140发送的消息也要通过网关120发送到相应的对象终端140。
本公开实施例可以应用在多种场景下,如图2A-E所示的输入法推荐场景等。
输入法推荐场景是指在指定的输入法下,根据对象输入的文本进行信息推荐的场景。
如图2A所示,对象终端140是电脑终端。当对象在对象终端140登录到聊天应用平台中与其他对象进行聊天时,电脑终端界面会显示聊天双方的聊天内容。在对象终端140的右下角处有一个输入法图标,该输入法图标用于提供给对象进行点击并启动相应的输入法。
如图2B所示,当对象在对象终端140查看到聊天内容之后,对象想要启动A输入法进行打字,则用鼠标点击电脑终端界面上的输入法图标以选择启动A输入法,此时电脑终端界面显示出A输入法的输入框。
如图2C所示,当对象在对象终端140查看到A输入法的输入框之后,对象在输入框内输入“下周XXX将来M市举办演唱会,你知道吗?”的内容。从对象在输入框输入第一个字符开始,将进入信息推荐平台,由信息推荐平台根据在输入框中当前输入的内容进行意图识别。例如,信息推荐平台根据“下周”进行意图识别,但识别不到有用的意图。又例如,信息推荐平台根据“下周XXX”进行意图识别,也识别不到有用的意图。
如图2D所示,在对象在输入框内输入“下周XXX将来M市举办演唱会,你知道吗?”的内容之后,信息推荐平台根据“下周XXX将来M市举办演唱会,你知道吗?”进行意图识别,且识别出意图为“XXX演唱会门票活动”。电脑终端界面会显示一个窗口内容为“XXX演唱会门票活动”的第一提示弹窗,以供对象进行点击。
如图2E所示,在对象点击第一提示弹窗后,信息推荐平台会显示一个第二提示弹窗,窗口内容包括“XXX演唱会门票优惠活动详情,演唱会购票渠道:购票网站地址,演唱会门票价格:200,演唱会地点:M市,演唱会时间:2023年4月20日”。对象可以点击第二提示弹窗中的购票网站地址跳转到购票网页进行购票,也可以点击第二提示弹窗中的关闭控件,从而关闭到第二提示弹窗。
对于输入法中的信息推荐来说,与其他基于对象意图识别并推荐服务的产品(助手、搜索等)相比,输入法推荐场景下的意图识别是一个开放场景的意图识别,具有以下难点:
(1)开放场景意图体系庞大,梳理难度大:由于输入法是一个开放领域,对象会在各种场景下使用,因此其意图体系将会特别庞大,梳理难度很大,真实的意图体系可能是一个开放集合。而现有的其他产品大多数为垂直场景(订票助手、客服机器人等),其意图体系为一个较小的封闭集合。因此,现有的产品通常通过先梳理意图列表,然后训练分类模型,达到意图识别的目的。但在输入法的开放领域下,该方式的操作难度较大,意图的覆盖面将难以满足。
(2)隐性意图识别难度大:现有包含意图识别的产品中,用户会显示的表达的意图。比如在订票系统中,对象会输入“从G市到M市的机票”、“XXX演唱会门票”。在搜索引擎下,对象会输入“论文查重工具”、“M市天气”等。而在输入法下,对象通常在聊天的时候,会隐性的表达自己的意图或者潜在意图,通过识别对象的隐性意图需求,以便为对象提供相关服务。例如对象输入“XXX好像最近要开演唱会,好想去看”、“我刚写完论文”等。对与上述的隐性需求,目前的意图识别方案识别难度较大。
(3)开放领域下的多意图识别问题:由于是开放领域,意图体系庞大,因此更容易出现同一个上文,对应多个意图的问题。例如:对象输入某个歌手名字“XXX”,潜在的服务需求包括听音乐、看电影、查百科、查歌词等等。多意图问题给标注工作和模型训练均带了挑战。
(4)意图扩充难,服务体系扩充频繁,意图识别能力更新频率高:由于输入法为一个开放领域,难以一次梳理并准备好所有的服务,需要不断的追加新的意图类别与服务。目前的意图识别技术用于该场景时,需要不断重新挖掘相关数据并重新训练模型。这种方式代价较大,且更新周期较长。
针对上述问题,下面详细描述本公开实施例的能够解决上述问题的输入法中的信息推荐方法。
本公开实施例的总体说明
根据本公开的一个实施例,提供了一种输入法中的信息推荐方法。
输入法中的信息推荐方法常常用于如图2A-E的输入法推荐场景。相关技术的信息推荐存在效率和自动化程度低,隐式意图泛化能力差,多意图识别能力差等问题,难以直接应用在输入法推荐场景上。本公开实施例的输入法信息推荐方法主要是在输入法下,能够提高推荐效率和准确率。
如图3所示,根据本公开一个实施例的输入法中的信息推荐方法可以包括:
步骤310、检测对目标输入法的启动;
步骤320、获取利用目标输入法输入的目标文本;
步骤330、将目标文本输入意图识别模型,由意图识别模型输出目标文本对应的目标意图;
步骤340、基于目标意图搜索到目标信息;
步骤350、将目标信息显示在使用目标输入法的终端。
下面对步骤310-350进行详细描述。
该信息推荐方法可以由图1所示的对象终端140执行,也可以由图1所示的服务器110执行。
在步骤310中,检测对目标输入法的启动。
目标输入法是指事先设置的能够触发信息推荐服务的输入法。例如目标输入法具体为A输入法,在检测到A输入法的启动之后,将进行信息推荐服务。
下面结合图4A-B描述启动目标输入法的几种方式:
(1)参照图4A,对象在点击对象终端140屏幕右下角处的输入法图标“S”之后,对象终端140显示出三个候选输入法选项,具体为A输入法选项、B输入法选项、和C输入法选项。对象点击A输入法选项之后,对象终端140将启动A输入法。需要说明的是,本示例是用虚线箭头表示出对象是点击了输入法图标“S”之后才会出现候选输入法选项,但实际界面显示中,图4A中的虚线箭头不会显示。
(2)参照图4B,对象语音说出“A输入法”,此时对象140识别对象语音然后启动A输入法,并在界面上显示“将为您启动A输入法,请稍等”的提示信息,以提醒对象启动进度。
需要说明的是,参照图5A-C,在启动A输入法之后,对象终端140的屏幕右下角的输入法图标“S”已更新为A输入法对应的图标“A”。
在如上文所述的启动目标输入法之后,可以直接启用信息推荐服务。但考虑到对象不一定需要信息推荐服务,所以,在一实施例中,需要由对象选择是否启用信息推荐服务。
下面结合图5A-C描述启用信息推荐服务的几种方式:
(1)参照图5A,在目标输入法启动之后,在目标输入法的输入界面上有一个“信息推荐启用”按钮。对象点击按钮之后,则启用信息推荐服务。
(2)参照图5B,在目标输入法启动之后,对象在目标输入法的输入界面上右击鼠标,将出现菜单,菜单上有“信息推荐启用”、“查看”、以及“刷新”等选项。对象用鼠标点击“信息推荐启用”选项,则启用信息推荐服务。
(3)参照图5C,在目标输入法启动之后,对象在某个应用(如上文中的聊天应用)的界面右击鼠标出现菜单,菜单上有“信息推荐启用”、“查看”、以及“刷新”等选项。对象用鼠标点击“信息推荐启用”选项,则启用信息推荐服务。
在步骤320中,获取利用目标输入法输入的目标文本。
目标文本是指对象利用目标输入法输入的字符,下面结合图6A-C描述获取目标文本的几种方式:
(1)在目标输入法启动之后,获取对象在目标输入法的输入界面上的输入框输入的字符,然后将输入框内的字符作为目标文本。参照图6A,对象在A输入法的输入框内输入的字符为“下周XXX将来M市举办演唱会,你知道吗?”,则目标文本为“下周XXX将来M市举办演唱会,你知道吗?”。
(2)在目标输入法启动之后,获取对象在文字编辑应用的编辑界面中输入的字符,将文档中输入的字符作为目标文本。参照图6B,对象在利用A输入法向文档输入的字符为“下周XXX将来M市举办演唱会,你知道吗?”,则目标文本为“下周XXX将来M市举办演唱会,你知道吗?”。
(3)在目标输入法启动之后,获取对象在聊天应用的聊天界面中输入的字符,将聊天界面中输入的字符作为目标文本。参照图6C,对象在利用A输入法向聊天界面输入的字符为“下周XXX将来M市举办演唱会,你知道吗?”,则目标文本为“下周XXX将来M市举办演唱会,你知道吗?”。
在步骤330中,将目标文本输入意图识别模型,由意图识别模型输出目标文本对应的目标意图。
意图识别模型是指能从文本识别出意图的模型。例如,目标文本为“下周XXX将来M市举办演唱会,你知道吗?”,将目标文本输入至意图识别模型进行意图识别,得到的目标意图为“XXX演唱会门票活动”。
在步骤340中,基于目标意图搜索到目标信息。可以是基于目标意图在互联网浏览器搜索出目标信息,也可以是基于目标意图在专用数据库搜索出目标信息。
下面结合图7A-B描述搜索目标信息的几种方式:
(1)参照图7A,当意图识别模型输出目标意图之后,开始对互联网浏览器进行搜索,在搜索完成前,对象终端会显示一个窗口内容为“目标信息搜索中”的提示信息,以提醒对象搜索进度。
(2)参照图7B,当意图识别模型输出目标意图之后,开始对专用数据库进行搜索,在搜索完成前,对象终端会显示一个窗口内容为“目标信息搜索中”的提示信息,以提醒对象搜索进度。
在步骤350中,将目标信息显示在使用目标输入法的终端。例如可以将目标信息作为弹窗显示,也可以将目标信息显示在目标输入法界面的某个区域,也还可以显示在其它应用的某个区域。
例如,目标信息为“演唱会购票渠道:购票网站地址,演唱会门票价格:200,演唱会地点:M市,演唱会时间:2023年4月20日”。
下面结合图8A-C详细描述显示目标信息的几种方式:
(1)参照图8A,在得到目标信息之后,将目标信息作为弹窗显示在终端上。对象可点击弹窗上的“关闭”选项,结束该目标信息的显示。
(2)参照图8B,在得到目标信息之后,将目标信息作为显示在A输入法界面上的右边区域上。对象可点击A输入法界面上的“关闭”选项,结束该目标信息的显示,且将A输入法界面上的右边区域隐藏。
(3)参照图8C,在得到目标信息之后,将目标信息作为显示在利用A输入法输入的文字编辑应用的编辑界面上。对象可点击编辑界面上的“关闭”选项,结束该目标信息的显示。
通过上述步骤310-350,本公开实施例在对象利用目标输入法进行输入时快速识别出目标意图,利用目标意图搜索到目标信息,提高输入法中信息推荐效率和准确率。
以上是对步骤310-350进行的总体描述,下面将针对步骤330的具体实现过程展开详细描述。
步骤330的详细描述
在步骤330中,将目标文本输入意图识别模型,由意图识别模型输出目标文本对应的目标意图。
参照图9,在一实施例中,意图识别模型通过以下过程预先生成:
步骤910、获取第一样本文本集,第一样本文本集包括多个第一样本文本;
步骤920、为第一样本文本集中的每个第一样本文本,增加引导语,生成第一样本引导文本;
步骤930、将第一样本引导文本输入大规模预训练语言模型,得到第一样本文本的第一意图标签;
步骤940、基于每个第一样本文本的第一意图标签,生成意图识别模型。
下面对步骤910-940进行详细描述。
步骤910的第一样本文本集包括多个第一样本文本。第一样本文本的数目越多,训练效果越好。第一样本文本集中的每个第一样本文本是指用作样本的文本。例如,第一样本文本为“XXX好久没开演唱会了”。这里的第一样本文本类似于步骤320的目标文本,只不过第一样本文本用于模型训练,目标文本用于模型的实际使用。
事先为第一样本文本集中的第一样本文本打上第一意图标签,用于指示第一样本文本所属的意图。例如,第一样本文本为“XXX好久没开演唱会了”,则第一意图标签为“XXX演唱会门票活动”。打标签可以采用人工标注的方式。
接着,步骤920的引导语是指提示学习中的模板。提示学习(prompt learning)是指设计一个比较契合上游预训练任务的模板,通过模板的设计就是挖掘出上游预训练模型的潜力,让上游的预训练模型在尽量不需要标注数据的情况下比较好的完成下游的任务。例如,第一样本文本为“XXX好久没开演唱会了”,引导语为“‘<第一样本文本>’,有哪些服务或者功能能够满足对象的需求”,则第一样本引导文本为“XXX好久没开演唱会了,有哪些服务或者功能能够满足对象的需求”。在本公开实施例中,通过为第一样本文本增加引导语,使得在不需要标注数据的情况下,让第一样本引导文本更适合作为待识别出意图的文本,以便后续引导大规模预训练语言模型输出更准确的意图。
接着,步骤930的大规模预训练语言模型是一个人工智能领域概念、技术。大规模预训练语言模型通常有十亿、百亿级的参数,需要非常强大的算力、和非常多的用于训练的数据资源。大规模预训练语言模型可以是ChatGPT模型。大规模预训练语言模型对海量的无标注数据进行预训练、通过微调和零样本学习来变形、应用。本公开实施主要是利用大规模预训练语言模型从第一样本文本中自动化挖掘意图,得到第一意图标签。且在挖掘意图的同时,可以获得训练语料。在整个过程中,只需要少量的人工参与。本公开实施还利用了大规模预训练语言模型强大的意图理解能力,提升了隐性意图的泛化能力,缓解隐性意图识别问题。
例如,第一样本引导文本为“XXX好久没开演唱会了,有哪些服务或者功能能够满足对象的需求”,将这里的第一样本引导文本输入至大规模预训练语言模型,得到的第一意图标签为“XXX演唱会活动详情”。相比直接输入第一样本文本,更能得到准确的第一意图标签。
接着,步骤940基于上述步骤得到的每个第一样本文本的第一意图标签,生成意图识别模型。
该实施例的好处是,利用大规模预训练模型生成第一意图标签并反过来生成意图识别模型,整个过程无需人工,提高了效率和自动化程度。同时,借助于大规模预训练语言模型的泛化能力,缓解隐式意图的识别和多意图的识别问题。
以上是对步骤910-940的总体描述,下面对步骤930和步骤940进行详细描述。
参照图10,在一实施例中,步骤930包括:
步骤1010、将第一样本引导文本输入多个大规模预训练语言模型,将每个大规模预训练语言模型输出的识别意图组合成识别意图集;
步骤1020、对识别意图集中的识别意图进行聚类;
步骤1030、基于聚类结果,生成第一意图标签。
下面对步骤1010-1030进行详细描述。
参照图11,在一个例子中,在步骤1010中,第一样本引导文本为“XXX好久没开演唱会了,有哪些服务或者功能能够满足对象的需求”,将第一样本引导文本分别输入至5个大规模预训练语言模型,包括大规模预训练模型1-5(图11仅示出5个大规模预训练语言模型,但也可以小于5个也还可以大于5个)。大规模预训练模型1输出的识别意图1为“XXX演唱会门票活动”。大规模预训练模型2输出的识别意图2为“XXX热门歌曲”。大规模预训练模型3输出的识别意图3为“XXX热播电视剧”。大规模预训练模型4输出的识别意图4为“XXX最新上映电影”。大规模预训练模型5输出的识别意图5为“XXX演唱会活动详情”。这样一来,第一样本文本为“XXX好久没开演唱会了”的识别意图集为{XXX演唱会门票活动,XXX热门歌曲,XXX热播电视剧,XXX最新上映电影,XXX演唱会活动详情}。
可以理解的是,图11示出了第一样本文本为“XXX好久没开演唱会了”对应的识别意图集。但是,第一样本文本集中包括多个第一样本文本,因此也对应存在多个第一样本引导文本。例如,又一个第一样本文本为“刚写完论文”,则对应的第一样本引导文本为“刚写完论文,有哪些服务或者功能能够满足对象的需求”。对应地,识别意图可为“文献检索工具:可以使用文献检索工具帮助论文检索”,识别意图还可为“抄袭检测服务:可以使用抄袭检测服务,帮助检测论文是否存在抄袭行为”,识别意图还可为“校对服务:可以使用校对服务,对文章进行校对和修订,以提高文本质量”。此时,第一样本文本为“刚写完论文”对应的识别意图集为{文献检索工具,抄袭检测服务,校对服务}。
继续参照图11,在步骤1020中,对识别意图集{XXX演唱会门票活动,XXX热门歌曲,XXX热播电视剧,XXX最新上映电影,XXX演唱会活动详情}进行聚类。“XXX演唱会门票活动”和“XXX演唱会活动详情”聚类成了类1。“XXX热门歌曲”聚类成了类2。“XXX热播电视剧”和“XXX最新上映电影”聚类成了类3。同理,其他第一样本文本的识别意图集进行类似聚类过程,得到每个第一样本文本的聚类结果。
继续参照图11,在步骤1030中,聚类结果为{类1,类2,类3},将基于聚类结果生成第一样本文本的第一意图标签。第一意图标签可以是聚类结果中每一类对应的意图类别标识,也可以是每一类对应的意图文本描述,也还可以是每一类对应的意图文本描述的文本向量。
步骤1010-1030的好处是,相比直接根据一个大规模预训练模型输出的意图作为第一意图标签而言,本实施例更能挖掘出对象的意图,进一步缓解隐性意图识别问题和多意图识别问题,提高生成第一意图标签的准确率。
如上所述,本公开实施例中的第一意图标签可以是聚类结果中每一类对应的意图类别标识,也可以是每一类对应的意图文本描述,也还可以是每一类对应的意图文本描述的文本向量。三种情形下第一意图标签的生成方式不同,且对应的模型的生成方式不同。先详细介绍第一种情形。
在第一种情形下,步骤1030具体包括:
为聚类成的每一类分配意图类别标识,意图类别标识互不相同;
将聚类成的每一类所对应的意图类别标识整合为第一意图标签。
继续参照图11,分配意图标识后,类1的意图类别标识为001,类2的意图类别标识为002,类3的意图类别标识为003。将意图类别标识进行整合后,得到一个第一意图标签为{001,002,003}。
同理,对识别意图集为{文献检索工具,抄袭检测服务,校对服务}进行聚类,聚成的类包括类4、类5、以及类6。分配意图标识后,类4的意图类别标识为004,类5的意图类别标识为005,类6的意图类别标识为006。将意图类别标识进行整合后,得到另一个第一意图标签为{004,005,006}。
上述实施例的好处是,利用意图类别标识来对意图进行表示,使得意图的表示更加清晰简单,还容易从数据库读取。
接着,在第一种情形下,步骤940中意图识别模型的生成又可分成两种情况。第一种情况需要训练过程,是根据第一意图标签调整意图识别模型的参数。第二种情况无需训练过程,是直接基于第一意图标签作为意图识别模型的参数。
在第一种情况下,如图12所示,步骤940具体包括:
步骤1210、将第一样本文本集中的每个第一样本文本向量化,得到第一文本向量;
步骤1220、将第一文本向量输入意图识别模型,得到判定的意图类别标识,与第一样本文本对应的第一意图标签比较;
步骤1230、构造第一误差函数,第一误差函数为第一样本文本集中判定的意图类别标识与第一意图标签不同的第一样本文本数目,与第一样本文本集中的第一样本文本总数的比;
步骤1240、基于第一误差函数,训练意图识别模型。
下面对步骤1210-1240进行详细描述。
在步骤1210,第一样本文本向量化得到第一文本向量。第一文本向量为第一样本文本转化成向量序列,它能代表第一样本文本。
接着,在步骤1220,将第一文本向量输入意图识别模型。这与步骤330是类似的,只不过这里输入意图识别模型的是模型训练过程中产生的第一文本向量,在步骤330中输入意图识别模型的是模型使用中产生的目标文本。对于每个第一样本文本,意图识别模型输出一个判定的意图类别标识。
接着,在步骤1230,构造第一误差函数,第一误差函数为第一样本文本集中判定的意图类别标识与第一意图标签不同的第一样本文本数目,与第一样本文本集中的第一样本文本总数的比。第一误差函数是用于衡量意图识别模型的判定误差的函数,它体现了意图识别模型的训练效果。第一误差函数越小,说明意图识别模型训练得越好。
例如,将第一样本文本为“XXX好久没开演唱会了”输入至意图识别模型。若判定的意图类别标识为001或002或003,则该第一样本文本与第一意图标签相同。若判定的意图类别标识为004或005或006,则该第一样本文本与第一意图标签不同。
具体地,在一个实施例中,可以构造第一误差函数如下:
其中,L1为第一误差函数,N1为第一样本文本集中的第一样本文本总数;n1为第一样本文本集中判定的意图类别标识与第一意图标签不同的第一样本文本数目。
需要说明的是,上述公式1不是唯一的。例如,可以对公式1的对数运算去掉。
接着,在步骤1240,构造出第一误差函数后,可以基于第一误差函数训练意图识别模型,也就是调整意图识别模型的参数。意图识别模型可表示为Y=W*X+b,W表示意图识别模型的权重矩阵,X表示输入,b为偏差系数。具体地,可以预先设置第一阈值。当第一误差函数小于第一阈值时,训练过程结束。当第一误差函数大于或等于第一阈值时,调整意图识别模型的参数,也就是调整权重矩阵W,直到第一误差函数小于第一阈值为止。(为了与经过不同生成方式所生成的意图识别模型进行区分,步骤1210-1240所生成的意图识别模型也称为第一分类模型)。
步骤1210-1240在第一意图标签为意图类别标识的情况下,通过构造第一误差函数对意图识别模型进行训练,提高了训练出的模型对意图类别标识的判定的准确度。
以上是对第一种情况下的介绍,下面介绍第二种情况。
在第二种情况下,如图13所示,步骤940具体包括:
步骤1310、获取第一意图标签中各个意图类别标识对应的类向量;
步骤1320、将类向量整合成意图识别模型的权重矩阵,从而生成意图识别模型。
下面对步骤1310-1320进行详细描述。
在步骤1310,第一意图标签中各个意图类别标识对应的类向量的获取方式包括但不限于以下方式:
(1)根据意图类别标识查找标识与类向量对照表,以获取类向量。如下是一个标识与类向量对照表的例子:
意图类别标识 类向量
001 10000001
002 10000010
003 10000011
004 10000100
005 10000101
006 10000110
表1
如表1所示,意图类别标识中的001对应的类向量为10000001,002对应的类向量为10000010,003对应的类向量为10000011,004对应的类向量为10000100,005对应的类向量为10000110,006对应的类向量为10000110。
(2)将意图类别标识对应的识别意图文本描述进行向量转化,以获取类向量。与上述查找对照表的方式相比,更具有灵活性。
在该情况具体实现时,步骤1310具体包括:
针对第一意图标签中各个意图类别标识对应的类,获取类中的各个识别意图文本描述的文本向量;
将类中的各个识别意图文本描述的文本向量的平均值,确定为意图类别标识对应的类向量。
例如,参照图11,第一意图标签{001,002,003}中涉及三个类,意图类别标识001对应类1,意图类别标识002对应类2,意图类别标识003对应类3。类1中各个识别意图文本描述为“XXX演唱会活动详情”和“XXX演唱会门票活动”。则对应的文本向量为[0.1,0.2,0.3,0.4]和[0.1,0.2,0.7,0.6]。计算平均值后,意图类别标识001的类向量为[0.1,0.2,0.5,0.5]。其他意图类别标识的类向量获取过程与意图类别标识001类似,不再赘述。
需要说明的是,该向量[0.1,0.2,0.5,0.5]可以进一步转化为如上文所示的向量[10000001],再进行步骤1320的权重矩阵构建,也可以直接根据向量[0.1,0.2,0.5,0.5]进行权重矩阵构建。
该方式(2)的好处是,除了提高获取类向量的灵活性之外,通过各类中各个识别意图文本描述的文本向量的平均值,使得类向量更能代表该类的识别意图,提高了第一意图标签的准确性。
在步骤1320中,参照图14,在得到类向量{10000001,10000010,10000011,10000100,10000110,10000110}之后,将类向量整合为意图识别模型的权重矩阵:
与上述第一种情况需要通过第一误差函数调整参数得到权重矩阵W的方式不同,该实施例无需构造误差函数,也不需要调整权重矩阵W的参数,而是直接根据类向量整合得到意图识别模型权重矩阵。(为了与经过不同生成方式所生成的意图识别模型进行区分,步骤1310-1320所生成的意图识别模型也称为第二分类模型)。
通过步骤1310-1320,本公开实施例将权重矩阵W看做意图类别标识的向量表示,使用类向量表示权重矩阵的参数,并冻结参数不更新。这样一来,无需繁琐的参数调整过程就完成了意图识别模型的生成,提高了处理效率。另外,该实施例中第一意图标签使用了意图类别标识对应的类向量,除了使得意图识别模型的生成无需训练之外,因此还具有意图体系扩展的能力(将在下文的意图识别模型的更新过程中详细描述)。
以上为第一种情形的详细描述,下面描述第二种情形。
在第二种情形下,第一意图标签是每一类对应的意图文本描述,参照图15,步骤1030具体包括:
步骤1510、获取聚类成的每一类的聚类中心对应的识别意图文本描述;
步骤1520、将聚类成的每一类的聚类中心对应的识别意图文本描述,整合为第一意图标签。
下面对步骤1510-1520进行详细描述。
参照图16,在步骤1510,聚类结果中有3类,包括类1、类2、以及类3。类1的聚类中心对应的识别意图文本描述为“XXX演唱会活动详情”。类2的聚类中心对应的识别意图文本描述为“XXX热门歌曲”。类3的聚类中心对应的识别意图文本描述为“XXX热播电视剧”。
继续参照图16,在步骤1520,将得到的识别意图文本描述进行整合,得到的第一意图标签为{XXX演唱会活动详情,XXX热门歌曲,XXX热播电视剧}。
通过步骤1510-1520,基于聚类中心对应的识别意图文本描述得到第一意图标签,不仅可以去除第一意图标签中重复的识别意图文本描述,且由于聚类中心往往代表该类的核心意图,使得第一意图标签更能代表对象的意图。
在第二种情形下,步骤940中意图识别模型的生成过程又与上文中第一意图标签为意图类别标识的第一种情形存在不同。
参照图17,在一实施例中,步骤940包括:
步骤1710、将第一样本文本集中的每个第一样本文本输入意图识别模型,得到生成的意图文本描述;
步骤1720、基于生成的意图文本描述与第一意图标签中有差异的字符数,构造第二误差函数;
步骤1730、基于第二误差函数,训练意图识别模型。
下面对步骤1710-1730进行详细描述。
在步骤1710,将第一样本文本输入意图识别模型。这与步骤330是类似的,只不过这里输入意图识别模型的是模型训练过程中产生的第一样本文本,在步骤330中输入意图识别模型的是模型使用中产生的目标文本。对于每个第一样本文本,意图识别模型输出一个意图文本描述。这里的意图识别模型可以使用生成模型,如GPT模型、T5模型等生成模型。训练既可以采用微调的训练方式(Finetune),也可以采用高效参数微调的方式(Parameter-Efficient Fine-Tuning)。
接着,在步骤1720,基于生成的意图文本描述与第一意图标签中有差异的字符数,构造第二误差函数。第二误差函数是用于衡量意图识别模型的判定误差的函数,它体现了意图识别模型的训练效果。第二误差函数越小,说明意图识别模型训练得越好。
例如,第一样本文本为“XXX好久没开演唱会了”,对应的意图文本描述为“XXX演唱会购票网站”,对应的第一意图标签为{XXX演唱会活动详情,XXX热门歌曲,XXX热播电视剧}。则该示例中,意图文本描述与第一意图标签中相同的字符为“XXX演唱会”,且有差异的字符为“购票网站”,所以有差异的字符数为4个。
具体地,在一个实施例中,可以构造第二误差函数如下:
其中,L2为第二误差函数;N2为意图文本描述的总字符数;n2为意图文本描述与第一意图标签中有差异的总字符数。
需要说明的是,上述公式2不是唯一的。例如,可以对公式2的对数运算去掉。
接着,在步骤1730,构造出第二误差函数后,可以基于第二误差函数训练意图识别模型,也就是调整意图识别模型的参数。具体地,可以预先设置第二阈值。当第二误差函数小于第二阈值时,训练过程结束。当第二误差函数大于或等于第二阈值时,调整意图识别模型的参数,直到第二误差函数小于第二阈值为止。(为了与经过不同生成方式所生成的意图识别模型进行区分,步骤1710-1730所生成的意图识别模型也称为意图描述生成模型)。
步骤1710-1730在第一意图标签为意图文本描述的情况下,通过构造第二误差函数对意图识别模型进行训练,提高了训练出的模型生成意图文本描述的准确度。
以上为第二种情形的详细描述,下面描述第三种情形。
在第三种情形下,第一意图标签是每一类对应的意图文本描述的文本向量。参照图18,步骤1030具体包括:
步骤1810、针对聚类成的每一类,获取类中的各个识别意图文本描述的文本向量;
步骤1830、将类中的各个识别意图文本描述的文本向量的平均值,确定为类向量;
步骤1830、将各类的类向量整合为第一意图标签。
下面对步骤1810-1830进行详细描述。
在步骤1810,可使用word2vec、bert等模型对聚类后同一类别中的所有识别意图表述文本进行编码,得到文本向量。
参照图19,类1中“XXX演唱会活动详情”的文本向量为[0.3,0.4,0.2,0.7],类1中“XXX演唱会门票活动”的文本向量为[0.3,0.4,0.1,0.7],类2中“XXX热门歌曲”的文本向量为[0.3,0.8,0.7,0.1],类3中“XXX热播电视剧”的文本向量为[0.3,0.5,0.3,0.8],类3中“XXX最新上映电影”的文本向量为[0.3,0.6,0.5,0.8]。
继续参照图19,在步骤1820中,对类1中的[0.3,0.4,0.2,0.7]和[0.3,0.4,0.1,0.7]计算平均值,得到类1的平均值为[0.3,0.4,0.15,0.7];类2的平均值为[0.3,0.8,0.7,0.1];对类3中的[0.3,0.5,0.3,0.8]和[0.3,0.6,0.5,0.8]计算平均值,得到类3的平均值为[0.3,0.55,0.4,0.8]。
继续参照图19,在步骤1830中,第一意图标签为{[0.3,0.4,0.15,0.7],[0.3,0.8,0.7,0.1],[0.3,0.55,0.4,0.8]}。
通过步骤1810-1830,利用各类中文本向量的平均值确定第一意图标签,使得第一意图标签更能表示出第一样本文本中对象的意图,提高了意图表示准确率。
在第三种情形下,步骤940中意图识别模型的生成过程又与上文中第一种情形和第二种情形存在不同。
在这种情形下,训练语料中的正样本为有意图对应关系的(第一样本文本,第一意图标签)数据对,负样本可以通过随机采用构建没有对应关系的数据对,训练目标为拉近有对应关系的数据对的向量距离,拉远没有对应关系的数据对。
在该实施例具体实现时,参照图20,步骤940包括:
步骤2010、对于第一样本文本集中的部分第一样本文本,修改第一样本文本、和第一样本文本的第一意图标签中的至少一个,得到第二样本文本和第二样本文本的第二意图标签;
步骤2020、将每个第一样本文本向量化,得到第一文本向量,并将每个第二样本文本向量化,得到第二文本向量;
步骤2030、确定第一文本向量与第一意图标签之间的第一距离、和第二文本向量与第二意图标签之间的第二距离;
步骤2040、构造第三误差函数,第三误差函数是第一距离的增函数,是第二距离的减函数;
步骤2050、基于第三误差函数,训练意图识别模型。
下面对步骤2010-2050进行详细描述。
在步骤2010,第一样本文本集中的第一样本文本和第一意图标签是一一对应的,它们作为训练语料中的正样本。在修改第一样本文本、和第一样本文本的第一意图标签中的至少一个之后,将会得到第二样本文本和第二样本文本的第二意图标签。这里的第二样本文本和第二意图标签并非一一对应,它们作为训练语料中的负样本。
例如,第一样本文本为“XXX好久没开演唱会了”,对应的第一意图标签为{[0.3,0.4,0.15,0.7],[0.3,0.8,0.7,0.1],[0.3,0.55,0.4,0.8]}。若将第一样本文本“XXX好久没开演唱会了”修改为“最近天气都不太好”,则对应地,第二样本文本为“最近天气都不太好”,第二意图标签为{[0.3,0.4,0.15,0.7],[0.3,0.8,0.7,0.1],[0.3,0.55,0.4,0.8]}。
接着,在步骤2020,将每个第一样本文本向量化,得到第一文本向量,并将每个第二样本文本向量化,得到第二文本向量。第一文本向量为第一样本文本转化成的向量代码,它能代表第一样本文本。第二文本向量为第二样本文本转化成的向量代码,它能代表第二样本文本。例如,第一样本文本为“XXX好久没开演唱会了”,对应的第一文本向量为[0.3,0.1,0.3,0.7]。又例如,第二样本文本为“最近天气都不太好”,对应的第二文本向量为[0.6,0.4,0.1,0.2]。
接着,在步骤2030,第一距离是指第一文本向量与第一意图标签之间的向量距离,第二距离是指第二文本向量与第二意图标签之间的向量距离。
具体地,在一个实施例中,可以构造向量距离如下:
D=|U-V| 公式3
其中,D为向量距离。U与V均表示向量。若U为第一文本向量,则V为第一意图标签。若U为第二文本向量,则V为第二意图标签。
除了上述公式3,也可以基于欧氏距离计算第一距离或第二距离,还可以基于余弦相似度计算第一距离或第二距离。
接着,在步骤2040,构造第三误差函数,第三误差函数是第一距离的增函数,是第二距离的减函数。
第三误差函数是用于衡量意图识别模型的判定误差的函数,它体现了意图识别模型的训练效果。第三误差函数越小,说明意图识别模型训练得越好。
由于第一距离体现的是第一文本向量与第一意图标签的向量接近程度,而第一文本向量与第一意图标签是根据上文构造出的正样本,因此期望意图识别模型能将第一距离识别成越小越好。第一距离越小,说明意图识别模型训练得越好,即第一误差函数越小。第一误差函数是第一距离的增函数。类似地,由于第二文本向量是由与第二意图标签是根据上文构造出的负样本,因此,设置第一误差函数是第二距离的减函数。
在一个实施例中,第三误差函数可以表示为:
其中,是第一文本向量,/>是第一意图标签,/>是第二文本向量,/>是第二意图标签,/>是第一距离,/>是第二距离,Li是第i个样本文本的第三误差函数。从中看出,第三误差函数Li是第一距离/>的增函数,是第二距离/>的减函数。
在另一个实施例中,第三误差函数可以表示为:
公式2的分母用取代了/>这样做是考虑到一旦第一距离很小可能会导致的分数值无穷大的影响。在公式5中,即使/>接近于0,但分母仍维持在1左右,这样能够在训练时加快意图识别模型的收敛,提高训练效率。
在另一个实施例中,第三误差函数可以表示为:
公式6相当于公式5的分子分母颠倒并求对数的相反数。求对数使得在被指数化后整个函数的取值范围能够大体恢复到之前的水平,更有利于训练意图识别模型时模型的收敛。
接着,在步骤2050,基于第三误差函数,训练意图识别模型。具体地,可以预先设置第三阈值。当第三误差函数小于第三阈值时,训练过程结束。当第三误差函数大于或等于第三阈值时,调整意图识别模型的参数,直到第三误差函数小于第三阈值为止。(为了与经过不同生成方式所生成的意图识别模型进行区分,步骤2010-2050所生成的意图识别模型也称为语义匹配模型)。
通过上述步骤2010-2050,在第一意图标签为文本向量的情况下,通过构造第三误差函数对意图识别模型进行训练。通过这种方式,拉近了第一样本文本与第一意图标签之间的距离,拉远了第二样本文本与第二意图标签之间的距离,提高了训练出的模型对向量距离的判定的准确度。
另外,上述实施例采用修改第一样本文本、和第一样本文本的第一意图标签中的至少一个,得到第二样本文本和第二样本文本的第二意图标签,相当于是基于具备意图对应关系的第一样本文本和第一意图标签,生成了不具备意图对应关系的第二样本文本和第二意图标签。相比于通过样本和意图进行随机组合得到第二样本文本和第二意图标签的方式,本实施例提高了所生成的第二样本文本与第二意图标签不具备意图对应关系的准确率。
接着,结合图21详细描述双塔训练方式下的上述意图识别模型的生成过程。双塔训练方式,包括DSSM模型、sentence-bert模型等,图21以sentence-bert模型为例。
参照图21,意图识别模型包括第一模型、第二模型、池化层、以及分类器。第一模型是将句子W1转换成向量U的模型,如卷积神经网络(CNN)。第二模型是将句子W2转换成向量V的模型,如CNN。通过第一模型和第二模型生成向量U和向量V的意义在于,分类器通常只能接收数字化的序列作为输入,经过运算,才能产生向量距离的分类结果。池化层的主要作用是降维。第一模型所直接输出的向量具有大的维度。将这些向量直接输出到分类器进行处理,将造成巨大的计算负担。因此,可以对第一模型输出的向量矩阵的某些分块用该分块的最大值或平均值等来代替,使得向量矩阵的维度减少,这叫做池化。池化层可以包括多个池化节点。每个池化节点对其负责的输入向量矩阵进行池化处理。
继续参照图21,将第一样本文本作为句子W1输入第一模型进行向量转化,并经过池化层之后,得到第一文本向量,以及将第一样本文本的识别意图文本描述作为句子W2输入第二模型进行向量转化,并经过池化层之后,得到第一意图标签。将第一文本向量作为向量U、第一意图标签作为向量V、以及向量U与向量V的第一距离|U-V|一起输入分类器,由分类器输出分类结果。第二样本文本与第一样本文本类似,也经过上述相同的过程,不同的是,分类器是根据第二样本文本的第二文本向量和第二意图标签之间的第二距离输出分类结果。
需要说明的是,在模型训练完成之后,在一实施例中,可以提前将所有的意图文本描述使用第二模型编码,并使用向量检索工具(faiss,onnx等)建立标签索引。这样一来,在模型实际使用的时候,只需要对利用目标输入法输入的目标文本使用第一模型编码后,就可在意图标签库中进行检索,从而获得与目标文本匹配的意图。
在该实施例具体实现时,步骤940还包括:
在意图标签库中存储第一样本文本集中每个第一样本文本的第一意图标签,并建立每一第一意图标签对应的标签索引;
对应地,步骤330包括:
将目标文本向量化,得到第三文本向量;
按照标签索引,在意图标签库中查找与第三文本向量匹配的第一意图标签,并输出与第一意图标签对应的目标意图。
标签索引是指为方便第一意图标签的检索而为第一意图标签建立的索引。它可以是第一意图标签的前N位,也可以是第一意图标签的摘要。当将目标文本与第一样本文本比较时,文本的比较在运算单元中难以执行,常常需要将这些文本向量化,进行向量的比较。在进行向量的比较过程中,如果向量过长,且意图标签库中要存储第一样本文本集中每个第一样本文本的第一意图标签,因此比较过程冗长。因此,可以采取仅比较目标文本向量化得到的第三文本向量的前N位与向量形式的第一意图标签的前N位,或者比较第三文本向量的摘要与第一意图标签的摘要的形式。通过标签索引查找匹配的第一意图标签,可以大大提高线上识别意图时的处理效率。
以上是第一意图标签和意图识别模型的生成过程的详细描述,下面对意图识别模型的更新过程展开详细描述。
意图识别模型更新过程
意图识别模型上线后,会出现了意图体系需要扩充新的意图的需求。例如,产品侧新增了论文自动排版的服务或能力,期望能够推荐给对象使用,本公开实施例不需要重新训练意图识别模型,就可实现新增意图的识别能力。不需要重新训练的意图识别模型主要是涉及上文中的第二分类模型和语义匹配模型。
在意图识别模型是上文中的第二分类模型(步骤1310-1320中的意图识别模型)的情况下,参照图22,在一实施例中,意图识别模型通过以下过程更新:
步骤2210、获取待增加意图的目标文本描述;
步骤2220、将目标文本描述向量化,得到目标文本向量;
步骤2230、将目标文本向量添加到意图识别模型的权重矩阵中,从而更新意图识别模型。
下面对步骤2210-2230进行详细描述。
在步骤2210,待增加意图是指期望推荐给对象使用的服务或功能。例如,待增加意图为论文自动排版功能。目标文本描述是一个文本,用于代表待增加意图。例如待增加意图为“论文自动排版功能”,则对应的目标文本描述可为“论文排版工具”。待增加意图与步骤1010中的识别意图类似,只不过这里的待增加意图的是模型更新过程中产生的,而步骤1010中的识别意图是模型训练过程中产生的。目标文本描述与步骤1510中的识别意图文本描述类似,只不过这里的目标文本描述的是模型更新过程中产生的,而步骤1510中的识别意图文本描述是模型训练过程中产生的。
在步骤2220,向量化是指将目标文本描述转化为向量序列,例如使用word2vec,bert等模型对目标文本描述进行向量化。参照图23,目标文本描述“论文排版工具”的目标文本向量为[10000111]。
在步骤2230,继续参照图23,将目标文本向量[10000111]添加到权重矩阵中,使得原先的权重矩阵新增一行,得到如下所示的权重矩阵:
通过步骤2210-2230,将待增加意图对应的目标文本向量添加到矩阵W中,适应修改预测代码,就可增加一个新的意图。无需对意图识别模型进行重新训练,实现意图体系的扩充,扩充效率高。
以上是对步骤2210-2230的总体描述,下面对步骤2210展开详细描述。
参照图24,在一实施例中,步骤2210包括:
步骤2410、获取待增加意图的候选文本描述集;
步骤2420、获取第三样本文本集,第三样本文本集中的每个第三样本文本触发待增加意图;
步骤2430、针对候选文本描述集中的每个候选文本描述,将候选文本描述作为第三样本文本集中的每个第三样本文本的标签,将每个第三样本文本输入评测模型,由评测模型输出判定的文本描述,将判定的文本描述与标签比对;
步骤2440、将判定的文本描述与标签不一致的第三样本文本数目最小的候选文本描述,作为目标文本描述。
下面对步骤2410-2440进行详细描述。
在步骤2410,候选文本描述集是指用于存放候选文本描述的容器。候选文本描述集中包括多个候选文本描述。例如,待增加意图为“论文自动排版功能”,则对应的候选文本描述可以为“论文排版工具”,也可以是“论文排版网站”,还可以是“论文排版要求”。
在步骤2420,第三样本文本集是指用于存放第三样本文本的容器。第三样本集中包括多个第三样本文本,且每个第三样本文本能够触发待增加意图。触发是指能够从第三样本文本中识别得到待增加意图。例如,第三样本文本为“我终于写完论文了”,此时期望能够给对象推荐“论文自动排版功能”,也就说明该第三样本文本可以触发待增加意图“论文自动排版功能”。
在步骤2430,将候选文本描述作为第三样本文本集中的每个第三样本文本的标签,例如第三样本文本“我终于写完论文了”的标签包括标签1“论文排版工具”、标签2“论文排版网站”,标签3“论文写作要求”。评测模型是指能够对第三样本文本对应的的意图文本描述进行判定的模型。由评测模型输出判定的文本描述,然后将判定的文本描述与标签比对。例如,将第三样本文本“我终于写完论文了”输入评测模型,输出判定的文本描述为“论文排版工具”。此时判定的文本描述“论文排版工具”与标签1一致,则标签1所对应的第三样本文本数目不变。而判定的文本描述“论文排版工具”与标签2不一致,则标签2所对应的第三样本文本数目加1。与标签2类似,标签3所对应的第三样本文本数目也加1。因此,判定的文本描述与标签不一致,则该标签所对应的第三样本文本数目越多,就越说明该标签不符合要求。
在步骤2440,将判定的文本描述与标签不一致的第三样本文本数目最小的候选文本描述,作为目标文本描述。例如上述的标签1,由于与判定的文本描述“论文排版工具”一致,相比标签2和标签3,标签1所对应的第三样本文本数目最小,所以将标签1对应的“论文排版工具”作为目标文本描述。
通过上述步骤2410-2440,利用评测模型对第三样本文本的判定从而从候选文本描述集中确定目标文本描述,使得目标文本描述更能代表文本中潜在的意图。
以上是对步骤2410-2440的总体描述,下面对步骤2410、步骤2420展开详细描述。
参照图25,在一实施例中,步骤2410具体包括:
步骤2510、获取待增加意图中的关键词;
步骤2520、基于关键词,生成包含关键词的第一候选文本描述;
步骤2530、基于第一候选文本描述,获取触发第一候选文本描述的第四样本文本;
步骤2540、将第四样本文本输入生成模型,得到第二候选文本描述;
步骤2550、将第一候选文本描述和第二候选文本描述整合成候选文本描述集。
下面对步骤2510-2550进行详细描述。
在步骤2510,可将待增加意图利用分词技术分词,再根据词的重要程度确定关键词,也可以将所有分词都作为关键词。以上述待增加意图“论文自动排版功能”为例,此时关键词为“论文”和“排版”。
在步骤2520,第一候选文本描述包括关键词,它能代表待增加意图。例如,参照图26,关键词为“论文”和“排版”的情况下,第一候选文本描述包括“论文排版工具”、以及“论文排版要求”等。
在步骤2530,第四样本文本能够触发第一候选文本描述。触发是指能够从第四样本文本中识别得到待增加意图的第一候选文本描述。例如,第四样本文本为“我刚刚才写完论文”,此时期望能够给对象推荐“论文自动排版功能”,则该第四样本文本可以触发待增加意图“论文自动排版功能”,也就是第四样本文本可以触发第一候选文本描述“论文排版工具”或“论文排版要求”。
在一实施例中,步骤2530具体包括:
在第一语料库中,查找与第一候选文本描述匹配的第一语句;
将第一语料库中第一语句之前的第二语句,作为触发第一候选文本描述的第四样本文本。
在该实施例中,第一语料库是指存放多个语句的数据库。第一语句是指在第一语料库中与第一候选文本描述匹配的语句。例如,与第一候选文本描述匹配的语句是指,在第一语料库中,多个语句中与第一候选文本描述具备相同的字符的数量最多的语句。例如,第一候选文本描述为“论文排版工具”(总字符数为6),且第一语料库中的一个语句为“需要一个论文排版工具”,此时两者相同的字符的数量为6,且最多也只能是6,所以将“需要一个论文排版工具”作为第一语句。
参照图27,第一候选文本描述为“论文排版工具”,且第一语料库存放的语句包括“很快就要毕业了,论文写作陷入了瓶颈。不过还好,今天终于克服了最后一个问题。不过,我刚刚才写完论文,需要一个论文排版工具,我去上网搜索看看”。对第一语料库进行查找后,查找到第一语句为“需要一个论文排版工具”,则对应地,第二语句为“我刚刚才写完论文”。因此,将第二语句作为第四样本文本,则该第四样本文本为“我刚刚才写完论文”。
在步骤2540,生成模型是指生成与输入文本的意图相关的输出文本的模型。该生成模型与步骤930中的大规模预训练语言模型类似,输出文本均可代表输入文本的意图文本描述。继续参照图26,将第四样本文本“我刚刚才写完论文”作为输入文本输入至生成模型,此时生成模型输出的第二候选文本描述为“论文排版网站”。
在步骤2550,继续参照图26,将第一候选文本描述和第二候选文本描述整合之后,候选文本描述集为{“论文排本工具”、“论文排版要求”、“论文排版网站}。
通过上述步骤2510-2550,通过基于关键词生成第一候选文本描述、以及基于第四样本文本和生成模型,生成第二候选文本描述的方式,实现自动获取候选文本描述集,无需进行大量的人工标注工作,且提高了处理效率。
以上是步骤2410的详细描述,下面对步骤2420展开详细描述。
在一实施例中,步骤2420具体包括:
在第二语料库中,查找与候选文本描述中任一候选文本描述匹配的第三语句;
将第二语料库中第三语句之前的第四语句,确定为第三样本文本,放入第三样本文本集。
在该实施例中,第二语料库是指存放多个语句的数据库。第三语句是指在第二语料库中与第一候选文本描述匹配的语句。例如,与第一候选文本描述匹配的语句是指,在第二语料库中,多个语句中与第一候选文本描述具备相同的字符的数量最多的语句。例如,第一候选文本描述为“论文排版工具”(总字符数为6),且第二语料库中的一个语句为“需要一个论文排版工具”,此时两者相同的字符的数量为6,且最多也只能是6,所以将“需要一个论文排版工具”作为第一语句。
参照图27,第一候选文本描述为“论文排版工具”,且第二语料库存放的语句包括“之前,别人推荐给我一个论文排版工具,但已经无法使用。现在,我终于写完论文了,需要新的论文排版工具,我去上网搜索看看”。对第二语料库进行查找后,查找到第三语句为“需要新的论文排版工具”,则对应地,第四语句为“我终于写完论文了”。因此,将第四语句作为第三样本文本,则该第三样本文本为“我终于写完论文了”。
以上是在意图识别模型是上文中的第二分类模型(步骤1310-1320中的意图识别模型)的情况下的模型更新过程,下面对意图识别模型是上文中的语义匹配模型(步骤2010-2050中的意图识别模型)的情况下的模型更新过程展开描述。
参照图29,在一实施例中,意图识别模型通过以下过程更新:
步骤2910、获取待增加意图的目标文本描述;
步骤2920、将目标文本描述向量化,得到待增加第一意图标签,以增加到意图标签库中存储的第一意图标签中。
下面对步骤2910-2920进行详细描述。
在步骤2910,待增加意图是指期望推荐给对象使用的服务或功能。例如,待增加意图为论文自动排版功能。目标文本描述是一个文本,用于代表待增加意图。例如待增加意图为“论文自动排版功能”,则对应的目标文本描述可为“论文排版工具”。步骤2910中的待增加意图与步骤2210中的待增加意图相同,步骤2910中的目标文本描述也与步骤2210中的目标文本描述相同。
在步骤2920,向量化是指将目标文本描述转化为向量序列,例如使用word2vec,bert等模型对目标文本描述进行向量化。参照图30,目标文本描述“论文排版工具”向量后得到[10000111],也就是待增加第一意图标签为[10000111]。
继续参照图30,意图标签库是至存放标签索引和标签索引对应的第一意图标签的数据库。原先的意图标签库中存放有标签索引1-6、以及标签索引1-6对应的第一意图标签,第一意图标签包括[10000001]、[10000010]、[10000011]、[10000100]、[10000101]、以及[10000110]。在增加[10000111]到意图标签库之后,意图标签库新增标签索引7,以及标签索引7对应的第一意图标签[10000111]。
通过步骤2910-2920,将待增加意图对应的待增加意图标签添加到意图标签库中,适应修改预测代码,就可增加一个新的意图。无需对意图识别模型进行重新训练,实现意图体系的扩充,扩充效率高。
以上是对步骤2910-2920的总体描述,下面对步骤2910-2920展开详细描述。
在一实施例中,步骤2910包括:
获取待增加意图的候选文本描述集;
获取第三样本文本集,第三样本文本集中的每个第三样本文本触发待增加意图;
针对候选文本描述集中的每个候选文本描述,将候选文本描述作为第三样本文本集中的每个第三样本文本的标签,将每个第三样本文本输入评测模型,由评测模型输出判定的文本描述,将判定的文本描述与标签比对;
将判定的文本描述与标签不一致的第三样本文本数目最小的候选文本描述,作为目标文本描述。
需要说明的是,该实施例与步骤2410-2440类似,相关解释以及作用请参照上文,为了节省篇幅,此处不再赘述。
通过该实施例,利用评测模型对第三样本文本的判定从而从候选文本描述集中确定目标文本描述,使得目标文本描述更能代表文本中潜在的意图。
以上是对步骤2910-2920的详细描述。
综合上述本公开实施例的输入法中的信息推荐方法,本公开实施例包括但不限于以下优点:(1)借助大规模预训练语言模型自动挖掘意图体系,并通过聚类等方式获得意图类别,降低了人工梳理意图体系的难度;在挖掘意图的同时,还可以获得训练语料。在整个过程中,只需要少量的人工参与。(2)借助大规模预训练语言模型的泛化能力,解决隐性意图的识别问题。(3)大规模预训练语言模型,对同一文本能够同时挖掘出多个意图,缓解多意图的问题。(4)具有灵活的意图体系(服务增、删、改)更新方案,无需重新训练意图识别模型,便可以扩充意图体系,大大降低了意图体系扩充的成本与时间周期。
本公开实施例的装置和设备描述
可以理解的是,虽然上述各个流程图中的各个步骤按照箭头的表征依次显示,但是这些步骤并不是必然按照箭头表征的顺序依次执行。除非本实施例中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时间执行完成,而是可以在不同的时间执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据目标对象属性信息或属性信息集合等与目标对象特性相关的数据进行相关处理时,都会先获得目标对象的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本申请实施例需要获取目标对象属性信息时,会通过弹窗或者跳转到确认页面等方式获得目标对象的单独许可或者单独同意,在明确获得目标对象的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的目标对象相关数据。
图31为本公开实施例提供的输入法中的信息推荐装置3100的结构示意图。该输入法中的信息推荐装置3100包括:
检测单元3110,用于检测对目标输入法的启动;
第一获取单元3120,用于获取利用目标输入法输入的目标文本;
第一输入单元3130,用于将目标文本输入意图识别模型,由意图识别模型输出目标文本对应的目标意图;
搜索单元3140,用于基于目标意图搜索到目标信息;
显示单元3150,用于将目标信息显示在使用目标输入法的终端;
其中,意图识别模型通过以下过程预先生成:获取第一样本文本集,第一样本文本集包括多个第一样本文本;为第一样本文本集中的每个第一样本文本,增加引导语,生成第一样本引导文本;将第一样本引导文本输入大规模预训练语言模型,得到第一样本文本的第一意图标签;基于每个第一样本文本的第一意图标签,生成意图识别模型。
可选地,第一输入单元3130用于:
将第一样本引导文本输入多个大规模预训练语言模型,将每个大规模预训练语言模型输出的识别意图组合成识别意图集;
对识别意图集中的识别意图进行聚类;
基于聚类结果,生成第一意图标签。
可选地,第一输入单元3130用于:
为聚类成的每一类分配意图类别标识,意图类别标识互不相同;
将聚类成的每一类所对应的意图类别标识整合为第一意图标签。
可选地,第一输入单元3130用于:
将第一样本文本集中的每个第一样本文本向量化,得到第一文本向量;
将第一文本向量输入意图识别模型,得到判定的意图类别标识,与第一样本文本对应的第一意图标签比较;
构造第一误差函数,第一误差函数为第一样本文本集中判定的意图类别标识与第一意图标签不同的第一样本文本数目,与第一样本文本集中的第一样本文本总数的比;
基于第一误差函数,训练意图识别模型。
可选地,第一输入单元3130用于:
获取第一意图标签中各个意图类别标识对应的类向量;
将类向量整合成意图识别模型的权重矩阵,从而生成意图识别模型。
可选地,第一输入单元3130用于:
获取待增加意图的目标文本描述;
将目标文本描述向量化,得到目标文本向量;
将目标文本向量添加到意图识别模型的权重矩阵中,从而更新意图识别模型。
可选地,第一输入单元3130用于:
获取待增加意图的候选文本描述集;
获取第三样本文本集,第三样本文本集中的每个第三样本文本触发待增加意图;
针对候选文本描述集中的每个候选文本描述,将候选文本描述作为第三样本文本集中的每个第三样本文本的标签,将每个第三样本文本输入评测模型,由评测模型输出判定的文本描述,将判定的文本描述与标签比对;
将判定的文本描述与标签不一致的第三样本文本数目最小的候选文本描述,作为目标文本描述。
可选地,第一输入单元3130用于:
获取待增加意图中的关键词;
基于关键词,生成包含关键词的第一候选文本描述;
基于第一候选文本描述,获取触发第一候选文本描述的第四样本文本;
将第四样本文本输入生成模型,得到第二候选文本描述;
将第一候选文本描述和第二候选文本描述整合成候选文本描述集。
可选地,第一输入单元3130用于:
在第一语料库中,查找与第一候选文本描述匹配的第一语句;
将第一语料库中第一语句之前的第二语句,作为触发第一候选文本描述的第四样本文本。
可选地,第一输入单元3130用于:
在第二语料库中,查找与候选文本描述中任一候选文本描述匹配的第三语句;
将第二语料库中第三语句之前的第四语句,确定为第三样本文本,放入第三样本文本集。
可选地,第一输入单元3130用于:
针对第一意图标签中各个意图类别标识对应的类,获取类中的各个识别意图文本描述的文本向量;
将类中的各个识别意图文本描述的文本向量的平均值,确定为意图类别标识对应的类向量。
可选地,第一输入单元3130用于:
获取聚类成的每一类的聚类中心对应的识别意图文本描述;
将聚类成的每一类的聚类中心对应的识别意图文本描述,整合为第一意图标签。
可选地,第一输入单元3130用于:
将第一样本文本集中的每个第一样本文本输入意图识别模型,得到生成的意图文本描述;
基于生成的意图文本描述与第一意图标签中有差异的字符数,构造第二误差函数;
基于第二误差函数,训练意图识别模型。
可选地,第一输入单元3130用于:
针对聚类成的每一类,获取类中的各个识别意图文本描述的文本向量;
将类中的各个识别意图文本描述的文本向量的平均值,确定为类向量;
将各类的类向量整合为第一意图标签。
可选地,第一输入单元3130用于:
对于第一样本文本集中的部分第一样本文本,修改第一样本文本、和第一样本文本的第一意图标签中的至少一个,得到第二样本文本和第二样本文本的第二意图标签;
将每个第一样本文本向量化,得到第一文本向量,并将每个第二样本文本向量化,得到第二文本向量;
确定第一文本向量与第一意图标签之间的第一距离、和第二文本向量与第二意图标签之间的第二距离;
构造第三误差函数,第三误差函数是第一距离的增函数,是第二距离的减函数;
基于第三误差函数,训练意图识别模型。
可选地,第一输入单元3130还用于:在意图标签库中存储第一样本文本集中每个第一样本文本的第一意图标签,并建立每一第一意图标签对应的标签索引;
第一输入单元3130还用于:
将目标文本向量化,得到第三文本向量;
按照标签索引,在意图标签库中查找与第三文本向量匹配的第一意图标签,并输出与第一意图标签对应的目标意图。
可选地,第一输入单元3130用于:
获取待增加意图的目标文本描述;
将目标文本描述向量化,得到待增加第一意图标签,以增加到意图标签库中存储的第一意图标签中。
参照图32,图32为实现本公开实施例的输入法中的信息推荐方法的终端的部分的结构框图,该终端包括:射频(Radio Frequency,简称RF)电路3210、存储器3215、输入单元3230、显示单元3240、传感器3250、音频电路3260、无线保真(wireless fidelity,简称WiFi)模块3270、处理器3280、以及电源3290等部件。本领域技术人员可以理解,图32示出的终端结构并不构成对手机或电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
RF电路3210可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器3280处理;另外,将设计上行的数据发送给基站。
存储器3215可用于存储软件程序以及模块,处理器3280通过运行存储在存储器3215的软件程序以及模块,从而执行对象终端的各种功能应用以及数据处理。
输入单元3230可用于接收输入的数字或字符信息,以及产生与对象终端的设置以及功能控制有关的键信号输入。具体地,输入单元3230可包括触控面板3231以及其他输入装置3232。
显示单元3240可用于显示输入的信息或提供的信息以及对象终端的各种菜单。显示单元3240可包括显示面板3241。
音频电路3260、扬声器3261,传声器3262可提供音频接口。
在本实施例中,该终端所包括的处理器3280可以执行前面实施例的输入法中的信息推荐方法。
本公开实施例的终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。本发明实施例可应用于各种场景,包括但不限于输入法、信息推荐、意图识别、智能客服等。
图33为实施本公开实施例的输入法中的信息推荐方法的服务器的部分的结构框图。服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)3322(例如,一个或一个以上处理器)和存储器3332,一个或一个以上存储应用程序3342或数据3344的存储介质3330(例如一个或一个以上海量存储装置)。其中,存储器3332和存储介质3330可以是短暂存储或持久存储。存储在存储介质3330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器3322可以设置为与存储介质3330通信,在服务器上执行存储介质3330中的一系列指令操作。
服务器还可以包括一个或一个以上电源3326,一个或一个以上有线或无线网络接口3350,一个或一个以上输入输出接口3358,和/或,一个或一个以上操作系统3341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
服务器中的中央处理器3322可以用于执行本公开实施例的输入法中的信息推荐方法。
本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述各个实施例的输入法中的信息推荐方法。
本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序。计算机设备的处理器读取该计算机程序并执行,使得该计算机设备执行实现上述的输入法中的信息推荐方法。
本公开的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“包含”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或单元。
应当理解,在本公开中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
应了解,在本公开实施例的描述中,多个(或多项)的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
在本公开所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
还应了解,本公开实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。
以上是对本公开的实施方式的具体说明,但本公开并不局限于上述实施方式,熟悉本领域的技术人员在不违背本公开精神的条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本公开权利要求所限定的范围内。

Claims (20)

1.一种输入法中的信息推荐方法,其特征在于,包括:
检测对目标输入法的启动;
获取利用所述目标输入法输入的目标文本;
将所述目标文本输入意图识别模型,由所述意图识别模型输出所述目标文本对应的目标意图;
基于所述目标意图搜索到目标信息;
将所述目标信息显示在使用所述目标输入法的终端;
其中,所述意图识别模型通过以下过程预先生成:获取第一样本文本集,所述第一样本文本集包括多个第一样本文本;为所述第一样本文本集中的每个所述第一样本文本,增加引导语,生成第一样本引导文本;将所述第一样本引导文本输入大规模预训练语言模型,得到所述第一样本文本的第一意图标签;基于每个所述第一样本文本的所述第一意图标签,生成所述意图识别模型。
2.根据权利要求1所述的信息推荐方法,其特征在于,所述将所述第一样本引导文本输入大规模预训练语言模型,得到所述第一样本文本的第一意图标签,包括:
将所述第一样本引导文本输入多个所述大规模预训练语言模型,将每个所述大规模预训练语言模型输出的识别意图组合成识别意图集;
对所述识别意图集中的所述识别意图进行聚类;
基于聚类结果,生成所述第一意图标签。
3.根据权利要求2所述的信息推荐方法,其特征在于,所述基于聚类结果,生成所述第一意图标签,包括:
为聚类成的每一类分配意图类别标识,所述意图类别标识互不相同;
将聚类成的每一类所对应的所述意图类别标识整合为所述第一意图标签。
4.根据权利要求3所述的信息推荐方法,其特征在于,所述基于每个所述第一样本文本的所述第一意图标签,生成所述意图识别模型,包括:
将所述第一样本文本集中的每个所述第一样本文本向量化,得到第一文本向量;
将所述第一文本向量输入所述意图识别模型,得到判定的意图类别标识,与所述第一样本文本对应的所述第一意图标签比较;
构造第一误差函数,所述第一误差函数为所述第一样本文本集中所述判定的意图类别标识与所述第一意图标签不同的第一样本文本数目,与所述第一样本文本集中的第一样本文本总数的比;
基于第一误差函数,训练所述意图识别模型。
5.根据权利要求3所述的信息推荐方法,其特征在于,所述基于每个所述第一样本文本的所述第一意图标签,生成所述意图识别模型,包括:
获取所述第一意图标签中各个所述意图类别标识对应的类向量;
将所述类向量整合成所述意图识别模型的权重矩阵,从而生成所述意图识别模型。
6.根据权利要求5所述的信息推荐方法,其特征在于,所述意图识别模型通过以下过程更新:
获取待增加意图的目标文本描述;
将所述目标文本描述向量化,得到目标文本向量;
将所述目标文本向量添加到所述意图识别模型的权重矩阵中,从而更新所述意图识别模型。
7.根据权利要求6所述的信息推荐方法,其特征在于,所述获取待增加意图的目标文本描述,包括:
获取所述待增加意图的候选文本描述集;
获取第三样本文本集,所述第三样本文本集中的每个第三样本文本触发所述待增加意图;
针对所述候选文本描述集中的每个候选文本描述,将所述候选文本描述作为所述第三样本文本集中的每个所述第三样本文本的标签,将每个所述第三样本文本输入评测模型,由所述评测模型输出判定的文本描述,将判定的所述文本描述与所述标签比对;
将判定的所述文本描述与所述标签不一致的第三样本文本数目最小的所述候选文本描述,作为所述目标文本描述。
8.根据权利要求7所述的信息推荐方法,其特征在于,所述获取所述待增加意图的候选文本描述集,包括:
获取所述待增加意图中的关键词;
基于所述关键词,生成包含所述关键词的第一候选文本描述;
基于所述第一候选文本描述,获取触发所述第一候选文本描述的第四样本文本;
将所述第四样本文本输入生成模型,得到第二候选文本描述;
将所述第一候选文本描述和所述第二候选文本描述整合成所述候选文本描述集。
9.根据权利要求8所述的信息推荐方法,其特征在于,所述基于所述第一候选文本描述,获取触发所述第一候选文本描述的第四样本文本,包括:
在第一语料库中,查找与所述第一候选文本描述匹配的第一语句;
将所述第一语料库中所述第一语句之前的第二语句,作为触发所述第一候选文本描述的第四样本文本。
10.根据权利要求7所述的信息推荐方法,其特征在于,所述获取第三样本文本集,包括:
在第二语料库中,查找与所述候选文本描述中任一候选文本描述匹配的第三语句;
将所述第二语料库中所述第三语句之前的第四语句,确定为所述第三样本文本,放入所述第三样本文本集。
11.根据权利要求2所述的信息推荐方法,其特征在于,所述基于聚类结果,生成所述第一意图标签,包括:
获取所述聚类成的每一类的聚类中心对应的识别意图文本描述;
将所述聚类成的每一类的所述聚类中心对应的所述识别意图文本描述,整合为所述第一意图标签。
12.根据权利要求11所述的信息推荐方法,其特征在于,所述基于每个所述第一样本文本的所述第一意图标签,生成所述意图识别模型,包括:
将所述第一样本文本集中的每个所述第一样本文本输入所述意图识别模型,得到生成的意图文本描述;
基于所述生成的意图文本描述与所述第一意图标签中有差异的字符数,构造第二误差函数;
基于所述第二误差函数,训练所述意图识别模型。
13.根据权利要求2所述的信息推荐方法,其特征在于,所述针对聚类成的每一类的所述识别意图,生成所述第一意图标签,包括:
针对所述聚类成的每一类,获取所述类中的各个所述识别意图文本描述的文本向量;
将所述类中的各个所述识别意图文本描述的文本向量的平均值,确定为类向量;
将各类的所述类向量整合为所述第一意图标签。
14.根据权利要求13所述的信息推荐方法,其特征在于,所述基于每个所述样本文本的所述第一意图标签,生成所述意图识别模型,包括:
对于所述第一样本文本集中的部分所述第一样本文本,修改所述第一样本文本、和所述第一样本文本的第一意图标签中的至少一个,得到第二样本文本和所述第二样本文本的第二意图标签;
将每个所述第一样本文本向量化,得到第一文本向量,并将每个所述第二样本文本向量化,得到第二文本向量;
确定所述第一文本向量与所述第一意图标签之间的第一距离、和所述第二文本向量与所述第二意图标签之间的第二距离;
构造第三误差函数,所述第三误差函数是所述第一距离的增函数,是所述第二距离的减函数;
基于所述第三误差函数,训练所述意图识别模型。
15.根据权利要求13所述的信息推荐方法,其特征在于,所述基于每个所述样本文本的所述第一意图标签,生成所述意图识别模型,还包括:在意图标签库中存储所述第一样本文本集中每个所述第一样本文本的所述第一意图标签,并建立每一所述第一意图标签对应的标签索引;
所述将所述目标文本输入意图识别模型,由所述意图识别模型输出所述目标文本对应的目标意图,包括:
将所述目标文本向量化,得到第三文本向量;
按照所述标签索引,在所述意图标签库中查找与所述第三文本向量匹配的所述第一意图标签,并输出与所述第一意图标签对应的所述目标意图。
16.根据权利要求15所述的信息推荐方法,其特征在于,所述意图识别模型通过以下过程更新:
获取待增加意图的目标文本描述;
将所述目标文本描述向量化,得到待增加第一意图标签,以增加到所述意图标签库中存储的所述第一意图标签中。
17.一种输入法中的信息推荐装置,其特征在于,包括:
检测单元,用于检测对目标输入法的启动;
第一获取单元,用于获取利用所述目标输入法输入的目标文本;
第一输入单元,用于将所述目标文本输入意图识别模型,由所述意图识别模型输出所述目标文本对应的目标意图;
搜索单元,用于基于所述目标意图搜索到目标信息;
显示单元,用于将所述目标信息显示在使用所述目标输入法的终端,
其中,所述意图识别模型通过以下过程预先生成:获取第一样本文本集,所述第一样本文本集包括多个第一样本文本;为所述第一样本文本集中的每个所述第一样本文本,增加引导语,生成第一样本引导文本;将所述第一样本引导文本输入大规模预训练语言模型,得到所述第一样本文本的第一意图标签;基于每个所述第一样本文本的所述第一意图标签,生成所述意图识别模型。
18.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现根据权利要求1至16任意一项所述的输入法中的信息推荐方法。
19.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现根据权利要求1至16任意一项所述的输入法中的信息推荐方法。
20.一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器读取并执行,使得该计算机设备执行根据权利要求1至16任意一项所述的输入法中的信息推荐方法。
CN202310501071.9A 2023-05-05 2023-05-05 输入法中的信息推荐方法、相关装置和介质 Pending CN116954386A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310501071.9A CN116954386A (zh) 2023-05-05 2023-05-05 输入法中的信息推荐方法、相关装置和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310501071.9A CN116954386A (zh) 2023-05-05 2023-05-05 输入法中的信息推荐方法、相关装置和介质

Publications (1)

Publication Number Publication Date
CN116954386A true CN116954386A (zh) 2023-10-27

Family

ID=88446829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310501071.9A Pending CN116954386A (zh) 2023-05-05 2023-05-05 输入法中的信息推荐方法、相关装置和介质

Country Status (1)

Country Link
CN (1) CN116954386A (zh)

Similar Documents

Publication Publication Date Title
CN111444428B (zh) 基于人工智能的信息推荐方法、装置、电子设备及存储介质
CN109918673B (zh) 语义仲裁方法、装置、电子设备和计算机可读存储介质
CN110168535B (zh) 一种信息处理方法及终端、计算机存储介质
CN109165302B (zh) 多媒体文件推荐方法及装置
CN111753060A (zh) 信息检索方法、装置、设备及计算机可读存储介质
CN110619051B (zh) 问题语句分类方法、装置、电子设备及存储介质
CN110659366A (zh) 语义解析方法、装置、电子设备以及存储介质
CN112395506A (zh) 一种资讯推荐方法、装置、电子设备和存储介质
CN105956053B (zh) 一种基于网络信息的搜索方法及装置
CN109408622A (zh) 语句处理方法及其装置、设备和存储介质
CN113590850A (zh) 多媒体数据的搜索方法、装置、设备及存储介质
CN111046656A (zh) 文本处理方法、装置、电子设备及可读存储介质
CN111159409B (zh) 基于人工智能的文本分类方法、装置、设备、介质
CN112231569A (zh) 新闻推荐方法、装置、计算机设备及存储介质
CN110162675B (zh) 应答语句的生成方法、装置、计算机可读介质及电子设备
CN108710653B (zh) 一种绘本朗读点播方法、装置及系统
CN113806588B (zh) 搜索视频的方法和装置
Liu et al. Open intent discovery through unsupervised semantic clustering and dependency parsing
CN112417121A (zh) 客户意图识别方法、装置、计算机设备及存储介质
CN111414471B (zh) 用于输出信息的方法和装置
CN113343108A (zh) 推荐信息处理方法、装置、设备及存储介质
CN110795547A (zh) 文本识别方法和相关产品
CN114298007A (zh) 一种文本相似度确定方法、装置、设备及介质
CN111444321A (zh) 问答方法、装置、电子设备和存储介质
CN117609612A (zh) 资源推荐方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication