CN114706987B - 文本类目预测方法、装置、设备、存储介质和程序产品 - Google Patents
文本类目预测方法、装置、设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN114706987B CN114706987B CN202210630816.7A CN202210630816A CN114706987B CN 114706987 B CN114706987 B CN 114706987B CN 202210630816 A CN202210630816 A CN 202210630816A CN 114706987 B CN114706987 B CN 114706987B
- Authority
- CN
- China
- Prior art keywords
- vector
- category
- word
- decoding
- coding
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本申请涉及一种文本类目预测方法、装置、计算机设备、存储介质和计算机程序产品。该方法涉及人工智能的自动文本分类技术,该方法包括:通过训练好的文本类目预测模型的编码层,根据短文本中每个字的语义向量进行语义编码,得到短文本的语义编码向量;通过文本类目预测模型的解码层,根据语义编码向量进行首次解码得到首个解码隐藏向量以及基于首个解码隐藏向量获得短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码;将解码得到的多个类目按层级进行组合,获得短文本对应的类目路径,能够改善多层级类目路径的父子节点一致性问题,准确预测文本的类目路径。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种文本类目预测方法、装置、计算机设备、存储介质和计算机程序产品,还涉及一种文本类目预测模型的处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着机器学习和深度学习技术的逐步发展,使用性能良好的神经网络对文本进行分类取得了重大进展。自动文本分类技术,尤其是短文本分类,广泛应用于各个行业领域,如商品搜索、商品智能推荐、新闻分类、人机写作判断、垃圾邮件识别、用户情感分类、文案智能生成等。
在短文本的多类目分类中,类目通常具有层级结构,例如,商品短文本的类目包括“美妆护肤”,其包括“香水彩妆”,“香水彩妆”又包括“口红”和“唇釉/唇蜜/唇彩”等, 其具有多层级和多类目的特点。又例如,资讯短文本的类目包括“生活类”、“娱乐类”等,而“娱乐类”又包括“电影”、“电视剧”等。
目前提出的预测文本的多层级多类目的方式,在分类层对每个层级的类目独立设置分类器,例如第一个分类器预测第一层级的类目,第二个分类器预测第二级的类目,第三个分类器预测第三级的类目,预测的多层级类目存在父子节点一致性问题。比如,第一个分类器和第三个分类器有预测结果,而第二个分类器缺失预测结果,如对短文本“电饭锅置物架”预测的多层级类目为:“家具_ UNK _置物架层架”,其中UNK代表未知,无法准确表征文本所对应的多层级多类目。
发明内容
基于此,有必要针对上述技术问题,提供一种文本类目预测方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,能够改善多层级类目路径的父子节点一致性问题,准确预测文本的类目路径。
本申请提供了一种文本类目预测方法。所述方法包括:
获取待进行多层级类目预测的短文本;
通过训练好的文本类目预测模型的编码层,根据所述短文本中每个字的语义向量进行语义编码,得到所述短文本的语义编码向量;
通过所述文本类目预测模型的解码层,根据所述语义编码向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码;
将解码得到的多个类目按层级进行组合,获得所述短文本对应的类目路径。
本申请还提供了一种文本类目预测装置。所述装置包括:
获取模块,用于获取待进行多层级类目预测的短文本;
编码模块,用于通过训练好的文本类目预测模型的编码层,根据所述短文本中每个字的语义向量进行语义编码,得到所述短文本的语义编码向量;
解码模块,用于通过所述文本类目预测模型的解码层,根据所述语义编码向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码;
组合模块,用于将解码得到的多个类目按层级进行组合,获得所述短文本对应的类目路径。
在一个实施例中,编码模块,还用于将所述短文本输入所述文本类目预测模型的编码层;通过所述编码层的字编码网络,查询字映射表获得所述短文本中每个字的字标识,将分类符号以及所述每个字的字标识编码为相应的字向量,所述每个字的字向量用于表征相应字的语义信息,所述分类符号对应的字向量用于表征所述短文本的全局语义信息;以及将所述短文本中每个字的字向量分别与所述分类符号的字向量拼接,得到所述每个字在所述短文本中的语义向量。
在一个实施例中,编码模块,还用于将所述短文本中每个字的语义向量,输入所述编码层的全局编码网络;在所述全局编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,对相应的语义向量进行依次处理,依次得到所述全局编码网络对应每个字的编码隐藏向量,直至处理到所述短文本中的末位字时,将得到的所述全局编码网络对应所述末位字的编码隐藏向量作为所述短文本的语义编码向量。
在一个实施例中,所述全局编码网络为全局前向编码网络,编码模块,还用于在所述全局前向编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,顺序地对所述每个字相应的语义向量进行依次处理,依次得到所述全局前向编码网络对应每个字的前向编码隐藏向量,直至处理到所述短文本中的末尾字时,将得到的所述全局前向编码网络对应所述末尾字的前向编码隐藏向量作为所述短文本的语义编码向量。
在一个实施例中,所述全局编码网络为全局后向编码网络,编码模块,还用于在所述全局后向编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,逆序地对所述每个字相应的语义向量进行依次处理,依次得到所述全局后向编码网络对应每个字的后向编码隐藏向量,直至处理到所述短文本中的首个字时,将得到的所述全局后向编码网络对应所述首个字的后向编码隐藏向量作为所述短文本的语义编码向量。
在一个实施例中,所述全局编码网络为全局双向编码网络,编码模块,还用于在所述全局双向编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,顺序地对所述每个字相应的语义向量进行依次处理,依次得到所述全局双向编码网络对应每个字的前向编码隐藏向量,直至处理到所述短文本中的末尾字时,得到所述全局双向编码网络对应所述末尾字的前向编码隐藏向量;在所述全局双向编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,逆序地对所述每个字相应的语义向量进行依次处理,依次得到所述全局双向编码网络对应每个字的后向编码隐藏向量,直至处理到所述短文本中的首个字时,得到所述全局双向编码网络对应所述首个字的后向编码隐藏向量;根据所述末尾字的前向编码隐藏向量与所述首个字的后向编码隐藏向量,得到所述短文本的语义编码向量。
在一个实施例中,编码模块,还用于按照所述短文本中每个字的先后顺序,顺序地将每个字的语义向量作为所述全局双向编码网络的隐藏层当前处理的语义向量;在当前处理的语义向量是所述短文本中首个字对应的语义向量时,通过所述隐藏层根据初始的前向编码隐藏向量与所述首个字对应的语义向量,得到所述首个字对应的前向编码隐藏向量;在当前处理的语义向量不是所述短文本中首个字对应的语义向量时,通过所述隐藏层根据前次处理得到的前向编码隐藏向量与当前处理的语义向量,得到当前处理得到的前向编码隐藏向量。
在一个实施例中,编码模块,还用于按照所述短文本中每个字的先后顺序,逆序地将每个字的语义向量作为所述全局双向编码网络的隐藏层当前处理的语义向量;在当前处理的语义向量是所述短文本中末尾字对应的语义向量时,通过所述隐藏层根据初始的后向编码隐藏向量与所述末尾字对应的语义向量,得到所述末尾字对应的后向编码隐藏向量;在当前处理的语义向量不是所述短文本中末尾字对应的语义向量时,通过所述隐藏层根据前次处理得到的后向编码隐藏向量与当前处理的语义向量,得到当前处理得到的后向编码隐藏向量。
在一个实施例中,编码模块,还用于将所述末尾字的前向编码隐藏向量与所述首个字的后向编码隐藏向量相加,得到所述短文本的语义编码向量。
在一个实施例中,解码模块,还用于通过所述解码层,查询文本起始标记符号所对应的嵌入向量;通过所述解码层的隐藏层根据所述文本起始标记符号对应的嵌入向量与所述语义编码向量进行解码得到首个解码隐藏向量;通过所述隐藏层的全连接层,根据所述首个解码隐藏向量得到首个类目向量,将所述首个类目向量中最大值所对应的类目,作为所述短文本对应的首个类目。
在一个实施例中,解码模块,还用于通过所述解码层,查询前次解码得到的类目所对应的嵌入向量;通过所述解码层的隐藏层根据所述前次解码所得到的解码隐藏向量与所述类目对应的嵌入向量进行当次解码,得到当次解码的解码隐藏向量;通过所述隐藏层的全连接层,根据所述当次解码的解码隐藏向量得到当次输出的类目向量,将所述类目向量中最大值所对应的类目,作为当次解码所述短文本对应的类目;当解码次数达到预设阈值或根据当次输出的类目向量输出文本结束标记符号时,结束解码。
在一个实施例中,组合模块,还用于查询类目层级表,确定每次解码得到的类目所对应的类目层级;按所述类目层级,将每次解码得到的类目进行组合,获得所述短文本对应的至少一个类目路径。
在一个实施例中,所述文本类目预测装置还包括:
训练模块,用于确定表征类目路径之间的相关关系的共现矩阵;获取样本短文本以及对应的标注类目路径;根据所述共现矩阵所表征的类目路径之间的相关关系,确定与所述标注类目路径存在相关关系的类目路径,作为扩展类目路径;将所述样本短文本输入文本类目预测模型,得到关于所述样本短文本的预测类目路径;根据所述预测类目路径与所述标注类目路径、所述扩展类目路径,计算交叉熵损失,根据所述交叉熵损失优化所述文本类目预测模型。
本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待进行多层级类目预测的短文本;
通过训练好的文本类目预测模型的编码层,根据所述短文本中每个字的语义向量进行语义编码,得到所述短文本的语义编码向量;
通过所述文本类目预测模型的解码层,根据所述语义编码向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码;
将解码得到的多个类目按层级进行组合,获得所述短文本对应的类目路径。
本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待进行多层级类目预测的短文本;
通过训练好的文本类目预测模型的编码层,根据所述短文本中每个字的语义向量进行语义编码,得到所述短文本的语义编码向量;
通过所述文本类目预测模型的解码层,根据所述语义编码向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码;
将解码得到的多个类目按层级进行组合,获得所述短文本对应的类目路径。
本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取待进行多层级类目预测的短文本;
通过训练好的文本类目预测模型的编码层,根据所述短文本中每个字的语义向量进行语义编码,得到所述短文本的语义编码向量;
通过所述文本类目预测模型的解码层,根据所述语义编码向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码;
将解码得到的多个类目按层级进行组合,获得所述短文本对应的类目路径。
上述文本类目预测方法、装置、计算机设备、存储介质和计算机程序产品,通过训练好的文本类目预测模型的编码层得到表示整个短文本的语义信息的语义编码向量后,在解码层中,根据该语义编码向量进行首次解码得到首个解码隐藏向量与对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,由于每次解码考虑了前次解码得到的类目,那么当次解码所得到的类目与前次解码得到类目之间就可以更好的保证父子节点一致性,也就是先解码第一层级的类目,然后解码第二层级的类目,再解码第三层级的类目……即先解码父节点后解码子节点,由此改善父子节点一致性的问题,使得将该多个类目按层级进行组合得到的类目路径能够准确表征短文本所对应的多层级类目。
本申请还提供了一种文本类目预测模型的处理方法。所述方法包括:
获取样本短文本以及所述样本短文本的标注类目路径;
通过类目预测模型的编码层,根据所述样本短文本中每个字的语义向量进行语义编码,得到所述样本短文本的语义编码向量;
通过所述文本类目预测模型的解码层,根据所述语义编码向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述样本短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码;
根据多次解码得到的多个类目与所述标注类目路径所包括的多个类目之间的差异,优化所述文本类目预测模型。
本申请还提供了一种文本类目预测模型的处理装置。所述装置包括:
获取模块,用于获取样本短文本以及所述样本短文本的标注类目路径;
编码模块,用于通过类目预测模型的编码层,根据所述样本短文本中每个字的语义向量进行语义编码,得到所述样本短文本的语义编码向量;
解码模块,用于通过所述文本类目预测模型的解码层,根据所述语义编码向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述样本短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码;
优化模块,用于根据多次解码得到的多个类目与所述标注类目路径所包括的多个类目计算交叉熵损失,根据所述交叉熵损失优化所述文本类目预测模型。
本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取样本短文本以及所述样本短文本的标注类目路径;
通过类目预测模型的编码层,根据所述样本短文本中每个字的语义向量进行语义编码,得到所述样本短文本的语义编码向量;
通过所述文本类目预测模型的解码层,根据所述语义编码向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述样本短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码;
根据多次解码得到的多个类目与所述标注类目路径所包括的多个类目之间的差异,优化所述文本类目预测模型。
本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取样本短文本以及所述样本短文本的标注类目路径;
通过类目预测模型的编码层,根据所述样本短文本中每个字的语义向量进行语义编码,得到所述样本短文本的语义编码向量;
通过所述文本类目预测模型的解码层,根据所述语义编码向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述样本短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码;
根据多次解码得到的多个类目与所述标注类目路径所包括的多个类目之间的差异,优化所述文本类目预测模型。
本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取样本短文本以及所述样本短文本的标注类目路径;
通过类目预测模型的编码层,根据所述样本短文本中每个字的语义向量进行语义编码,得到所述样本短文本的语义编码向量;
通过所述文本类目预测模型的解码层,根据所述语义编码向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述样本短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码;
根据多次解码得到的多个类目与所述标注类目路径所包括的多个类目之间的差异,优化所述文本类目预测模型。
上述文本类目预测模型的处理方法、装置、计算机设备、存储介质和计算机程序产品,文本类目预测模型的模型包括编码层与解码层,在编码层中得到表示整个样本短文本的语义信息的语义编码向量后,在解码层中,根据该语义编码向量进行首次解码得到首个解码隐藏向量与对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,也就是先解码第一层级的类目,然后解码第二层级的类目,再解码第三层级的类目……直至结束解码,最后根据多次解码得到的多个类目与标注类目路径所包括的多个类目之间的差异,优化文本类目预测模型,由于先解码父节点后解码子节点,可在训练过程中改善文本类目预测模型预测的多层级文本类目的父子节点一致性的问题,使文本类目预测模型预测的类目路径能够准确表征短文本所对应的多层级类目。
附图说明
图1为一个实施例中文本类目预测方法的应用环境图;
图2为一个实施例中商品类目层级表的示意图;
图3为短文本“电饭锅置物架”对应的标注类目路径的示意图;
图4为相关技术中对短文本“电饭锅置物架”预测的类目路径的示意图;
图5为一个实施例中文本类目预测方法的流程示意图;
图6为一个实施例中对短文本“电饭锅置物架”预测的类目路径的示意图;
图7为一个实施例中全局前向编码网络的结构示意图;
图8为一个实施例中全局后向编码网络的结构示意图;
图9为一个实施例中全局双向编码网络的结构示意图;
图10为一个实施例中采用LSTM的解码层的结构示意图;
图11为文本类目预测应用于一个具体的场景中的示意图;
图12为一个实施例中文本类目预测模型的处理方法的流程示意图;
图13为一个实施例中共现矩阵的示意图;
图14为一个实施例中确定相关类目的流程图;
图15为一个实施例中文本类目预测装置的结构框图;
图16为一个实施例中文本类目预测模型的处理装置的结构框图;
图17为一个实施例中计算机设备的内部结构图;
图18为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
短文本分类是自然语言处理技术的一个重要任务,短文本分类是针对搜索词条、留言及回复、咨询、建议及意见反馈、新闻标题、邮件主题等短小文本,按照给定的分类体系进行分类,由于这样的文本短小且内容较少,称之为短文本。
图1为一个实施例中文本类目预测方法的应用环境图,本申请实施例提供的文本类目预测模型的处理方法,也可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。
在一个实施例中,终端102获取待进行多层级类目预测的短文本,将该短文本发送至服务器104,服务器104得到该短文本后,可通过执行本申请实施例的文本类目预测方法,对该短文本进行类目预测,例如服务器104可以通过训练好的文本类目预测模型,根据短文本中每个字的语义向量进行语义编码,得到短文本的语义编码向量,继而通过文本类目预测模型的解码层,根据语义编码向量进行首次解码得到首个解码隐藏向量以及基于首个解码隐藏向量获得短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码,之后,将解码得到的多个类目按层级进行组合,获得短文本对应的类目路径。
当然,在终端102上存放了该训练好的文本类目预测模型的情况下,也可以由终端102执行上述的文本类目预测方法,对短文本进行多层级的类目预测,得到对应的类目路径。在一些情况下,该方法也可以由终端102与服务器104联合执行,例如,由终端102获得短文本后,发送至服务器104,服务器104获得解码得到的多个类目之后,反馈至终端102,再由终端102将解码得到的多个类目按层级进行组合,获得短文本对应的类目路径。
在一个实施例中,该短文本可以是搜索场景中的搜索词条。可选地,终端102上可以安装并运行有目标客户端,服务器104可以是为目标客户端提供搜索服务的服务器,用户可以通过在目标客户端中输入搜索词条(Query)搜索想要搜索的内容。目标客户端可以是即时通讯客户端、视频客户端、电子商务客户端等等。终端通过目标客户端将搜索词条发送至服务器104,由服务器104预测出搜索词条的类目路径后,对服务器104中存放的资源按与该类目路径的相关度进行排序、召回。服务器104中存放的资源例如可以是商品、资讯、新闻、视频等。
其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本申请实施例提到的多层级类目是指,短文本不仅具有多类目,多个类目之间还具有层级关系。例如,如图2所示,以商品类目为例,为一个实施例中商品类目的多层级商量类目结构示意图。参照图2,第一层级包含44个类目,第二层级包含279个类目,第三层级包含3469个类目。比如,在搜索场景中,短文本是搜索词条,为“唇釉416”,经过商品短文本多层级类目预测,识别结果为“美妆护肤_香水彩妆_口红”、“美妆护肤_香水彩妆_唇釉/唇彩/唇蜜/唇油”, 其具有多层级和多标签的特点。
相关技术中,对于短文本的多层级类目预测,采用的方式通常是HMCN(Hierarchical multi-label classification networks,层级多标签分类网络),具体而言,HMCN在编码层,得到文本的向量表征后,在分类层,每个层级独立设置分类器,以图2所示的商品类目层级表为例,第一层分类器的类别数是44,第二层分类器的类别数是279,第三层分类器的类别数是3469,全局分类器的类别数是44+279+3469=3792。在训练过程中,每层的分类器输出的结果分别与短文本的标注类目计算交叉熵损失。由于HMCN对每个层级分别设置独立的分类器,每个分类器彼此独立,存在父子节点一致性问题。
以“电饭锅置物架”为例,它的标注类目路径包括2个,分别是“家具_架箱类家具_置物架层架”和“厨具_厨房配件_厨房置物架”,如图3所示。
通过HMCN对“电饭锅置物架”的识别结果如下表一所示:
表一
其中,第一个预测的类目路径中缺失了第二级“架箱类家具”,第二个预测的类目路径中缺失了第一级“家具”和第二级“厨房配件”,未知相应的类目,出现了父子节点一致的问题。如图4所示,为通过HMCN预测的类目的层级示意图。
本申请实施例提供的文本类目预测方法,与预测所使用的文本类目预测模型的训练方法,根据该语义编码向量进行首次解码得到首个解码隐藏向量与对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,由于每次解码考虑了前次解码得到的类目,那么当次解码所得到的类目与前次解码得到类目之间就可以更好的保证父子节点一致性,即先解码父节点后解码子节点,由此改善父子节点一致性的问题,使得将该多个类目按层级进行组合得到的类目路径能够准确表征短文本所对应的多层级类目。
在一个实施例中,如图5所示,提供了一种文本类目预测方法,以该方法应用于图1中的计算机设备(终端102或服务器104)为例进行说明,包括以下步骤:
步骤502,获取待进行多层级类目预测的短文本。
其中,如前文说明的,短文本分类是针对特定场景下的文本按照给定的分类体系进行分类,例如搜索词条、留言及回复、咨询、建议及意见反馈、新闻标题、邮件主题等,这样的文本短小且内容较少,称之为短文本。多层级类目是指,这样的短文本不仅具有多个类目而且多个类目具备层级关系。
在商品搜索场景中,计算机设备获得用于搜索商品的搜索文本,预测搜索文本的多层级的类目路径,利用该类目路径所指示的类目与类目层级关系,对商品库中大量的商品进行排序与召回,得到与该搜索文本匹配的商品。
在新闻搜索场景中,计算机设备获得用于搜索新闻的搜索文本,预测搜索文本的多层级类目路径,利用该类目路径所指示的类目与类目层级关系,对资讯库中大量的资讯进行排序与召回,得到与该搜索文本匹配的资讯。
步骤504,通过训练好的文本类目预测模型的编码层,根据短文本中每个字的语义向量进行语义编码,得到短文本的语义编码向量。
其中,训练好的文本类目预测模型,是事先通过训练样本完成模型训练得到的具备对短文本进行多层级类目预测的能力的机器学习模型。关于该文本类目预测模型的训练过程,将在后文进行详细介绍。
本申请实施例中,训练好的文本类目预测模型的模型结构包括编码层与解码层,编码层用于对短文本进行语义编码,得到短文本的语义编码向量。解码层用于编码层输出的语义编码向量进行解码,解码过程中按类目层级从高至低的顺序依次解码出多个类目,使得基于该多个类目可以获得短文本的类目路径。
短文本的语义编码向量,可以表征整个短文本的全局语义信息,该语义编码向量,基于短文本中每个字的语义向量进行语义编码得到,短文本中每个字的语义向量仅能表征每个字的语义信息,通过语义编码可以挖掘出短文本中字与字的语义信息之间的依赖关系,得到的语义编码向量能够更准确表征整个短文本。短文本中每个字的语义向量,是每个字的向量化表示,字向量可以通过词嵌入模型,例如Word2Vec生成,也可以通过基于Transfromer的模型,例如预训练语言模型BERT生成。
在一个实施例中,编码层与解码层均可以采用基于神经网络的结构。例如神经网络可以是递归神经网络(Recursive Neural Network,RNN)、循环神经网络(RecurrentNeural Network,RNN)、卷积神经网络(Convolutional Neural Networks,CNN)、长短时记忆神经网络(Long Short-Term Memory,LSTM)、双向循环神经网络(Bi-directionalRecurrent Neural Network,Bi-RNN),双向长短时记忆神经网络(Bi-directional LongShort-Term Memory,Bi-LSTM),等等。
编码层与解码层是层系结构的机器学习模型,包括输入层、隐藏层和输出层。编码层的隐藏层可以对输入层传递的数据,例如编码层的隐藏层可以对输入层传递的短文本中每个字的语义向量,进行线性或者非线性变换,通过编码层的输出层输出短文本的语义编码向量。解码层的隐藏层可以对输入层的数据,例如短文本的语义编码向量,进行线性或非线性变换,通过解码层的输出层输出类目。
隐层的数量可以是多个,每层隐层都有对应的模型参数,每层的模型参数可以是多个,每层隐层中一个模型参数对输入的数据进行线性或非线性变化,得到运算结果。每个隐层接受前一层的运算结果,经过自身的运算,对下一层输出本层的运算结果。
本申请实施例,主要以编码层采用双向LSTM,根据每个字的语义向量进行语义编码、解码层采用LSTM进行多次解码为例进行说明。
计算机设备获取短文本后,在编码层中根据短文本中每个字的语义向量进行语义编码,得到短文本的语义编码向量。
步骤506,通过文本类目预测模型的解码层,根据语义编码向量进行首次解码得到首个解码隐藏向量以及基于首个解码隐藏向量获得短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码。
计算机设备通过文本类目预测模型的编码层,获得短文本的语义编码向量后,继续通过解码层根据语义编码向量进行多次解码。多次解码是迭代解码的过程,具体而言,每次解码,解码层的输入层,获得前次解码输出得到的解码隐藏向量与类目,解码层的隐藏层,基于前次解码输出得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量,解码层的输出层则基于当次的解码隐藏向量获得当次解码的类目,以此类推,解码多次,直至满足结束解码条件时结束解码,获得多次解码得到的多个类目。其中,首次解码的输入是短文本的语义编码向量,输出解码层的首个解码隐藏向量,基于该首个解码隐藏向量可以获得短文本的首个类目。
其中,结束解码条件,是解码次数达到最大次数或是解码输出的类目是文本结束标记符号<EOS>。也就是说,如果当次解码未输出<EOS>,则会继续进行下一次的解码,直至解码次数达到最大解码次数,例如29,在解码次数达到29次时,即便未输出<EOS>,也会结束解码。基于上面的解码过程可知,每次解码输出一个类目,解码次数就等于解码输出的短文本的类目的数量,故而最大解码次数是可以通过对大量短文本所对应的类目数量进行统计得到的,例如,通常商品搜索场景下同一个短文本对应的类目数量不会超过29,故而可以将最大解码次数设置为29,当然,最大解码次数可以根据实际需要进行设置。
基于上面的解码过程可知,每次解码输出的类目作为下次解码的生成信息,用于下次解码输出下次解码的类目,这样,使每次解码输出的类目的层级,是下次解码输出的类目的平级或上一层级,从而使得先解码父节点后解码子节点,由此改善父子节点一致性的问题。
步骤508,将解码得到的多个类目按层级进行组合,获得短文本对应的类目路径。
其中,类目路径可反映短文本所属的多个类目以及该多个类目之间的层级关系。在商品搜索场景下,对搜索文本预测的类目路径可反映用户意图搜索的商品的标签或属性,从而为准确召回搜索文本对应的商品提供保证。
在一个实施例中,对于解码依次得到的多个类目,计算机设备可以通过查询类目层级表,确定每个类目的层级,以及类目之间的层级关系,从而按照类目的层级以及类目之间的层级关系,将该多个类目进行组合,得到短文本对应的类目路径。该类目路径的数量为至少一个。
以短文本为商品搜索场景中的“电饭锅置物架”为例,解码后得到的类目顺序分别为“家具”、“厨具”、“架箱类家具”、“厨房配件”、“置物架层架”、“厨房置物架”、<EOS> ,如图6所示。解码依次输出的多个类目中,类目的层级以及类目之间是否存在层级关系,均可以通过查询图2所示的商品类目层级表确定,从而得到两条类目路径:“家具_ 架箱类家具_置物架层架”、“厨具_厨房配件_厨房置物架”。
上述文本类目预测方法中,根据语义编码向量进行首次解码得到首个解码隐藏向量与对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,由于每次解码考虑了前次解码得到的类目,那么当次解码所得到的类目与前次解码得到类目之间就可以更好的保证父子节点一致性,即先解码父节点后解码子节点,由此改善父子节点一致性的问题,使得将该多个类目按层级进行组合得到的类目路径能够准确表征短文本所对应的多层级类目。
在一个实施例中,每个字在短文本中的语义向量,通过以下方式得到:
将短文本输入文本类目预测模型的编码层;通过编码层的字编码网络,查询字映射表获得短文本中每个字的字标识,将分类符号以及每个字的字标识编码为相应的字向量,每个字的字向量用于表征相应字的语义信息,分类符号对应的字向量用于表征短文本的全局语义信息;以及将短文本中每个字的字向量分别与分类符号的字向量拼接,得到每个字在短文本中的语义向量。
本实施例中,文本类目预测模型的编码层包括字编码网络,字编码网络用于将每个字转换为相应的语义向量,字编码网络可以采用预训练语言模型BERT,将每个字编码为相应的字向量。
具体地,计算机设备将短文本中的每个字,通过查询字映射表得到每个字的字标识(记为token_id)后,将分类符号[CLS]以及每个字的字标识输入字编码网络,输出各自的字向量,其中分类符号[CLS]的字向量可以记为CLS向量,每个字的字向量可以记为token向量,CLS向量用于表征短文本的全局语义信息,每个字的token向量表征相应字的语义信息。接着,通过编码层,分别将每个token向量和CLS向量进行拼接,得到每个字的语义向量,由于CLS向量表征了短文本的全局语义信息,那么拼接得到的向量也就包含了短文本的全局语义信息,即为每个字的语义向量。拼接可以是将每个token向量和CLS向量进行级联或相加。
在一个实施例中,步骤504包括:将短文本中每个字的语义向量,输入编码层的全局编码网络;在全局编码网络的隐藏层中,按照短文本中每个字的先后顺序,对相应的语义向量进行依次处理,依次得到全局编码网络对应每个字的编码隐藏向量,直至处理到短文本中的末位字时,将得到的全局编码网络对应末位字的编码隐藏向量作为短文本的语义编码向量。
其中,全局编码网络可以采用递归神经网络、循环神经网络、卷积神经网络、单向的长短时记忆神经网络、双向的长短时记忆神经网络等。在得到短文本中每个字的字向量后,全局编码网络进一步根据短文本中每个字的字向量生成短文本的语义编码向量,可以认为是二次编码。二次编码时,需要考虑字与字之间在短文本中的依赖关系,该依赖关系可以是从前往后的依赖关系,可以是从后往前的依赖关系,还可以是双向的依赖关系,从而使得编码得到的短文本的语义编码向量能够准确表征短文本的全局语义。
为此,在全局编码网络的隐藏层中,按照短文本中每个字的先后顺序,循环地将前次的运算结果和当前字的语义向量作为当次运算的输入,进行当次运算,直至处理到短文本中的末位字也就是最后一次运算为止,将得到的全局编码网络对应末位字的编码隐藏向量作为短文本的语义编码向量。可以理解,由于第一次处理时不存在前次运算结果,所以第一次运算时输入的运算结果可以是初始的隐藏向量。在考虑从前往后的依赖关系时,末位字是短文本中的末尾字,在考虑从后往前的依赖关系时,末位字是短文本中的首个字。
在一个实施例中,在全局编码网络为全局前向编码网络的情况下,计算机设备可以在全局前向编码网络的隐藏层中,按照短文本中每个字的先后顺序,顺序地对每个字相应的语义向量进行依次处理,依次得到全局前向编码网络对应每个字的前向编码隐藏向量,直至处理到短文本中的末尾字时,将得到的全局前向编码网络对应末尾字的前向编码隐藏向量作为短文本的语义编码向量。
具体地,计算机设备可以按照短文本中每个字的先后顺序,顺序地将每个字的语义向量作为全局前向编码网络的隐藏层当前处理的语义向量;在当前处理的语义向量是短文本中首个字对应的语义向量时,通过隐藏层根据初始的前向编码隐藏向量与首个字对应的语义向量,得到首个字对应的前向编码隐藏向量;在当前处理的语义向量不是短文本中首个字对应的语义向量时,通过隐藏层根据前次处理得到的前向编码隐藏向量与当前处理的语义向量,得到当前处理得到的前向编码隐藏向量。
也就是说,计算机设备从短文本的首个字对应的语义向量开始依次处理,通过全局前向编码网络的隐藏层,循环地将前次的运算结果与当前处理的字的语义向量作为当次运算的输入,进行当次运算,直至最后一次运算为止,将对短文本中末尾字处理得到的前向编码隐藏向量,作为整个短文本的语义编码向量。
举例说明:如图7所示,为一个实施例中采用全局前向编码网络根据每个字的语义向量获得短文本的语义编码向量的示意图。参照图7,短文本为“电饭锅置物架”,计算机设备可以按照“电” 、“饭”“锅”、“置”、“物”、“架”的顺序,依次地将每个字的语义向量输入到全局前向编码网络的隐藏层中。比如,先将初始的前向编码隐藏向量[init1]与“电”对应的语义向量作为隐藏层的输入进行运算,得到首个字对应的前向编码隐藏向量H1,然后将H1和“饭”对应的语义向量作为隐藏层的输入进行运算,得到“饭”对应的前向编码隐藏向量H2,然后将H2和“锅”对应的语义向量作为隐藏层的输入进行运算,得到“锅”对应的前向编码隐藏向量H3,以此类推,直至得到“架”对应的前向编码隐藏向量H6,将H6作为短文本“电饭锅置物架”的语义编码向量。
在一个实施例中,在全局编码网络为全局后向编码网络的情况下,计算机设备可以在全局后向编码网络的隐藏层中,按照短文本中每个字的先后顺序,逆序地对每个字相应的语义向量进行依次处理,依次得到全局后向编码网络对应每个字的后向编码隐藏向量,直至处理到短文本中的首个字时,将得到的全局后向编码网络对应首个字的后向编码隐藏向量作为短文本的语义编码向量。
具体地,计算机设备按照短文本中每个字的先后顺序,逆序地将每个字的语义向量作为全局双向编码网络的隐藏层当前处理的语义向量;在当前处理的语义向量是短文本中末尾字对应的语义向量时,通过隐藏层根据初始的后向编码隐藏向量与末尾字对应的语义向量,得到末尾字对应的后向编码隐藏向量;在当前处理的语义向量不是短文本中末尾字对应的语义向量时,通过隐藏层根据前次处理得到的后向编码隐藏向量与当前处理的语义向量,得到当前处理得到的后向编码隐藏向量。
也就是说,计算机设备从短文本的末尾字对应的语义向量开始依次处理,通过全局后向编码网络的隐藏层,循环地将前次的运算结果与当前处理的字的语义向量作为当次运算的输入,进行当次运算,直至最后一次运算为止,将对短文本中首个字处理得到的后向编码隐藏向量,作为整个短文本的语义编码向量。
举例说明:如图8所示,为一个实施例中采用全局后向编码网络根据每个字的语义向量获得短文本的语义编码向量的示意图。参照图7,短文本为“电饭锅置物架”,计算机设备可以按照短文本中每个字的逆序,即“架”、“物”、“置”、“锅”、“饭”、“电”,依次地将每个字的语义向量输入到全局前向编码网络的隐藏层中。比如,先将初始的后向编码隐藏向量[init2]与短文中的末尾字“架”对应的语义向量作为隐藏层的输入进行运算,得到末尾字对应的后向编码隐藏向量H1,然后将H1和“物”对应的语义向量作为隐藏层的输入进行运算,得到“物”对应的后向编码隐藏向量H2,然后将H2和“置”对应的语义向量作为隐藏层的输入进行运算,得到“置”对应的后向编码隐藏向量H3,以此类推,直至得到“电”对应的后向编码隐藏向量H6,将H6作为短文本“电饭锅置物架”的语义编码向量。
在一个实施例中,在全局编码网络为全局双向编码网络的情况下,计算机设备可以在全局双向编码网络的隐藏层中,按照短文本中每个字的先后顺序,顺序地对每个字相应的语义向量进行依次处理,依次得到全局双向编码网络对应每个字的前向编码隐藏向量,直至处理到短文本中的末尾字时,得到全局双向编码网络对应末尾字的前向编码隐藏向量;在全局双向编码网络的隐藏层中,按照短文本中每个字的先后顺序,逆序地对每个字相应的语义向量进行依次处理,依次得到全局双向编码网络对应每个字的后向编码隐藏向量,直至处理到短文本中的首个字时,得到全局双向编码网络对应首个字的后向编码隐藏向量;根据末尾字的前向编码隐藏向量与首个字的后向编码隐藏向量,得到短文本的语义编码向量。
可以理解,全局双向编码网络对短文本中每个字进行前向处理的方式,与前文提到的采用全局前向编码网络对短文本中每个字进行处理的方式一致,全局双向编码网络对短文本中每个字进行后向处理的方式,与前文提到的采用全局后向编码网络对短文本中每个字进行处理的方式一致,此处不再重复说明。
在全局编码网络为全局双向编码网络的情况下,计算机设备按照前向运算方式得到末尾字对应的前向编码隐藏向量、按照后向运算方式得到首个字对应的后向编码隐藏向量之后,将末尾字对应的前向编码隐藏向量与首个字对应的后向编码隐藏向量相加或级联,得到短文本的语义编码向量。
如图9所示,为一个实施例中采用全局双向编码网络的编码层的结构示意图。编码层包括字编码网络与针对短文本全局的全局双向编码网络。其中字编码网络可以采用BERT,通过BERT得到每个字的token向量与CLS向量,再将每个字的token向量分别与CLS向量拼接,得到每个字的语义向量。全局双向编码网络可以采用双向LSTM,参照图9,短文本为“电饭锅置物架”,计算机设备按照“电”、“饭”“锅”、“置”、“物”、“架”的顺序,依次地将每个字的语义向量输入到全局双向编码网络的隐藏层中进行运算,直至得到“架”对应的前向编码隐藏向量,是短文本“电饭锅置物架”中末尾字对应的前向编码隐藏向量。此外,计算机设备按照短文本中每个字的逆序,即“架”、“物”、“置”、“锅”、“饭”、“电”,依次地将每个字的语义向量输入到全局双向编码网络的隐藏层中进行运算,直至得到“电”对应的后向编码隐藏向量,是短文本“电饭锅置物架”中首个字对应的后向编码隐藏向量。计算机设备根据末尾字对应的前向编码隐藏向量与首个字对应的后向编码隐藏向量相加,得到短文本的语义编码向量。需要说明的是,图7、图8、图9中示出的LSTM,是一个LSTM,随着编码过程的进行,存在多个编码隐藏状态,而不是存在多个LSTM。
在一个实施例中,步骤506中,根据语义编码向量进行首次解码得到首个解码隐藏向量以及基于首个解码隐藏向量获得短文本对应的首个类目,包括:通过解码层,查询文本起始标记符号所对应的嵌入向量;通过解码层的隐藏层根据文本起始标记符号对应的嵌入向量与语义编码向量进行解码得到首个解码隐藏向量;通过隐藏层的全连接层,根据首个解码隐藏向量得到首个类目向量,将首个类目向量中最大值所对应的类目,作为短文本对应的首个类目。
其中,各个类目的嵌入向量用于表征各个类目,类目之间存在相似性或关联性时,类目对应的嵌入向量之间也存在相似性或关联性。在训练文本类目预测模型的过程中,在解码层中维护各个类目对应的嵌入向量集合,该嵌入向量集合中还包括文本起始标记符号<BOS>对应的嵌入向量与文本结束标记符号<EOS>对应的嵌入向量。在模型训练过程中,该嵌入向量集合中的嵌入向量随着模型参数的更新而更新,直至训练结束时,得到各个类目对应的嵌入向量构成的嵌入向量集合。例如,在商品搜索场景中,嵌入向量集合的维度是3796*512,其中3796=3792+1+1+1+1,其中,3792是商品各层级类目数量之和、1个<BOS>、1个<EOS>、1个<PAD>、1个<UNK>,512是每个类目对应的嵌入向量的长度。
具体地,计算机设备将短文本的语义编码向量与文本起始标记符号<BOS>对应的嵌入向量作为解码层的首个输入,输入到解码层的隐藏层中进行运算,得到解码层的首个解码隐藏向量,并在输出层基于该首个解码隐藏向量进行分类,输出短文本的首个类目。比如,将首个解码隐藏向量输入全连接层得到类目向量,根据类目向量中最大值的位置确定对应的类目,作为第一个解码得到的类目。
在一个实施例中,步骤506中,根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码,包括:通过解码层,查询前次解码得到的类目所对应的嵌入向量;通过解码层的隐藏层根据前次解码所得到的解码隐藏向量与类目对应的嵌入向量进行当次解码,得到当次解码的解码隐藏向量;通过隐藏层的全连接层,根据当次解码的解码隐藏向量得到当次输出的类目向量,将类目向量中最大值所对应的类目,作为当次解码短文本对应的类目;当解码次数达到预设阈值或根据当次输出的类目向量输出文本结束标记符号时,结束解码。
例如,在第二次解码时,查询首次解码得到的首个类目对应的嵌入向量,将查询到的嵌入向量与首次解码得到的解码隐藏向量,作为第二次解码的输入,输入到解码层的隐藏层中,得到第二次解码的解码隐藏向量,并通过全连接层将该第二次解码的解码隐藏向量映射为类目向量后,根据类目向量中最大值的位置确定对应的类目,作为第二次解码得到的类目。
如图10所示,为一个实施例中采用LSTM的解码层的结构示意图。参照图10,以短文本为商品搜索场景中的“电饭锅置物架”为例,将文本起始标记符号<BOS>对应的嵌入向量与短文本的语义编码向量输入到解码层的隐藏层中,获得首个解码隐藏向量Z1,通过全连接层将Z1映射为类目向量后,获得首个类目“家具”,继续将“家具”对应的嵌入向量与该Z1输入到解码层的隐藏层中,获得第二个解码隐藏向量Z2,通过全连接层将Z2映射为类目向量后,获得第二个类目“厨具”,继续将“厨具”对应的嵌入向量与该Z2输入到解码层的隐藏层中,获得第三个解码隐藏向量Z3,通过全连接层将Z3映射为类目向量后,获得第三个类目“架箱类家具”,以此类推,直至输出的第7个类目为<EOS>时,结束解码,将依次输出的多个类目进行组合,得到两条类目路径:“家具_ 架箱类家具_置物架层架”、“厨具_厨房配件_厨房置物架”。
如图11所示,为搜索文本的文本类目预测在一个具体的应用场景中的示意图。参照图11,搜索文本通过改写、纠错后再进行搜索文本的分析,这其中就包括文本类目预测,还包括分词、实体识别、紧密度、词权重、成分分析等等,再通过召回排序,召回与该搜索文本匹配的,召回排序包括索引召回、粗排序、分档精排序、个性化,层层筛选,得到最终可以返回至客户端的商品信息。
下面介绍前文使用的文本类目预测模型的训练方法。
在一个实施例中,如图12所示,提供了一种文本类目预测模型的处理方法,以该方法应用于图1中的计算机设备(终端102或服务器104)为例进行说明,包括以下步骤:
步骤1202,获取样本短文本以及样本短文本的标注类目路径。
步骤1204,通过类目预测模型的编码层,根据样本短文本中每个字的语义向量进行语义编码,得到样本短文本的语义编码向量。
步骤1206,通过文本类目预测模型的解码层,根据语义编码向量进行首次解码得到首个解码隐藏向量以及基于首个解码隐藏向量获得样本短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码。
步骤1208,根据多次解码得到的多个类目与标注类目路径所包括的多个类目之间的差异,优化文本类目预测模型。
上述步骤的具体实施例,可参考前文描述的关于文本类目预测方法的实施例,此处不重复说明。
例如,在一个实施例中,可以将样本短文本输入文本类目预测模型的编码层;通过编码层的字编码网络,查询字映射表获得样本短文本中每个字的字标识,将分类符号以及每个字的字标识编码为相应的字向量,每个字的字向量用于表征相应字的语义信息,分类符号对应的字向量用于表征样本短文本的全局语义信息;以及将样本短文本中每个字的字向量分别与分类符号的字向量拼接,得到每个字在样本短文本中的语义向量。
在一个实施例中,可以将样本短文本中每个字的语义向量,输入编码层的全局编码网络;在全局编码网络的隐藏层中,按照样本短文本中每个字的先后顺序,对相应的语义向量进行依次处理,依次得到全局编码网络对应每个字的编码隐藏向量,直至处理到样本短文本中的末位字时,将得到的全局编码网络对应末位字的编码隐藏向量作为样本短文本的语义编码向量。
在一个实施例中,全局编码网络为全局双向编码网络,可以在全局双向编码网络的隐藏层中,按照样本短文本中每个字的先后顺序,顺序地对每个字相应的语义向量进行依次处理,依次得到全局双向编码网络对应每个字的前向编码隐藏向量,直至处理到样本短文本中的末尾字时,得到全局双向编码网络对应末尾字的前向编码隐藏向量;在全局双向编码网络的隐藏层中,按照样本短文本中每个字的先后顺序,逆序地对每个字相应的语义向量进行依次处理,依次得到全局双向编码网络对应每个字的后向编码隐藏向量,直至处理到样本短文本中的首个字时,得到全局双向编码网络对应首个字的后向编码隐藏向量;根据末尾字的前向编码隐藏向量与首个字的后向编码隐藏向量,得到样本短文本的语义编码向量。
在一个实施例中,可以通过解码层,查询文本起始标记符号所对应的嵌入向量;通过解码层的隐藏层根据文本起始标记符号对应的嵌入向量与语义编码向量进行解码得到首个解码隐藏向量;通过隐藏层的全连接层,根据首个解码隐藏向量得到首个类目向量,将首个类目向量中最大值所对应的类目,作为样本短文本对应的首个类目。
在一个实施例中,可以通过解码层,查询前次解码得到的类目所对应的嵌入向量;通过解码层的隐藏层根据前次解码所得到的解码隐藏向量与类目对应的嵌入向量进行当次解码,得到当次解码的解码隐藏向量;通过隐藏层的全连接层,根据当次解码的解码隐藏向量得到当次输出的类目向量,将类目向量中最大值所对应的类目,作为当次解码样本短文本对应的类目;当解码次数达到预设阈值或根据当次输出的类目向量输出文本结束标记符号时,结束解码。
在一个实施例中,由于设置了解码结束条件,为解码输出文本结束标记符号<EOS>时或解码次数达到最大解码次数M时结束解码,那么对样本短文本解码得到的类目的数量最多为M个。那么,步骤1208包括:将样本短文本的至少一个标注类目路径进行去重处理后,按照类目层级从高至低的顺序排列,得到样本短文本对应的多个标注类目形成的序列S1,该序列的长度为M,将通过文本将通过文本类目模型进行多次解码输出的多个类目所形成的预测类目序列S2,该序列的长度也为M,与多个标注类目形成的序列计算交叉熵损失,以最小化该交叉熵损失为目标,优化文本类目预测模型。可以理解的是,在多个标注类目的总数或多次解码输出的多个类目的总数小于M时,均可以在后面填充<PAD>标记符号,使序列长度为M,从而方便计算S1与S2之间的交叉熵,根据交叉熵损失优化文本类目预测模型,以及更新嵌入向量集合。
前文所提到的HMCN这种用于多层级文本分类的方式,除了存在父子节点一致性问题,还存在叶子节点多,模型漏召回严重的问题。例如,在商品搜索场景中,搜索短文本层级类目表中,第一层级包含44个节点,第二层级包含279个节点,第三层级包含3469个节点,其中包含了3469个叶子节点,数量达到了千级别,自然而然带来了模型漏召回严重的问题。以“米奇棒棒糖”为例,其对应的标注类目路径应当包括8个,但HMCN只能识别出其中一个类目路径“食品饮料_休闲食品_棒棒糖”,如表二所示。
表二
采用本申请提供的上述训练步骤进行模型训练得到的文本类目预测模型的这种编码层-解码层的模型结构,不仅可以缓解父子节点不一致的问题,还能一定程度提升叶子节点漏召回的问题。
例如,同样是以“米奇棒棒糖”为例,通过本申请提供的文本类目预测模型,可以识别出三个类目路径:“食品饮料_休闲食品_棒棒糖”、“食品饮料_进口食品_糖果或巧克力”、“食品饮料_休闲食品_糖果巧克力”,如表三所示。
表三
进一步地,由于文本类目预测模型识别出的类目路径和漏召回的类目路径间存在一定的相关关系,比如“食品饮料_休闲食品_棒棒糖”和“食品饮料_休闲食品_休闲零食”,“食品饮料_休闲食品_棒棒糖”是可以包含于“食品饮料_休闲食品_休闲零食”。基于以上分析,可以借助类目路径间的蕴含关系来更大程度地解决模型漏召回类目的问题。
在一个实施例中,参照图12,根据多次解码得到的多个类目与标注类目路径所包括的多个类目之间的差异,优化文本类目预测模型,包括:
步骤1208a,确定表征类目路径之间的相关关系的共现矩阵;
步骤1208b,根据共现矩阵所表征的类目路径之间的相关关系,确定与标注类目路径存在相关关系的类目路径,作为扩展类目路径;
步骤1208c,根据多次解码得到的多个类目、标注类目路径以及扩展类目路径,计算交叉熵损失,根据交叉熵损失优化文本类目预测模型。
本实施例中,借助共现矩阵,补充短文本可能缺失的类目路径,作为扩展类目路径,再用该扩展类目路径与原始的标注类目路径生成标注类目序列,加入类目的先验知识,更大程度地解决模型漏召回类目的问题,从而提高模型的整体效果。举例如下:
比如,商品搜索场景下的搜索文本为“米奇棒棒糖”,该短文本原始的标注类目路径仅包括3个,分别是“食品饮料_休闲食品_棒棒糖”、“食品饮料_进口食品_糖果或巧克力”、“食品饮料_休闲食品_糖果巧克力”。本实施例中,通过共现矩阵,可以补充上“食品饮料_休闲食品_硬糖”、“食品饮料_休闲食品_糖果礼盒”、“母婴_营养辅食_糖果/零食”、“食品饮料_进口食品_休闲零食”、“食品饮料_休闲食品_休闲零食”,最终 “米奇棒棒糖”对应了8个类目路径,模型在学习时就可以学到共现矩阵带来的隐藏的类目的先验知识。
在一个实施例中,根据多次解码得到的多个类目、标注类目路径以及扩展类目路径,计算交叉熵损失,根据交叉熵损失优化文本类目预测模型,包括:将标注类目路径与扩展类目路径进行去重处理后,得到样本短文本对应的多个标注类目;根据多个标注类目与多次解码得到的多个类目,计算交叉熵损失。
以短文本为商品搜索场景下的 “米奇棒棒糖”为例,其对应的3个标注类目路径为“食品饮料_休闲食品_棒棒糖”、“食品饮料_进口食品_糖果或巧克力”、“食品饮料_休闲食品_糖果巧克力”,补充了扩展类目路径:“食品饮料_休闲食品_硬糖”、“食品饮料_休闲食品_糖果礼盒”、“母婴_营养辅食_糖果/零食”、“食品饮料_进口食品_休闲零食”、“食品饮料_休闲食品_休闲零食”,将这些类目路径进行去重处理,得到标注类目序列,维度是M,即为“食品饮料_母婴_休闲食品_进口食品_营养辅食_棒棒糖_糖果或巧克力_糖果巧克力_硬糖_糖果礼盒_糖果/零食_休闲零食_<PAD>_<PAD>_....”(填充至包括M个类目)。在多次解码得到的多个类目的数量小于M时,也需要通过填充符号<PAD>填充至M个类目后得到预测类目序列,计算标注类目序列与填充类目序列之间的交叉熵损失,以此更新文本类目预测模型的参数以及嵌入向量集合,完成模型训练。
如图13所示,为一个实施例中共现矩阵的示意图。参照图13,类目路径之间的关系可以通过共现矩阵表示,共现矩阵是一个N×N矩阵,N是类目路径数量的总和,其中矩阵中的元素由0和1组成,0表示该元素所在行、列的两个类目路径之间不相关,1表示该元素所在行、列的两个类目路径之间相关。
具体说明如下:
第1种是无关,比如“食品饮料_休闲食品_棒棒糖”和“珠宝首饰_钻石_钻戒”,二者属于完全不相关的类目,则共现矩阵对应位置的元素设置为0。
第2种是相关,比如“食品饮料_休闲食品_棒棒糖”和“食品饮料_休闲食品_休闲零食”,已知短文本对应的标注类目有“食品饮料_休闲食品_棒棒糖”,则可以补充该短文本的扩展类目路径为“食品饮料_休闲食品_休闲零食”,则共现矩阵对应位置的元素设置为1。
在一个实施例中,确定表征类目路径之间的相关关系的共现矩阵,包括:获取样本短文本集合;通过预训练语言模型将样本短文本集合中的每个短文本表征为文本语义向量,将属于每个类目的样本短文本的文本语义向量求均值,得到每个类目的文本语义表示;根据两两类目的文本语义表示之间的距离,确定每个类目的相关类目;根据每个类目的相关类目,生成表征类目路径之间的相关关系的共现矩阵。
本实施例中,基于类目所关联的训练样本之间的语义相似度,确定两个类目路径之间是否相关,可以提高获取相关类目路径的整体效率。如图14所示,为一个实施例中确定相关类目的流程图。参照图14,计算机设备获取训练数据,即样本短文本集合,样本短文本集合中的每个样本短文本通过预训练语言模型例如BERT 进行表征,得到相应的文本语义向量。接着计算机设备获取每个类目路径下所有样本短文本的文本语义向量,对其取平均,得到每个类目的文本语义表示,再根据该文本语义表示,两两计算类目路径之间的余弦相似度,得到每个类目路径的top-k个相关类目路径。这k个相关类目路径对应的位置对应的位置的元素设置为1,否则设置为0。最后也可以进一步通过人工审核、筛选得到每个类目路径的相关类目路径。
同样是以“米奇棒棒糖”为例,结合上述的共现矩阵训练本申请实施例提供的文本类目预测模型,通过训练好的文本类目预测模型,可以正确召回所有类目路径,如表四所示。
表四
如下表五所示,本申请实施例提供的基于编码层-解码层的结构的文本类目预测模型对于多层级文本类目预测的效果存在较为明显的提升,结合共现矩阵的综合效果更佳。
表五
其中F1是准确率和召回率的调和平均值(F-Measure),一级F1是第一层级的类目的F1值,二级F1是第二层级的类目的F1值,三级F1是第三层级的类目的F1值。
在一个具体的实施例中,文本类目预测方法包括以下步骤:
第一步:结合共现矩阵训练基于生成式结构(编码层-解码层)的文本类目预测模型,具体包括:
获取样本短文本以及样本短文本的标注类目路径;
通过类目预测模型的编码层,根据样本短文本中每个字的语义向量进行语义编码,得到样本短文本的语义编码向量;
通过文本类目预测模型的解码层,根据语义编码向量进行首次解码得到首个解码隐藏向量以及基于首个解码隐藏向量获得样本短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码;
获取样本短文本集合;
通过预训练语言模型将样本短文本集合中的每个短文本表征为文本语义向量,将属于每个类目的样本短文本的文本语义向量求均值,得到每个类目的文本语义表示;
根据两两类目的文本语义表示之间的距离,确定每个类目的相关类目;
根据每个类目的相关类目,生成表征类目路径之间的相关关系的共现矩阵;
根据共现矩阵所表征的类目路径之间的相关关系,确定与标注类目路径存在相关关系的类目路径,作为扩展类目路径;
将标注类目路径与扩展类目路径进行去重处理后,得到样本短文本对应的多个标注类目;
根据多个标注类目与多次解码得到的多个类目,计算交叉熵损失,根据交叉熵损失优化文本类目预测模型;
获取待进行多层级类目预测的短文本;
第二步:使用训练好的文本类目预测模型进行文本类目预测,具体包括:
将短文本输入文本类目预测模型的编码层;
通过编码层的字编码网络,查询字映射表获得短文本中每个字的字标识,将分类符号以及每个字的字标识编码为相应的字向量,每个字的字向量用于表征相应字的语义信息,分类符号对应的字向量用于表征短文本的全局语义信息;以及
将短文本中每个字的字向量分别与分类符号的字向量拼接,得到每个字在短文本中的语义向量;
将短文本输入文本类目预测模型的编码层;
通过编码层的字编码网络,查询字映射表获得短文本中每个字的字标识,将分类符号以及每个字的字标识编码为相应的字向量,每个字的字向量用于表征相应字的语义信息,分类符号对应的字向量用于表征短文本的全局语义信息;以及
将短文本中每个字的字向量分别与分类符号的字向量拼接,得到每个字在短文本中的语义向量;
按照短文本中每个字的先后顺序,顺序地将每个字的语义向量作为全局双向编码网络的隐藏层当前处理的语义向量;
在当前处理的语义向量是短文本中首个字对应的语义向量时,通过隐藏层根据初始的前向编码隐藏向量与首个字对应的语义向量,得到首个字对应的前向编码隐藏向量;
在当前处理的语义向量不是短文本中首个字对应的语义向量时,通过隐藏层根据前次处理得到的前向编码隐藏向量与当前处理的语义向量,得到当前处理得到的前向编码隐藏向量,直至处理到短文本中的末尾字时,得到全局双向编码网络对应末尾字的前向编码隐藏向量;
按照短文本中每个字的先后顺序,逆序地将每个字的语义向量作为全局双向编码网络的隐藏层当前处理的语义向量;
在当前处理的语义向量是短文本中末尾字对应的语义向量时,通过隐藏层根据初始的后向编码隐藏向量与末尾字对应的语义向量,得到末尾字对应的后向编码隐藏向量;
在当前处理的语义向量不是短文本中末尾字对应的语义向量时,通过隐藏层根据前次处理得到的后向编码隐藏向量与当前处理的语义向量,得到当前处理得到的后向编码隐藏向量,直至处理到短文本中的首个字时,得到全局双向编码网络对应首个字的后向编码隐藏向量;
根据末尾字的前向编码隐藏向量与首个字的后向编码隐藏向量,得到短文本的语义编码向量;
通过解码层,查询文本起始标记符号所对应的嵌入向量;
通过解码层的隐藏层根据文本起始标记符号对应的嵌入向量与语义编码向量进行解码得到首个解码隐藏向量;
通过隐藏层的全连接层,根据首个解码隐藏向量得到首个类目向量,将首个类目向量中最大值所对应的类目,作为短文本对应的首个类目;
继续通过解码层,查询前次解码得到的类目所对应的嵌入向量;
通过解码层的隐藏层根据前次解码所得到的解码隐藏向量与类目对应的嵌入向量进行当次解码,得到当次解码的解码隐藏向量;
通过隐藏层的全连接层,根据当次解码的解码隐藏向量得到当次输出的类目向量,将类目向量中最大值所对应的类目,作为当次解码短文本对应的类目;
当解码次数达到预设阈值或根据当次输出的类目向量输出文本结束标记符号时,结束解码;
查询类目层级表,确定每次解码得到的类目所对应的类目层级;
按类目层级,将每次解码得到的类目进行组合,获得短文本对应的至少一个类目路径;
在短文本为用于商品搜索的搜索文本时,在商品库中召回与该至少一个类目路径匹配的商品信息。
本实施例中,在训练文本类目预测模型时,借助共现矩阵,补充短文本可能缺失的类目路径,作为扩展类目路径,再用该扩展类目路径与原始的标注类目路径生成标注类目序列,加入类目的先验知识,更大程度地解决模型漏召回类目的问题,从而提高模型的整体效果;在训练文本类目预测模型时,在解码层进行多次迭代解码,先解码得到类目层级高的类目,再基于该类目进行解码得到类目层级低的类目,由于每次解码考虑了前次解码得到的类目,那么当次解码所得到的类目与前次解码得到类目之间就可以更好的保证父子节点一致性,即先解码父节点后解码子节点,由此改善父子节点一致性的问题;在预测短文本的类目路径时,通过该训练好的文本类目预测模型,依次预测出多个类目后,将该多个类目按层级进行组合得到的类目路径,也就能够准确表征短文本所对应的多层级类目。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的文本类目预测方法的文本类目预测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个文本类目预测装置实施例中的具体限定可以参见上文中对于文本类目预测方法的限定,在此不再赘述。
在一个实施例中,如图15所示,提供了一种文本类目预测装置1500,包括:获取模块1502、编码模块1504、解码模块1506和组合模块1508,其中:
获取模块1502,用于获取待进行多层级类目预测的短文本;
编码模块1504,用于通过训练好的文本类目预测模型的编码层,根据短文本中每个字的语义向量进行语义编码,得到短文本的语义编码向量;
解码模块1506,用于通过文本类目预测模型的解码层,根据语义编码向量进行首次解码得到首个解码隐藏向量以及基于首个解码隐藏向量获得短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码;
组合模块1508,用于将解码得到的多个类目按层级进行组合,获得短文本对应的类目路径。
在一个实施例中,编码模块1504,还用于将短文本输入文本类目预测模型的编码层;通过编码层的字编码网络,查询字映射表获得短文本中每个字的字标识,将分类符号以及每个字的字标识编码为相应的字向量,每个字的字向量用于表征相应字的语义信息,分类符号对应的字向量用于表征短文本的全局语义信息;以及将短文本中每个字的字向量分别与分类符号的字向量拼接,得到每个字在短文本中的语义向量。
在一个实施例中,编码模块1504,还用于将短文本中每个字的语义向量,输入编码层的全局编码网络;在全局编码网络的隐藏层中,按照短文本中每个字的先后顺序,对相应的语义向量进行依次处理,依次得到全局编码网络对应每个字的编码隐藏向量,直至处理到短文本中的末位字时,将得到的全局编码网络对应末位字的编码隐藏向量作为短文本的语义编码向量。
在一个实施例中,全局编码网络为全局前向编码网络,编码模块1504,还用于在全局前向编码网络的隐藏层中,按照短文本中每个字的先后顺序,顺序地对每个字相应的语义向量进行依次处理,依次得到全局前向编码网络对应每个字的前向编码隐藏向量,直至处理到短文本中的末尾字时,将得到的全局前向编码网络对应末尾字的前向编码隐藏向量作为短文本的语义编码向量。
在一个实施例中,全局编码网络为全局后向编码网络,编码模块1504,还用于在全局后向编码网络的隐藏层中,按照短文本中每个字的先后顺序,逆序地对每个字相应的语义向量进行依次处理,依次得到全局后向编码网络对应每个字的后向编码隐藏向量,直至处理到短文本中的首个字时,将得到的全局后向编码网络对应首个字的后向编码隐藏向量作为短文本的语义编码向量。
在一个实施例中,全局编码网络为全局双向编码网络,编码模块1504,还用于在全局双向编码网络的隐藏层中,按照短文本中每个字的先后顺序,顺序地对每个字相应的语义向量进行依次处理,依次得到全局双向编码网络对应每个字的前向编码隐藏向量,直至处理到短文本中的末尾字时,得到全局双向编码网络对应末尾字的前向编码隐藏向量;在全局双向编码网络的隐藏层中,按照短文本中每个字的先后顺序,逆序地对每个字相应的语义向量进行依次处理,依次得到全局双向编码网络对应每个字的后向编码隐藏向量,直至处理到短文本中的首个字时,得到全局双向编码网络对应首个字的后向编码隐藏向量;根据末尾字的前向编码隐藏向量与首个字的后向编码隐藏向量,得到短文本的语义编码向量。
在一个实施例中,编码模块1504,还用于按照短文本中每个字的先后顺序,顺序地将每个字的语义向量作为全局双向编码网络的隐藏层当前处理的语义向量;在当前处理的语义向量是短文本中首个字对应的语义向量时,通过隐藏层根据初始的前向编码隐藏向量与首个字对应的语义向量,得到首个字对应的前向编码隐藏向量;在当前处理的语义向量不是短文本中首个字对应的语义向量时,通过隐藏层根据前次处理得到的前向编码隐藏向量与当前处理的语义向量,得到当前处理得到的前向编码隐藏向量。
在一个实施例中,编码模块1504,还用于按照短文本中每个字的先后顺序,逆序地将每个字的语义向量作为全局双向编码网络的隐藏层当前处理的语义向量;在当前处理的语义向量是短文本中末尾字对应的语义向量时,通过隐藏层根据初始的后向编码隐藏向量与末尾字对应的语义向量,得到末尾字对应的后向编码隐藏向量;在当前处理的语义向量不是短文本中末尾字对应的语义向量时,通过隐藏层根据前次处理得到的后向编码隐藏向量与当前处理的语义向量,得到当前处理得到的后向编码隐藏向量。
在一个实施例中,编码模块1504,还用于将末尾字的前向编码隐藏向量与首个字的后向编码隐藏向量相加,得到短文本的语义编码向量。
在一个实施例中,解码模块1506,还用于通过解码层,查询文本起始标记符号所对应的嵌入向量;通过解码层的隐藏层根据文本起始标记符号对应的嵌入向量与语义编码向量进行解码得到首个解码隐藏向量;通过隐藏层的全连接层,根据首个解码隐藏向量得到首个类目向量,将首个类目向量中最大值所对应的类目,作为短文本对应的首个类目。
在一个实施例中,解码模块1506,还用于通过解码层,查询前次解码得到的类目所对应的嵌入向量;通过解码层的隐藏层根据前次解码所得到的解码隐藏向量与类目对应的嵌入向量进行当次解码,得到当次解码的解码隐藏向量;通过隐藏层的全连接层,根据当次解码的解码隐藏向量得到当次输出的类目向量,将类目向量中最大值所对应的类目,作为当次解码短文本对应的类目;当解码次数达到预设阈值或根据当次输出的类目向量输出文本结束标记符号时,结束解码。
在一个实施例中,组合模块1508,还用于查询类目层级表,确定每次解码得到的类目所对应的类目层级;按类目层级,将每次解码得到的类目进行组合,获得短文本对应的至少一个类目路径。
在一个实施例中,上述文本类目预测装置1500还包括:
训练模块,用于确定表征类目路径之间的相关关系的共现矩阵;获取样本短文本以及对应的标注类目路径;根据共现矩阵所表征的类目路径之间的相关关系,确定与标注类目路径存在相关关系的类目路径,作为扩展类目路径;将样本短文本输入文本类目预测模型,得到关于样本短文本的预测类目路径;根据预测类目路径与标注类目路径、扩展类目路径,计算交叉熵损失,根据交叉熵损失优化文本类目预测模型。
上述文本类目预测装置1500,通过训练好的文本类目预测模型的编码层得到表示整个短文本的语义信息的语义编码向量后,在解码层中,根据该语义编码向量进行首次解码得到首个解码隐藏向量与对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,由于每次解码考虑了前次解码得到的类目,那么当次解码所得到的类目与前次解码得到类目之间就可以更好的保证父子节点一致性,也就是先解码第一层级的类目,然后解码第二层级的类目,再解码第三层级的类目……即先解码父节点后解码子节点,由此改善父子节点一致性的问题,使得将该多个类目按层级进行组合得到的类目路径能够准确表征短文本所对应的多层级类目。
上述文本类目预测装置1500中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的文本类目预测模型的处理方法的文本类目预测模型的处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个文本类目预测模型的处理装置实施例中的具体限定可以参见上文中对于文本类目预测模型的处理方法的限定,在此不再赘述。
在一个实施例中,如图16所示,提供了一种文本类目预测模型的处理装置1600,包括:获取模块1602、编码模块1604、解码模块1606和优化模块1608,其中:
获取模块1602,用于获取样本短文本以及样本短文本的标注类目路径;
编码模块1604,用于通过类目预测模型的编码层,根据样本短文本中每个字的语义向量进行语义编码,得到样本短文本的语义编码向量;
解码模块1606,用于通过文本类目预测模型的解码层,根据语义编码向量进行首次解码得到首个解码隐藏向量以及基于首个解码隐藏向量获得样本短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,得到当次解码的解码隐藏向量与类目,直至结束解码;
优化模块1608,用于根据多次解码得到的多个类目与标注类目路径所包括的多个类目计算交叉熵损失,根据交叉熵损失优化文本类目预测模型。
在一个实施例中,编码模块1604还用于将样本短文本输入文本类目预测模型的编码层;通过编码层的字编码网络,查询字映射表获得样本短文本中每个字的字标识,将分类符号以及每个字的字标识编码为相应的字向量,每个字的字向量用于表征相应字的语义信息,分类符号对应的字向量用于表征样本短文本的全局语义信息;以及将样本短文本中每个字的字向量分别与分类符号的字向量拼接,得到每个字在样本短文本中的语义向量。
在一个实施例中,编码模块1604还用于将样本短文本中每个字的语义向量,输入编码层的全局编码网络;在全局编码网络的隐藏层中,按照样本短文本中每个字的先后顺序,对相应的语义向量进行依次处理,依次得到全局编码网络对应每个字的编码隐藏向量,直至处理到样本短文本中的末位字时,将得到的全局编码网络对应末位字的编码隐藏向量作为样本短文本的语义编码向量。
在一个实施例中,全局编码网络为全局双向编码网络,编码模块1604还用于在全局双向编码网络的隐藏层中,按照样本短文本中每个字的先后顺序,顺序地对每个字相应的语义向量进行依次处理,依次得到全局双向编码网络对应每个字的前向编码隐藏向量,直至处理到样本短文本中的末尾字时,得到全局双向编码网络对应末尾字的前向编码隐藏向量;在全局双向编码网络的隐藏层中,按照样本短文本中每个字的先后顺序,逆序地对每个字相应的语义向量进行依次处理,依次得到全局双向编码网络对应每个字的后向编码隐藏向量,直至处理到样本短文本中的首个字时,得到全局双向编码网络对应首个字的后向编码隐藏向量;根据末尾字的前向编码隐藏向量与首个字的后向编码隐藏向量,得到样本短文本的语义编码向量。
在一个实施例中,编码模块1604还用于按照样本短文本中每个字的先后顺序,顺序地将每个字的语义向量作为全局双向编码网络的隐藏层当前处理的语义向量;在当前处理的语义向量是样本短文本中首个字对应的语义向量时,通过隐藏层根据初始的前向编码隐藏向量与首个字对应的语义向量,得到首个字对应的前向编码隐藏向量;在当前处理的语义向量不是样本短文本中首个字对应的语义向量时,通过隐藏层根据前次处理得到的前向编码隐藏向量与当前处理的语义向量,得到当前处理得到的前向编码隐藏向量。
在一个实施例中,编码模块1604还用于按照样本短文本中每个字的先后顺序,逆序地将每个字的语义向量作为全局双向编码网络的隐藏层当前处理的语义向量;在当前处理的语义向量是样本短文本中末尾字对应的语义向量时,通过隐藏层根据初始的后向编码隐藏向量与末尾字对应的语义向量,得到末尾字对应的后向编码隐藏向量;在当前处理的语义向量不是样本短文本中末尾字对应的语义向量时,通过隐藏层根据前次处理得到的后向编码隐藏向量与当前处理的语义向量,得到当前处理得到的后向编码隐藏向量。
在一个实施例中,编码模块1604还用于将末尾字的前向编码隐藏向量与首个字的后向编码隐藏向量相加,得到样本短文本的语义编码向量。
在一个实施例中,解码模块1606还用于通过解码层,查询文本起始标记符号所对应的嵌入向量;通过解码层的隐藏层根据文本起始标记符号对应的嵌入向量与语义编码向量进行解码得到首个解码隐藏向量;通过隐藏层的全连接层,根据首个解码隐藏向量得到首个类目向量,将首个类目向量中最大值所对应的类目,作为样本短文本对应的首个类目。
在一个实施例中,解码模块1606还用于通过解码层,查询前次解码得到的类目所对应的嵌入向量;通过解码层的隐藏层根据前次解码所得到的解码隐藏向量与类目对应的嵌入向量进行当次解码,得到当次解码的解码隐藏向量;通过隐藏层的全连接层,根据当次解码的解码隐藏向量得到当次输出的类目向量,将类目向量中最大值所对应的类目,作为当次解码样本短文本对应的类目;当解码次数达到预设阈值或根据当次输出的类目向量输出文本结束标记符号时,结束解码。
上述文本类目预测模型的处理装置1600,在编码层中得到表示整个样本短文本的语义信息的语义编码向量后,在解码层中,根据该语义编码向量进行首次解码得到首个解码隐藏向量与对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与类目进行当次解码,也就是先解码第一层级的类目,然后解码第二层级的类目,再解码第三层级的类目……直至结束解码,最后根据多次解码得到的多个类目与标注类目路径所包括的多个类目之间的差异,优化文本类目预测模型,由于先解码父节点后解码子节点,可在训练过程中改善文本类目预测模型预测的多层级文本类目的父子节点一致性的问题,使文本类目预测模型预测的类目路径能够准确表征短文本所对应的多层级类目。
上述文本类目预测模型的处理装置1600中的部分步骤或全部步骤的实施例,可以参考前文关于文本类目预测方法的实施例,此处不重复说明。
上述文本类目预测模型的处理装置1600中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器终端,其内部结构图可以如图17所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储短文本数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文本类目预测方法和文本类目预测模型的训练方法中的至少一种。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图18所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种文本类目预测方法和文本类目预测模型的训练方法中的至少一种。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图17、18中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现本申请任意实施例提供的文本类目预测方法或文本类目预测模型的处理方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请任意实施例提供的文本类目预测方法或文本类目预测模型的处理方法。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请任意实施例提供的文本类目预测方法或文本类目预测模型的处理方法。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (34)
1.一种文本类目预测方法,其特征在于,所述方法包括:
获取待进行多层级类目预测的短文本;
通过训练好的文本类目预测模型的编码层,按照所述短文本中每个字的先后顺序依次处理,将前次的运算结果和当前字的语义向量作为当次运算的输入,得到对应当前字的编码隐藏向量,直至处理到所述短文本中的末位字时,将得到的对应所述末位字的编码隐藏向量作为所述短文本的语义编码向量;
通过所述文本类目预测模型的解码层,根据所述语义编码向量与查询到的文本起始标记符号对应的嵌入向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与查询到的前次解码得到的类目所对应的嵌入向量,进行当次解码,得到当次解码的解码隐藏向量,基于所述当次解码的解码隐藏向量获得所述短文本当次解码对应的类目,直至解码次数达到预设阈值或当次解码得到文本结束标记符号时,结束解码;
将解码得到的多个类目按层级进行组合,获得所述短文本对应的类目路径。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述短文本输入所述文本类目预测模型的编码层;
通过所述编码层的字编码网络,查询字映射表获得所述短文本中每个字的字标识,将分类符号以及所述每个字的字标识编码为相应的字向量,所述每个字的字向量用于表征相应字的语义信息,所述分类符号对应的字向量用于表征所述短文本的全局语义信息;以及
将所述短文本中每个字的字向量分别与所述分类符号的字向量拼接,得到所述每个字在所述短文本中的语义向量。
3.根据权利要求1所述的方法,其特征在于,所述通过训练好的文本类目预测模型的编码层,按照所述短文本中每个字的先后顺序依次处理,将前次的运算结果和当前字的语义向量作为当次运算的输入,得到对应当前字的编码隐藏向量,直至处理到所述短文本中的末位字时,将得到的对应所述末位字的编码隐藏向量作为所述短文本的语义编码向量,包括:
将所述短文本中每个字的语义向量,输入所述编码层的全局编码网络;
在所述全局编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,对相应的语义向量进行依次处理,依次得到所述全局编码网络对应每个字的编码隐藏向量,直至处理到所述短文本中的末位字时,将得到的所述全局编码网络对应所述末位字的编码隐藏向量作为所述短文本的语义编码向量。
4.根据权利要求3所述的方法,其特征在于,所述全局编码网络为全局前向编码网络,所述在所述全局编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,对相应的语义向量进行依次处理,依次得到所述全局编码网络对应每个字的编码隐藏向量,直至处理到所述短文本中的末位字时,将得到的所述全局编码网络对应所述末位字的编码隐藏向量作为所述短文本的语义编码向量,包括:
在所述全局前向编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,顺序地对所述每个字相应的语义向量进行依次处理,依次得到所述全局前向编码网络对应每个字的前向编码隐藏向量,直至处理到所述短文本中的末尾字时,将得到的所述全局前向编码网络对应所述末尾字的前向编码隐藏向量作为所述短文本的语义编码向量。
5.根据权利要求3所述的方法,其特征在于,所述全局编码网络为全局后向编码网络,所述在所述全局编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,对相应的语义向量进行依次处理,依次得到所述全局编码网络对应每个字的编码隐藏向量,直至处理到所述短文本中的末位字时,将得到的所述全局编码网络对应所述末位字的编码隐藏向量作为所述短文本的语义编码向量,包括:
在所述全局后向编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,逆序地对所述每个字相应的语义向量进行依次处理,依次得到所述全局后向编码网络对应每个字的后向编码隐藏向量,直至处理到所述短文本中的首个字时,将得到的所述全局后向编码网络对应所述首个字的后向编码隐藏向量作为所述短文本的语义编码向量。
6.根据权利要求3所述的方法,其特征在于,所述全局编码网络为全局双向编码网络,所述在所述全局编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,对相应的语义向量进行依次处理,依次得到所述全局编码网络对应每个字的隐藏向量,直至处理到所述短文本中的末位字时,将得到的所述全局编码网络对应所述末位字的隐藏向量作为所述短文本的语义编码向量,包括:
在所述全局双向编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,顺序地对所述每个字相应的语义向量进行依次处理,依次得到所述全局双向编码网络对应每个字的前向编码隐藏向量,直至处理到所述短文本中的末尾字时,得到所述全局双向编码网络对应所述末尾字的前向编码隐藏向量;
在所述全局双向编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,逆序地对所述每个字相应的语义向量进行依次处理,依次得到所述全局双向编码网络对应每个字的后向编码隐藏向量,直至处理到所述短文本中的首个字时,得到所述全局双向编码网络对应所述首个字的后向编码隐藏向量;
根据所述末尾字的前向编码隐藏向量与所述首个字的后向编码隐藏向量,得到所述短文本的语义编码向量。
7.根据权利要求6所述的方法,其特征在于,所述按照所述短文本中每个字的先后顺序,顺序地对所述每个字相应的语义向量进行依次处理,依次得到所述全局双向编码网络对应每个字的前向编码隐藏向量,包括:
按照所述短文本中每个字的先后顺序,顺序地将每个字的语义向量作为所述全局双向编码网络的隐藏层当前处理的语义向量;
在当前处理的语义向量是所述短文本中首个字对应的语义向量时,通过所述隐藏层根据初始的前向编码隐藏向量与所述首个字对应的语义向量,得到所述首个字对应的前向编码隐藏向量;
在当前处理的语义向量不是所述短文本中首个字对应的语义向量时,通过所述隐藏层根据前次处理得到的前向编码隐藏向量与当前处理的语义向量,得到当前处理得到的前向编码隐藏向量。
8.根据权利要求6所述的方法,其特征在于,所述按照所述短文本中每个字的先后顺序,逆序地对所述每个字相应的语义向量进行依次处理,依次得到所述全局双向编码网络对应每个字的后向编码隐藏向量,包括:
按照所述短文本中每个字的先后顺序,逆序地将每个字的语义向量作为所述全局双向编码网络的隐藏层当前处理的语义向量;
在当前处理的语义向量是所述短文本中末尾字对应的语义向量时,通过所述隐藏层根据初始的后向编码隐藏向量与所述末尾字对应的语义向量,得到所述末尾字对应的后向编码隐藏向量;
在当前处理的语义向量不是所述短文本中末尾字对应的语义向量时,通过所述隐藏层根据前次处理得到的后向编码隐藏向量与当前处理的语义向量,得到当前处理得到的后向编码隐藏向量。
9.根据权利要求1所述的方法,其特征在于,所述根据所述语义编码向量与查询到的文本起始标记符号对应的嵌入向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述短文本对应的首个类目,包括:
通过所述解码层,查询文本起始标记符号所对应的嵌入向量;
通过所述解码层的隐藏层根据所述文本起始标记符号对应的嵌入向量与所述语义编码向量进行解码得到首个解码隐藏向量;
通过所述隐藏层的全连接层,根据所述首个解码隐藏向量得到首个类目向量,将所述首个类目向量中最大值所对应的类目,作为所述短文本对应的首个类目。
10.根据权利要求1所述的方法,其特征在于,所述根据前次解码所得到的解码隐藏向量与查询到的前次解码得到的类目所对应的嵌入向量,进行当次解码,得到当次解码的解码隐藏向量,基于所述当次解码的解码隐藏向量获得所述短文本当次解码对应的类目,直至解码次数达到预设阈值或当次解码得到文本结束标记符号时,结束解码,包括:通过所述解码层,查询前次解码得到的类目所对应的嵌入向量;
通过所述解码层的隐藏层根据所述前次解码所得到的解码隐藏向量与所述类目对应的嵌入向量进行当次解码,得到当次解码的解码隐藏向量;
通过所述隐藏层的全连接层,根据所述当次解码的解码隐藏向量得到当次输出的类目向量,将所述类目向量中最大值所对应的类目,作为当次解码所述短文本对应的类目;
当解码次数达到预设阈值或根据当次输出的类目向量输出文本结束标记符号时,结束解码。
11.根据权利要求1所述的方法,其特征在于,所述将解码得到的多个类目按层级进行组合,获得所述短文本对应的类目路径,包括:
查询类目层级表,确定每次解码得到的类目所对应的类目层级;
按所述类目层级,将每次解码得到的类目进行组合,获得所述短文本对应的至少一个类目路径。
12.根据权利要求1至11任一项所述的方法,其特征在于,所述文本类目预测模型的训练步骤包括:
确定表征类目路径之间的相关关系的共现矩阵;
获取样本短文本以及对应的标注类目路径;
根据所述共现矩阵所表征的类目路径之间的相关关系,确定与所述标注类目路径存在相关关系的类目路径,作为扩展类目路径;
将所述样本短文本输入文本类目预测模型,得到关于所述样本短文本的预测类目路径;
根据所述预测类目路径与所述标注类目路径、所述扩展类目路径,计算交叉熵损失,根据所述交叉熵损失优化所述文本类目预测模型。
13.一种文本类目预测模型的处理方法,其特征在于,所述方法包括:
获取样本短文本以及所述样本短文本的标注类目路径;
通过类目预测模型的编码层,按照所述样本短文本中每个字的先后顺序依次处理,将前次的运算结果和当前字的语义向量作为当次运算的输入,得到对应当前字的编码隐藏向量,直至处理到所述样本短文本中的末位字时,将得到的对应所述末位字的编码隐藏向量作为所述样本短文本的语义编码向量;
通过所述文本类目预测模型的解码层,根据所述语义编码向量与查询到的文本起始标记符号对应的嵌入向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述样本短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与查询到的前次解码得到的类目所对应的嵌入向量,进行当次解码,得到当次解码的解码隐藏向量,基于所述当次解码的解码隐藏向量获得所述短文本当次解码对应的类目,直至解码次数达到预设阈值或当次解码得到文本结束标记符号时,结束解码;
根据多次解码得到的多个类目与所述标注类目路径所包括的多个类目之间的差异,优化所述文本类目预测模型。
14.根据权利要求13所述的方法,其特征在于,所述根据多次解码得到的多个类目与所述标注类目路径所包括的多个类目之间的差异,优化所述文本类目预测模型,包括:
确定表征类目路径之间的相关关系的共现矩阵;
根据所述共现矩阵所表征的类目路径之间的相关关系,确定与所述标注类目路径存在相关关系的类目路径,作为扩展类目路径;
根据所述多次解码得到的多个类目、所述标注类目路径以及所述扩展类目路径,计算交叉熵损失,根据所述交叉熵损失优化所述文本类目预测模型。
15.根据权利要求14所述的方法,其特征在于,所述确定表征类目路径之间的相关关系的共现矩阵,包括:
获取样本短文本集合;
通过预训练语言模型将所述样本短文本集合中的每个短文本表征为文本语义向量,将属于每个类目的样本短文本的文本语义向量求均值,得到每个类目的文本语义表示;
根据两两类目的文本语义表示之间的距离,确定每个类目的相关类目;
根据每个类目的相关类目,生成表征类目路径之间的相关关系的共现矩阵。
16.根据权利要求14所述的方法,其特征在于,所述根据所述多次解码得到的多个类目、所述标注类目路径以及所述扩展类目路径,计算交叉熵损失,包括:
将所述标注类目路径与所述扩展类目路径进行去重处理后,得到所述样本短文本对应的多个标注类目;
根据所述多个标注类目与所述多次解码得到的多个类目,计算交叉熵损失。
17.一种文本类目预测装置,其特征在于,所述装置包括:
获取模块,用于获取待进行多层级类目预测的短文本;
编码模块,用于通过训练好的文本类目预测模型的编码层,按照所述短文本中每个字的先后顺序依次处理,将前次的运算结果和当前字的语义向量作为当次运算的输入,得到对应当前字的编码隐藏向量,直至处理到所述短文本中的末位字时,将得到的对应所述末位字的编码隐藏向量作为所述短文本的语义编码向量;
解码模块,用于通过所述文本类目预测模型的解码层,根据所述语义编码向量与查询到的文本起始标记符号对应的嵌入向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与查询到的前次解码得到的类目所对应的嵌入向量,进行当次解码,得到当次解码的解码隐藏向量,基于所述当次解码的解码隐藏向量获得所述短文本当次解码对应的与类目,直至解码次数达到预设阈值或当次解码得到文本结束标记符号时,结束解码;
组合模块,用于将解码得到的多个类目按层级进行组合,获得所述短文本对应的类目路径。
18.根据权利要求17所述的装置,其特征在于,所述编码模块,还用于将所述短文本输入所述文本类目预测模型的编码层;通过所述编码层的字编码网络,查询字映射表获得所述短文本中每个字的字标识,将分类符号以及所述每个字的字标识编码为相应的字向量,所述每个字的字向量用于表征相应字的语义信息,所述分类符号对应的字向量用于表征所述短文本的全局语义信息;以及将所述短文本中每个字的字向量分别与所述分类符号的字向量拼接,得到所述每个字在所述短文本中的语义向量。
19.根据权利要求17所述的装置,其特征在于,所述编码模块,还用于将所述短文本中每个字的语义向量,输入所述编码层的全局编码网络;在所述全局编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,对相应的语义向量进行依次处理,依次得到所述全局编码网络对应每个字的编码隐藏向量,直至处理到所述短文本中的末位字时,将得到的所述全局编码网络对应所述末位字的编码隐藏向量作为所述短文本的语义编码向量。
20.根据权利要求19所述的装置,其特征在于,所述全局编码网络为全局前向编码网络,所述编码模块,还用于在所述全局前向编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,顺序地对所述每个字相应的语义向量进行依次处理,依次得到所述全局前向编码网络对应每个字的前向编码隐藏向量,直至处理到所述短文本中的末尾字时,将得到的所述全局前向编码网络对应所述末尾字的前向编码隐藏向量作为所述短文本的语义编码向量。
21.根据权利要求19所述的装置,其特征在于,所述全局编码网络为全局后向编码网络,所述编码模块,还用于在所述全局后向编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,逆序地对所述每个字相应的语义向量进行依次处理,依次得到所述全局后向编码网络对应每个字的后向编码隐藏向量,直至处理到所述短文本中的首个字时,将得到的所述全局后向编码网络对应所述首个字的后向编码隐藏向量作为所述短文本的语义编码向量。
22.根据权利要求19所述的装置,其特征在于,所述全局编码网络为全局双向编码网络,所述编码模块,还用于在所述全局双向编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,顺序地对所述每个字相应的语义向量进行依次处理,依次得到所述全局双向编码网络对应每个字的前向编码隐藏向量,直至处理到所述短文本中的末尾字时,得到所述全局双向编码网络对应所述末尾字的前向编码隐藏向量;在所述全局双向编码网络的隐藏层中,按照所述短文本中每个字的先后顺序,逆序地对所述每个字相应的语义向量进行依次处理,依次得到所述全局双向编码网络对应每个字的后向编码隐藏向量,直至处理到所述短文本中的首个字时,得到所述全局双向编码网络对应所述首个字的后向编码隐藏向量;根据所述末尾字的前向编码隐藏向量与所述首个字的后向编码隐藏向量,得到所述短文本的语义编码向量。
23.根据权利要求22所述的装置,其特征在于,所述编码模块,还用于按照所述短文本中每个字的先后顺序,顺序地将每个字的语义向量作为所述全局双向编码网络的隐藏层当前处理的语义向量;在当前处理的语义向量是所述短文本中首个字对应的语义向量时,通过所述隐藏层根据初始的前向编码隐藏向量与所述首个字对应的语义向量,得到所述首个字对应的前向编码隐藏向量;在当前处理的语义向量不是所述短文本中首个字对应的语义向量时,通过所述隐藏层根据前次处理得到的前向编码隐藏向量与当前处理的语义向量,得到当前处理得到的前向编码隐藏向量。
24.根据权利要求22所述的装置,其特征在于,所述编码模块,还用于按照所述短文本中每个字的先后顺序,逆序地将每个字的语义向量作为所述全局双向编码网络的隐藏层当前处理的语义向量;在当前处理的语义向量是所述短文本中末尾字对应的语义向量时,通过所述隐藏层根据初始的后向编码隐藏向量与所述末尾字对应的语义向量,得到所述末尾字对应的后向编码隐藏向量;在当前处理的语义向量不是所述短文本中末尾字对应的语义向量时,通过所述隐藏层根据前次处理得到的后向编码隐藏向量与当前处理的语义向量,得到当前处理得到的后向编码隐藏向量。
25.根据权利要求17所述的装置,其特征在于,所述解码模块,还用于通过所述解码层,查询文本起始标记符号所对应的嵌入向量;通过所述解码层的隐藏层根据所述文本起始标记符号对应的嵌入向量与所述语义编码向量进行解码得到首个解码隐藏向量;通过所述隐藏层的全连接层,根据所述首个解码隐藏向量得到首个类目向量,将所述首个类目向量中最大值所对应的类目,作为所述短文本对应的首个类目。
26.根据权利要求17所述的装置,其特征在于,所述解码模块,还用于通过所述解码层,查询前次解码得到的类目所对应的嵌入向量;通过所述解码层的隐藏层根据所述前次解码所得到的解码隐藏向量与所述类目对应的嵌入向量进行当次解码,得到当次解码的解码隐藏向量;通过所述隐藏层的全连接层,根据所述当次解码的解码隐藏向量得到当次输出的类目向量,将所述类目向量中最大值所对应的类目,作为当次解码所述短文本对应的类目;当解码次数达到预设阈值或根据当次输出的类目向量输出文本结束标记符号时,结束解码。
27.根据权利要求17所述的装置,其特征在于,所述组合模块,还用于查询类目层级表,确定每次解码得到的类目所对应的类目层级;按所述类目层级,将每次解码得到的类目进行组合,获得所述短文本对应的至少一个类目路径。
28.根据权利要求17所述的装置,其特征在于,所述文本类目预测装置还包括:
训练模块,用于确定表征类目路径之间的相关关系的共现矩阵;获取样本短文本以及对应的标注类目路径;根据所述共现矩阵所表征的类目路径之间的相关关系,确定与所述标注类目路径存在相关关系的类目路径,作为扩展类目路径;将所述样本短文本输入文本类目预测模型,得到关于所述样本短文本的预测类目路径;根据所述预测类目路径与所述标注类目路径、所述扩展类目路径,计算交叉熵损失,根据所述交叉熵损失优化所述文本类目预测模型。
29.一种文本类目预测模型的处理装置,其特征在于,所述装置包括:
获取模块,用于获取样本短文本以及所述样本短文本的标注类目路径;
编码模块,用于通过类目预测模型的编码层,按照所述样本短文本中每个字的先后顺序依次处理,将前次的运算结果和当前字的语义向量作为当次运算的输入,得到对应当前字的编码隐藏向量,直至处理到所述样本短文本中的末位字时,将得到的对应所述末位字的编码隐藏向量作为所述样本短文本的语义编码向量;
解码模块,用于通过所述文本类目预测模型的解码层,根据所述语义编码向量与查询到的文本起始标记符号对应的嵌入向量进行首次解码得到首个解码隐藏向量以及基于所述首个解码隐藏向量获得所述样本短文本对应的首个类目之后,继续根据前次解码所得到的解码隐藏向量与查询到的前次解码得到的类目所对应的嵌入向量,进行当次解码,得到当次解码的解码隐藏向量,基于所述当次解码的解码隐藏向量获得所述短文本当次解码对应的与类目,直至解码次数达到预设阈值或当次解码得到文本结束标记符号时,结束解码;
优化模块,用于根据多次解码得到的多个类目与所述标注类目路径所包括的多个类目计算交叉熵损失,根据所述交叉熵损失优化所述文本类目预测模型。
30.根据权利要求29所述的装置,其特征在于,所述优化模块,还用于确定表征类目路径之间的相关关系的共现矩阵;根据所述共现矩阵所表征的类目路径之间的相关关系,确定与所述标注类目路径存在相关关系的类目路径,作为扩展类目路径;根据所述多次解码得到的多个类目、所述标注类目路径以及所述扩展类目路径,计算交叉熵损失,根据所述交叉熵损失优化所述文本类目预测模型。
31.根据权利要求30所述的装置,其特征在于,所述优化模块,还用于获取样本短文本集合;通过预训练语言模型将所述样本短文本集合中的每个短文本表征为文本语义向量,将属于每个类目的样本短文本的文本语义向量求均值,得到每个类目的文本语义表示;根据两两类目的文本语义表示之间的距离,确定每个类目的相关类目;根据每个类目的相关类目,生成表征类目路径之间的相关关系的共现矩阵。
32.根据权利要求30所述的装置,其特征在于,所述优化模块,还用于将所述标注类目路径与所述扩展类目路径进行去重处理后,得到所述样本短文本对应的多个标注类目;根据所述多个标注类目与所述多次解码得到的多个类目,计算交叉熵损失。
33.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至16中任一项所述的方法的步骤。
34.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至16中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210630816.7A CN114706987B (zh) | 2022-06-06 | 2022-06-06 | 文本类目预测方法、装置、设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210630816.7A CN114706987B (zh) | 2022-06-06 | 2022-06-06 | 文本类目预测方法、装置、设备、存储介质和程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114706987A CN114706987A (zh) | 2022-07-05 |
CN114706987B true CN114706987B (zh) | 2022-08-19 |
Family
ID=82177618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210630816.7A Active CN114706987B (zh) | 2022-06-06 | 2022-06-06 | 文本类目预测方法、装置、设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114706987B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860892B (zh) * | 2022-07-06 | 2022-09-06 | 腾讯科技(深圳)有限公司 | 层次类目预测方法、装置、设备和介质 |
CN115599921B (zh) * | 2022-11-28 | 2023-03-31 | 腾讯科技(深圳)有限公司 | 文本分类、文本分类模型训练方法、装置和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281635A (zh) * | 2014-03-13 | 2015-01-14 | 电子科技大学 | 基于隐私反馈预测移动用户基础属性的方法 |
CN107590192A (zh) * | 2017-08-11 | 2018-01-16 | 深圳市腾讯计算机系统有限公司 | 文本问题的数学化处理方法、装置、设备和存储介质 |
CN110609897A (zh) * | 2019-08-12 | 2019-12-24 | 北京化工大学 | 一种融合全局和局部特征的多类别中文文本分类方法 |
CN114328807A (zh) * | 2021-08-24 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 一种文本处理方法、装置、设备及存储介质 |
CN114357151A (zh) * | 2021-08-10 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 文本类目识别模型的处理方法、装置、设备及存储介质 |
-
2022
- 2022-06-06 CN CN202210630816.7A patent/CN114706987B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281635A (zh) * | 2014-03-13 | 2015-01-14 | 电子科技大学 | 基于隐私反馈预测移动用户基础属性的方法 |
CN107590192A (zh) * | 2017-08-11 | 2018-01-16 | 深圳市腾讯计算机系统有限公司 | 文本问题的数学化处理方法、装置、设备和存储介质 |
CN110609897A (zh) * | 2019-08-12 | 2019-12-24 | 北京化工大学 | 一种融合全局和局部特征的多类别中文文本分类方法 |
CN114357151A (zh) * | 2021-08-10 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 文本类目识别模型的处理方法、装置、设备及存储介质 |
CN114328807A (zh) * | 2021-08-24 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 一种文本处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114706987A (zh) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581510B (zh) | 分享内容处理方法、装置、计算机设备和存储介质 | |
CN108446374B (zh) | 用户意图预测方法、装置、电子设备、存储介质 | |
CN110309427B (zh) | 一种对象推荐方法、装置及存储介质 | |
CN107133345B (zh) | 基于人工智能的交互方法和装置 | |
US9449271B2 (en) | Classifying resources using a deep network | |
CN114706987B (zh) | 文本类目预测方法、装置、设备、存储介质和程序产品 | |
CN107357793B (zh) | 信息推荐方法和装置 | |
US20170228459A1 (en) | Method and device for mobile searching based on artificial intelligence | |
CN113254711B (zh) | 一种互动图像的显示方法、装置、计算机设备和存储介质 | |
CN109598586A (zh) | 一种基于注意力模型的推荐方法 | |
EP4310695A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
WO2023108993A1 (zh) | 基于深度聚类算法的产品推荐方法、装置、设备及介质 | |
Lian et al. | Product quantized collaborative filtering | |
Li et al. | Asking images: Hybrid recommendation system for tourist spots by hierarchical sampling statistics and multimodal visual Bayesian personalized ranking | |
CN117216535A (zh) | 推荐文本生成模型的训练方法、装置、设备及介质 | |
CN112749330A (zh) | 信息推送方法、装置、计算机设备和存储介质 | |
CN116975615A (zh) | 基于视频多模态信息的任务预测方法和装置 | |
CN117556067B (zh) | 数据检索方法、装置、计算机设备和存储介质 | |
CN117271818B (zh) | 视觉问答方法、系统、电子设备及存储介质 | |
CN114330704A (zh) | 语句生成模型更新方法、装置、计算机设备和存储介质 | |
CN107766576A (zh) | 一种微博用户兴趣特征的提取方法 | |
CN113076476A (zh) | 一种微博异构信息的用户画像构建方法 | |
CN117131155A (zh) | 多类目识别方法、装置、电子设备及储存介质 | |
Zhao et al. | Dtree2vec: A High-Accuracy and Dynamic Scheme for Real-Time Book Recommendation by Serialized Chapters and Local Fine-Grained Partitioning | |
CN111797622B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |