掌桥专利:专业的专利平台
掌桥专利
首页

基于人工智能的文本推荐方法及相关设备

文献发布时间:2023-06-19 16:09:34



技术领域

本申请涉及人工智能技术领域,尤其涉及一种基于人工智能的文本推荐方法、装置、电子设备及存储介质。

背景技术

随着信息科技与互联网的飞速发展,人们在日常生活中获取知识的途径也越来越多样化。近年来,通过互联网和关键字检索相关文本内容的需求越来越大。

目前通常通过预先对文本添加类别标签,并依据标签检索相关文本的方法进行文本推荐,然而这种方式对需要耗费大量人力对文本数据进行预处理,人力成本较高,且准确度较低。

发明内容

鉴于以上内容,有必要提供一种基于人工智能的文本推荐方法及相关设备,以解决如何提高文本推荐的准确度这一技术问题,其中,相关设备包括基于人工智能的文本推荐装置、电子设备及存储介质。

本申请实施例提供一种基于人工智能的文本推荐方法,所述方法包括:

利用预设的分词工具对自然语言数据库中的文本进行分词获取多个词汇;

对所述词汇进行编码以获取每个词汇对应的编码数据;

对所述编码数据进行分类以获得多个语义组,每个语义组包含多个编码数据;

计算待评估词汇对应的编码数据与每个语义组的相似度,并将最大相似度对应的语义组作为目标组;

对所述目标组中的编码数据进行分类获得多个候选组,每个候选组包含多个编码数据;

计算每个候选组的关联指标,所述关联指标用以表征每个候选组中编码数据应被推荐的程度;

按照所述关联指标由高到低的顺序依次推荐所述候选组中编码数据对应的词汇。

上述基于人工智能的文本推荐方法通过对词汇进行编码获得了文本的量化表达,能够提升文本推荐的准确度,并对编码数据进行多次分类获得了优化的分类结果,进一步依据待评估的词汇从优化的分类结果中筛选出了目标组数据,进而通过对目标组数据进行二次分类获得了多个候选组数据,并评估每个候选组的关联指标,并依据关联指标向用户推荐词汇,从而能够提升文本推荐的准确度。

在一些实施例中,所述对所述编码数据进行分类以获得多个语义组包括:

依据预设的分类上限构建中心列表,并依据所述中心列表中的每个元素选取多个编码数据作为中心数据;

依据所述中心数据对所有编码数据进行多次分类以获得多个分类结果,每个分类结果包含多个词汇分类组;

计算每个分类结果的误差平方和以作为评估值,并计算所述评估值的差值以构建评估结果哈希表;

查找所述评估结果哈希表中的最小差值对应的分类结果,并将该分类结果中的所有词汇分类组作为语义组。

如此,通过对编码数据进行分类获得了多个分类结果,每个分类结果包含多个编码数据,并通过对分类结果进行评估以筛选出较为优化的分类结果,并将较为优化的分类结果中的词汇分类组作为语义组,从而提升了词汇分类的准确度。

在一些实施例中,所述依据所述中心数据对所述编码数据进行分类以获得分类结果,所述分类结果包含多个词汇分类组,包括:

a,将所有编码数据标记为0并随机选取一个编码数据作为当前数据;

b,分别计算所述当前数据与每个中心数据的欧式距离;

c,将所述当前数据标记为1并归类于较小欧式距离对应的中心数据所在的类别;

d,再次随机选取一个标记为0的编码数据作为当前数据,并重复步骤b至d,直到所有编码数据被标记为1则停止迭代并获得多个词汇分类组;

e,计算每个词汇分类组中所有编码数据的均值,若所述均值满足预设判别条件则将所述词汇分类组作为分类结果,否则将每个词汇分类组中距离所述均值最近的编码数据作为中心数据并重新进行步骤a至步骤e以获得分类结果。

如此,通过迭代的方式对编码数据进行聚类获得了多个词汇分类组,无需对词汇进行人工标记即可将编码数据对应的词汇划分为语义相近的多个词汇分类组,提升了文本推荐的效率。

在一些实施例中,所述计算每个分类结果的误差平方和以作为评估值,并计算所述评估值的差值以构建评估结果哈希表包括:

分别计算每个词汇分类组的误差,所述误差为每个词汇分类组中所有编码数据与中心数据的欧式距离的平方和;

分别计算每个分类结果中所有词汇分类组的误差之和以作为每个分类结果的评估值;

依据每个分类结果中词汇分类组的数量由小至大排列所述评估值,并计算相邻两个评估值的差值后,依据评估值的次序组合所述差值以构建评估结果哈希表。

如此,通过计算每个分类结果中每个词汇分类组的误差并进一步获得了每个分类结果的评估值,依据评估值构建了评估结果哈希表,便于后续对筛选较为优化的分类结果,从而能够提升文本推荐的效率。

在一些实施例中,所述对所述目标组中的编码数据进行分类获得多个候选组包括:

a,依据预设的半径阈值和密度阈值对目标组中的编码数据进行分类,所述类别包括核心数据与离群数据;

b,依据所述半径阈值设置判别条件,所述判别条件指两个数据之间的关系满足预设关系中的任意一种,所述预设关系包括:密度直达、密度可达、密度相连,所述密度直达指两个编码数据之间的欧式距离不小于所述半径阈值;所述密度可达指两个编码数据之间的关系不为密度直达且所述两个编码数据具备共同的密度直达的编码数据;所述密度相连指两个编码数据之间的关系不为密度可达且具备共同的密度可达的编码数据;

c,将所有核心数据标记为“未访问”;

d,任选一个标记为“未访问”的核心数据作为目标数据;

e,依次遍历所有标签为“未访问”的核心数据,若遍历到的核心数据满足所述判别条件,则将该核心数据与目标数据归为同一个候选组,并将该候选组中的所有核心数据标记为“已访问”;

f,重复步骤d和e以获得多个候选组,并将所有离群数据作为一个候选组。

如此,通过对目标组中的编码数据进一步进行分类获得了多个候选组,从而能够将编码数据对应的词汇更细致的划分,以提升文本推荐的准确度。

在一些实施例中,所述评估每个候选组以获得每个候选组的关联指标包括:

计算每个候选组的均值,并将每个候选组中与所述均值的欧式距离最小的编码数据作为每个候选组的质心;

计算每个候选组中编码数据的方差以作为聚合度,所述聚合度用以表征候选组中编码数据对应的词汇的相似程度;

计算所述目标数据与所述质心数据的相似度,所述相似度越高则表明所述目标数据与所述质心数据越相似;

将所述聚合度与所述相似度输入自定义的归一化模型以获得归一化结果,并将所述归一化结果作为每个候选组的关联指标,所述关联指标用以表征所述候选组中编码数据与所述目标数据的相关程度。

如此,通过将每个候选组中编码数据的聚合度和每个候选组与目标数据的相似度输入自定义的归一化模型获得了每个候选组对应的关联指标,为后续文本推荐提供了数据支撑,从而能够提升文本推荐的准确度。

在一些实施例中,所述自定义的归一化模型满足关系式:

