CN116720004A - 推荐理由生成方法、装置、设备及存储介质 - Google Patents

推荐理由生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116720004A
CN116720004A CN202310993244.3A CN202310993244A CN116720004A CN 116720004 A CN116720004 A CN 116720004A CN 202310993244 A CN202310993244 A CN 202310993244A CN 116720004 A CN116720004 A CN 116720004A
Authority
CN
China
Prior art keywords
text
word
sample
recommendation
word segmentation
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.)
Granted
Application number
CN202310993244.3A
Other languages
English (en)
Other versions
CN116720004B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310993244.3A priority Critical patent/CN116720004B/zh
Publication of CN116720004A publication Critical patent/CN116720004A/zh
Application granted granted Critical
Publication of CN116720004B publication Critical patent/CN116720004B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

本申请公开了一种推荐理由生成方法、装置、设备及存储介质,涉及AI领域中的推荐技术领域,该方法采用提示学习方法对预训练语言模型进行推荐领域的适应性训练,通过采用物品的属性文本,进而无需引入物品ID作为token ID,即使物品ID发生变化,仍然能够从物品的各个属性维度来描述该物品,从而一旦目标语言模型训练完成过后,则可以投入到推荐理由文本的生成使用中,且无需频繁的进行模型的训练,避免了频繁训练带来的资源耗费的问题。并且,有效避免了引入新的token ID引起的物品ID与原有语言模型中token的嵌入表征不在同一表征空间的问题,极大降低了精调语言模型的难度,从而更好地发挥出大语言模型的文本生成能力。

Description

