用于自动生成知识驱动的内容规划的系统和方法
文献发布时间:2023-06-19 13:46:35
交叉引用
在本公开的描述中引用和讨论了一些参考文献,其可能包括专利、专利申请和各种出版物。提供此类参考文献的引用和/或讨论仅用于阐明本公开的描述,并不承认任何此类参考是本文所述公开的“现有技术”。在本说明书中引用和讨论的所有参考文献均通过引用整体并入本文,其程度与每个参考文献均单独通过引用并入相同。
技术领域
本公开一般涉及内容规划领域,更具体地涉及用于自动生成电子商务中的连贯产品描述的知识驱动的内容规划的系统和方法。
背景技术
在此提供的背景描述是为了概括地呈现本公开的上下文。在本背景部分描述的范围内,本发明人的工作,以及在申请时可能不符合现有技术的描述方面,既不明确也不隐含地承认为针对本公开的现有技术。
主要电子商务网站运营着多个产品渠道,例如推荐文本。然而,这些基于内容的渠道的生成需要大量的人工参与。
因此,在本领域中存在解决上述未解决的缺陷和不足的需求。
发明内容
在某些方面,本公开涉及一种用于评估产品的文本内容的系统。在某些实施例中,系统包括计算设备。所述计算设备包括处理器和用于存储计算机可执行代码的存储设备,所述计算机可执行代码在所述处理器处执行时被配置为:
为每个产品类别的每个产品描述的每个句子的每个子句提供标签,其中,所述标签包括多个介绍性标签和多个描述性标签,所述多个介绍性标签对应于所述产品类别的行业属性,所述多个描述性标签对应于所述产品类别的多个描述;
确定所述标签中任意两个标签之间的标签排他性,其中,当所述两个标签均为所述介绍性标签时,将所述两个标签定义为具有所述标签排他性;
基于所述产品描述中的任意两个标签的共同出现率,确定所述两个标签之间的标签相似度;
基于所述产品描述中的任意两个标签之间的所述子句的数量,确定所述两个标签之间的标签距离,其中所述两个标签共同出现;
基于所述产品描述中的任意两个标签之间的因果关系,确定所述两个标签之间的标签因果性,其中所述两个标签共同出现;
使用所述每个产品描述中的所述标签从所述每个产品描述中生成候选标签序列;以及
使用所述标签排他性、所述标签相似度、所述标签距离和所述标签因果性来过滤所述候选标签序列,以获取所述内容规划。
在某些实施例中,产品类别是大的产品类别,例如服装、消费性电子产品、家用电器、计算机和办公室、运动和户外、健康和美丽、玩具以及鞋。在某些实施例中,产品类别是小的产品类别,例如冰箱、空调、电视以及洗衣机。
在某些实施例中,所述产品类别是服装,所述行业属性包括尺寸、颜色和材料。在某些实施例中,所述产品类别是服装,所述描述包括功能、风格、感觉、潜在受众和场景。
在某些实施例中,所述计算机可执行代码被配置为使用费雪精确检验确定所述标签相似度。在某些实施例中,所述计算机可执行代码被配置为通过平均所述产品描述中的所述两个标签之间的标签距离,确定所述两个标签之间的标签距离,其中所述两个标签共同出现。在某些实施例中,所述计算机可执行代码被配置为当任何所述产品描述中的所述两个标签之间存在“导致”、“源于”、“因为”和“由于”中的至少一个术语时,确定所述标签因果性存在于所述两个标签之间,其中所述两个标签共同出现。
在某些实施例中,所述计算机可执行代码被配置为使用N-gram生成所述候选标签序列。在某些实施例中,N是3~10范围内的正整数。在某些实施例中,N是5。
在某些实施例中,所述计算机可执行代码被配置为通过以下方式过滤所述候选标签序列:
去除包含两个所述介绍性标签的候选标签序列;以及
保留至少所述标签距离小于预定义的标签距离阈值的标签序列、所述标签相似度大于预定义的标签相似度阈值的标签序列或具有所述标签因果性的标签序列。
在某些实施例中,所述计算机可执行代码还被配置为基于所述内容规划生成新的产品描述。
在某些方面,本公开涉及一种用于生成内容规划的方法。在某些实施例中,所述方法包括:
由计算设备为每个产品类别的每个产品描述的每个句子的每个子句提供标签,其中,所述标签包括多个介绍性标签和多个描述性标签,所述多个介绍性标签对应于所述产品类别的行业属性,所述多个描述性标签对应于所述产品类别的多个描述;
由所述计算殴备确定所述标签中任意两个标签之间的标签排他性,其中,当所述两个标签均为所述介绍性标签时,将所述两个标签定义为具有所述标签排他性;
由所述计算设备基于所述产品描述中的任意两个标签的共同出现率,确定所述两个标签之间的标签相似度;
由所述计算设备基于所述产品描述中的任意两个标签之间的所述子句的数量,确定所述两个标签之间的标签距离,其中所述两个标签共同出现;
由所述计算设备基于所述产品描述中的任意两个标签之间的因果关系,确定所述两个标签之间的标签因果性,其中所述两个标签共同出现;
由所述计算设备使用所述每个产品描述中的所述标签从所述每个产品描述中生成候选标签序列;以及
由所述计算设备使用所述标签排他性、所述标签相似度、所述标签距离和所述标签因果性来过滤所述候选标签序列,以获取所述内容规划。
在某些实施例中,所述产品类别包括服装(或服饰)、冰箱、空调、电视以及洗衣机。在某些实施例中,当产品类别为服装时,所述行业属性包括尺寸、颜色和材料,所述描述包括功能、风格、感觉、潜在受众以及场景。
在某些实施例中,使用费雪精确检验确定所述标签相似度;通过平均所述产品描述中的所述两个标签之间的标签距离确定所述两个标签之间的标签距离,其中所述两个标签共同出现;以及当任何所述产品描述中的所述两个标签之间存在“导致”、“源于”、“因为”和“由于”中的至少一个术语时,确定所述标签因果性存在于所述两个标签之间,其中所述两个标签共同出现。
在某些实施例中,使用N-gram生成所述候选标签序列。在某些实施例中,N是3~10范围内的正整数。在某些实施例中,N是5。
在某些实施例中,过滤所述候选标签序列包括去除包含两个所述介绍性标签的候选标签序列;以及保留至少所述标签距离小于预定义的标签距离阈值的标签序列、所述标签相似度大于预定义的标签相似度阈值的标签序列或具有所述标签因果性的标签序列。
在某些实施例中,所述方法还包括基于所述内容规划生成新的产品描述。
在某些方面,本公开涉及一种用于存储计算机可执行代码的非暂时性计算机可读介质。在某些实施例中,当在计算设备的处理器处执行时,计算机可执行代码被配置为执行上述方法。
本公开的这些方面和其他方面将通过结合以下附图及其标题对优选实施例的以下描述变得显而易见,尽管在不脱离本公开的新颖概念的精神和范围的情况下可以在其中进行变化和修改。
附图说明
通过详细描述和附图可以更充分地理解本公开的内容。这些附图说明了本公开的一个或多个实施例,并且与书面描述一起用于解释本公开的原理。在可能的情况下,贯穿附图使用相同的附图标记来指示一个实施例中相同或相似的元素,其中:
图1示意性地描绘了根据本公开的某些实施例的用于获取针对产品类别的内容规划的系统。
图2示意性地描绘了根据本公开的某些实施例的知识学习模块。
图3示意性地描绘了根据本公开的某些实施例的标记的产品描述。
图4示意性地描绘了根据本公开的某些实施例的标记的产品描述中的标签之间的学习关系。
图5示意性地描绘了根据本公开的某些实施例使用具有五个连续标签的标签序列生成2-gram到5-gram的标签序列。
图6示意性地描绘了根据本公开的某些实施例的产品类别的候选标签序列的生成。
图7A示意性地描绘了根据本公开的某些实施例使用学习到的知识过滤候选标签序列。
图7B示意性地描绘了根据本公开的某些实施例使用学习到的知识过滤候选标签序列。
图7C示意性地描绘了根据本公开的某些实施例使用学习到的知识过滤候选标签序列。
图8示意性地描绘了根据本公开的某些实施例使用学习到的知识过滤候选标签序列。
图9示意性地描绘了根据本公开的某些实施例的知识驱动的内容规划系统的架构。
图10示意性地描绘了根据本公开的某些实施例的用于生成内容规划的方法。
图11示意性地描绘了通过根据本公开的基于知识的方法和基于RNN的方法生成的内容规划之间的比较。
具体实施方式
在以下示例中更具体地描述本公开,这些示例仅旨在作为说明,因为其中的许多修改和变化对于本领域技术人员来说将是显而易见的。现在详细描述本公开的各种实施例。参考附图,贯穿视图,相同的数字(如果存在)指示相同的组件。除非上下文另有明确规定,否则本文的描述中和整个随后的权利要求中使用的“一个”、“一”和“所述”的含义包括复数。此外,如在本文的描述和权利要求书中所使用的,除非上下文另有明确规定,“在”的含义包括“在......中”和“在......上”。并且,说明书中为了方便读者可以使用标题或副标题,这不影响本公开的范围。此外,本说明书中使用的一些术语在下文有更具体的定义。
本说明书中使用的术语在本领域中、在本公开的上下文中以及在使用每个术语的特定上下文中通常具有它们的普通含义。用于描述本公开的某些术语在下文或说明书中的其他地方讨论,以向从业者提供关于本公开的描述的额外指导。为方便起见,某些术语可能会被突出显示,例如使用斜体和/或引号。突出显示的使用对术语的范围和含义没有影响;在相同的上下文中,无论是否突出显示,一个术语的范围和含义是相同的。可以理解,同样的事情可以用不止一种方式表达出来。因此,替代语言和同义词可用于此处讨论的任何一个或多个术语,并且对于此处是否详细阐述或讨论术语没有任何特殊意义。本公开提供了某些术语的同义词。一个或多个同义词的使用不排除使用其他同义词。本说明书中任何地方的示例的使用,包括本文讨论的任何术语的示例,仅是说明性的,绝不限制本公开内容或任何示例性术语的范围和含义。同样,本公开不限于本说明书中给出的各种实施例。
除非另有定义,本公开使用的所有技术和科学术语具有与本公开内容所属领域的普通技术人员通常理解的相同的含义。在发生冲突的情况下,以本文件(包括定义)为准。
如本文所述,术语“包括”、“包含”、“携带”、“具有”、“含有”、“涉及”等应理解为开放式的,即意味着包括但不限于。
如本文所述,短语A、B和C中的至少一个应解释为表示逻辑(A或B或C),使用非排他性逻辑或(OR)。应当理解,在不改变本公开的原理的情况下,方法内的一个或多个步骤可以以不同的顺序(或同时)执行。
如本文所述,术语“模块”或“单元”可指示属于或包括专用集成电路(ASIC)、电子线路、组合逻辑电路、现场可编程门阵列(FPGA)、执行代码的处理器(共享、专用或组)、提供所描述功能的其他合适的硬件组件,或以上部分或全部的组合,例如在片上系统中。术语模块或单元可以包括存储由处理器执行的代码的存储器(共享、专用或组)。
本文使用的术语“代码”可以包括软件、固件和/或微代码,并且可以指程序、例程、函数、类和/或对象。上面使用的术语共享意味着可以使用单个(共享)处理器执行来自多个模块的部分或全部代码。此外,来自多个模块的部分或全部代码可以存储在单个(共享)存储器中。上面使用的术语组意味着可以使用一组处理器执行来自单个模块的部分或全部代码。此外,可以使用一组存储器来存储来自单个模块的一些或全部代码。
如本文所述,术语“接口”通常是指在组件之间的交互点处用于执行组件之间的数据通信的通信工具或装置。一般而言,接口可以在硬件和软件层面都适用,可以是单向或双向接口。物理硬件接口的示例可以包括电连接器、总线、端口、电缆、端子和其他输入/输出(I/O)设备或组件。与接口通信的组件可以是例如计算机系统的多个组件或外围设备。
本公开涉及计算机系统。如附图所示,计算机组件可以包括物理硬件组件,其显示为实线块,以及虚拟软件组件,其显示为虚线块。本领域普通技术人员将理解,除非另有说明,否则这些计算机组件可以以但不限于软件、固件或硬件组件或其组合的形式来实现。
本文描述的装置、系统和方法可以通过由一个或多个处理器执行的一个或多个计算机程序来实现。计算机程序包括存储在非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可包括存储的数据。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器、磁存储和光存储。
现在将在下文中参考附图更全面地描述本公开,其中示出了本公开的实施例。然而,本公开可以以许多不同的形式体现并且不应被解释为限于这里阐述的实施例;相反,提供这些实施例是为了使本公开彻底和完整,并将本公开的范围充分传达给本领域技术人员。
如上所述,产品描述的生成对于客户购物体验很重要,但人工生成大量产品描述具有挑战性。为解决该问题,在某些实施例中,本公开提供了一种自动生成产品描述的方法。产品描述通常是一个简单的段落,描述产品的外观、功能、潜在受众、场景等,该段落可能基于产品的行业属性,如冰箱的容量(118L)、门设计(上下不对称)、颜色(黑色或白色)、压缩机(变频)。在某些实施例中,产品描述的自动生成包括两个阶段,内容规划和句子规划。内容规划是从产品属性设计主题扩展。例如,“黑色”或“白色”可以扩展到“漂亮”,“上下不对称”可以扩展到“时尚”,“变频”可以扩展到“节约能量”,“118L”可以扩展到“适合小家庭”。句子规划就是为每个主题造句。产品描述的生成需要考虑内容规划和句子规划,内容规划决定了每个句子的主题关系,保证了整个段落的连贯性,而句子规划决定了每个句子的结构和词汇内容。
在某些方面,本公开提供了一种系统和方法,用于在给定产品属性和由作者人为编写的产品描述的数据集的情况下为产品描述自动生成连贯内容规划。图1示意性地描绘了根据本公开的某些实施例的用于生成产品描述的内容规划的系统。如图1所示,系统100包括计算设备110。在某些实施例中,计算设备110可以是生成内容规划的服务器计算机、集群、云计算机、通用计算机、无头计算机或专用计算机。计算设备110可以包括但不限于处理器112、存储器114和存储设备116。在某些实施例中,计算设备110可以包括其他硬件组件和软件组件(未示出)以执行其相应的任务。这些硬件和软件组件的示例可以包括但不限于其他所需的存储器、接口、总线、输入/输出(I/O)模块或设备、网络接口和外围设备。
处理器112可以是中央处理单元(CPU),其被配置为控制计算设备110的操作。在某些实施例中,处理器112可以执行计算设备110的操作系统(OS)或其他应用程序。在某些实施例中,计算设备110可以具有一个以上的CPU作为处理器,例如两个CPU、四个CPU、八个CPU或任何合适数量的CPU。存储器114可以是易失性存储器,例如随机存取存储器(RAM),用于在计算设备110的操作期间存储数据和信息。在某些实施例中,存储器114可以是易失性存储器阵列。在某些实施例中,计算设备110可以在一个以上的处理器112和/或一个以上的存储器114上运行。存储设备116是非易失性数据存储介质或设备。存储设备116的示例可以包括闪存、存储卡、USB驱动器、固态驱动器或其他类型的非易失性存储设备,例如硬盘驱动器、软盘、光驱或任何其他类型的数据存储设备。在某些实施例中,计算设备110可以具有一个以上的存储设备116。在某些实施例中,计算设备110还可以包括远程存储设备116。
存储设备116存储了计算机可执行代码。计算机可执行代码包括内容规划应用118、标签列表数据库180,以及可选的产品属性数据库182和产品描述数据库184。内容规划应用118包括在处理器112处执行时生成内容规划的代码或指令。在某些实施例中,内容规划应用118可以不是可执行代码,而是与可执行代码的功能相对应的电路形式。通过提供电路而不是可执行代码,极大地提高了内容规划应用118的操作速度。在某些实施例中,如图1所示,内容规划应用118包括数据准备模块120、知识学习模块130、候选标签序列生成模块140、知识过滤器150、功能模块160和用户界面170等。
数据准备模块120被配置为使用标签列表数据库180、产品数据库182和产品描述数据库184来准备产品样本,并将产品样本发送给知识准备模块120和候选标签序列生成模块140。在某些实施例中,在基于产品数据库182和产品描述数据库184定义标签列表180,并且使用标签列表数据库180中的标签列表对产品描述数据库184中的产品描述进行标记之后,数据准备模块120可以只需要来自产品描述数据库184的标记的描述来进行数据准备。
在某些实施例中,标签列表数据库180包括对应于不同产品类别的多个标签列表。产品的不同类别包括空调、电视、洗衣机、冰箱等小产品类别,或服装、家用电器、手机及配件、消费性电子产品、电脑和办公室等大产品类别。每个类别都有对应的标签列表。在某些实施例中,标签列表中的标签是预先定义的,并且基于产品类别,每个标签列表中的标签的数量可以是大约数百到数千。标签包括介绍性标签和描述性标签。介绍性标签对应于产品类别的行业属性。对于服饰或服装的类别,介绍性标签可以包括不同的颜色,例如黑色、白色、红色、黄色、绿色、银色、混合色,不同的领口和领圈,例如高领、船领、企领、V领,以及不同的面料,如棉、丝绸、皮革。描述性标签对应于仅在产品描述中描述的特性,而不是产品的行业属性。例如,标签“休闲”或“棉”可能共同出现在产品数据库和产品描述中,但它们被定义为介绍性标签,因为它们是出现在产品数据库182中的行业属性,并且被视为产品的基本信息或基本属性。对于服饰或服装类别,描述性标签可以包括保暖、亲肤、透气、弹力、耐用、防皱、防水等不同功能,复古、休闲、经典、波西米亚等不同风格,舒适、轻盈、性感、奢华、优雅等不同感觉,女性、男性、中性、情侣等不同受众,商务、运动、办公、通勤、户外、旅行等不同场景。对于冰箱的类别,标签列表可以包括介绍性标签容量、门设计、颜色、压缩机,以及描述性标签简洁、美观、魅力、时尚、清新。
在某些实施例中,产品数据库182包括电子商务服务器提供的产品以及产品的基本信息。请注意,产品数据库182提供了定义介绍性标签的基础,然而,当标签列表数据库180中已经定义了产品类别的标签列表时,就不需要将来自产品数据库182的产品行业属性直接提供给数据准备模块120。
在某些实施例中,产品描述数据库184包括产品数据库182中的每个产品的产品描述。每个产品描述都是一个标记的文本,并且基于来自标签列表数据库180的定义的标签列表来执行产品描述的标记。图3示意性地示出了根据本公开的某些实施例的标记的产品描述。如图3所示,产品描述为一段文本。文本段落包括句子1、句子2、句子3等几个句子。每个句子又分为几个子句。每个子句可以被标记有一个标签,该标签是从对应产品类别的标签列表中选择的一个,其中标签列表定义在标签列表数据库180中。请注意,某些子句,例如子句22和子句33可能没有包含太多产品的实质性信息,或者可能与标签列表中的任何标签都不对应,因此没有标记。为了方便数据处理,子句22和子句33也可以被标记一个伪标签,如标签0。标签1~6中的每一个可以是也存在于产品数据库182中的介绍性标签或仅存在于产品描述中的描述性标签。在某些实施例中,产品数据库182和产品描述数据库184被存储在计算设备110之外的计算设备中,只要它们可由计算设备110访问。
知识学习模块130被配置为,在接收到数据准备模块120准备的产品类别的标记的产品描述后,从标记的产品描述中学习知识。继续参照图2,知识学习模块130包括标签排他性模块132、标签相似度模块134、标签距离模块136和标签因果性模块138。模块132~138被配置为学习产品类别的标签列表中的标签之间的标签排他性、标签相似度、标签距离和标签因果性。
标签排他性模块132被配置为,在接收到针对产品类别的标记的产品描述后,学习该类别的标签列表中的标签之间的标签排他性,并将学习到的标签排他性提供给知识过滤器150。这种知识可以从标记或标签的类型中获取。如上所述,标签分为两种类型:介绍性标签和描述性标签。介绍性标签可以是产品的行业属性,这些介绍性标签应该与产品完全一致。介绍性标签可用于推断另一个标签,但不能被其他标签推断。所有的介绍性标签都是互斥的。描述性标签可以代表产品的感觉、功能和场景。描述性标签可以通过介绍性标签推断出来。描述性标签是包含性的。换句话说,如果两个标签是介绍性标签,则这两个标签具有排他关系;如果两个标签中至少有一个是描述性标签,则这两个标签会具有包含关系。图4示意性地示出了图3的产品描述中的标签之间的学习关系。如图4所示,标签1和标签5都是介绍性标签,因此这两个标签是互相排他的。
标签相似度模块134被配置为,在接收到针对产品类别的标记的产品描述后,学习该类别标签列表中的标签之间的标签相似度,并将学习到的标签相似度提供给知识过滤器150。标签相似度模块134被配置为根据标签在数据集中的共同出现率获取相似度知识。在某些实施例中,因为产品描述需要非常精确的呈现,标签之间的共同出现关联通过费雪精确检验(Fisher′s Exact Test)来测量。例如,“棉”与“亲肤”共同出现,它们被视为相似的标签。这种使用共同出现的相似度测量比使用词嵌入的相似度测量更好,更适合本公开的场景。词嵌入根据上下文测量相似度。但是,具有相似上下文的词可能具有不同的含义。例如,“spring”和“winter”可能有相似的上下文,如果使用词嵌入,则视为彼此相似,但“spring”和“winter”不太可能在产品描述中共同出现,如果以共同出现为标准,则不会视为彼此相似。如图4所示,在某些实施例中,标签2和标签3的相似度为0.4,通过费雪精确检验计算得出,相似度值为费雪精确检验的p值。
标签距离模块136被配置为,在接收到针对产品类别的标记的产品描述后,学习该类别的标签列表中的标签之间的标签距离,并将学习到的标签距离提供给知识过滤器150。距离知识考虑了定向标签序列中的成对标签距离。如图4所示,标签1和标签2之间的距离为1,因为子句11和子句12彼此相邻,标签5和标签6之间的距离为1,因为子句31和子句32彼此相邻,标签3和标签4之间的距离为2,因为子句21和子句23之间有一个子句22。在某些实施例中,本公开被配置为计算产品类别的所有产品描述中的一对标签之间的标签距离的算术平均值。例如,针对产品类别总共100个产品描述,标签1和标签2共同出现在其中的5个产品描述中,距离分别为1、1、3、2、1,那么标签1和标签2之间的距离将是1.6,(1+1+3+2+1)/5=1.6。距离捕捉了两个标签之间的局部语义关系,两个标签之间的距离越小,两个标签的关系就越近。
标签因果性模块138被配置为,在接收到针对产品类别的标记的产品描述后,学习该类别标签列表中的标签之间的标签因果性,并将学习到的标签因果性提供给知识过滤器150。本公开将因果关系视为段落中最合理、最严格的标签顺序。在某些实施例中,因果关系是通过产品描述中的句法和语义分析来挖掘的。在某些实施例中,因果连词和动词用作挖掘因果关系的置信信号,例如,“导致”、“源于”、“因为”、“由于”是因果动词和连词。如图4所示,标签3到标签4之间存在因果关系,其中子句21、22、23中的任何一个都可能存在因果动词和连词。在某些实施例中,当任何其他术语如“由于”、“因此”、“只要”、“凭借”、“因为”、“考虑”、“为了”、“鉴于”等存在于产品描述中的两个标签之间,也可以确定因果关系,其中两个标签共同出现。在某些实施例中,只要两个标签在两个标签共同出现的产品描述中的其中一个产品描述中具有因果关系,则定义两个标签具有因果关系。在某些实施例中,当因果性存在于两个标签共同出现的两个产品描述中时,确定因果关系。
候选标签序列生成模块140被配置为,在接收到标记的产品描述后,从每个产品描述中生成标签序列,将来自不同产品描述的那些标签序列组合以获取候选标签序列,并将候选标签序列提供给知识过滤器150。在某些实施例中,候选标签序列生成模块140被配置为使用N元(N-gram)模型来生成候选标签序列,其中N为标签序列的最大长度。因为产品描述通常有字数限制,例如100词,太长的标签序列可能会产生太长的产品描述,导致违反限制。因此,在某些实施例中,N可以被设置为从3到10的正整数。在某些实施例中,N设为5,候选标签序列生成模块140用于生成N为2至5的标签序列。如图5所示,产品描述依次包含“8kg”、“白色”、“滚轮”、“定频”、“家”5个标签。生成的10个标签序列包括4个2-gram标签序列、3个3-gram标签序列、2个4-gram序列和1个5-gram序列。产品类别中所有产品描述的标签序列是该产品类别(例如冰箱类别或服装类别)的候选标签序列。在某些实施例中,候选标签序列生成模块140还用于从组合的标签序列中去除冗余标签序列以获取候选标签序列。
候选标签序列生成模块140可以被配置为以不同方式实现候选标签序列的生成。图6示意性地示出了根据本公开某些实施例的生成产品类别的候选标签序列的方式。如图6所示,产品类别的多个产品描述被命名为数据集。每个产品描述分为子句,子句用主题或标签进行标记。来自标签列表数据库180的产品类别的标签列表根据产品类别可以包括几百到几千个标签。对于标签列表中的每个特定标签,生成相应的2-gram标签序列、3-gram标签序列、4-gram标签序列和5-gram标签序列。例如,对于特定标签或主题的2-gram标签序列,候选标签序列生成模块140被配置为扫描具有特定主题的产品描述。如果特定主题不是产品描述中的最后一个,则产品描述中将有一个2-gram标签序列,包含特定主题及其旁边的主题。如果2-gram标签序列不在候选标签序列中,则候选标签序列生成模块140会将2-gram标签序列添加到候选标签序列中。之后,也可以针对特定主题以类似的方式确定3-gram、4-gram和5-gram标签序列。候选标签序列生成模块140被配置为对标签列表中的每个主题进行同样的2-gram至5-gram扫描,最终得到最终的候选标签序列。在生成候选标签序列的不同方式中,候选标签序列生成模块140还可以被配置为直接使用从标签列表数据库180中提取的产品类别的标签列表来生成N-gram。
知识过滤器150被配置为,在接收到来自知识学习模块130的学习知识和来自候选标签序列生成模块140的候选标签序列后,利用学习到的知识对候选标签序列进行过滤以获得过滤后的标签序列,以及将过滤后的标签序列提供给功能模块160。在某些实施例中,知识过滤器150被配置为使用标签排他性来过滤候选标签序列,然后使用标签相似度、标签距离和标签因果性进一步过滤候选标签序列。过滤后的标签序列本质上是连贯的。在某些实施例中,算法首先使用排他性知识进行过滤,然后分别使用其他三种类型的知识。最后,得到最小的交集作为最终结果。图7A~图7C示意性地示出了根据本公开某些实施例的对候选标签序列进行过滤的实现,其中笑脸部分对应于过滤后的标签序列。如图7A所示,对于使用N-gram生成的全部候选标签序列700,去除具有两个排他性标签的候选序列,以获得包含性标签序列702,其中每个包含性标签序列至多具有一个介绍性标签。
相似度标签序列(圆圈)704包括包含性标签序列702中相似度值大于相似度阈值的候选标签序列。在某些实施例中,对于具有两个标签的标签序列,相似度值是标签相似度模块134针对这两个标签学习的相似度,例如通过费雪精确检验。对于具有两个以上标签的标签序列,每相邻两个标签的相似度值应大于相似度阈值。例如,如果一个候选标签序列有五个连续的标签ABCDE,那么AB、BC、CD、DE每一个的相似度值都应该大于相似度阈值。在某些实施例中,相似度阈值被设置为大约0.2~0.8。在某些实施例中,相似度阈值被设置为大约0.5。距离标签序列(圆圈)706包括包含性标签序列702中距离值等于或小于距离阈值的候选序列。在某些实施例中,对于具有两个标签的标签序列,距离值是标签距离模块136针对两个标签学习的距离。如果一个标签序列有两个以上的标签,则每相邻两个标签的距离值应等于或小于距离阈值。例如,如果一个候选标签序列有五个连续的标签ABCDE,那么AB、BC、CD和DE中每一个的距离值都应该等于或小于距离阈值。在某些实施例中,距离阈值被设置为大约1~8。在某些实施例中,阈值设置为4。因果性标签序列(圆圈)708包括具有因果关系的包含性标签序列702中的候选序列。在某些实施例中,如果标签序列中的两个连续标签中的任何一个具有因果关系,则确定标签序列具有因果关系。相似度阈值和距离阈值可以在很大程度上取决于产品的类别、N-gram的N值、类别中的数据集数量以及候选标签序列的数量。
如图7A所示,选择在相似度标签序列704、距离标签序列706和因果性标签序列708中都存在的标签序列作为过滤后的标签序列。如果以这种方式获取足够数量的过滤后的标签序列,则得到的过滤后的标签序列就是最终的内容规划。足够的数量可以是例如大于50至100。如果获得的过滤后的标签序列数量不足或者根本没有获得过滤后的标签序列,本公开还可以进一步采用图7B所示的标准。
如图7B所示,当相似度标签序列704、距离标签序列706和因果性标签序列708之间不存在重叠(或三个圆圈704、706和708重叠的标签序列的数量不足)时,将选择三个圆圈704、706、708中的任意两个圆圈中出现的标签序列。此外,如果圆圈704、706和708没有重叠,如图7C所示,知识过滤器150可以被配置为选择最小的圆圈,例如因果性标签序列708,其具有比相似度标签序列704和距离标签序列706的候选标签序列的数量更少的候选标签序列。
图8示意性地示出了根据本公开的某些实施例的过滤算法。如图8所示,在生成候选标签序列时,首先对候选标签序列进行排他性过滤,去除具有两个排他性标签的标签序列。然后确定重叠的标签序列集合,其中SDC集合包括在相似度标签序列706、距离标签序列708和因果性标签序列710中都出现的候选标签序列,SD集合包括相似度标签706和距离标签序列708之间的交集,SC集合包括相似度标签序列706和因果性标签序列710之间的交集,而DC集合包括距离标签序列708和因果性标签序列710之间的交集。在某些实施例中,当SDC集合不为空时,最终的标签序列为SDC;如果SD、SC和DC都为空,则最终的标签序列是S、D和C中标签序列数最少的那个;当SD、SC、DC中至少有一个不为空时,最终的标签序列是S、D、C、SD、SC、DC中标签序列数最少的那个。在某些实施例中,知识过滤器150还可以使用图8所示方法的其他变体来获得最终标签序列或即过滤后的标签序列。在某些实施例中,知识过滤揩150还可以基于它们的相似度、距离和因果关系对过滤后的标签序列进行排序。过滤后的标签序列也被称为连贯的标签序列,因为每一个过滤后的标签序列中的标签彼此是连贯的。过滤后的标签序列可以包括例如(“足够的电影源”、“教学内容”)、(“家庭影院”、“享受”)、(“出色的音质”、“享受”)、(“简单”、“时尚靓丽”)、(“色彩鲜艳”、“画面自然”)、(“易控制”、“老少皆宜”)、(“画面自然”、“护眼/抗疲劳”)、(“家庭影院”、“家”)等。在获得过滤后的候选标签序列后,知识过滤器150还被配置为将过滤后的候选标签序列提供给功能模块160。
功能模块160可以存储在计算设备110或与计算设备110通信的任何其他计算设备中。功能模块160被配置为使用过滤后的候选标签序列来执行某些功能。在某些实施例中,其功能是生成新的文本描述,将过滤后的候选标签序列作为内容规划,使得功能模块160可以使用内容规划生成句子,句子构成了产品的文字描述。在某些实施例中,为了生成新的产品描述文本,功能模块160被配置为选择产品的多个行业属性,利用行业属性获取介绍性标签或推断性标签,利用产品类别对应的连贯标签序列中的介绍性标签或推断性标签选择一个或几个标签序列,从每个选择的连贯标签序列中生成句子,并将句子排列起来以形成对产品的新描述。在某些实施例中,连贯标签序列的选择可以使用不同于介绍性标签的标准或除介绍性标签之外还使用的标准,例如要生成的文本的规划样式。
用户界面170被配置为在计算设备110中提供用户界面或图形用户界面。在某些实施例中,系统的用户或管理员能够使用用户界面170配置计算设备110的参数,尤其是在内容规划应用118中使用的参数。
图9示意性地描绘了根据本公开的某些实施例的内容规划系统的架构。如图9所示,产品属性数据库或产品数据库包括产品行业属性,产品描述数据库包括标记的产品描述。标记的产品描述可用于使用N-gram生成候选标签序列。此外,从产品的行业属性和产品描述中可以学习到四类知识。学习到的知识可以用来过滤候选标签序列,从而获得连贯标签序列。产品类别的连贯标签序列是很好的内容规划,可用于为类别中的任何产品生成产品描述。
图10示意性地描绘了根据本公开的某些实施例的用于内容规划的方法。在某些实施例中,图10所示的方法1000可以在如图1所示的计算设备110上实现。需要特别注意的是,除非本公开另有说明,上述方法的步骤可以按照不同的顺序排列,因此不限于图10所示的顺序。
在步骤1002中,数据准备模块120向知识学习模块130和候选标签序列生成模块140提供产品类别的标记的产品描述。每个产品描述包含多个句子,每个句子分为一个或几个子句,每个子句被标记上标签(一些子句可能没有标签或有虚拟标签0)。标签可以是代表产品行业属性的介绍性标签和从产品描述中提取的描述性标签而不是介绍性标签。
在步骤1004中,对于每个标记的产品描述,知识学习模块130基于标签的类型确定任意两个标签之间的标签排他性。当两个标签都是介绍性标签时,两个标签是排他性的,否则两个标签是包含性的。在某些实施例中,知识学习模块130还可以根据标签的类型确定标签列表中任意两个标签之间的标签排他性。
在步骤1006中,对于所有标记的产品描述,知识学习模块130基于两个标签是否在任何标记的产品描述中共同出现来确定任意两个标签之间的标签相似度。标记的产品描述中两个标签的共同出现率就是两个标签之间的相似度值。在某些实施例中,任何两个标签之间的相似度值是使用费雪精确检验确定的。
在步骤1008中,对于所有标记的产品描述,知识学习模块130基于这两个标签是否共同出现在任何标记的产品描述中,确定任意两个标签之间的标签距离,并且这两个标签之间的距离为通过两个标签共同出现的标记的产品描述中两个标签之间的子句数量来测量。如果两个标签彼此相邻,则两个标签之间的距离为1,如果两个标签之间有另一个子句,则两个标签之间的距离为2。当两个标签共同出现在多个产品描述中时,将两个标签的距离值取平均值。例如,如果这两个标签共同出现在总共100个产品描述中的20个产品描述中,其中10个产品描述中的距离为1,6个产品描述中的距离为2,4个产品描述中的距离为3,则两个标签之间的距离为(10×1+6×2+4×3)/20=1.7。
在步骤1010中,对于所有标记的产品描述,知识学习模块130基于两个标签是否共同出现在标记的产品描述中,以及两个标签共同出现的标记的产品描述中相邻的两个标签之间是否存在因果性术语,确定任意两个标签之间的标签因果性。如果这两个标签在至少一个产品描述中共同出现,并且在该至少一个产品描述中的两个标签之间具有诸如“导致”或“因为”或“由于”之类的因果性术语,则确定这两个标签具有因果关系。在某些实施例中,当两个标签的因果关系显示在至少两个产品描述中时,确定这两个标签具有因果性。
在步骤1012中,当从数据准备模块120接收到产品类别的标记的产品描述时,候选标签序列生成模块140为每个标记的产品描述使用N-gram生成标签序列,将所有标记的产品描述生成的标签序列组合起来形成候选标签序列,并将候选标签序列发送到知识过滤器150。例如,当N为5时,如果第一个产品描述有两个标签,标签1和标签2,则生成的标签序列的数量为一个,即标签1-标签2。如果第二个产品描述有三个标签,标签3~标签5,那么生成的标签序列的数量将是三个,即标签3-标签4、标签4-标签5、标签3-标签4-标签5。如果第三个产品描述有六个标签标签,标签6~标签11,那么生成的标签序列的数量为14,即标签6-标签7、标签7-标签8、标签8-标签9、标签9-标签10、标签10-标签-11、标签6-标签7-标签-8、标签7-标签8-标签9、标签8-标签9-标签10、标签9-标签10-标签11、标签6-标签7-标签8-标签9、标签7-标签8-标签9-标签10、标签8-标签9-标签10-标签11、标签6-标签7-标签8-标签9-标签10和标签7-标签8-标签9-标签10-标签11。将不同产品描述中生成的标签序列进行组合,去除多余的标签序列,从而得到候选标签序列。
在步骤1014中,在从知识学习模块130接收知识以及从候选标签序列生成模块140接收候选标签序列后,知识过滤器150使用知识来过滤候选标签序列,并将过滤后的标签序列发送给功能模块160。过滤是先去除具有两个排他性标签的候选标签序列,然后尽可能选择相似度高、距离近、有因果关系的标签的候选标签序列。在某些实施例中,过滤是使用图7A、图7B、图7C和图8或这些方法的变体中的任一个中所示的方法来执行的。获取的过滤后的标签序列也称为内容规划。
在步骤1016中,在从知识过滤器150接收到内容规划后,功能模块160可以使用内容规划来生成新的产品描述,例如,使用内容规划和以下至少之一:产品的行业属性、用户喜欢的产品描述风格和旧版本的产品描述。在某些实施例中,功能模块160基于重要的产品行业属性从内容规划中选择若干个标签序列,基于用户选择的风格排列内容序列,并从每个标签序列中生成一个句子,以形成新的产品描述。
在某些方面,本公开涉及一种用于存储计算机可执行代码的非暂时性计算机可读介质。当在计算设备110的处理器112处执行时,代码可以执行如上所述的方法1000。在某些实施例中,非暂时性计算机可读介质可以包括但不限于任何物理或虚拟存储介质。在某些实施例中,非暂时性计算机可读介质可以实现为如图1所示的计算设备110的存储设备116。
本公开的某些实施例与基于循环神经网络(Recurrent Neural Network,RNN)的方法进行比较。例如,RNN方法可以是TopicRNN。图11示出了本公开的某些实施例与基于RNN的方法之间的比较。如图11所示,对于服装、空调、电视、洗衣机和冰箱的类别,根据本公开的基于知识的方法明显优于基于RNN的方法。
综上所述,该领域的所有相关方法都存在连贯性问题,表现为高误报和高漏报。相比之下,本公开提供了一种系统和方法,可以在电子商务中为产品描述自动生成连贯内容规划,降低误报率和漏报率。该系统结合了知识构建组件、候选标签序列生成算法和内容规划过滤算法。知识驱动的内容规划方法依赖于从数据集和产品属性中挖掘通用标签知识:标签相似度、标签距离、标签因果性和标签排他性。这里的“标签”是指代表每个句子主要思想的主题词,每个产品属性都可以视为一个标签。本公开假设每个句子都有一个标签或多个标签来表示其主要思想(主题)。因此,标签之间的关系是产品描述中的句子之间关系的缩影。这些关于标签的知识代表了产品描述中的各个方面,不仅包括主题的分布、局部(句法)依赖、全局(语义)依赖,还包括自然语言的语义作用,甚至包括因果关系和产品属性的特征。因此,与现有方法相比,利用这些知识可以提高内容规划的连贯性。具体来说,标签排他性、标签相似度和标签距离的知识可以同时捕捉段落中的全局/局部语义关系和词排他性,从而减少内容规划的误报;标签距离和标签因果性的知识可以精确定位低频率主题关系,从而减少内容规划的漏报。
本公开的示例性实施例的前述描述仅出于说明和描述的目的而呈现并且不旨在穷举或将本公开限制为所公开的精确形式。根据上述教导,许多修改和变化是可能的。
选择和描述实施例是为了解释本公开的原理及其实际应用,从而使本领域的其他技术人员能够利用本公开和各种实施例以及适合于预期的特定用途的各种修改。在不脱离本公开的精神和范围的情况下,替代实施例对于本公开所属领域的技术人员将变得显而易见。因此,本公开的范围由所附权利要求而不是前述描述和其中描述的示例性实施例限定。
- 用于自动生成知识驱动的内容规划的系统和方法
- 知识的自动生成方法、知识的自动生成系统、自动设计方法及其自动设计系统