其中,T代表所述关联指标,所述关联指标的值越高则表明对应的候选组中编码数据对应的词汇越应该被推荐;x代表所述候选组的聚合度,所述聚合度越高则表明该候选组中编码数据对应的词汇的重要性越高;y代表所述目标数据与所述候选组的相似度,所述相似度越高则所述候选组中的编码数据对应的词汇越应该被推荐;α代表预设的调和常数;e代表自然常数。

如此,通过自定义的归一化模型获得了每个候选组的关联指标,为后续文本推荐提供了数据支撑,能够提升文本推荐的准确度。

本申请实施例还提供一种基于人工智能的文本推荐装置,所述装置包括:

分词单元,利用预设的分词工具对自然语言数据库中的文本进行分词获取多个词汇;

编码单元,用于对自然语言数据库中的词汇进行编码以获取每个词汇对应的编码数据;

第一分类单元,用于对所述编码数据进行分类以获得多个语义组,每个语义组包含多个编码数据;

第一计算单元,用于计算待评估词汇对应的编码数据与每个语义组的相似度,并将最大相似度对应的语义组作为目标组;

第二分类单元,用于对所述目标组中的编码数据进行分类获得多个候选组,每个候选组包含多个编码数据;

第二计算单元,用于计算每个候选组的关联指标,所述关联指标用以表征每个候选组中编码数据应被推荐的程度;

推荐单元,用于按照所述关联指标由高到低的顺序依次推荐所述候选组中编码数据对应的词汇。

本申请实施例还提供一种电子设备,所述设备包括:

存储器,存储计算机可读指令;及

处理器,执行所述存储器中存储的计算机可读指令以实现所述基于人工智能的文本推荐方法。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现所述基于人工智能的文本推荐方法。

上述基于人工智能的文本推荐方法通过对词汇进行编码获得了文本的量化表达,能够提升文本推荐的准确度,并对编码数据进行多次分类获得了优化的分类结果,进一步依据待评估的词汇从优化的分类结果中筛选出了目标组数据,进而通过对目标组数据进行二次分类获得了多个候选组数据,并评估每个候选组的关联指标,并依据关联指标向用户推荐词汇,从而能够提升文本推荐的准确度。

附图说明

图1是本申请所涉及的一种基于人工智能的文本推荐方法的较佳实施例的流程图。

图2是本申请所涉及的基于人工智能的文本推荐装置的较佳实施例的功能模块图。

图3是本申请所涉及的基于人工智能的文本推荐方法的较佳实施例的电子设备的结构示意图。

具体实施方式

为了能够更清楚地理解本申请的目的、特征和优点,下面结合附图和具体实施例对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。在下面的描述中阐述了很多具体细节以便于充分理解本申请,所述描述的实施例仅是本申请一部分实施例,而不是全部的实施例。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。

本申请实施例提供一种基于人工智能的文本推荐方法,可应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、可编程门阵列(Field-ProgrammableGateArray,FPGA)、数字处理器(DigitalSignalProcessor,DSP)、嵌入式设备等。

所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(PersonalDigitalAssistant,PDA)、游戏机、交互式网络电视(InternetProtocolTelevision,IPTV)、智能式穿戴式设备等。

所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。

所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(VirtualPrivateNetwork,VPN)等。

如图1所示,是本申请基于人工智能的文本推荐方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。

S10,利用预设的分词工具对自然语言数据库中的文本进行分词获取多个词汇;

该可选的实施例中,所述自然语言数据库是指依照数据结构来设计、储存和管理自然语言文本的一种数据集合,示例性的,本方案所述自然语言数据库可以是MySQL数据库,所述MySQL数据库是一种开源的数据库,其功能可以是存储任意自然语言文本。

该可选的实施例中,所述预设的分词工具可以是jieba分词工具,所述jieba分词工具是由Python程序编写的代码,其功能是将自然语言文本中的词汇分离开以获得多个词汇。所述jieba分词工具的形式可以是jieba.cut(sentence),其中,cut代表所述jieba分词工具中的分词指令,sentence代表所述自然语言文本。

示例性的,当所述sentence为“一切都像刚睡醒的样子”,则所述jieba分词工具的输出为一个列表,所述列表中的每个元素为一个词汇,所述列表的形式为[一切,都,像,刚,睡醒,的,样子]。

如此,通过预设的分词工具对自然语言文本进行预处理获得了多个词汇,能够以较为细粒度的方式表征自然语言文本,并为后续词汇编码提供了基础,从而能够提升文本推荐的准确性。

S11,对所述词汇进行编码以获取每个词汇对应的编码数据。

该可选的实施例中,可依据预设的文本编码方法对所述自然语言数据库中的每个词汇进行编码,所述预设的文本编码方法可以是one-hot算法,其含义是独热编码算法,所述独热编码算法的功能是将所述自然语言数据库中的每个词汇编码为二进制向量数据,示例性的,所述二进制向量数据的形式可以是[0,1,0,0,0]。

该可选的实施例中,可依据预设的词汇权重算法计算所述自然语言数据库中每个词汇对应的权重,所述权重用以表征每个词汇在自然语言数据库中的重要性,所述权重的值越高,则其对应的词汇在所述自然语言数据库中越重要。所述预设的词汇权重算法可以是TF-IDF算法,所述TF-IDF算法的全称是term frequency–inverse document frequency,其含义是词频-逆文件频率算法,所述TF-IDF算法可输出每个词汇对应的权重,所述权重的值可以是任意实数。

该可选的实施例中,可计算所述权重与对应词汇的二进制向量数据的乘积以获得每个词汇对应的编码数据,示例性的,若词汇“我”对应的二进制数据为[0,1,0,0,0]且其对应的权重为0.23,则所述词汇“我”对应的编码数据为[0,0.23,0,0,0]。

该可选的实施例中,可将所述词汇作为键并将词汇对应的编码数据作为值以构建键值对,将所有键值对作为编码哈希表。

示例性的,当所述词汇为“我”且其对应的编码数据为[0,0.23,0,0,0]时,则所述键值对的形式为(我,[0,0.23,0,0,0])。

如此,通过计算每个词汇对应的重要性与每个词汇对应的二进制向量数据的乘积获得每个词汇对应的编码数据,所述编码数据能够以量化的方式表征文本数据,从而提升后续文本推荐的准确度。

S12,对所述编码数据进行分类以获得多个语义组,每个语义组包含多个编码数据。

该可选的实施例中,所述对所述编码数据进行分类以获得多个语义组,每个语义组包含多个编码数据,包括:

依据预设的分类上限构建中心列表,并依据所述中心列表中的每个元素选取多个编码数据作为中心数据;

依据所述中心数据对所有编码数据进行多次分类以获得多个分类结果,每个分类结果包含多个词汇分类组;

计算每个分类结果的误差平方和以作为评估值,并计算所述评估值的差值以构建评估结果哈希表;

查找所述评估结果哈希表中的最小差值对应的分类结果,并将该分类结果中的所有词汇分类组作为语义组。