推荐理由生成方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及人工智能(Artificial Intelligence,AI)中的推荐技术领域,提供一种推荐理由生成方法、装置、设备及存储介质。
背景技术
随着网络技术以及大数据技术的发展,物品推荐技术的应用已然十分广泛。物品推荐的过程通常由物品推荐系统来实现,且在一些场景中,需要明确向推荐对象推荐某个物品的推荐理由,以更好地帮助推荐对象理解被推荐的物品,推荐系统可通过提供可理解的推荐理由来证明推荐的合理性,因此准确的生成推荐理由是十分有必要的。实现推荐理由的常用方法是自然语言生成,而大语言模型有着非常强的自然语言生成能力,因而大语言模型已经逐渐被应用到推荐场景中,但利用大语言模型对推荐结果生成推荐理由的相关工作还较少,且目前多采用推荐对象身份标识(Identity,ID)与物品ID作为token ID进行学习,生成向某个推荐对象推荐某个物品的推荐理由。
然而,在大语言模型中,通常token ID是固定不变的,因而通常大语言模型一旦完成训练后是没有必要重新训练大语言模型的。但是,推荐场景中会不断产生新的推荐对象ID或者物品ID,也会有旧的推荐对象ID或者物品ID不断失效,这就使得大语言模型在推荐场景中生成推荐理由存在障碍,无法很好的适应推荐场景的变化,最终使得在实际场景中无法有效的生成推荐理由。而若想适应这种变化,则当ID发生变化时,则需要不断的重新进行训练,而大语言模型的每一次训练都需要耗费大量的资源以及时间,频繁的训练势必会产生过多的资源浪费。
发明内容
本申请实施例提供一种推荐理由生成方法、装置、设备及存储介质,用于提升搜索结果呈现的精准性,提升内容查找效率。
一方面,提供一种推荐理由生成方法,该方法包括:
获得参考物品的第一物品属性集合,以及获得基于所述参考物品推荐的推荐物品的第二物品属性集合;其中,每个物品属性集合包括相应物品在多个预设物品属性维度上的文本描述信息;
基于所述第一物品属性集合和所述第二物品属性集合,按照预设的目标提示文本模板,构建相应的目标提示文本;其中,所述提示文本模板中预设了各个物品的各个物品属性维度之间的排列关系;
将所述目标提示文本输入至已训练的目标语言模型,获得所述目标语言模型输出的推荐理由文本;
其中,所述目标语言模型是基于多个样本文本,采用提示学习方法训练得到的,每个样本文本由样本提示文本以及其对应的推荐理由文本组成。
一方面,提供一种推荐理由生成装置,该装置包括:
属性获得单元,用于获得参考物品的第一物品属性集合,以及获得基于所述参考物品推荐的推荐物品的第二物品属性集合;其中,每个物品属性集合包括相应物品在多个预设物品属性维度上的文本描述信息;
提示文本生成单元,用于基于所述第一物品属性集合和所述第二物品属性集合,按照预设的目标提示文本模板,构建相应的目标提示文本;其中,所述提示文本模板中预设了各个物品的各个物品属性维度之间的排列关系;
推荐理由生成单元,用于将所述目标提示文本输入至已训练的目标语言模型,获得所述目标语言模型输出的推荐理由文本;
其中,所述目标语言模型是基于多个样本文本,采用提示学习方法训练得到的,每个样本文本由样本提示文本以及其对应的推荐理由文本组成。
一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法的步骤。
一方面,提供一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一种方法的步骤。
一方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述任一种方法的步骤。
本申请实施例中,针对物品-物品(item-to-item,I2I)推荐领域,预先通过大量的样本提示文本以及其对应的推荐理由文本组成样本文本,采用提示学习方法训练得到目标语言模型,且模型的输入采用了各个物品的物品属性集合来描述相应物品,并以此来构建相应的目标提示文本,作为目标语言模型的输入,进而通过目标语言模型来获得其输出的推荐理由文本。因而,本申请实施例通过采用物品的属性文本,进而无需引入物品ID作为token ID,即使物品ID发生变化,仍然能够从物品的各个属性维度来描述该物品,从而一旦目标语言模型训练完成过后,则可以投入到推荐理由文本的生成使用中,且无需频繁的进行模型的训练,避免了频繁训练带来的资源和时间耗费的问题。并且,有效避免了引入新的token ID引起的物品ID与原有语言模型中token的嵌入表征不在同一表征空间的问题,极大降低了精调语言模型的难度,从而更好地发挥出大语言模型的文本生成能力。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的应用场景示意图;
图2为本申请实施例提供的模型训练流程示意图;
图3为本申请实施例提供的构建样本文本的逻辑流程示意图;
图4a~图4c为本申请实施例提供的基于提示学习的训练原理示意图;
图5为本申请实施例提供的推荐理由生成方法的流程示意图;
图6a~图6b为本申请实施例提供的目标语言模型的模型结构示意图;
图7为本申请实施例提供的推荐理由文本的生成流程示意图;
图8为本申请实施例提供的获得分词表示向量序列的流程示意图;
图9为本申请实施例提供的推荐理由生成方法在视频推荐场景中的应用示意图;
图10为本申请实施例提供的推荐理由生成装置的一种结构示意图;
图11为本申请实施例提供的计算机设备的组成结构示意图;
图12为本申请实施例提供的另一种计算机设备的组成结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
可以理解的是,在本申请的下述具体实施方式中,可能涉及到用户数据,例如用户推荐记录数据,则当本申请的各实施例运用到具体产品或技术中时,需要获得相关许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
为便于理解本申请实施例提供的技术方案,这里先对本申请实施例使用的一些关键名词进行解释:
物品:本申请实施例中物品可以理解为网络中可以被推荐的任意内容,包括但不限于商品、视频、音频、小说、新闻或者游戏等。
嵌入表示(embedding representation)向量:是基于神经网络模型生成的对输入对象的分布式表征,嵌入表示向量的主要作用是将输入对象的高维稀疏信息转化为了低维稠密信息,使得这些低维稠密信息能够表达相应对象的某些特征,同时不同嵌入表示向量之间的距离能反应相应对象之间的相似性,从而方便于下游模型的应用,例如深度学习类的模型处理。这些输入对象通常为自然语言处理(Natural Language Processing,NLP)中的词、实体、语义标签或者图节点等,例如输入对象为物品,则该物品的嵌入表示向量能够在一向量空间中唯一表征该物品,且任意两个物品的嵌入表示向量在该向量空间中的距离能够表征这两个物品之间的相似程度,其距离越接近,表征这两个物品更为相似。
预训练模型(Pretrained Model):是指在大规模的语料库上进行训练得到的模型,通常使用无监督学习的方法,例如自编码器、语言模型等。预训练模型的基本思想是利用大规模的语料库,通过无监督学习的方法,让模型学习到大量的通用知识和规律,从而作为各种自然语言处理任务的基础模型,例如本申请实施例在预训练模型的基础上,增加了适应于推荐理由生成任务的适应性训练,使得得到的模型能够用于推荐理由的生成。
Transformer:是一种常见的深度学习模型架构,在自然语言处理、计算机视觉(Computer Vision,CV)和语音处理等各个领域得到了广泛应用。Transformer最初被提出时是一种用于机器翻译的序列到序列的模型架构,由编码器和解码器组成,编码器和解码器都是一系列相同结构的Transformer块(Block)组成,每个Transformer块至少由多头自注意力层和前馈神经网络层组成。目前Transformer已经成为自然语言处理中的常用架构,且常作为预训练模型使用。除了与语言相关的应用之外,Transformer还被应用于计算机视觉、音频处理等领域。
语言模型(Language Model):是一种用于对自然语言进行建模的模型,其目的是预测一个给定的文本序列的下一个单词或字符,语言模型可以用于多种自然语言处理任务,例如文本的语义抽取、文本生成、机器翻译、语音识别等。目前,基于Transformer的预训练语言模型(pre-trained language model,PLM)在自然语言处理的各种任务上较为常见,且通常能够取得较为良好的效果,例如较为常见的预训练语言模型包括基于双向编码表示的Transformer模型(Bidirectional Encoder Representation from Transformers,Bert)以及生成式预训练Transformer模型(Generative Pre-Trained Transformer,GPT)等。
大语言模型(Large Language Model):是指具有大规模参数和训练数据的自然语言处理模型。大语言模型的训练过程通常采用无监督学习的方式,即通过大规模文本语料库来训练模型,从而学习到语言的概率分布和语言规律。在训练过程中,大语言模型通常采用语言模型(Language Model)作为目标函数,即通过最大化下一个单词的预测概率来优化模型参数,例如基于Transformer模型结构的GPT系列模型,它是在大规模语料库上进行训练,可以生成高质量的自然语言文本,如文章、对话等。
提示学习(Prompt Learning):是一种基于人类提示的自然语言生成技术,以更好的使用预训练语言模型的知识,采用在输入段添加额外的文本,旨在提高最终生成的模型的生成质量和效率。基本思想是在生成过程中,给定一个人类提示或者部分生成结果,称之为提示token(prompt token),让模型在此基础上继续生成文本。提示学习可以应用于各种自然语言生成任务,例如文本摘要、机器翻译、对话生成等。提示学习可以帮助模型更好地理解生成任务的上下文和语境,从而生成更加准确和自然的文本,从而可以提高生成模型的生成质量和效率,同时也可以减少生成模型的生成空间,从而提高生成效率和速度。
微调模型(Fine-tuning):是指在一个预训练模型的基础上,使用特定的数据集对模型进行进一步的训练,以适应特定的任务或领域,因此也可以称之为适应性训练,最终可以提高模型在特定任务上的性能和效果。提示学习的过程中通常需要涉及到微调模型,以便让模型更好地理解提示文本和生成任务的上下文和语境,从而生成更加准确和自然的文本。
近似最近邻(Approximate Nearest Neighbor,ANN)算法:是一种用于高维数据的快速最近邻搜索算法,它可以在大规模数据集上进行高效的最近邻搜索,常用于计算机视觉、自然语言处理等领域。
分词器(tokenizer):是一种将自然语言文本转换为单词或子词序列的工具。在Transformer模型中,tokenizer通常指的是将自然语言文本转换为模型输入所需的token序列的工具,通常采用的是基于字或子词(sub-token)的分词方法,例如字节对编码(BytePair Encoding,BPE)或者句子片段(Sentence Piece)等,这些方法可以将单词或者子词拆分成更小的单元,以便模型更好地处理不常见的单词或者词汇表中没有的单词。
Attention机制:是一种通过使用高级信息来衡量网络中间特征,使得网络关注于图像中辅助判断的部分信息,忽略不相关信息的方式,注意力机制的本质来自于人类视觉注意力机制,人们视觉在感知东西的时候一般不会是一个场景从到头看到尾每次全部都看,而往往是根据需求观察注意特定的一部分,而且当人们发现一个场景经常在某部分出现自己想观察的东西时,人们会进行学习在将来再出现类似场景时把注意力放到该部分上。因此,注意力机制实质上是从大量信息中筛选出高价值信息的手段,在大量信息中,不同信息对于结果的重要性是不同的,这种重要性可以通过赋予不同大小的权值来体现,换言之,注意力机制可以理解成对多个来源进行合成时分配权重的一种规则。通常可以用于解决模型输入序列较长的时候很难获得最终合理的向量表示问题,做法是保留模型的中间结果,用新的模型对其进行学习,并将其与输出进行关联,从而达到信息筛选的目的。Attention机制包括Attention机制、自Attention机制、单头Attention机制以及多头Attention机制等。
本申请实施例涉及人工智能和机器学习(Machine Learning,ML)技术,主要基于人工智能中的推荐技术以及推荐理由生成技术等而设计。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理是计算机科学领域与人工智能领域中的重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理涉及自然语言,即人们日常使用的语言,与语言学研究密切;同时涉及计算机科学和数学。人工智能领域模型训练的重要技术,预训练模型,即是从NLP领域的大语言模型发展而来。经过微调,大语言模型可以广泛应用于下游任务。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。预训练模型是深度学习的最新发展成果,融合了以上技术。
机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络(Artificial NeuralNetwork,ANN)、置信网络、强化学习、迁移学习、归纳学习等技术。
人工神经网络,从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成,每个节点代表一种特定的输出函数,称为激励函数(activationfunction),每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆,网络的输出则依网络的连接方式,权重值和激励函数的不同而不同,而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、数字孪生、虚拟人、机器人、人工智能生成内容(AIGC)、对话式交互、智能医疗、智能客服、游戏AI等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及I2I推荐领域中针对推荐的物品进行推荐理由文本的生成,输出的推荐理由文本可以使得推荐对象更好的理解被推荐的物品,来证明当前推荐的合理性。在进行推荐理由文本的生成时,则需要采用基于深度学习的人工神经网络模型,即本申请实施例采用机器学习以及针对预训练模型进行提示学习相关的方法,获得能够I2I推荐场景的推荐理由文本生成的目标语言模型,目标语言模型基于机器学习实现处理和理解I2I推荐场景中两物品基于物品属性的相关性以及语义关系的能力,来生成由一物品推荐另一物品的推荐理由文本。
具体而言,在本申请实施例中的推荐理由文本的生成可分为两部分,包括训练部分和应用部分。其中,训练部分就涉及到机器学习这一技术领域,其中,在训练部分中,本申请实施例采用了I2I推荐领域中的训练数据,针对预训练语言模型进行提示学习,并通过优化算法不断调整模型参数,直至模型收敛,以使得微调后的预训练语言模型能够适应I2I推荐领域中,并能够更好地理解I2I推荐领域中推荐理由文本生成任务的上下文和语境,从而生成更加准确和自然的推荐理由文本。应用部分用于使用在训练部分训练得到的人工神经网络模型来对实际使用过程中输入的两个物品的物品属性集合进行推荐理由文本的生成。另外,还需要说明的是,本申请实施例中人工神经网络模型可以是在线训练也可以是离线训练,在此不做具体限定。在本文中是以离线训练为例进行举例说明的。
下面,对本申请实施例的技术思想进行简述。
目前,物品推荐系统的召回方式大致可以分为两种,一种是基于用户来定位推荐物品的召回方式,称之为用户-物品(user-to-item,U2I)召回方式,另一种即为上述使用物品推荐相似物品的召回方式,即I2I召回方式。随着大语言模型的广泛应用,大语言模型在推荐领域中也逐渐被使用,但相关技术中针对推荐理由的生成的相关工作还较少,且目前主要针对U2I场景进行使用,通常都是将推荐对象ID与物品ID作为大语言模型中的提示token加入到模型中,然后进行模型的精调。通常而言,相关技术主要包括如下两种方式:
(1)第一种方法将推荐对象ID与物品ID作为大语言模型的嵌入层的token直接放入模型中,进行后续的模型精调,然而,因为推荐对象ID与物品ID非常稀疏、量级也非常大,且推荐对象ID与物品ID和词表中原有token ID位于不同的表征空间,直接将其加入模型词表会造成大语言模型的微调十分困难。
(2)第二种方法将推荐对象ID与物品ID看成两种特殊的token ID进行向量化表达,将这两种ID作为连续的prompt向量输入到模型中,并提出了相应的微调策略调优这些ID提示符与原有的预训练语言模型。
然而,在大语言模型中,通常token ID是固定不变的,因而通常大语言模型一旦完成训练后是没有必要重新训练大模型的。但是,推荐场景中会不断产生新的推荐对象ID或者物品ID,也会有旧的推荐对象ID或者物品ID不断失效,这就使得大语言模型在推荐场景中生成推荐理由存在障碍,无法很好的适应推荐场景的变化,最终使得在实际场景中无法有效的生成推荐理由。而若想适应这种变化,则当ID发生变化时,则需要不断的重新进行训练,而大语言模型的每一次训练都需要耗费大量的资源以及时间,频繁的训练势必会产生过多的资源浪费。
基于此,本申请实施例提供了一种推荐理由生成方法,该方法针对I2I推荐领域,预先通过大量的样本提示文本以及其对应的推荐理由文本组成样本文本,采用提示学习方法训练得到目标语言模型,且模型的输入采用了各个物品的物品属性集合来描述相应物品,并以此来构建相应的目标提示文本,作为目标语言模型的输入,进而通过目标语言模型来获得其输出的推荐理由文本。因而,本申请实施例通过采用物品的属性文本,进而无需引入物品ID作为token ID,即使物品ID发生变化,仍然能够从物品的各个属性维度来描述该物品,从而一旦目标语言模型训练完成过后,则可以投入到推荐理由文本的生成使用中,且无需频繁的进行模型的训练,避免了频繁训练带来的资源和时间耗费的问题。并且,有效避免了引入新的token ID引起的物品ID与原有语言模型中token的嵌入表征不在同一表征空间的问题,极大降低了精调语言模型的难度,从而更好地发挥出大语言模型的文本生成能力。
下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
本申请实施例提供的方案可以适用于I2I推荐场景中,用于I2I推荐场景中推荐理由文本的生成。如图1所示,为本申请实施例提供的一种应用场景示意图,在该场景中,可以包括终端设备101和服务器102。
终端设备101例如可以为手机、平板电脑(PAD)、笔记本电脑、台式电脑、智能电视、智能车载设备、智能可穿戴设备、智能电视以及飞行器等任意涉及到物品推荐的设备。终端设备101可以安装有目标应用,目标应用可以具备被推荐物品、呈现被推荐物品以及推荐理由文本展示等功能,例如可以为即时通信应用、音乐应用、游戏应用、视频应用、短视频应用、新闻应用以及购物应用等。本申请实施例涉及的应用可以是软件客户端,也可以是网页、小程序等客户端。服务器102则是与软件或是网页、小程序等相对应的服务器,不限制客户端的具体类型。
服务器102可以为目标应用的后台服务器,用于为其提供相应的后台服务,例如推荐服务以及推荐理由生成服务等。其可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、即内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云端服务器,但并不局限于此。
需要说明的是,本申请实施例中的推荐理由生成方法可以由终端设备101或者服务器102单独执行,也可以由服务器102和终端设备101共同执行。当由终端设备101或者服务器102单独执行时,则模型训练以及应用过程都可以由终端设备101或者服务器102单独实现,例如可以在终端设备101上,通过采集到的样本文本采用提示学习方法对目标语言模型进行训练,以对目标语言模型的模型参数进行调整后,终端设备101则可以使用已训练的目标语言模型来生成I2I推荐的推荐理由文本,或者也可以由服务器102执行上述过程。当由服务器102和终端设备101共同执行时,则可以由服务器102对目标语言模型进行训练之后,将已训练的目标语言模型部署至终端设备101中,由终端设备101实现推荐理由生成过程,或者,模型训练或者应用过程的部分过程可以由终端设备101实现,部分过程可以由服务器102,二者合作实现模型训练或者应用过程。在实际应用时可以根据情况进行具体的配置,本申请在此不做具体限定。
其中,服务器102和终端设备101均可以包括一个或多个处理器、存储器以及与交互I/O接口等。此外,服务器102还可以配置数据库,可以用于存储训练得到的模型参数等。其中,服务器102和终端设备101的存储器中还可以存储本申请实施例提供的推荐理由生成方法中各自所需执行的程序指令,这些程序指令被处理器执行时能够用以实现本申请实施例提供的模型训练过程或者推荐理由生成过程。
需要说明的是,当本申请实施例提供的推荐理由生成方法由服务器102或者终端设备101单独执行时,则上述的应用场景中也可以仅包含服务器102或者终端设备101单一设备,或者,也可以认为服务器102和终端设备101其为同一个设备。当然,在实际应用时,当本申请实施例提供的推荐理由生成方法由服务器102和终端设备101共同执行时,服务器102和终端设备101也可以为同一个设备,即服务器102和终端设备101可以为同一设备的不同功能模块,或者由同一物理设备所虚拟出的虚拟设备。
在实际应用时,本申请实施例采用提示学习的方法,在预训练模型的基础上进行微调,微调模型的过程主要包括这几个阶段:准备数据集阶段,根据不同类型生成任务的需求,准备相应的数据集,数据集应该包含提示文本和对应的生成文本。例如,对应于本申请实施例的推荐理由生成任务,则可以采集各个推荐对象的已浏览物品和对应的推荐物品的物品属性集合,作为提示文本,生成文本即为基于已浏览物品推荐该推荐物品的推荐理由;加载预训练模型准备阶段,确定所需使用的预训练语言模型,例如GPT系列模型或者BERT作为基础模型;在预训练语言模型的基础上定义模型结构阶段,即可以根据所针对的文本生成任务的不同,定义不同的模型结构,例如seq2seq模型、transformer模型等;微调模型阶段,使用准备好的数据集对模型进行微调,以便让模型更好地理解提示文本和文本生成任务的上下文和语境。进而,微调之后的目标语言模型则可以使用于实际场景中的推荐理由文本生成过程中。
本申请实施例中,终端设备101和服务器102之间可以通过一个或者多个网络103进行直接或间接的通信连接。该网络103可以是有线网络,也可以是无线网络,例如无线网络可以是移动蜂窝网络,或者可以是无线保真(Wireless-Fidelity,WIFI)网络,当然还可以是其他可能的网络,本申请实施例对此不做限制。需要说明的是,图1所示只是举例说明,实际上终端设备和服务器的数量不受限制,在本申请实施例中不做具体限定。
下面,结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。且需要说明的是,下述的方法可以由上述终端设备或者服务器执行,也可以由终端设备和服务器共同执行,这里具体是以终端设备或者服务器执行为例进行示出的。
由于本申请实施提供的推荐理由生成方法是基于训练完成后的目标语言模型进行的,因此,在介绍实际的推荐理由生成过程之前,这里先针对模型训练的过程进行介绍。
参见图2所示,为本申请实施例提供的目标语言模型的训练流程示意图,该方法可以由计算机设备执行,该计算机设备可以是图1所示的终端设备或服务器,该方法的具体实施流程如下:
步骤201:获得多个样本文本,每个样本文本由样本提示文本以及其对应的推荐理由文本组成。
本申请实施例中,采用提示学习的方式来对目标语言模型进行微调,提示学习是通过一定的提示文本以及对应的生成文本来对目标语言模型进行适应的训练,以适应当前场景下的提示文本和生成文本之间的上下文和语境。
具体的,对应于I2I推荐场景,是由推荐对象已浏览物品来向其推荐另一物品的一种场景,因此可以采集物品推荐系统中推荐对象的历史推荐记录作为样本推荐记录来构建相应的样本文本。当然,物品对的选取除了通过历史推荐记录来进行之外,还可以通过其他的方式来进行,例如可以从物品库中随机选取两个物品作为物品对,进行后续的训练过程。这里具体是以从历史推荐记录中选取为例,参见图3所示,为本申请实施例提供的构建样本文本的逻辑流程示意图。
在一种可能的实施方式中,如图3所示,可以从历史推荐记录库中进行样本推荐记录的选取获得多个样本推荐记录,每个样本推荐记录包含一个推荐对象已浏览物品的第一样本属性集合,以及基于已浏览物品推荐的推荐物品的第二样本属性集合,如图3所示的各个物品对,如已浏览物品A1和推荐物品B1组合的物品对,已浏览物品A2和推荐物品B2组合的物品对等。但需要说明的是,虽然在前述说明和图3的图示中均以单个物品进行示出,但是本申请实施例对于物品的数量并不进行限制的,例如已浏览物品其可以为单个物品,也可以是由多个物品组成的序列,例如可以为推荐对象连续浏览过的物品序列,或者,也可以为已浏览物品中的同类型物品组成的物品序列;同理,推荐物品其也可以为单个物品,也可以是由多个物品组成的序列,例如可以为预测的推荐对象后续可能浏览的物品序列,或者,也可以为基于已浏览物品推荐多个物品。
进而,为了方便后续提示学习调整模型存在依据,即后续的训练过程可以采用基于有监督学习的方式来进行,因而需要针对每个样本推荐记录进行推荐理由的标注,主要用于后续辅助验证模型的准确性。在实际应用中,可以采用人工标注的方式进行标注,即可以针对各个样本推荐记录中的物品进行推荐理由的标注,为了保障标注的理由的准确性,还可以采用多标注方式进行,即针对一个样本推荐记录通过不同的标注人员进行,并采纳最多数相同的推荐理由。
在一种可能的实施方式中,考虑到人工标注的人力成本和时间成本均较高,因而为了提升标注效率,如图3所示,针对多个样本推荐记录,分别对其进行理由文本的提取操作,由于各个样本推荐记录的理由文本提取过程是类似的,因此这里具体一个样本推荐记录为例进行说明。针对一个样本推荐记录而言,可以基于其包括的第一样本属性集合与第二样本属性集合之间的交集,来确定推荐理由的推荐理由文本,也就是说,可以通过提取两个物品之间的共同属性来作为推荐理由,这样一来,针对各个样本推荐记录均可以自动且快速的完成标注过程。如图3所示,针对每个样本推荐记录提取得到其对应的推荐理由文本,如针对已浏览物品A1和推荐物品B1所提取到的推荐理由文本C1,针对已浏览物品A2和推荐物品B2所提取到的推荐理由文本C2,以此类推。
每个样本文本包含提示文本和推荐理由文本,对于I2I推荐领域,提示文本即为两个物品的物品属性集合。具体的,本申请实施例中预先设计了训练所需的样本文本模板,进而可以以第一样本属性集合、第二样本属性集合以及确定的推荐理由文本,来对预设的样本文本模板进行填充,以获得相应的样本文本。
其中,样本文本模板是一种提示文本模板,其表达了一种语义场景,在本申请实施例中,则是表达由物品A推荐物品B的推荐理由是什么,参见图3所示,所构建的样本文本模板为“物品A”推荐了“物品B”,推荐的原因是“推荐理由文本C”,其中,引号内的内容即为需要填充的内容,从而可以相应得到多个样本文本。
例如,推荐对象浏览的物品A有m种属性A1…Am,其取值分别为a1…am,而推荐的物品B有n种属性B1…Bn,其取值分别为b1…bm,需要生成的推荐理由文本为C,则在填充模板时,模板输入为物品A为A1= a1…Am= am,物品B为B1= b1…Bn= bn,理由为C,样本文本模板如上述为A推荐了B,推荐的原因是C,则输出的样本文本为A1= a1…Am= am推荐了B1= b1…Bn=bn,推荐的原因是C。其中,上述涉及到的m和n均为大于1的正整数。
示例性的,以视频推荐为例,上述的属性维度则可以是视频的标签、标题、副标题、内容简介等维度,相应的物品属性集合中包括的也就是视频的标签、标题、副标题、内容简介等文本信息。
例如,已浏览视频X有3种属性,分别是标题属性为a1,标签属性为a2,简介属性为a3,推荐视频Y也有3种属性,分别为标题属性为b1,标签属性为b2,简介属性为b3,生成的推荐理由为Z为“都是科幻电影!”,则模板生成的样本文本如下:
标题=a1标签=a2简介=a3推荐了标题=b1标签=b2简介=b3,推荐的原因是都是科幻电影!
获得样本文本之后,则可以通过多个样本文本,对目标语言模型进行多轮迭代训练,并在每轮迭代训练过程中对模型进行调参,直至满足迭代训练终止条件。由于每轮迭代训练的过程的是类似的,因此后续主要以一次迭代训练过程为例进行介绍,且目标语言模型的处理过程会在后续流程中详细进行介绍,因此这里先不过多赘述。其中,每一轮迭代训练过程包括如下过程:
步骤202:通过本轮使用的目标语言模型,基于输入的样本文本中的部分文本进行文本预测,获得相应样本文本中的剩余文本包含的各个分词位置各自对应的概率值集合,每个概率值集合包含相应分词位置为分词字典中各个分词的概率值。
具体的,当本轮迭代为首次迭代时,则本轮使用的目标语言模型为初始语言模型,当本轮迭代为非首次迭代时,则本轮使用的目标语言模型为上一次调参后的目标语言模型。在每一次迭代训练时,可以从多个样本文本抽取部分或者全部的样本文本输入至本轮使用的目标语言模型中,例如可以采用随机选取的方式,或者,可以预先针对多个样本文本进行批次划分,每次输入一个批次的样本文本,则本次训练则基于输入的这些样本文本来进行,即可以通过本轮使用的目标语言模型对每个样本文本进行模型前向推理。
在一可能的实施方式中,初始语言模型可以为预训练语言模型,其中针对各个分词的嵌入表示向量已经进行了训练,即其已经构建了完整的分词字典,其中包含了各个分词所对应的嵌入表示向量,进而后续的训练过程可以更快的收敛,提升训练效率,本申请实施例的训练过程这是在此预训练语言模型的基础上进行特定文本生成任务的适应性训练,特定文本生成任务即是指推荐理由文本生成任务。
具体的,本申请实施例中,所采用的模型结构可以为任意能够实现序列化处理的模型结构,例如transformer模型、循环神经网络(Recurrent Neural Network,RNN)模型、编码器-解码器(encoder-decoder)架构模型或者GPT系列模型等,从而在此类预训练模型基础上精调模型结构以适应上述推荐理由生成的文本生成任务。
本申请实施例中,采用了提示学习的方法,来对目标语言模型进行训练。提示学习的主旨在于输入一定的提示文本,来生成后续或者其余的文本。参见图4a所示,为本申请实施例提供的基于提示学习的训练原理示意图,这里具体是以一个样本文本为例进行说明,在实际应用中,输入的样本文本均可以按照此训练过程进行训练。
具体的,针对一个输入的样本文本,以其包括的前K-1个分词初始化部分文本,K为大于1的正整数,进而基于初始化后的部分文本,来进行多轮迭代预测,直至满足迭代预测终止条件为止,在每一轮迭代预测过程中,通过本轮使用的目标语言模型,对本轮使用的部分文本进行文本预测,获得位于部分文本之后的下一个分词位置的概率值集合,则可以预测得到该部分文本的下一个分词,即概率值集合中概率值最大的分词,并将该分词拼接在本轮使用的部分文本之后,并将获得的文本作为下一轮使用的部分文本,进入下一轮迭代预测过程中。
其中,这里的K-1个分词的数量可以是根据经验确定的,也可以是根据任务目标设定的,即这种情况下则可以指定固定的开始位置,例如指定从10或者20个分词开始,或者,根据推荐理由生成任务的目标预设一个数值。此外,K-1个分词的位置也可以是针对每个样本文本动态变化的,例如可以根据推荐理由生成任务,将指定分词的位置确定为第K-1个分词位置,例如按照图3所示的样本文本模板将“推荐的原因是”中的“是”作为K-1个分词位置,即从该分词位置开始进行迭代预测。
本申请实施例中,一个分词是一个语义理解的最小单元,其可以为一个字,也可以为多个字组成的词汇。例如“推荐的原因是”中的分词可以划分为“推-荐-的-原-因-是”,也可以划分为“推荐-的-原因-是”。
因此,在步骤201得到提示学习所需的样本文本后,可以对样本文本进行分词处理,得到由样本文本的各个分词组成的样本分词序列。其中,可以通过分词器将样本文本切分成各个token,一个token即为一个分词,然后再将token序列输入到后续的目标语言模型中。
参见图4b所示,为迭代预测的示例图,这里样本分词序列为token序列t1…tn,进行本轮使用的目标语言模型对token序列的前k-1个token进行预测,即根据图4b所示的t1…tk-1的表示的概率分布生成下一个token tk,将其添加到生成的token序列,则可以得到新的token序列t1…tk。然后,本轮使用的目标语言模型会将生成的token序列t1…tk的表示输入到模型中,根据该token序列t1…tk的概率分布生成下一个token tk+1,并将其添加到生成的token序列中,则可以得到新的token序列t1…tk+1。以此类推,直至满足迭代终止条件为止。其中,k和n均为大于1的正整数,且k小于n。
在一种可能的实施方式中,本申请实施例中的迭代预测终止条件包括如下条件中的至少一个:
(1)拼接后获得的文本所包含的分词数量不小于预设数量阈值,例如预设数量阈值可以设置为token序列的上限值,即预测得到的token序列的长度达到其上限值时,则停止迭代预测。
(2)预测得到的概率值集合中,表征序列终止的分词对应的概率值最大。其中,分词字典中包含所有类别的分词,除了构成文本的分词之外,还包括了两个类别,即起始符和终止符,起始符其表征一个分词序列的开始,终止符表征的是一个分词序列的结束,那么一旦解码或者说预测得到了终止符,也就是上述表征序列终止的分词之后,则迭代预测结束。
步骤203:基于获得的各个概率值集合各自对应真实分词所对应的概率值,生成本轮使用的目标语言模型的模型损失值。
其中,模型损失值表征了当前目标语言模型的预测的准确性,通常而言,模型损失值越小,则保证该模型的准确性越高,在训练过程中,则需要不断优化模型损失值,使得模型达到最优状态。
本申请实施例中,模型损失值可以采用任意可能的损失函数来计算,例如交叉熵损失函数(Cross Entropy Loss Function)、均方差(Mean Squared Error、MSE)损失函数、平方绝对误差损失函数、最大似然损失(Likelihood Loss,LHL)函数等,当然,也可以为其他可能的损失函数,本申请实施例对此不做限制。
具体的,针对每一次预测,其所得到的概率值集合中均包含该分词位置上为分词字典中各个分词的概率,例如当分词字典包含1000个分词时,则概率值集合包含1000个概率值,每个概率值为一个分词的概率值,进而可以该分词位置上的真实分词的概率值来计算本轮使用的目标语言模型的模型损失值。
在一种可能的实施方式中,可以为每个分词位置的真实分词的标注概率值为100%,则可以基于实际预测得到的概率值与标注概率值之间的差值,来得到模型损失值,例如可以采用交叉熵损失函数进行计算,训练的目标即为最小化标注概率值与预测概率值之间的差值,使得预测概率值足够准确。
在一种可能的实施方式中,还可以采用最大化所预测到的真实分词的概率的方式来进行模型的训练,即目标函数可以与基于最大似然估计的语言模型的目标函数是一致的,其目标是最大化给定前序文本的条件下,预测下一个分词的概率。
具体的,在获得各个概率值之后,则可以基于各个概率值集合与分词位置之间的对应关系,分别确定相应分词位置的真实分词所对应的概率值,进而对获得的各个概率值进行负对数似然损失值计算,并将获得的负对数似然损失值作为模型损失值。
其中,若长度为T的分词序列表示为X=(x1…xT),其中,T为大于1的正整数,即每一轮迭代预测时输入的分词序列,其中xt表示第t个位置的token,则模型损失值的一种可能的计算方式如下:
其中,x<t表示前1到t-1个位置的token序列。P(xt|x<t)表示在给定x<t的token序列后,预测xt的概率,则本申请实施例的目标是最大化这个条件概率的乘积,即最小化负对数似然损失L。
示例性的,沿用前述的视频推荐的例子,即样本文本如下:
标题=a1标签=a2简介=a3推荐了标题=b1标签=b2简介=b3,推荐的原因是都是科幻电影!
则假设从“推荐的原因是”之后开始迭代预测,参见图4c所示,在第一次迭代预测时,则基于“标题=a1标签=a2简介=a3推荐了标题=b1标签=b2简介=b3,推荐的原因是”预测下一个分词“都”,预测之后则可以得到“都”所对应的概率值P1,则第二次迭代预测时,将第一次预测得到的分词添加到前一次使用的分词序列中,即基于“标题=a1标签=a2简介=a3推荐了标题=b1标签=b2简介=b3,推荐的原因是都”预测下一个分词“是”,预测之后则可以得到“是”所对应的概率值P2,后续则以此类推,从而可以依次得到如图4c所示的概率值P1~P7,则针对该样本文本而言,则其对应的样本损失值即基于P1~P7的乘积得到,其他样本文本同样可以得到依此得到相应的样本损失值,从而得到当前模型的模型损失值。
需要说明的是,在模型初始迭代训练时,准确性可能并不满足需求,则上述得到的预测分词不一定为样本文本中的真实分词,例如第一次迭代预测时有可能概率值最大的并非“都”,而是除“都”之外其他分词,上述仅为了方便进行描述以真实分词进行示例。还需要说明的是,上述为了方便示例,在每次输入时模型的输入为部分文本,但是实际应用时,为了减少模型的复杂度,在每一次输入时输入的序列的长度都可以是一致的,例如上述在第一次迭代预测时,其输入可以为“标题=a1标签=a2简介=a3推荐了标题=b1标签=b2简介=b3,推荐的原因是都是科幻电影!”对应的嵌入表示向量序列,在模型的输入层会根据当前迭代的进程对后续的分词进行掩码处理,“标题=a1标签=a2简介=a3推荐了标题=b1标签=b2简介=b3,推荐的原因是”之后的分词的表示会被使用掩码进行填充替代,避免模型在本次迭代时能够感知到未来信息。
步骤204:判断本轮使用的目标语言模型是否达到迭代终止条件。
本申请实施例中,迭代终止条件可以包括如下条件的至少一个:
(1)迭代次数达到设定的次数阈值。
(2)模型损失值小于设定的损失阈值。
步骤205:若步骤204的确定过程为否,则基于模型损失值进行模型参数调整,并基于调参后的目标语言模型进入下一轮迭代训练。
本申请实施例中,当迭代次数未超过预先设定的次数阈值,且模型损失值不小于设定的损失阈值时,则步骤204的确定过程为否,即认为当前的目标语言模型未满足迭代终止条件,那么需要调整模型参数继续进行训练。进行参数调整之后,则进入下一次迭代训练过程,即跳转至步骤202。
在一种可能的实施方式中,在模型仍不满足收敛条件时,可以通过梯度下降法、随机梯度下降算法等优化算法更新得到模型权重参数,以最小化上述的目标函数,并以更新后的模型权重参数继续进行训练,使得模型能够更好地预测下一个token。
而当迭代次数已经超过预先设定的次数阈值,或者模型损失值小于设定的损失阈值时,则步骤204的确定过程为是,即认为当前的目标语言模型已满足收敛条件,模型训练结束,获得已训练的目标语言模型。为了验证训练好的目标语言模型的效果,本申请实施例对训练好的目标语言模型使用测试样本进行测试,如果测评指标达到预设测评效果,则可以将该目标语言模型用于实际的推荐理由文本生成过程了。如果没有通过模型评估,则需要继续进行训练和测试,直至目标语言模型达到预设测评效果为止。
需要说明的是,本申请实施例的上述调整模型的方式仅为一种针对自回归预训练模型的基础调整方法,还可以采用其他任意可能的精调大模型的方法,例如,p-tuning、LORA等,在实际应用中,可以根据自己的推荐场景以及模型规模、学习能力等因素,采用合适的精调方法。
在目标语言模型训练完成后,则可以用于实际的推荐理由文本生成过程,则下面针对该目标语言模型进行推荐理由文本的生成过程进行介绍。
参见图5所示,为本申请实施例提供的推荐理由生成方法的流程示意图,该方法可以由计算机设备执行,该计算机设备可以是图1所示的终端设备或服务器,该方法的具体实施流程如下:
步骤501:获得参考物品的第一物品属性集合,以及获得基于参考物品推荐的推荐物品的第二物品属性集合;其中,每个物品属性集合包括相应物品在多个预设物品属性维度上的文本描述信息。
本申请实施例中,在存在推荐理由生成时机时,即需要针对一次物品推荐进行其对应的推荐理由生成时,则可以获取参考物品的第一物品属性集合,以及获得推荐物品的第二物品属性集合。其中,参考物品通常是推荐对象已经浏览过的物品,其能够保证该推荐对象是对该物品存在一定的兴趣的,推荐物品即为基于参考物品所确定的向推荐对象推荐的另一物品。各个物品属性集合包含表征该物品属性的文本描述信息,从而通过多个预设物品属性维度来描述一个物品,替代了相关技术中采用物品ID进行表征的方式,这样一来,即便是一个物品的ID失效或者有新的物品ID产生,仍然可以从上述的多个预设物品属性维度进行物品描述,从而一次训练得到的目标语言模型是可以抵抗这种ID的变化的,从而能够适用于推荐场景中,用于推荐场景的中的推荐理由生成。
在实际场景中,推荐理由生成时机可以为当存在一次物品推荐时,即当确定为推荐对象推荐的物品之后,则可以触发推荐理由生成;或者,实际场景中可能存在推荐对象对于推荐的物品完全没有关注,例如并未点击或者查看等情况,为了降低无效的推荐带来的频繁推荐理由生成带来的负担,还可以在当推荐对象查看推荐物品时才触发推荐理由生成,以向该推荐对象展示相应的推荐理由;或者,推荐理由生成还可以是基于推荐对象的触发操作才进行的,例如推荐对象查看推荐物品时,可以在推荐页面上呈现“查看推荐理由”相关的触发控件,则当推荐对象触发此类控件时则可以触发推荐理由生成。当然,在实际场景中也可以实际业务的需求进行设置,本申请实施例对此并不进行限制。
对应于物品种类的不同,则采用的相应的预设物品属性维度也可以是不同的。例如,当物品是指视频时,即推荐场景为视频推荐场景,则预设物品属性维度可以是指视频的“标题”、“标签”、“一级分类”、“二级分类”以及“简介”等维度;当物品是指“商品”时,即推荐场景为商品推荐场景,则预设物品属性维度可以是指商品的“标题”、“标签”、“价格”、“商家”、“类型”、“评价”以及“简介”等维度;当物品是指“游戏”时,即推荐场景为游戏推荐场景,则预设物品属性维度可以是指游戏的“名称”、“标签”、“类别”、“游戏厂家”、“评价”以及“简介”等维度;当物品是指“小说”时,即推荐场景为小说推荐场景,则预设物品属性维度可以是指小说的“名称”、“标签”、“情节”、“评价”以及“简介”等维度,在此就不在一一进行例举了。
步骤502:基于第一物品属性集合和第二物品属性集合,按照预设的目标提示文本模板,构建相应的目标提示文本;其中,提示文本模板中预设了各个物品的各个物品属性维度之间的排列关系。
其中,与前述构建样本提示文本所类似的,目标提示文本模板中预设了各个物品的各个物品属性维度之间的排列关系,用于按照一定的排列顺序来得到相应的目标提示文本,作为目标语言模型的输入,即相当于人类语言中的提示词,根据该提示词则经过训练的目标语言模型可以将后续的分词序列预测出来。
在一种可能的实施方式中,在模型应用阶段使用的目标提示文本模型,与模型训练阶段所使用的样本提示文本模板二者通常是相同的,区别仅在于输入的物品以及推荐理由的不同,但结构上是相同的。在获得第一物品属性集合和第二物品属性集合之后,则可以将其按照物品属性维度的排列关系将其填充到目标提示文本模板中,但由于在模型应用阶段,是没有相应的推荐理由文本,则可以在目标提示文本模板中推荐理由文本相应的部分中填充掩码,即可得到目标提示文本。
例如,沿用上述视频推荐的例子,目标提示文本可以为:
标题=a1标签=a2简介=a3推荐了标题=b1标签=b2简介=b3,推荐的原因是XXXXXXXXX(XXXXXXXXX表征掩码)。
在一种可能的实施方式中,在模型应用阶段使用的目标提示文本模型,可以仅包含模型训练阶段所使用的样本提示文本模板中除推荐理由文本相应区域之外的其他部分,则在获得第一物品属性集合和第二物品属性集合之后,则可以将其按照物品属性维度的排列关系将其填充到目标提示文本模板中,即可得到目标提示文本。
同样,沿用上述视频推荐的例子,目标提示文本可以为:
标题=a1标签=a2简介=a3推荐了标题=b1标签=b2简介=b3,推荐的原因是。
需要说明的是,上述的模板示例仅为一种可能的模板举例,在实际应用中,可以根据推荐场景以及模型的学习能力,定制出更多的提示模板以生成提示文本。
步骤503:将目标提示文本输入至已训练的目标语言模型,获得目标语言模型输出的推荐理由文本;其中,目标语言模型是基于多个样本文本,采用提示学习方法训练得到的,每个样本文本由样本提示文本以及其对应的推荐理由文本组成。
具体的,可以利用上述已训练的目标语言模型,使用模型的条件概率分布来生成文本的token序列,从而实现推荐理由的文本生成的功能,从而依次得到其后续的每一个分词,且在一个分词预测得到之后,则可以与上述训练阶段类似的,将预测得到的每一个分词拼接在前序的提示文本之后,作为新的提示文本,来继续预测下一个分词。具体而言,即在模型训练完毕后,只需要将该推荐对象的最近浏览的参考物品的物品属性以及推荐物品的物品属性,分别填入提示文本模板的前半段,然后将提示文本输入到该模型中,即可生成后续的推荐理由文本。
下面,以一种可能的模型架构,即基于transformer架构的目标语言模型为例,对目标语言模型的处理过程进行介绍。参见图6a所示,为本申请实施例提供的目标语言模型的结构示意图,其主要包括如下几个部分:
(1)输入层
如图6a所示,输入层的输入为分词后的分词序列,即n个token组成的token序列,每个token为一个分词。如果一个序列的个数不满n个,则需要将后续不满的位置用掩码进行填充。
(2)嵌入层(Embedding Layer)
嵌入层用于查询到每个token的嵌入表示向量以及其位置表示向量,并通过这两个表示向量的线性加和得到最终的分词表示向量。其中,嵌入表示向量和位置表示向量等在预训练阶段即已经训练得到,在提示学习阶段则可以直接使用已经训练得到的向量表征;或者,也可以在提示学习阶段,仅对其进行微调。
(3)解码层
解码层采用的是Transformer的解码器部分,该层主要是由多个级联的带掩码机制的解码器块(decoding block)堆叠串联组成,多个Transformer的解码器块堆叠构建更深层次的解码器,以提高该模型的性能和泛化能力。参见图6b所示,每个解码块包含以下几个部分:
a)带掩码机制的多头自注意力机制(Masked Multi-Head Self-Attention)层,该部分通过对输入序列进行多头自注意力计算,来捕捉输入序列中不同位置之间的依赖关系。掩码机制是用于在自注意力机制中避免使用未来信息。
b)前馈神经网络(Feedforward Neural Network)层,该部分通过对每个位置的表示进行全连接层的计算,来增强每个位置的特征表达能力。
c)残差连接(Residual Connection)层和层归一化(Layer Normalization)层,该部分通过将前面两个部分的输出与输入序列进行残差连接,并对残差连接后的结果进行层归一化,来加速模型的训练和提高模型的性能。
(4)输出层
在一种可能的实施方式中,输出层可以由一个线性变换层和一个Softmax函数层组成,线性变换层将最后一个Transformer块的输出映射到一个维度等于分词字典大小的向量空间,Softmax函数将这个向量空间中的每个元素转换为一个概率值,表示生成的下一个token的概率。
基于上述的模型结构,参见图7所示,为本申请实施例提供的推荐理由文本的生成流程示意图,可以基于上述的模型结构,对目标提示文本执行如下步骤,获得推荐理由文本:
步骤5031:对目标提示文本进行分词处理,获得相应的目标分词序列。
本申请实施例中,可以通过分词器来对目标提示文本进行分词处理,来将输入的目标提示文本分割为多个分词,获得相应的原始分词序列。例如,对于一个视频标题“关于你是我的荣誉”,则可以切分为“关于”“你”“是”“我”“的”“荣誉”。
在一种可能的实施方式中,考虑到若是输入到模型的序列的长短不一,势必会增加模型的识别难度,因此通常输入到模型的序列长度是一致的,则需要对获得的原始分词序列与预设数量阈值进行长度比较,若原始分词序列包含的分词数量小于预设数量阈值,则基于原始分词序列包含的分词数量与预设数量阈值之间的差值,确定需要填充的掩码数量,并在原始分词序列之后填充掩码数量的掩码,获得目标分词序列。即当输入到模型的序列长度为N时,若是原始分词序列不足N,则需要在原始分词序列之后填充掩码,使得总长度为N。
步骤5032:基于目标分词序列中各个分词各自对应的嵌入表示向量,以及各个分词各自所处的分词位置所对应的位置表示向量,获得目标分词序列对应的分词表示向量序列。
其中,嵌入表示向量是唯一表征一个分词的表示向量,分词字典中的每一个分词都对应着各自不同的嵌入表示向量,且各不相同。而通常而言,考虑到大多数特征提取方法无法兼顾到各个分词在序列中的位置信息,因而为了解决无法区分位置的缺陷,可以为每个位置的分词加入位置表示向量,位置表示向量通常可以是固定的,与位置相对应,能够表达出当前在序列中的位置,可以无需进行训练,即位置表示向量则用于唯一表征一个分词在序列中的位置,不同的分词位置之间的位置表示向量也是各不相同的。
参见图8所示,为本申请实施例获得分词表示向量序列的流程示意图。该过程可以通过图6a所示的嵌入层来实现,其中,可以采用如下任一方式来得到分词表示向量序列:
(1)针对目标分词序列中的各个分词,分别将各个分词对应的嵌入表示向量和位置表示向量进行对位相加操作,获得相应的分词表示向量。其中,相加的方式可以采用求和或者池化的方式来进行,本申请实施例对此不做限制。
(2)针对目标分词序列中的各个分词,分别将各个分词对应的嵌入表示向量和位置表示向量,在特征通道维度上进行叠加,获得相应的分词表示向量,即若嵌入表示向量和位置表示向量各自为128个通道的向量,则得到的分词表示向量为256个通道的向量。
进而在得到各个分词各自对应的分词表示向量之后,按照目标分词序列中的位置先后关系,则可以获得分词表示向量序列。
步骤5033:基于分词表示向量序列进行多次迭代预测,依次获得目标分词序列之后的各个分词。
具体的,迭代预测的过程可以是通过图6a所示的解码层来实现的,即可以通过多个级联的解码块,对本轮输入的分词表示向量序列进行迭代解码处理,获得最后一个解码块得到的输出特征向量,输出特征向量表征分词表示向量序列中各个分词的概率分布,进而可以将输出特征向量映射为概率值集合,概率值集合包含分词字典中各个分词对应的概率值,并从中选取出概率值最大的分词,将其确定为本轮输出的预测分词,并将预测分词的分词表示向量拼接在本轮输入的分词表示向量序列之后,获得下一轮输入的分词表示向量序列,继续下一次迭代预测。该过程是与训练阶段中的迭代预测过程是类似的,因此这里不再进行赘述。
由于上述多个解码块的处理过程是类似的,因此这里具体是以其中一个解码块为例进行介绍。参见图7所示,步骤5033可以包括如下步骤:
步骤50331:对输入的分词表示向量序列进行基于自注意力机制的交互处理,获得自注意力特征向量。
本申请实施例中,步骤50331的过程可以通过多头自注意力交互层来实现,其作用是通过序列间的元素交互使得序列中的分词能“关注”到不同位置之间的依赖关系,从而更为理解当前序列中的语义以及上下文。
具体的,在训练阶段该步骤的处理过程中,在多头自注意力交互层,本申请实施例中引入了掩码机制,用于在自注意力机制中避免使用未来信息,而在模型应用阶段,由于本身并不存在未来信息,则无需考虑这一点。
步骤50332:将注意力特征向量与分词表示向量序列进行拼接处理,获得拼接特征向量序列。
本申请实施例中,步骤50332的过程可以通过残差网络层来实现,该部分通过将注意力特征向量与分词表示向量序列进行残差连接后作为输出,避免信息的丢失,同时通过对拼接后的拼接特征向量序列进行层归一化处理,并输入到下一层进行处理,从而加速模型训练以及模型的处理性能。
步骤50333:对拼接特征向量拼接中各个分词位置进行全连接映射处理,获得输出特征向量。
本申请实施例中,步骤50333的过程可以通过前馈神经网络层来实现,通过对每个位置的表示进行全连接层的计算,来增强每个位置的特征表达能力。并且如图6b所示,在前馈神经网络层处理之后,仍然存在一次残差连接处理,即将前馈神经网络层的输入和输出进行残差连接后,并进行归一化处理,来作为当前解码器块的输出。
进而,在最后一个解码器块输出之后,则将其得到的输出特征向量输入至输出层中,进行线性变换,以将输出特征向量映射为一个维度等于分词字典大小的向量空间,并通过Softmax函数处理,来将这个向量空间中的每个元素转换为一个概率值,每个概率值表示生成的下一个token的概率,继而从中确定出概率值最大的分词,作为预测的下一个分词。
步骤5034:基于各个分词,生成推荐理由文本。
具体的,通过上述迭代预测的过程,将每一次预测得到的分词组合起来,即可以得到推荐理由文本。
参见图9所示,为本申请实施例中的推荐理由生成方法在视频推荐场景中的应用示意图,当推荐对象进入包含推荐视频的页面时,则会触发请求视频后台服务进行视频推荐,当视频后台服务确定推荐的视频之后,则可以依据两个视频的属性文本,采用上述的推荐理由生成方法来生成相应的推荐理由文本,进而在向推荐对象推荐该视频时,则可以一并展示相应的推荐理由,使得推荐对象对于推荐的合理性有所感知,从而提升推荐系统的使用体验。当然,在其他推荐场景的应用也是类似的,可以参照视频推荐场景的介绍。
综上所述,本申请实施例中提出了一种利用提示学习微调预训练语言模型的方法,该方法通过利用提示模板生成提示文本,并通过精调大语言模型生成适合某个推荐领域的推荐理由,并基于训练后的目标语言模型进行推荐理由的生成。具体而言,该方法通过构建提示学习数据集、精调预训练模型,从而利用已浏览物品与推荐物品的属性文本,借助基于提示学习微调后的预训练大语言模型,生成基于已浏览物品推荐该推荐物品的推荐理由文本,由于仅使用物品的文本属性,无需引入多余的提示ID,从而有效避免了推荐场景中ID变化的问题,且避免了引入新的物品ID与原有语言模型中token的嵌入表征不在同一嵌入空间的问题,极大降低了精调语言模型的难度,从而可以更好地发挥出大语言模型的文本生成能力。
请参见图10,基于同一发明构思,本申请实施例还提供了一种推荐理由生成装置100,该装置包括:
属性获得单元1001,用于获得参考物品的第一物品属性集合,以及获得基于所述参考物品推荐的推荐物品的第二物品属性集合;其中,每个物品属性集合包括相应物品在多个预设物品属性维度上的文本描述信息;
提示文本生成单元1002,用于基于所述第一物品属性集合和所述第二物品属性集合,按照预设的目标提示文本模板,构建相应的目标提示文本;其中,所述提示文本模板中预设了各个物品的各个物品属性维度之间的排列关系;
推荐理由生成单元1003,用于将所述目标提示文本输入至已训练的目标语言模型,获得所述目标语言模型输出的推荐理由文本;
其中,所述目标语言模型是基于多个样本文本,采用提示学习方法训练得到的,每个样本文本由样本提示文本以及其对应的推荐理由文本组成。
在一种可能的实施方式中,该装置还包括模型训练单元1004,用于通过如下过程训练得到目标语言模型:
通过多个样本文本,对目标语言模型进行多轮迭代训练,直至满足迭代训练终止条件;其中,每一轮迭代训练过程包括如下过程:
通过本轮使用的目标语言模型,基于输入的样本文本中的部分文本进行文本预测,获得相应样本文本中的剩余文本包含的各个分词位置各自对应的概率值集合,每个概率值集合包含相应分词位置为分词字典中各个分词的概率值;
基于获得的各个概率值集合各自对应真实分词所对应的概率值,生成本轮使用的目标语言模型的模型损失值;
基于模型损失值对本轮使用的目标语言模型进行调参,并基于调参后的目标语言模型进入下一轮迭代训练。
在一种可能的实施方式中,该装置还包括样本数据采集单元1005,用于:
获得多个样本推荐记录,每个样本推荐记录包含一个推荐对象已浏览物品的第一样本属性集合,以及基于已浏览物品推荐的推荐物品的第二样本属性集合;
针对多个样本推荐记录,分别进行如下操作:
针对一个样本推荐记录,基于其包括的第一样本属性集合与第二样本属性集合之间的交集,确定推荐理由文本;
以第一样本属性集合、第二样本属性集合以及确定的推荐理由文本,对预设的样本文本模板进行填充,获得相应的样本文本。
在一种可能的实施方式中,模型训练单元1004,具体用于:
针对输入的样本文本,以其包括的前K-1个分词初始化部分文本,K为正整数;
基于初始化后的部分文本,进行多轮迭代预测,直至满足迭代预测终止条件为止;其中每一轮迭代预测,包括如下步骤:
通过本轮使用的目标语言模型,对本轮使用的部分文本进行文本预测,获得位于部分文本之后的下一个分词位置的概率值集合;
将概率值集合中概率值最大的分词拼接在本轮使用的部分文本之后,并将获得的文本作为下一轮使用的部分文本进入下一轮迭代预测。
在一种可能的实施方式中,迭代预测终止条件包括如下条件中的至少一个:
拼接后获得的文本所包含的分词数量不小于预设数量阈值;
预测得到的概率值集合中,表征序列终止的分词对应的概率值最大。
在一种可能的实施方式中,模型训练单元1004,具体用于:
基于各个概率值集合与分词位置之间的对应关系,分别确定相应分词位置的真实分词所对应的概率值;
对获得的各个概率值进行负对数似然损失值计算,并将获得的负对数似然损失值作为模型损失值。
在一种可能的实施方式中,推荐理由生成单元1003,具体用于:
对目标提示文本进行分词处理,获得相应的目标分词序列;
基于目标分词序列中各个分词各自对应的嵌入表示向量,以及各个分词各自所处的分词位置所对应的位置表示向量,获得目标分词序列对应的分词表示向量序列;
基于分词表示向量序列进行多次迭代预测,依次获得目标分词序列之后的各个分词;
基于各个分词,生成推荐理由文本。
在一种可能的实施方式中,推荐理由生成单元1003,具体用于在每一轮迭代预测过程,执行如下步骤:
通过多个级联的解码块,对本轮输入的分词表示向量序列进行迭代解码处理,获得最后一个解码块得到的输出特征向量,输出特征向量表征分词表示向量序列中各个分词的概率分布;
将输出特征向量映射为概率值集合,概率值集合包含分词字典中各个分词对应的概率值;
将概率值最大的分词,确定为本轮输出的预测分词,并将预测分词的分词表示向量拼接在本轮输入的分词表示向量序列之后,获得下一轮输入的分词表示向量序列。
在一种可能的实施方式中,推荐理由生成单元1003,具体用于在每一个解码块的解码处理时,执行如下步骤:
对输入的分词表示向量序列进行基于自注意力机制的交互处理,获得自注意力特征向量;
将注意力特征向量与分词表示向量序列进行拼接处理,获得拼接特征向量序列;
对拼接特征向量拼接中各个分词位置进行全连接映射处理,获得输出特征向量。
在一种可能的实施方式中,推荐理由生成单元1003,具体用于:
对目标提示文本进行分词处理,获得相应的原始分词序列;
若原始分词序列包含的分词数量小于预设数量阈值,则基于原始分词序列包含的分词数量与预设数量阈值之间的差值,确定需要填充的掩码数量;
在原始分词序列之后填充掩码数量的掩码,获得目标分词序列。
在一种可能的实施方式中,推荐理由生成单元1003,具体用于:
针对各个分词,分别执行如下操作:
针对一个分词,将其对应的嵌入表示向量和位置表示向量进行对位相加操作,获得相应的分词表示向量;或者,
针对一个分词,将其对应的嵌入表示向量和位置表示向量,在特征通道维度上进行叠加,获得相应的分词表示向量;
基于各个分词各自对应的分词表示向量,获得分词表示向量序列。
通过上述装置,可以利用提示学习微调预训练语言模型的方法,该方法通过利用提示模板生成提示文本,并通过精调大语言模型生成适合某个推荐领域的推荐理由,并基于训练后的目标语言模型进行推荐理由的生成,通过使用借助于物品的文本属性,无需引入多余的提示ID,从而有效避免了推荐场景中ID变化的问题,且避免了引入新的物品ID与原有语言模型中token的嵌入表征不在同一嵌入空间的问题,极大降低了精调语言模型的难度,从而可以更好地发挥出大语言模型的文本生成能力。
该装置可以用于执行本申请各实施例中所示的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考前述实施例的描述,不多赘述。
请参见图11,基于同一技术构思,本申请实施例还提供了一种计算机设备。在一种实施例中,该计算机设备例如可以为图1所示的服务器,该计算机设备如图11所示,包括存储器1101,通讯模块1103以及一个或多个处理器1102。
存储器1101,用于存储处理器1102执行的计算机程序。存储器1101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行本申请实施例的功能所需的程序等;存储数据区可存储各种功能信息和操作指令集等。
存储器1101可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1101也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1101是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1101可以是上述存储器的组合。
处理器1102,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1102,用于调用存储器1101中存储的计算机程序时实现上述推荐理由生成方法。
通讯模块1103用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器1101、通讯模块1103和处理器1102之间的具体连接介质。本申请实施例在图11中以存储器1101和处理器1102之间通过总线1104连接,总线1104在图11中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1104可以分为地址总线、数据总线、控制总线等。为便于描述,图11中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器1101中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的推荐理由生成方法,处理器1102用于执行上述各实施例的推荐理由生成方法。
在另一种实施例中,计算机设备也可以是终端设备,如图1所示的终端设备。在该实施例中,计算机设备的结构可以如图12所示,包括:通信组件1210、存储器1220、显示单元1230、摄像头1240、传感器1250、音频电路1260、蓝牙模块1270、处理器1280等部件。
通信组件1210用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,计算机设备通过WiFi模块可以帮助用户收发信息。
存储器1220可用于存储软件程序及数据。处理器1280通过运行存储在存储器1220的软件程序或数据,从而执行终端设备的各种功能以及数据处理。存储器1220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1220存储有使得终端设备能运行的操作系统。本申请中存储器1220可以存储操作系统及各种应用程序,还可以存储执行本申请实施例推荐理由生成方法的代码。
显示单元1230还可用于显示由用户输入的信息或提供给用户的信息以及终端设备的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元1230可以包括设置在终端设备正面的显示屏1232。其中,显示屏1232可以采用液晶显示器、发光二极管等形式来配置。显示单元1230可以用于显示本申请实施例中的物品推荐请求页面、物品推荐页面以及物品推荐理由文本显示页面等。
显示单元1230还可用于接收输入的数字或字符信息,产生与终端设备的用户设置以及功能控制有关的信号输入,具体地,显示单元1230可以包括设置在终端设备正面的触控屏1231,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触控屏1231可以覆盖在显示屏1232之上,也可以将触控屏1231与显示屏1232集成而实现终端设备的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元1230可以显示应用程序以及对应的操作步骤。
摄像头1240可用于捕获静态图像,用户可以将摄像头1240拍摄的图像通过应用发布评论。摄像头1240可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1280转换成数字图像信号。
终端设备还可以包括至少一种传感器1250,比如加速度传感器1251、距离传感器1252、指纹传感器1253、温度传感器1254。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路1260、扬声器1261、传声器1262可提供用户与终端设备之间的音频接口。音频电路1260可将接收到的音频数据转换后的电信号,传输到扬声器1261,由扬声器1261转换为声音信号输出。终端设备还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1262将收集的声音信号转换为电信号,由音频电路1260接收后转换为音频数据,再将音频数据输出至通信组件1210以发送给比如另一终端设备,或者将音频数据输出至存储器1220以便进一步处理。
蓝牙模块1270用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1270与同样具备蓝牙模块的可穿戴计算机设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器1280是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1220内的软件程序,以及调用存储在存储器1220内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1280可包括一个或多个处理单元;处理器1280还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1280中。本申请中处理器1280可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的推荐理由生成方法。另外,处理器1280与显示单元1230耦接。
基于同一发明构思,本申请实施例还提供一种计算机存储介质,该计算机存储介质存储有计算机程序,当该计算机程序在计算机设备上运行时,使得计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的推荐理由生成方法中的步骤。
在一些可能的实施方式中,本申请提供的推荐理由生成方法的各个方面还可以实现为一种计算机程序产品的形式,其包括计算机程序,当该计算机程序产品在计算机设备上运行时,计算机程序用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的推荐理由生成方法中的步骤,例如,计算机设备可以执行各实施例的步骤。
该计算机程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的计算机程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在计算机设备上运行。然而,本申请的计算机程序产品不限于此,在本申请件中,可读存储介质可以是任何包含或存储程序的有形介质,其包括的计算机程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机程序的计算机存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (14)