该可选的实施例中,可依据预设的分类上限构建中心列表,所述预设的分类上限是一个大于2的正整数,所述分类上限用以控制编码数据分类的次数。

该可选的实施例中,所述中心列表中的每个元素为一个正整数,其中每个元素分别代表每次对编码数据进行分类后获得的类别个数,由于需要将所述编码数据分为多个类别,因此所述中心列表中元素的最小值为2。

该可选的实施例中,可依次将每个大于等于2的正整数作为所述中心列表中的元素,并将所述预设的分类上限作为所述中心列表中的最后一位元素,如果预设的分类上限为n,则所述中心列表有n-1个元素。

示例性的,当预设的分类上限为9时,所述中心列表为[2,3,4,5,6,7,8,9],其中每个元素的值用以表征每次对编码数据分类之后获得的类别个数。

该可选的实施例中,可依次选取所述中心列表中的元素以作为分类数量,并从所述编码数据中随机选取与分类数量相等的编码数据作为中心数据,示例性的,若所述中心列表为[2,3,4,5,6,7,8,9],则选取到的第一个分类数量为2,则可从所有编码数据中随机选取两个编码数据作为中心数据。

在一个可选的实施例中,依据所述中心数据对所有编码数据进行多次分类以获得多个分类结果包括:

a,将所有编码数据标记为0并随机选取一个编码数据作为当前数据;

b,分别计算所述当前数据与每个中心数据的欧式距离;

c,将所述当前数据标记为1并归类于较小欧式距离对应的中心数据所在的类别;

d,再次随机选取一个标记为0的编码数据作为当前数据,并重复步骤b至d,直到所有编码数据被标记为1则停止迭代并获得多个词汇分类组;

e,计算每个词汇分类组中所有编码数据的均值,若所有均值满足预设判别条件则将所述词汇分类组作为分类结果,否则将每个词汇分类组中距离所述均值最近的编码数据作为中心数据并重新进行步骤a至步骤e以获得分类结果。

该可选的实施例中,所述对所有编码数据进行多次分类以获得多个分类结果的具体实施步骤为:

A1:将所有编码数据标记为0,并随机选取一个编码数据作为当前数据,所述当前数据对应于所述自然语言数据库中的某一个词汇;

A2:分别计算所述当前数据与每个中心数据的欧式距离,示例性的,若所述当前数据为[0.23,0,0,0]且某一个中心数据为[0,0.65,0,0],则所述当前数据与该中心数据之间欧式距离的计算方式为:

则所述当前数据与该中心数据之间的欧式距离为0.4754。

所述欧式距离用以表征所述当前数据与该中心数据之间的相似程度,所述欧式距离越小,则所述当前数据代表的词汇与该中心数据代表的词汇之间的相似度越高;

A3:将当前数据标记为1并归类为较小欧式距离对应的中心数据所在的词汇分类组,示例性的,若共有四个中心数据,且将当前数据与每个中心数据之间的欧式距离分别记为Dis

A4:随机选取一个标记为0的编码数据作为当前数据,并重复步骤A2至A4,直到所有编码数据被标记为1并获得多个词汇分类组;

A5:计算每个词汇分类组中所有编码数据的均值,若所有均值都满足预设的判别条件则将所述多个词汇分类组作为分类结果,否则将每个词汇分类组中距离均值最近的编码数据作为中心数据,并重复步骤A1至A5以获得分类结果。

所述预设的判别条件指所述均值与所述中心数据的欧式距离小于预设的阈值,实例性的,所述预设的阈值可以是0.1,此步骤的目的是确保分类的结果变化足够小,即分类结果的性能已较为优异。

该可选的实施例中,每个中心列表中的元素对应一个分类结果,每个分类结果对应多个词汇分类组,每个词汇分类组包含多个编码数据,每个编码数据分别对应一个词汇,每个词汇分类组中的编码数据对应语义相同的一类词汇。

在一个可选的实施例中,计算每个分类结果的误差平方和以作为评估值,并计算所述评估值的差值以构建评估结果哈希表,包括:

分别计算每个词汇分类组的误差,所述误差为每个词汇分类组中所有编码数据与中心数据的欧式距离的平方和;

计算每个分类结果中所有误差之和以作为每个分类结果的评估值;

依据每个分类结果中词汇分类组的数量由小至大排列所述评估值,并计算相邻两个评估值的差值后,依据评估值的次序组合所述差值以构建评估结果哈希表。

该可选的实施例中,可分别计算每个分类结果中每个词汇分类组的误差,所述误差为每个词汇分类组中所有编码数据与中心数据的欧式距离的平方和,所述欧式距离的计算方式为:

其中,A代表所述中心数据,B代表所述编码数据,i代表所述中心数据与编码数据的维度的索引,因此A

示例性的,若某一个词汇分类组的中心数据为[0,0.23,0,0]且其中一个编码数据为[0.45,0,0,0],则所述中心数据与所述编码数据的欧式距离的计算方法为:

则所述中心数据与所述编码数据之间的欧式距离为0.5。

示例性的,若某一个词汇分类组包含四个编码数据与一个中心数据,且四个编码数据与中心数据的欧式距离分别为0.5、1、1.5和2,则该词汇分类组对应的误差的计算方式为:

0.5

则该词汇分类组对应的误差为7.5,所述误差越小则表明该词汇分类组中所有编码数据的聚合程度越高,则该词汇分类组中所有编码数据对应的词汇越相似。

该可选的实施例中,可计算每个分类结果中所有误差之和以作为每个分类结果的评估值,所述评估值越小则表明对应的分类结果的效果越优异。示例性的,若某个分类结果包含四个词汇分类组,且所述四个词汇分类组的误差分别是7.5、9.5、10.5和11.5,则所述该分类结果对应的评估值为39。

该可选的实施例中,可将每个分类结果中词汇分类组的数量作为键并将每个分类结果对应的评估值作为值以构建键值对,并依据所述键的值由小至大排列所述键值对。

示例性的,若词汇分类组的数量为2时对应的评估值为100、词汇分类组的数量为3时对应的评估值为60、词汇分类组的数量为4时对应的评估值为50,则所述键值对的排列顺序为(2,100)、(3,60)、(4,50)。

该可选的实施例中,可计算相邻两个评估值的差值,示例性的,若词汇分类组的数量为2时获得的评估值为100,且词汇分类组数量为3时获得的评估值为60,则所述差值为40。

该可选的实施例中,可依据评估值的次序组合所述差值以构建评估结果哈希表,示例性的,若评估值若差值分别为40和10,则所述评估结果哈希表为[([2,3],40),([3,4],10)]。

该可选的实施例中,可选取所述评估结果哈希表中的最小的值对应的键以作为目标键,示例性的,若所述评估结果哈希表为[([2,3],40),([3,4],10)],则其中最小的值为10且对应的键为[3,4]。

该可选的实施例中,可选取所述目标键中较小值对应的分类结果中的词汇分类组作为语义组。

示例性的,若所述目标键为[3,4],则可选取3对应的分类结果中的三个词汇分类组作为语义组。