1.一种推荐理由生成方法,其特征在于,所述方法包括:
获得参考物品的第一物品属性集合,以及获得基于所述参考物品推荐的推荐物品的第二物品属性集合;其中,每个物品属性集合包括相应物品在多个预设物品属性维度上的文本描述信息;
基于所述第一物品属性集合和所述第二物品属性集合,按照预设的目标提示文本模板,构建相应的目标提示文本;其中,所述提示文本模板中预设了各个物品的各个物品属性维度之间的排列关系;
将所述目标提示文本输入至已训练的目标语言模型,获得所述目标语言模型输出的推荐理由文本;
其中,所述目标语言模型是基于多个样本文本,采用提示学习方法训练得到的,每个样本文本由样本提示文本以及其对应的推荐理由文本组成。
2.如权利要求1所述的方法,其特征在于,所述目标语言模型是通过如下过程训练得到的:
通过所述多个样本文本,对所述目标语言模型进行多轮迭代训练,直至满足迭代训练终止条件;其中,每一轮迭代训练过程包括如下过程:
通过本轮使用的目标语言模型,基于输入的样本文本中的部分文本进行文本预测,获得相应样本文本中的剩余文本包含的各个分词位置各自对应的概率值集合,每个概率值集合包含相应分词位置为分词字典中各个分词的概率值;
基于获得的各个概率值集合各自对应真实分词所对应的概率值,生成所述本轮使用的目标语言模型的模型损失值;
基于所述模型损失值对所述本轮使用的目标语言模型进行调参,并基于调参后的目标语言模型进入下一轮迭代训练。
3.如权利要求2所述的方法,其特征在于,在通过所述多个样本文本,对所述目标语言模型进行多轮迭代训练之前,所述方法还包括:
获得多个样本推荐记录,每个样本推荐记录包含一个推荐对象已浏览物品的第一样本属性集合,以及基于所述已浏览物品推荐的推荐物品的第二样本属性集合;
针对所述多个样本推荐记录,分别进行如下操作:
针对一个样本推荐记录,基于其包括的所述第一样本属性集合与所述第二样本属性集合之间的交集,确定推荐理由文本;
以所述第一样本属性集合、所述第二样本属性集合以及确定的所述推荐理由文本,对预设的样本文本模板进行填充,获得相应的样本文本。
4.如权利要求2所述的方法,其特征在于,通过本轮使用的目标语言模型,基于输入的样本文本中的部分文本进行文本预测,获得相应样本文本中的剩余文本包含的各个分词位置各自对应的概率值集合,包括:
针对输入的样本文本,以其包括的前K-1个分词初始化所述部分文本,K为正整数;
基于初始化后的部分文本,进行多轮迭代预测,直至满足迭代预测终止条件为止;其中每一轮迭代预测,包括如下步骤:
通过所述本轮使用的目标语言模型,对本轮使用的部分文本进行文本预测,获得位于所述部分文本之后的下一个分词位置的概率值集合;
将所述概率值集合中概率值最大的分词拼接在所述本轮使用的部分文本之后,并将获得的文本作为下一轮使用的部分文本进入下一轮迭代预测。
5.如权利要求4所述的方法,其特征在于,所述迭代预测终止条件包括如下条件中的至少一个:
拼接后获得的文本所包含的分词数量不小于预设数量阈值;
预测得到的概率值集合中,表征序列终止的分词对应的概率值最大。
6.如权利要求4所述的方法,其特征在于,所述基于获得的各个概率值集合各自对应真实分词所对应的概率值,生成所述本轮使用的目标语言模型的模型损失值,包括:
基于所述各个概率值集合与分词位置之间的对应关系,分别确定相应分词位置的真实分词所对应的概率值;
对获得的各个概率值进行负对数似然损失值计算,并将获得的负对数似然损失值作为所述模型损失值。
7.如权利要求1~6任一所述的方法,其特征在于,通过所述目标语言模型,基于所述目标提示文本执行如下步骤,获得所述推荐理由文本:
对所述目标提示文本进行分词处理,获得相应的目标分词序列;
基于所述目标分词序列中各个分词各自对应的嵌入表示向量,以及所述各个分词各自所处的分词位置所对应的位置表示向量,获得所述目标分词序列对应的分词表示向量序列;
基于所述分词表示向量序列进行多次迭代预测,依次获得所述目标分词序列之后的各个分词;
基于所述各个分词,生成所述推荐理由文本。
8.如权利要求7所述的方法,其特征在于,每一轮迭代预测过程,包括如下步骤:
通过多个级联的解码块,对本轮输入的分词表示向量序列进行迭代解码处理,获得最后一个解码块得到的输出特征向量,所述输出特征向量表征所述分词表示向量序列中各个分词的概率分布;
将所述输出特征向量映射为概率值集合,所述概率值集合包含分词字典中各个分词对应的概率值;
将概率值最大的分词,确定为本轮输出的预测分词,并将所述预测分词的分词表示向量拼接在所述本轮输入的分词表示向量序列之后,获得下一轮输入的分词表示向量序列。
9.如权利要求8所述的方法,其特征在于,每一个解码块的解码处理,包括如下步骤:
对输入的分词表示向量序列进行基于自注意力机制的交互处理,获得自注意力特征向量;
将所述注意力特征向量与所述分词表示向量序列进行拼接处理,获得拼接特征向量序列;
对所述拼接特征向量拼接中各个分词位置进行全连接映射处理,获得所述输出特征向量。
10.如权利要求7所述的方法,其特征在于对所述目标提示文本进行分词处理,获得相应的目标分词序列,包括:
对所述目标提示文本进行分词处理,获得相应的原始分词序列;
若所述原始分词序列包含的分词数量小于预设数量阈值,则基于所述原始分词序列包含的分词数量与所述预设数量阈值之间的差值,确定需要填充的掩码数量;
在所述原始分词序列之后填充所述掩码数量的掩码,获得所述目标分词序列。
11.如权利要求7所述的方法,其特征在于,所述基于所述目标分词序列中各个分词各自对应的嵌入表示向量,以及所述各个分词各自所处的分词位置所对应的位置表示向量,获得所述目标分词序列对应的分词表示向量序列,包括:
针对所述各个分词,分别执行如下操作:
针对一个分词,将其对应的嵌入表示向量和位置表示向量进行对位相加操作,获得相应的分词表示向量;或者,
针对一个分词,将其对应的嵌入表示向量和位置表示向量,在特征通道维度上进行叠加,获得相应的分词表示向量;
基于所述各个分词各自对应的分词表示向量,获得所述分词表示向量序列。
12.一种推荐理由生成装置,其特征在于,所述装置包括:
属性获得单元,用于获得参考物品的第一物品属性集合,以及获得基于所述参考物品推荐的推荐物品的第二物品属性集合;其中,每个物品属性集合包括相应物品在多个预设物品属性维度上的文本描述信息;
提示文本生成单元,用于基于所述第一物品属性集合和所述第二物品属性集合,按照预设的目标提示文本模板,构建相应的目标提示文本;其中,所述提示文本模板中预设了各个物品的各个物品属性维度之间的排列关系;
推荐理由生成单元,用于将所述目标提示文本输入至已训练的目标语言模型,获得所述目标语言模型输出的推荐理由文本;
其中,所述目标语言模型是基于多个样本文本,采用提示学习方法训练得到的,每个样本文本由样本提示文本以及其对应的推荐理由文本组成。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现权利要求1至11任一项所述方法的步骤。
14.一种计算机存储介质,其上存储有计算机程序,其特征在于,
该计算机程序被处理器执行时实现权利要求1至11任一项所述方法的步骤。
CN202310993244.3A 2023-08-09 2023-08-09 推荐理由生成方法、装置、设备及存储介质 Active CN116720004B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310993244.3A CN116720004B (zh) 2023-08-09 2023-08-09 推荐理由生成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310993244.3A CN116720004B (zh) 2023-08-09 2023-08-09 推荐理由生成方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116720004A true CN116720004A (zh) 2023-09-08
CN116720004B CN116720004B (zh) 2023-12-15

Family

ID=87868241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310993244.3A Active CN116720004B (zh) 2023-08-09 2023-08-09 推荐理由生成方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116720004B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033641A (zh) * 2023-10-07 2023-11-10 江苏微皓智能科技有限公司 一种大型预训练语言模型的网络结构优化微调方法
CN117033799A (zh) * 2023-09-21 2023-11-10 腾讯科技(深圳)有限公司 资源推荐方法、装置、计算机设备及存储介质
CN117194056A (zh) * 2023-11-07 2023-12-08 苏州元脑智能科技有限公司 大语言模型推理优化方法、装置、计算机设备及存储介质
CN117252664A (zh) * 2023-11-10 2023-12-19 浙江口碑网络技术有限公司 药品推荐理由生成方法、装置、介质及设备
CN117273868A (zh) * 2023-11-20 2023-12-22 浙江口碑网络技术有限公司 店铺推荐方法、装置、电子设备与存储介质
CN117436441A (zh) * 2023-12-14 2024-01-23 浙江口碑网络技术有限公司 基于大语言模型的文本结构识别方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9262406B1 (en) * 2014-05-07 2016-02-16 Google Inc. Semantic frame identification with distributed word representations
CN109829108A (zh) * 2019-01-28 2019-05-31 北京三快在线科技有限公司 信息推荐方法、装置、电子设备及可读存储介质
CN111311385A (zh) * 2020-05-15 2020-06-19 成都晓多科技有限公司 一种基于商品卖点的商品推荐话术生成方法及系统
GB202015695D0 (en) * 2020-10-02 2020-11-18 Mashtraxx Ltd System and method for recommending semantically relevant content
US20210103703A1 (en) * 2019-10-02 2021-04-08 Oracle International Corporation Generating recommendations by using communicative discourse trees of conversations
CN113570413A (zh) * 2021-07-28 2021-10-29 杭州王道控股有限公司 广告关键词的生成方法、装置、存储介质及电子设备
WO2022222037A1 (zh) * 2021-04-20 2022-10-27 中国科学院深圳先进技术研究院 一种基于图神经网络推理的可解释推荐方法
CN115935048A (zh) * 2021-08-23 2023-04-07 乐荐信息科技(北京)有限公司 一种服务信息推荐方法、装置和电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9262406B1 (en) * 2014-05-07 2016-02-16 Google Inc. Semantic frame identification with distributed word representations
CN109829108A (zh) * 2019-01-28 2019-05-31 北京三快在线科技有限公司 信息推荐方法、装置、电子设备及可读存储介质
US20210103703A1 (en) * 2019-10-02 2021-04-08 Oracle International Corporation Generating recommendations by using communicative discourse trees of conversations
CN111311385A (zh) * 2020-05-15 2020-06-19 成都晓多科技有限公司 一种基于商品卖点的商品推荐话术生成方法及系统
GB202015695D0 (en) * 2020-10-02 2020-11-18 Mashtraxx Ltd System and method for recommending semantically relevant content
WO2022222037A1 (zh) * 2021-04-20 2022-10-27 中国科学院深圳先进技术研究院 一种基于图神经网络推理的可解释推荐方法
CN113570413A (zh) * 2021-07-28 2021-10-29 杭州王道控股有限公司 广告关键词的生成方法、装置、存储介质及电子设备
CN115935048A (zh) * 2021-08-23 2023-04-07 乐荐信息科技(北京)有限公司 一种服务信息推荐方法、装置和电子设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033799A (zh) * 2023-09-21 2023-11-10 腾讯科技(深圳)有限公司 资源推荐方法、装置、计算机设备及存储介质
CN117033799B (zh) * 2023-09-21 2023-12-26 腾讯科技(深圳)有限公司 资源推荐方法、装置、计算机设备及存储介质
CN117033641A (zh) * 2023-10-07 2023-11-10 江苏微皓智能科技有限公司 一种大型预训练语言模型的网络结构优化微调方法
CN117194056A (zh) * 2023-11-07 2023-12-08 苏州元脑智能科技有限公司 大语言模型推理优化方法、装置、计算机设备及存储介质
CN117194056B (zh) * 2023-11-07 2024-02-23 苏州元脑智能科技有限公司 大语言模型推理优化方法、装置、计算机设备及存储介质
CN117252664A (zh) * 2023-11-10 2023-12-19 浙江口碑网络技术有限公司 药品推荐理由生成方法、装置、介质及设备
CN117273868A (zh) * 2023-11-20 2023-12-22 浙江口碑网络技术有限公司 店铺推荐方法、装置、电子设备与存储介质
CN117436441A (zh) * 2023-12-14 2024-01-23 浙江口碑网络技术有限公司 基于大语言模型的文本结构识别方法