如此,通过对编码数据多次分类获得了多个分类结果,并计算每个分类结果的误差以构建了评估结果哈希表,通过查询评估结果哈希表中最小值对应的分类结果获得了语义组,从而能够兼顾词汇分类的效率与准确度。

S13,计算待评估词汇对应的编码数据与每个语义组的相似度,并将最大相似度对应的语义组作为目标组。

该可选的实施例中,所述待评估词汇指所述自然语言数据库中需要被关联的词汇,可将所述待评估词汇作为键,并依次遍历所述编码哈希表以查找该键对应的值,以作为目标数据。

示例性的,当所述待评估词汇为“说明”时,可将所述词汇“说明”作为键,并依次遍历所述编码哈希表中的所有键以查询所述词汇“说明”对应的编码数据,并将所述词汇“说明”对应的编码数据作为目标数据,所述目标数据的形式可以是[0,0.23,0,0,0]。

该可选的实施例中,可将所述目标数据与每个语义组的中心数据的相似度作为所述目标数据与该语义组的相似度,并选取其中最小相似度对应的语义组作为目标组。

该可选的实施例中,可计算所述目标数据与每个语义组的中心数据的欧式距离,并将所述欧式距离的倒数作为所述相似度,所述相似度越高,则表明所述目标数据与所述语义组的中心数据越相似,则所述目标数据代表的词汇与所述语义组中的词汇相似程度越高。

该可选的实施例中,若目标数据为A且语义组中心数据为B,则所述相似度的计算方法为:

其中,所述S代表所述目标数据A与所述语义组中心数据B的相似度,所述S的值越高则表明所述目标数据A代表的词汇和所述中心数据B代表的词汇之间的相似程度越高;i代表所述目标数据和所述中心数据的维度索引,n代表所述目标数据和所述中心数据的维度数量,A

示例性的,当所述目标数据为[0,0.23,0,0,0]且所述语义组中心数据为[0,0.45,0,0,0]时,所述相似度的计算方法为:

该可选的实施例中,可将最大的相似度对应的语义组作为目标组,示例性的,若共有4个语义组,且所述目标数据与每个语义组中心数据的相似度分别为1、2、3和4时,则可将相似度4对应的语义组作为目标组。

如此,通过查询待评估的词汇所对应的编码数据获得了目标数据,并依据目标数据与语义组中心数据的相似度选取了目标组,所述目标组中的数据与所述目标数据的相似度较高,从而能够提升词汇关联的准确度。

S14,对所述目标组中的编码数据进行分类获得多个候选组,每个候选组包含多个编码数据。

在一个可选的实施例中,所述对所述目标组中的数据进行分类获得多个候选组包括:

a,依据预设的半径阈值和预设的密度阈值对所述目标组中的编码数据进行分类以获取分类结果,所述分类结果包括核心数据与离群数据;该可选的实施例例中,以所述目标组中任意一个编码数据为例,当以该编码数据为中心,并以所述半径阈值为半径的范围内包含的编码数据的数量不小于所述密度阈值,则该编码数据为核心数据,否则该编码数据为离群数据,本方案中所述半径阈值可以是0.1且所述密度阈值可以是4,示例性的,若以编码数据T为中心并以所述半径阈值0.1为半径的范围内编码数据的数量不小于4,则所述编码数据T为核心数据;

b,依据所述半径阈值设置判别条件,所述判别条件指两个编码数据之间的关系满足预设关系中的任意一种,所述预设关系包括:密度直达、密度可达、密度相连。所述密度直达指两个编码数据之间的欧式距离不小于所述半径阈值;所述密度可达指两个编码数据之间的关系不为密度直达且所述两个编码数据具备共同的密度直达的编码数据;所述密度相连指两个编码数据之间的关系不为密度可达且具备共同的密度可达的编码数据。当所述预设的半径阈值为0.5时,编码数据E与编码数据F之间的欧式距离为0.4,则所述编码数据E与编码数据F之间的关系为密度直达;若编码数据G与所述编码数据F之间的欧式距离为0.4,则所述编码数据G与所述编码数据F之间的关系为密度直达,当所述编码数据G与所述编码数据E之间的欧式距离大于0.5,则所述编码数据G与所述编码数据E之间的关系为密度可达;当编码数据H与编码数据E之间的关系不为密度可达,但编码数据H与编码数据G之间的关系为密度可达时,则编码数据H与编码数据E之间的关系为密度相连。

c,将所有核心数据标记为“未访问”;该可选的实施例中,可将所述编码数据E、编码数据F、编码数据G、编码数据H都设为核心数据,则可将所述编码数据E、编码数据F、编码数据G、编码数据H都标记为“未访问”;

d,任选一个标记为“未访问”的核心数据作为目标数据;

e,依次遍历所有标签为“未访问”的核心数据,若遍历到的核心数据满足所述判别条件,即满足所述预设关系中的任意一种,则将该核心数据与目标数据归为同一个候选组,并将该候选组中的所有核心数据标记为“已访问”;该可选的实施例中,以所述编码数据E为目标数据,以遍历到的编码数据H为例,由于所述编码数据H与所述目标数据E之间的关系为密度相连,因此所述编码数据H满足所述判别条件,此所述编码数据H与所述目标数据E被归类为同一个候选组,并将该候选组中的所有编码数据都标记为“已访问”;

f,重复步骤d和e以获得多个候选组,直到所述目标组中所有的编码数据都被标记为“已访问”,则分类结束并获得多个候选组,并将所有离群数据作为一个候选组。

如此,通过对目标组中的编码数据进一步分类获得了多个候选组,每个候选组包含多个编码数据,每个编码数据代表所述自然语言数据库中的一个词汇,每个候选组中的编码数据用以表征同属于一类的词汇,能够细化词汇分类的结果,进而能够提升词汇关联的准确度。

S15,计算每个候选组的关联指标,所述关联指标用以表征每个候选组中编码数据应被推荐的程度。

在一个可选的实施例中,所述计算每个候选组的关联指标包括:

计算每个候选组的均值,并将每个候选组中与所述均值欧式距离最小的编码数据作为每个候选组的质心;

计算每个候选组中编码数据的方差以作为聚合度,所述聚合度用以表征候选组中编码数据对应的词汇的相似程度;

计算所述目标数据与所述质心数据的相似度,所述相似度越高则表明所述目标数据与所述质心数据越相似;

将所述聚合度与所述相似度输入自定义的归一化模型以获得归一化结果,并将所述归一化结果作为每个候选组的关联指标,所述关联指标用以表征所述候选组中编码数据与所述目标数据的相关程度。

该可选的实施例中,可计算每个候选组的均值,并将每个候选组中与所述均值欧式距离最小的编码数据作为每个候选组的质心,示例性的,当某个候选组中包括4个编码数据且分别为[0,0.23,0,0]、[0.45,0,0,0]、[0,0,0.65,0]和[0,0,0,0.55]时,所述候选组的均值的计算方式为:

则所述均值为[0.11,0.06,0.16,0.13],记所述4个编码数据与所述均值的欧式距离分别为Dis1、Dis2、Dis3和Dis4,则所述4个编码数据与所述均值的欧式距离分别为:

则可选择编码向量[0,0.23,0,0]为该候选组的质心。

该可选的实施例中,可计算每个候选组中编码数据的方差以作为每个候选组的聚合度,所述聚合度越高则表明该候选组中的编码数据对应的词汇对所述目标组中词汇的语义的影响越大,则该候选组中的词汇越重要且越应该被推荐。所述方差的计算方式为:

其中,A代表候选组中某一个编码数据;B代表该候选组的均值;j代表候选组中编码数据的索引;A

示例性的,若某个候选组中包含4个编码数据[0,0.23,0,0]、[0.45,0,0,0]、[0,0,0.65,0]和[0,0,0,0.55],且该候选组中编码数据的均值为[0.11,0.06,0.16,0.13],则该候选组中编码数据的方差的计算方式为:

则所述方差代表的聚合度为0.9534。

该可选的实施例中,可计算所述目标数据与所述质心数据的相似度,所述相似度可以是欧式距离的倒数,所述相似度可被记为y,其计算方法为:

其中,所述y代表所述目标数据C与所述质心数据D的相似度,所述y的值越高则表明所述目标数据C代表的词汇和所述质心数据D代表的词汇之间的相似程度越高;i代表所述目标数据和所述质心数据的维度索引,n代表所述目标数据和所述中心数据的维度数量,C

示例性的,当所述目标数据为[0,0.23,0,0,0]且所述质心数据为[0,0.45,0,0,0]时,所述相似度的计算方法为:

则所述目标数据与所述质心数据的相似度为4.54。

该可选的实施例中,所述自定义的归一化模型满足以下关系式:

其中,T代表所述关联指标,所述关联指标的值越高则表明对应的候选组中编码数据对应的词汇越应该被推荐;x代表所述候选组的聚合度,所述聚合度越高则表明该候选组中编码数据对应的词汇的重要性越高;y代表所述目标数据与所述候选组的相似度,所述相似度越高则所述候选组中的编码数据对应的词汇越应该被推荐;α代表预设的调和常数,根据多次测试经验,α可以取5;e代表自然常数。

示例性的,当所述调和常数取值为5,,某个候选组的聚合度为0.9534,且所述目标数据与该候选组质心数据的相似度为4.54,则该候选组的关联指标的计算方法为:

则所述候选组中所有编码数据对应的关联指标为0.408。

如此,通过计算每个候选组的聚合度,并分别计算每个候选组质心与目标数据的相似度,并键所述聚合度与所述相似度输入自定义的归一化模型获得了每个候选组对应的关联指标,所述关联指标的值越高,则对应的候选组中编码数据代表的词汇与目标数据代表的词汇的关联程度越强,进而提升了文本推荐的准确性。

S16,按照所述关联指标由高到低的顺序依次推荐所述候选组中编码数据对应的词汇。

该可选的实施例中,可分别对比每个候选组的关联指标与预设的阈值以获得每个候选组的对比结果,所述对比结果包括大于和不大于。若所述关联指标大于预设的阈值,则保留该候选组中的编码数据,若所述关联指标不大于预设的阈值,则删除该候选组中的编码数据,由于所述归一化模型的输出结果为0至1之间的实数,即所述关联指标的取值为0至1之间的实数,因此所述预设的阈值可以是0.5。

该可选的实施例中,可依据所述关联指标对被保留的候选组进行排序,若所述候选组的关联指标值越高,则该候选组的次序越靠前,进一步可依据候选组的次序推荐所述候选组中编码数据对应的词汇,所述候选组的次序越靠前,则该候选组中编码数据对应的词汇越先被推荐给用户。

如此,依据候选组对应的关联指标对候选组进行排序获得了候选组的次序,并依据次序向用户推荐所述候选组中编码数据对应的词汇,能够对词汇做出量化的评估,进而提升文本推荐的准确度。

上述基于人工智能的文本推荐方法通过对词汇进行编码获得了文本的量化表达,能够提升文本推荐的准确度,并对编码数据进行多次分类获得了优化的分类结果,进一步依据待评估的词汇从优化的分类结果中筛选出了目标组数据,进而通过对目标组数据进行二次分类获得了多个候选组数据,并评估每个候选组的关联指标,并依据关联指标向用户推荐词汇,从而能够提升文本推荐的准确度。

如图2所示,是本申请实施例提供的基于人工智能的文本推荐装置的较佳实施例的功能模块图。基于人工智能的文本推荐装置包括分词单元110、包括编码单元111、第一分类单元112、第一计算单元113、第二分类单元114、第二计算单元115、推荐单元116。本申请所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。

在一个可选的实施例中,分词单元110用于利用预设的分词工具对自然语言数据库中的文本进行分词获取多个词汇。

该可选的实施例中,所述自然语言数据库是指依照数据结构来设计、储存和管理自然语言文本的一种数据集合,示例性的,本方案所述自然语言数据库可以是MySQL数据库,所述MySQL数据库是一种开源的数据库,其功能可以是存储任意自然语言文本。

该可选的实施例中,所述预设的分词工具可以是jieba分词工具,所述jieba分词工具是由Python程序编写的代码,其功能是将自然语言文本中的词汇分离开以获得多个词汇。所述jieba分词工具的形式可以是jieba.cut(sentence),其中,cut代表所述jieba分词工具中的分词指令,sentence代表所述自然语言文本。

示例性的,当所述sentence为“一切都像刚睡醒的样子”,则所述jieba分词工具的输出为一个列表,所述列表中的每个元素为一个词汇,所述列表的形式为[一切,都,像,刚,睡醒,的,样子]。

在一个可选的实施例中,编码单元111用于对所述词汇进行编码以获取每个词汇对应的编码数据。

该可选的实施例中,可依据预设的文本编码方法对所述自然语言数据库中的每个词汇进行编码,所述预设的文本编码方法可以是one-hot算法,其含义是独热编码算法,所述独热编码算法的功能是将所述自然语言数据库中的每个词汇编码为二进制向量数据,示例性的,所述二进制向量数据的形式可以是[0,1,0,0,0]。

该可选的实施例中,可依据预设的词汇权重算法计算所述自然语言数据库中每个词汇对应的权重,所述权重用以表征每个词汇在自然语言数据库中的重要性,所述权重的值越高,则其对应的词汇在所述自然语言数据库中越重要。所述预设的词汇权重算法可以是TF-IDF算法,所述TF-IDF算法的全称是term frequency–inverse document frequency,其含义是词频-逆文件频率算法,所述TF-IDF算法可输出每个词汇对应的权重,所述权重的值可以是任意实数。

该可选的实施例中,可计算所述权重与对应词汇的二进制向量数据的乘积以获得每个词汇对应的编码数据,示例性的,若词汇“我”对应的二进制数据为[0,1,0,0,0]且其对应的权重为0.23,则所述词汇“我”对应的编码数据为[0,0.23,0,0,0]。

该可选的实施例中,可将所述词汇作为键并将词汇对应的编码数据作为值以构建键值对,将所有键值对作为编码哈希表。