Also Published As

Publication number Publication date
CN116720004B (zh) 2023-12-15

Similar Documents

Publication Publication Date Title
CN116720004B (zh) 推荐理由生成方法、装置、设备及存储介质
CN107066464B (zh) 语义自然语言向量空间
CN110069709B (zh) 意图识别方法、装置、计算机可读介质及电子设备
CN112487182A (zh) 文本处理模型的训练方法、文本处理方法及装置
WO2022156561A1 (zh) 一种自然语言处理方法以及装置
CN113704460B (zh) 一种文本分类方法、装置、电子设备和存储介质
CN112989212B (zh) 媒体内容推荐方法、装置和设备及计算机存储介质
CN114238690A (zh) 视频分类的方法、装置及存储介质
CN114880441A (zh) 视觉内容生成方法、装置、系统、设备和介质
JP2022078310A (ja) 画像分類モデル生成方法、装置、電子機器、記憶媒体、コンピュータプログラム、路側装置およびクラウド制御プラットフォーム
WO2023005763A1 (zh) 信息处理方法、装置和电子设备
CN116975199A (zh) 一种文本预测方法、装置、设备和存储介质
CN111522936A (zh) 一种包含情感的智能客服对话回复生成方法、装置及电子设备
CN116861363A (zh) 多模态的特征处理方法、装置、存储介质与电子设备
CN116933051A (zh) 一种用于模态缺失场景的多模态情感识别方法及系统
CN117291185A (zh) 任务处理方法、实体识别方法及任务处理的数据处理方法
CN116977701A (zh) 视频分类模型训练的方法、视频分类的方法和装置
CN115130461A (zh) 一种文本匹配方法、装置、电子设备及存储介质
CN115101075A (zh) 一种语音识别的方法以及相关装置
Zhang et al. Enlarging the long-time dependencies via rl-based memory network in movie affective analysis
CN114970494A (zh) 一种评论生成方法、装置、电子设备和存储介质
CN113761933A (zh) 检索方法、装置、电子设备及可读存储介质
CN117521674B (zh) 对抗信息的生成方法、装置、计算机设备和存储介质
CN115310547B (zh) 模型训练方法、物品识别方法及装置、电子设备、介质
CN117540024B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40091963

Country of ref document: HK