示例性的,当所述词汇为“我”且其对应的编码数据为[0,0.23,0,0,0]时,则所述键值对的形式为(我,[0,0.23,0,0,0])。

在一个可选的实施例中,第一分类单元112用于对所述编码数据进行分类以获得多个语义组,每个语义组包含多个编码数据。

该可选的实施例中,所述对所述编码数据进行分类以获得多个语义组,每个语义组包含多个编码数据,包括:

依据预设的分类上限构建中心列表,并依据所述中心列表中的每个元素选取多个编码数据作为中心数据;

依据所述中心数据对所有编码数据进行多次分类以获得多个分类结果,每个分类结果包含多个词汇分类组;

计算每个分类结果的误差平方和以作为评估值,并计算所述评估值的差值以构建评估结果哈希表;

查找所述评估结果哈希表中的最小差值对应的分类结果,并将该分类结果中的所有词汇分类组作为语义组。

该可选的实施例中,可依据预设的分类上限构建中心列表,所述预设的分类上限是一个大于2的正整数,所述分类上限用以控制编码数据分类的次数。

该可选的实施例中,所述中心列表中的每个元素为一个正整数,其中每个元素分别代表每次对编码数据进行分类后获得的类别个数,由于需要将所述编码数据分为多个类别,因此所述中心列表中元素的最小值为2。

该可选的实施例中,可依次将每个大于等于2的正整数作为所述中心列表中的元素,并将所述预设的分类上限作为所述中心列表中的最后一位元素,如果预设的分类上限为n,则所述中心列表有n-1个元素。

示例性的,当预设的分类上限为9时,所述中心列表为[2,3,4,5,6,7,8,9],其中每个元素的值用以表征每次对编码数据分类之后获得的类别个数。

该可选的实施例中,可依次选取所述中心列表中的元素以作为分类数量,并从所述编码数据中随机选取与分类数量相等的编码数据作为中心数据,示例性的,若所述中心列表为[2,3,4,5,6,7,8,9],则选取到的第一个分类数量为2,则可从所有编码数据中随机选取两个编码数据作为中心数据。

在一个可选的实施例中,依据所述中心数据对所有编码数据进行多次分类以获得多个分类结果包括:

a,将所有编码数据标记为0并随机选取一个编码数据作为当前数据;

b,分别计算所述当前数据与每个中心数据的欧式距离;

c,将所述当前数据标记为1并归类于较小欧式距离对应的中心数据所在的类别;

d,再次随机选取一个标记为0的编码数据作为当前数据,并重复步骤b至d,直到所有编码数据被标记为1则停止迭代并获得多个词汇分类组;

e,计算每个词汇分类组中所有编码数据的均值,若所有均值满足预设判别条件则将所述词汇分类组作为分类结果,否则将每个词汇分类组中距离所述均值最近的编码数据作为中心数据并重新进行步骤a至步骤e以获得分类结果。

该可选的实施例中,所述对所有编码数据进行多次分类以获得多个分类结果的具体实施步骤为:

A1:将所有编码数据标记为0,并随机选取一个编码数据作为当前数据,所述当前数据对应于所述自然语言数据库中的某一个词汇;

A2:分别计算所述当前数据与每个中心数据的欧式距离,示例性的,若所述当前数据为[0.23,0,0,0]且某一个中心数据为[0,0.65,0,0],则所述当前数据与该中心数据之间欧式距离的计算方式为:

则所述当前数据与该中心数据之间的欧式距离为0.4754。

所述欧式距离用以表征所述当前数据与该中心数据之间的相似程度,所述欧式距离越小,则所述当前数据代表的词汇与该中心数据代表的词汇之间的相似度越高;

A3:将当前数据标记为1并归类为较小欧式距离对应的中心数据所在的词汇分类组,示例性的,若共有四个中心数据,且将当前数据与每个中心数据之间的欧式距离分别记为Dis

A4:随机选取一个标记为0的编码数据作为当前数据,并重复步骤A2至A4,直到所有编码数据被标记为1并获得多个词汇分类组;

A5:计算每个词汇分类组中所有编码数据的均值,若所有均值都满足预设的判别条件则将所述多个词汇分类组作为分类结果,否则将每个词汇分类组中距离均值最近的编码数据作为中心数据,并重复步骤A1至A5以获得分类结果。

所述预设的判别条件指所述均值与所述中心数据的欧式距离小于预设的阈值,实例性的,所述预设的阈值可以是0.1,此步骤的目的是确保分类的结果变化足够小,即分类结果的性能已较为优异。

该可选的实施例中,每个中心列表中的元素对应一个分类结果,每个分类结果对应多个词汇分类组,每个词汇分类组包含多个编码数据,每个编码数据分别对应一个词汇,每个词汇分类组中的编码数据对应语义相同的一类词汇。

在一个可选的实施例中,计算每个分类结果的误差平方和以作为评估值,并计算所述评估值的差值以构建评估结果哈希表,包括:

分别计算每个词汇分类组的误差,所述误差为每个词汇分类组中所有编码数据与中心数据的欧式距离的平方和;

计算每个分类结果中所有误差之和以作为每个分类结果的评估值;

依据每个分类结果中词汇分类组的数量由小至大排列所述评估值,并计算相邻两个评估值的差值后,依据评估值的次序组合所述差值以构建评估结果哈希表。

该可选的实施例中,可分别计算每个分类结果中每个词汇分类组的误差,所述误差为每个词汇分类组中所有编码数据与中心数据的欧式距离的平方和,所述欧式距离的计算方式为:

其中,A代表所述中心数据,B代表所述编码数据,i代表所述中心数据与编码数据的维度的索引,因此A

示例性的,若某一个词汇分类组的中心数据为[0,0.23,0,0]且其中一个编码数据为[0.45,0,0,0],则所述中心数据与所述编码数据的欧式距离的计算方法为:

则所述中心数据与所述编码数据之间的欧式距离为0.5。

示例性的,若某一个词汇分类组包含四个编码数据与一个中心数据,且四个编码数据与中心数据的欧式距离分别为0.5、1、1.5和2,则该词汇分类组对应的误差的计算方式为:

0.5

则该词汇分类组对应的误差为7.5,所述误差越小则表明该词汇分类组中所有编码数据的聚合程度越高,则该词汇分类组中所有编码数据对应的词汇越相似。

该可选的实施例中,可计算每个分类结果中所有误差之和以作为每个分类结果的评估值,所述评估值越小则表明对应的分类结果的效果越优异。示例性的,若某个分类结果包含四个词汇分类组,且所述四个词汇分类组的误差分别是7.5、9.5、10.5和11.5,则所述该分类结果对应的评估值为39。

该可选的实施例中,可将每个分类结果中词汇分类组的数量作为键并将每个分类结果对应的评估值作为值以构建键值对,并依据所述键的值由小至大排列所述键值对。

示例性的,若词汇分类组的数量为2时对应的评估值为100、词汇分类组的数量为3时对应的评估值为60、词汇分类组的数量为4时对应的评估值为50,则所述键值对的排列顺序为(2,100)、(3,60)、(4,50)。

该可选的实施例中,可计算相邻两个评估值的差值,示例性的,若词汇分类组的数量为2时获得的评估值为100,且词汇分类组数量为3时获得的评估值为60,则所述差值为40。

该可选的实施例中,可依据评估值的次序组合所述差值以构建评估结果哈希表,示例性的,若评估值若差值分别为40和10,则所述评估结果哈希表为[([2,3],40),([3,4],10)]。

该可选的实施例中,可选取所述评估结果哈希表中的最小的值对应的键以作为目标键,示例性的,若所述评估结果哈希表为[([2,3],40),([3,4],10)],则其中最小的值为10且对应的键为[3,4]。

该可选的实施例中,可选取所述目标键中较小值对应的分类结果中的词汇分类组作为语义组。

示例性的,若所述目标键为[3,4],则可选取3对应的分类结果中的三个词汇分类组作为语义组。

在一个可选的实施例中,第一计算单元113将计算待评估词汇对应的编码数据与每个语义组的相似度,并将最大相似度对应的语义组作为目标组。

该可选的实施例中,所述待评估词汇指所述自然语言数据库中需要被关联的词汇,可将所述待评估词汇作为键,并依次遍历所述编码哈希表以查找该键对应的值,以作为目标数据。

示例性的,当所述待评估词汇为“说明”时,可将所述词汇“说明”作为键,并依次遍历所述编码哈希表中的所有键以查询所述词汇“说明”对应的编码数据,并将所述词汇“说明”对应的编码数据作为目标数据,所述目标数据的形式可以是[0,0.23,0,0,0]。

该可选的实施例中,可将所述目标数据与每个语义组的中心数据的相似度作为所述目标数据与该语义组的相似度,并选取其中最小相似度对应的语义组作为目标组。

该可选的实施例中,可计算所述目标数据与每个语义组的中心数据的欧式距离,并将所述欧式距离的倒数作为所述相似度,所述相似度越高,则表明所述目标数据与所述语义组的中心数据越相似,则所述目标数据代表的词汇与所述语义组中的词汇相似程度越高。

该可选的实施例中,若目标数据为A且语义组中心数据为B,则所述相似度的计算方法为:

其中,所述S代表所述目标数据A与所述语义组中心数据B的相似度,所述S的值越高则表明所述目标数据A代表的词汇和所述中心数据B代表的词汇之间的相似程度越高;i代表所述目标数据和所述中心数据的维度索引,n代表所述目标数据和所述中心数据的维度数量,A

示例性的,当所述目标数据为[0,0.23,0,0,0]且所述语义组中心数据为[0,0.45,0,0,0]时,所述相似度的计算方法为:

该可选的实施例中,可将最大的相似度对应的语义组作为目标组,示例性的,若共有4个语义组,且所述目标数据与每个语义组中心数据的相似度分别为1、2、3和4时,则可将相似度4对应的语义组作为目标组。

在一个可选的实施例中,第二分类单元114用于对所述目标组中的编码数据进行分类获得多个候选组,每个候选组包含多个编码数据。

在一个可选的实施例中,所述对所述目标组中的数据进行分类获得多个候选组包括:

a,依据预设的半径阈值和预设的密度阈值对所述目标组中的编码数据进行分类以获取分类结果,所述分类结果包括核心数据与离群数据;该可选的实施例例中,以所述目标组中任意一个编码数据为例,当以该编码数据为中心,并以所述半径阈值为半径的范围内包含的编码数据的数量不小于所述密度阈值,则该编码数据为核心数据,否则该编码数据为离群数据,本方案中所述半径阈值可以是0.1且所述密度阈值可以是4,示例性的,若以编码数据T为中心并以所述半径阈值0.1为半径的范围内编码数据的数量不小于4,则所述编码数据T为核心数据;

b,依据所述半径阈值设置判别条件,所述判别条件指两个编码数据之间的关系满足预设关系中的任意一种,所述预设关系包括:密度直达、密度可达、密度相连。所述密度直达指两个编码数据之间的欧式距离不小于所述半径阈值;所述密度可达指两个编码数据之间的关系不为密度直达且所述两个编码数据具备共同的密度直达的编码数据;所述密度相连指两个编码数据之间的关系不为密度可达且具备共同的密度可达的编码数据。当所述预设的半径阈值为0.5时,编码数据E与编码数据F之间的欧式距离为0.4,则所述编码数据E与编码数据F之间的关系为密度直达;若编码数据G与所述编码数据F之间的欧式距离为0.4,则所述编码数据G与所述编码数据F之间的关系为密度直达,当所述编码数据G与所述编码数据E之间的欧式距离大于0.5,则所述编码数据G与所述编码数据E之间的关系为密度可达;当编码数据H与编码数据E之间的关系不为密度可达,但编码数据H与编码数据G之间的关系为密度可达时,则编码数据H与编码数据E之间的关系为密度相连。

c,将所有核心数据标记为“未访问”;该可选的实施例中,可将所述编码数据E、编码数据F、编码数据G、编码数据H都设为核心数据,则可将所述编码数据E、编码数据F、编码数据G、编码数据H都标记为“未访问”;

d,任选一个标记为“未访问”的核心数据作为目标数据;

e,依次遍历所有标签为“未访问”的核心数据,若遍历到的核心数据满足所述判别条件,即满足所述预设关系中的任意一种,则将该核心数据与目标数据归为同一个候选组,并将该候选组中的所有核心数据标记为“已访问”;该可选的实施例中,以所述编码数据E为目标数据,以遍历到的编码数据H为例,由于所述编码数据H与所述目标数据E之间的关系为密度相连,因此所述编码数据H满足所述判别条件,此所述编码数据H与所述目标数据E被归类为同一个候选组,并将该候选组中的所有编码数据都标记为“已访问”;

f,重复步骤d和e以获得多个候选组,直到所述目标组中所有的编码数据都被标记为“已访问”,则分类结束并获得多个候选组,并将所有离群数据作为一个候选组。

在一个可选的实施例中,第二计算单元115用于计算每个候选组的关联指标,所述关联指标用以表征每个候选组中编码数据应被推荐的程度。

在一个可选的实施例中,所述计算每个候选组的关联指标包括:

计算每个候选组的均值,并将每个候选组中与所述均值欧式距离最小的编码数据作为每个候选组的质心;

计算每个候选组中编码数据的方差以作为聚合度,所述聚合度用以表征候选组中编码数据对应的词汇的相似程度;

计算所述目标数据与所述质心数据的相似度,所述相似度越高则表明所述目标数据与所述质心数据越相似;

将所述聚合度与所述相似度输入自定义的归一化模型以获得归一化结果,并将所述归一化结果作为每个候选组的关联指标,所述关联指标用以表征所述候选组中编码数据与所述目标数据的相关程度。

该可选的实施例中,可计算每个候选组的均值,并将每个候选组中与所述均值欧式距离最小的编码数据作为每个候选组的质心,示例性的,当某个候选组中包括4个编码数据且分别为[0,0.23,0,0]、[0.45,0,0,0]、[0,0,0.65,0]和[0,0,0,0.55]时,所述候选组的均值的计算方式为:

则所述均值为[0.11,0.06,0.16,0.13],记所述4个编码数据与所述均值的欧式距离分别为Dis1、Dis2、Dis3和Dis4,则所述4个编码数据与所述均值的欧式距离分别为:

则可选择编码向量[0,0.23,0,0]为该候选组的质心。

该可选的实施例中,可计算每个候选组中编码数据的方差以作为每个候选组的聚合度,所述聚合度越高则表明该候选组中的编码数据对应的词汇对所述目标组中词汇的语义的影响越大,则该候选组中的词汇越重要且越应该被推荐。所述方差的计算方式为:

其中,A代表候选组中某一个编码数据;B代表该候选组的均值;j代表候选组中编码数据的索引;A

示例性的,若某个候选组中包含4个编码数据[0,0.23,0,0]、[0.45,0,0,0]、[0,0,0.65,0]和[0,0,0,0.55],且该候选组中编码数据的均值为[0.11,0.06,0.16,0.13],则该候选组中编码数据的方差的计算方式为:

则所述方差代表的聚合度为0.9534。

该可选的实施例中,可计算所述目标数据与所述质心数据的相似度,所述相似度可以是欧式距离的倒数,所述相似度可被记为y,其计算方法为:

其中,所述y代表所述目标数据C与所述质心数据D的相似度,所述y的值越高则表明所述目标数据C代表的词汇和所述质心数据D代表的词汇之间的相似程度越高;i代表所述目标数据和所述质心数据的维度索引,n代表所述目标数据和所述中心数据的维度数量,C

示例性的,当所述目标数据为[0,0.23,0,0,0]且所述质心数据为[0,0.45,0,0,0]时,所述相似度的计算方法为:

则所述目标数据与所述质心数据的相似度为4.54。

该可选的实施例中,所述自定义的归一化模型满足以下关系式:

其中,T代表所述关联指标,所述关联指标的值越高则表明对应的候选组中编码数据对应的词汇越应该被推荐;x代表所述候选组的聚合度,所述聚合度越高则表明该候选组中编码数据对应的词汇的重要性越高;y代表所述目标数据与所述候选组的相似度,所述相似度越高则所述候选组中的编码数据对应的词汇越应该被推荐;α代表预设的调和常数,根据多次测试经验,α可以取5;e代表自然常数。

示例性的,当所述调和常数取值为5,某个候选组的聚合度为0.9534,且所述目标数据与该候选组质心数据的相似度为4.54,则该候选组的关联指标的计算方法为:

则所述候选组中所有编码数据对应的关联指标为0.408。

在一个可选的实施例中,推荐单元116用于按照所述关联指标由高到低的顺序依次推荐所述候选组中编码数据对应的词汇。

该可选的实施例中,可分别对比每个候选组的关联指标与预设的阈值以获得每个候选组的对比结果,所述对比结果包括大于和不大于。若所述关联指标大于预设的阈值,则保留该候选组中的编码数据,若所述关联指标不大于预设的阈值,则删除该候选组中的编码数据,由于所述归一化模型的输出结果为0至1之间的实数,即所述关联指标的取值为0至1之间的实数,因此所述预设的阈值可以是0.5。

该可选的实施例中,可依据所述关联指标对被保留的候选组进行排序,若所述候选组的关联指标值越高,则该候选组的次序越靠前,进一步可依据候选组的次序推荐所述候选组中编码数据对应的词汇,所述候选组的次序越靠前,则该候选组中编码数据对应的词汇越先被推荐给用户。

上述基于人工智能的文本推荐方法通过对词汇进行编码获得了文本的量化表达,能够提升文本推荐的准确度,并对编码数据进行多次分类获得了优化的分类结果,进一步依据待评估的词汇从优化的分类结果中筛选出了目标组数据,进而通过对目标组数据进行二次分类获得了多个候选组数据,并评估每个候选组的关联指标,并依据关联指标向用户推荐词汇,从而能够提升文本推荐的准确度。

如图3所示,是本申请实施例提供的一种电子设备的结构示意图。电子设备1包括存储器12和处理器13。存储器12用于存储计算机可读指令,处理器13用执行储器中存储的计算机可读指令以实现上述任一实施例的基于人工智能的文本推荐方法。

在一个可选的实施例中,电子设备1还包括总线、存储在存储器12中并可在处理器13上运行的计算机程序,例如基于人工智能的文本推荐程序。

图3仅示出了具有组件12-13的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

结合图1,电子设备1中的存储器12存储多个计算机可读指令以实现一种基于人工智能的文本推荐方法,处理器13可执行多个指令从而实现:

利用预设的分词工具对自然语言数据库中的文本进行分词获取多个词汇;

对自然语言数据库中的词汇进行编码以获取每个词汇对应的编码数据;

对所述编码数据进行分类以获得多个语义组,每个语义组包含多个编码数据;

计算待评估词汇对应的编码数据与每个语义组的相似度,并将最大相似度对应的语义组作为目标组;

对所述目标组中的编码数据进行分类获得多个候选组,每个候选组包含多个编码数据;

计算每个候选组的关联指标,所述关联指标用以表征每个候选组中编码数据应被推荐的程度;

按照所述关联指标由高到低的顺序依次推荐所述候选组中编码数据对应的词汇。

具体地,处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。

本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,电子设备1既可以是总线型结构,也可以是星形结构,电子设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如电子设备1还可以包括输入输出设备、网络接入设备等。

需要说明的是,电子设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本申请,也应包含在本申请的保护范围以内,并以引用方式包含于此。

其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质可以是非易失性的,也可以是易失性的。所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(SmartMediaCard,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(FlashCard)等。进一步地,存储器12还可以既包括电子设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于人工智能的文本推荐程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(CentralProcessingunit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是电子设备1的控制核心(ControlUnit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在存储器12内的程序或者模块(例如执行基于人工智能的文本推荐程序等),以及调用存储在存储器12内的数据,以执行电子设备1的各种功能和处理数据。

处理器13执行电子设备1的操作系统以及安装的各类应用程序。处理器13执行所述应用程序以实现上述各个基于人工智能的文本推荐方法实施例中的步骤,例如图1所示的步骤。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在存储器12中,并由处理器13执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在电子设备1中的执行过程。例如,所述计算机程序可以被分割成分词单元110、编码单元111、第一分类单元112、第一计算单元113、第二分类单元114、第二计算单元115、推荐单元116。

上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本申请各个实施例所述基于人工智能的文本推荐方法的部分。

电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。

其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存储器及其他存储器等。

本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

总线可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图3中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现存储器12以及至少一个处理器13等之间的连接通信。

本申请实施例还提供一种计算机可读存储介质(图未示),计算机可读存储介质中存储有计算机可读指令,计算机可读指令被电子设备中的处理器执行以实现上述任一实施例所述的基于人工智能的文本推荐方法。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。说明书陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。

相关技术
  • 基于人工智能的文本推荐方法及相关设备
  • 基于人工智能的文本推荐方法、装置及电子设备
技术分类

06120114723305