具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的用于处理文本的方法或用于处理文本的装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种客户端应用,例如文本编辑类应用、新闻浏览类应用、小说阅读类应用等等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且支持文本编辑或查看的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上传的文本进行处理的后台文本处理服务器。后台文本处理服务器可以对接收到的文本进行确定其特征以及生成目标语句集合等处理,并根据需要将处理结果反馈至终端设备。
需要说明的是,本申请实施例所提供的用于处理文本的方法一般由服务器105执行,相应地,用于处理文本的装置一般设置于服务器105中。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的用于处理文本的方法的一个实施例的流程200。该用于处理文本的方法,包括以下步骤:
步骤201,获取至少一个文本。
在本实施例中,用于处理文本的方法的执行主体(例如图1中所示的服务器)可以通过有线连接方式或者无线连接方式从通信连接的终端设备(例如图1所示的终端设备101、102、103)获取至少一个文本。作为示例,实践中,用户经常将编辑好的文本(例如,小说、新闻稿件等等)通过手机、电脑等终端设备上传至对应的服务器。此时,对应的服务器作为执行主体,可以接收到终端上传的文本。其中,文本作为一种书面的表现形式,可以包括文字、语句、段落等等。此处,需要说明的是,文本可以用于表达某些含义(例如新闻稿件可以用于描述具体的事件),也可以没有确切的含义。对此,本申请不做具体限定。此外,上述至少一个文本也可以直接存储于上述执行主体本地。此时,上述执行主体可以直接本地获取至少一个文本。
步骤202,对于至少一个文本中的文本,确定该文本中的语句的特征。
在本实施例中,对于至少一个文本中的每个文本,上述执行主体可以首先确定该文本中的每个语句。其中,语句作为文本的组成部分,一般符合一定的结构。实践中,可以对于文本按照语句进行分割。作为示例,可以利用各种编程语言对于文本中特定的标点符号(例如“?”、“。”等)进行识别。当识别到特定的标点符号时,可以以此为界对文本进行划分。从而可以得到文本中的每个语句。作为示例,也可以通过一些自然语言处理应用的调用接口或函数实现对于文本的语句分割。
在本实施例中,在确定每个文本中的每个语句之后,上述执行主体可以通过多种方法对于文本中的每个语句,确定该语句的特征。其中,语句的特征包括但不限于:语句在文本中的位置、语句与标题的相似度、语句中是否包括关键词、语句中包含的词语的词频等等。实践中,具体需要确定语句的哪些特征可以由技术人员指定,也可以根据一定的条件进行筛选。根据语句的特征的不同,可以采用不同的方法确定每个语句的特征。以确定语句中是否包括关键字这个特征为例,可以由技术人员预先确定哪些字为关键字。之后,将确定的关键字与每个语句进行匹配,从而可以确定各个语句是否包含关键字。
作为示例,上述执行主体也可以通过人工神经网络提取每个文本的特征。例如,可以将每个文本的语句输入经过训练的卷积神经网络,从而得到每个语句的特征。
步骤203,对于至少一个文本中的文本中的语句,可执行以下操作:
步骤2031,将该语句的特征输入预先训练的语句鉴别模型,得到用于表征是否将该语句用于生成新的文本的鉴别结果信息。
在本实施例中,语句鉴别模型用于表征语句的特征与鉴别结果信息之间的对应关系。作为示例,语句鉴别模型可以是基于大量统计生成的、存储有语句的特征与鉴别结果信息的对应关系表。作为示例,技术人员可以基于一个或多个文本,生成一个新的文本。例如,将三篇某一事件的报道进行总结,形成对于该事件的摘要性文章。在此基础上,技术人员可以对于三篇报道中的每一个语句,确定其是否包含在摘要性文章中。若某一个语句出现在摘要性文章中,可以确定该语句用于生成摘要性文章。反之,则不用于生成摘要性文章。作为示例,可以用“1”表示用于生成新的文本,即鉴别结果信息为“1”;用“0”表示不用于生成新的文本,即鉴别结果信息为“0”。之后,对于每个语句,可以将该语句的特征与鉴别结果信息对应输入上述对应关系表。经过大量的统计,可以将上述对应关系表确定为语句鉴别模型。在此基础上,对于至少一个文本中的文本中的语句,上述执行主体可以将该语句的特征在对应关系表中进行匹配。之后,可以将与该语句的特征匹配度最高的特征所对应鉴别结果信息作为该语句的鉴别结果信息。
步骤2032,响应于确定鉴别结果信息表征将该语句用于生成新的文本,将该语句确定为目标语句。
在本实施例中,如果鉴别结果信息表征将该语句用于生成新的文本,上述执行主体可以将该语句确定为目标语句。作为示例,可以用一个标志位标记一个语句是否为目标语句。如果鉴别结果信息表征将该语句用于生成新的文本,作为示例,可以将该语句的标志位设为“1”。反之,则可以设为“0”。
步骤204,汇总目标语句,得到目标语句集合。
在本实施例中,步骤203中可以对至少一个文本中的每个文本的每个语句,确定该语句是否为目标语句。在此基础上,上述执行主体可以将至少一个文本中所有的目标语句进行汇总,得到目标语句集合。
在本实施例的一些可选的实现方式中,该方法还可以包括:基于目标语句集合,生成新的文本。在这些实现方式中,上述执行主体可以对于目标语句集合中的目标语句进行排序,并按照一定的格式进行排列,从而得到新的文本。
继续参见图3,图3是根据本实施例的用于处理文本的方法的应用场景的一个示意图。在图3的应用场景中,用于处理文本的方法的执行主体可以是服务器301。服务器301可以首先获取至少一个文本3011。如图中所示,以三个文本A、B、C为例。之后,可以确定三个文本A、B、C中的每个文本的每个的语句的特征,如图中3012所示。这里,每个语句的特征为这个语句与文本标题的相似度。然后,将每个语句的特征输入预先训练的语句鉴别模型。这里,语句鉴别模型是预先建立的记录有特征和鉴别结果信息的对应关系表。从而,可以得到鉴别结果信息,如图3013所示。其中,“1”用于表征将该语句用于生成新的文本。之后,可以确定目标语句,即图中所有鉴别结果信息“1”所对应的语句。汇总目标语句,得到目标语句集合3014。
本申请的上述实施例提供的方法,通过确定文本中的语句的特征,以及将语句的特征输入语句鉴别模型,得到用于表征是否将该语句用于生成新的文本的鉴别结果信息。从而可以根据鉴别结果信息得到文本中用于生成新的文本的语句,为新的文本的生成提供了基础。与人工进行鉴别的方式相比,提高了鉴别效率和准确率。
进一步参考图4,其示出了用于处理文本的方法的又一个实施例的流程400。该用于处理文本的方法的流程400,包括以下步骤:
步骤401,对于目标文本集合中的文本,获取该文本的预设指标。
在本实施例中,对于目标文本集合中的每个文本,用于处理文本的方法的执行主体可以获取该文本的预设指标。其中,目标文本集合可以是预设的文本集合,也可以是根据一定的条件筛选得到的文本集合。作为示例,目标文本集合可以是某个历史时间段内用户上传的所有文本。文本的预设指标可以是由技术人员指定的一项或多项指标。其中,文本的指标可以包括文本本身的多种属性,也可以包括一些外部的属性。文本的指标包括但不限于:文本所属的领域(例如,娱乐新闻、体育新闻等)、展示量、阅读量、点击量等等。实践中,目标文本集合中的每个文本可以由技术人员预先进行编辑并存储。也可以是在本步骤执行的过程中输入的,对此,本申请不做限定。
步骤402,按照预设指标由大到小的顺序,选取目标数量的文本。
在本实施例中,上述执行主体可以按照预设指标由大到小的顺序,选取目标数量的文本。其中,目标数量可以是由技术人员预先指定的数量,也可以是根据一定的条件确定的数量。以预设指标为点击量、目标数量为十个为例,上述执行主体可以选取点击量排在前10的10个文本。需要说明的是,文本的有些指标可能无法直接比较大小,例如,文本所属的领域无法直接比较大小。此时,可以由技术人员为不同的领域设定不同的权重。从而可以通过比较权重值,实现文本的选取。
步骤403,将所选取的目标数量的文本确定为至少一个文本。
在本实施例中,上述执行主体可以将所选取的目标数量的文本确定为至少一个文本。
步骤404,对于至少一个文本中的文本,确定该文本中的语句的特征。
在本实施例中,步骤404的具体实现以及所带来的技术效果可以参考图2对应的实施例的步骤202,在此不再赘述。
步骤405,对于至少一个文本中的文本中的语句,执行如下操作:
步骤4051,将该语句的特征输入预先训练的语句鉴别模型,得到用于表征是否将该语句用于生成新的文本的鉴别结果信息。
在本实施例中,语句鉴别模型还可以是人工神经网络。作为示例,可以通过以下步骤训练得到:获取训练样本集合,训练样本包括样本文本和样本文本的标注信息;将训练样本集合中的训练样本的样本文本作为输入,将输入的样本文本的标注信息作为期望输出,训练得到语句鉴别模型。具体包括以下步骤:
第一步,获取初始语句鉴别模型。初始语句鉴别模型可以是各种用于序列标注的人工神经网络。例如,LSTM(Long Short-Term Memory,长短期记忆网络)、CNN(Convolutional Neural Networks,卷积神经网络)、CRF(Conditional Random Fields asRecurrent Neural Networks,条件随机视野循环神经网络)等等。此外,初始语句鉴别模型还可以是用于分类的人工神经网络。
第二步,获取训练样本集合。训练样本集合中的每个训练样本可以包括样本文本和这个样本文本的标注信息。其中,标注信息用于表征样本文本中的各个语句是否用于生成新的文本。实践中,可以通过多种方式得到样本文本。例如,可以选择用户通过网络上传的文本。又如,可以由技术人员直接输入文本。在获得样本文本后,可以通过人工标注的方式得到每个样本文本的标注信息。标注信息可以是多种形式的信息,例如:数字、文字、符号等等。
第三步,利用机器学习的方法,将训练样本集合中的训练样本中的样本文本作为初始语句鉴别模型的输入,将输入的样本文本的标注信息作为初始语句鉴别模型的期望输出,训练得到上述语句鉴别模型。
在本实施例中,作为示例,可以基于预设的损失函数完成对初始语句鉴别模型的训练。其中,损失函数可以用来表示训练过程中初始语句鉴别模型输出的鉴别结果信息与输入的样本文本的标注信息的差异程度。根据每次得到的损失函数的值调整初始语句鉴别模型的参数。并且,可以在确定前后两次或多次的损失函数的值均小于一定阈值时结束训练,并将此时得到的初始语句鉴别模型作为上述语句鉴别模型。
此外,本步骤中的其他特征的实现及其所带来的技术效果可以参考图2对应的实施例中的步骤203,在此不再赘述。
步骤4052,响应于确定鉴别结果信息表征将该语句用于生成新的文本,将该语句确定为目标语句。
在本实施例中,响应于确定鉴别结果信息表征将该语句用于生成新的文本,上述执行主体可以将该语句确定为目标语句。
步骤406,汇总目标语句,得到目标语句集合。
在本实施例中,上述执行主体可以汇总目标语句,从而得到目标语句集合。
在本实施例的一些可选的实现方式中,上述执行主体针对不同的文本,多次执行步骤401-406,从而得到至少两个目标语句集合。在这些实现方式中,通过增加目标语句集合的数量,可以提高最终生成的文本的丰富性。
步骤407,基于目标语句集合,生成文本标题。
在本实施例中,上述执行主体可以基于目标语句集合,通过多种方式生成文本标题。作为示例,上述执行主体可以将上述目标语句集合进行显示。之后,接收技术人员输入的文本标题。作为示例,上述执行主体可以对目标语句集合中的多个目标语句根据预设指标(例如,与标题的相似度)进行排序。之后,从与标题的相似度最高目标语句中选取关键字作为文本标题。作为示例,上述执行主体可以统计上述目标语句集合中的各个目标语句进行聚类。之后,选取包含的目标语句数目最多的簇,并从中选取出现频率最高的词作为文本的标题。可以理解,根据需要,也可以通过其他的方法基于目标语句集合,生成文本标题。
步骤408,基于目标语句集合和文本标题,生成新的文本。
在本实施例中,上述执行主体可以基于目标语句集合和文本标题,通过多种方法生成新的文本。
作为示例,上述执行主体按照技术人员指定的顺序将目标语句集合中的各个目标语句进行排列。并将文本标题与经过排列后的各个目标语句按照预设的格式进行组合,从而得到新的文本。
作为示例,上述执行主体也可以将目标语句集合中的各个目标语句按照相似度进行分组,得到至少两组目标语句。之后将至少两组目标语句以及每组目标语句内的目标语句,按照一定的规则进行排序。之后可以将得到的排序后的目标语句与文本标题按照预设的格式进行组合,从而得到新的文本。
从图4可以看出,与图2对应的实施例相比,本实施例中增加文本的选取步骤,从而使得至少一个文本中的各个文本之间的关联性更高,最终生成的新的文本更具针对性。另外,本实施例还增加了生成文本标题的步骤,使得了最终生成的新的文本更完整且更具可读性。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于处理文本的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于处理文本的装置500包括:文本获取单元501、特征确定单元502、语句鉴别单元503和汇总单元504。其中,文本获取单元501被配置成获取至少一个文本。特征确定单元502被配置成对于至少一个文本中的文本,确定该文本中的语句的特征。语句鉴别单元503被配置成对于至少一个文本中的文本中的语句,将该语句的特征输入预先训练的语句鉴别模型,得到用于表征是否将该语句用于生成新的文本的鉴别结果信息,其中,语句鉴别模型用于表征语句的特征与鉴别结果信息之间的对应关系;响应于确定鉴别结果信息表征将该语句用于生成新的文本,将该语句确定为目标语句。汇总单元504被配置成汇总目标语句,得到目标语句集合。
本实施例中的用于处理文本的装置500中包括的文本获取单元501、特征确定单元502、语句鉴别单元503和汇总单元504的具体实现及所带来的技术效果可以参考图2对应的实施例中的步骤201-204,在此不再赘述。
在本实施例的一些可选的实现方式中,该装置500还可以包括:文本生成单元(图中未示出)。其中,文本生成单元被配置成基于目标语句集合,生成新的文本。
在本实施例的一些可选的实现方式中,该装置500还可以包括:标题生成单元(图中未示出)。其中,标题生成单元被配置成基于目标语句集合生成文本标题;以及文本生成单元被进一步配置成:基于目标语句集合和文本标题,生成新的文本。
在本实施例的一些可选的实现方式中,该装置500还可以包括:预设指标获取单元(图中未示出)、选取单元(图中未示出)和文本确定单元(图中未示出)。其中,预设指标获取单元被配置成对于目标文本集合中的文本,获取该文本的预设指标;选取单元,被配置成按照预设指标由大到小的顺序,选取目标数量的文本;文本确定单元,被配置成将所选取的目标数量的文本确定为至少一个文本。
在本实施例的一些可选的实现方式中,语句鉴别模型通过以下步骤训练得到:获取训练样本集合,训练样本包括样本文本和样本文本的标注信息,其中,标注信息用于表征样本文本中的各个语句是否用于生成新的文本;将训练样本集合中的训练样本的样本文本作为输入,将输入的样本文本的标注信息作为期望输出,训练得到语句鉴别模型。
本申请的上述实施例提供的装置,通过特征确定单元502确定文本中的语句的特征。之后通过语句鉴别单元503根据语句的特征,得到用于表征是否将该语句用于生成新的文本的鉴别结果信息。从而汇总单元504可以根据鉴别结果信息得到文本中用于生成新的文本的语句,为新的文本的生成提供了基础。与人工进行鉴别的方式相比,提高了鉴别效率和准确率。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括文本获取单元、特征确定单元、语句鉴别单元和汇总单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,文本获取单元还可以被描述为“获取至少一个文本的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的服务器中所包含的;也可以是单独存在,而未装配入该服务器中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该服务器执行时,使得该服务器:获取至少一个文本;对于至少一个文本中的文本,确定该文本中的语句的特征;对于至少一个文本中的文本中的语句,将该语句的特征输入预先训练的语句鉴别模型,得到用于表征是否将该语句用于生成新的文本的鉴别结果信息,其中,语句鉴别模型用于表征语句的特征与鉴别结果信息之间的对应关系;响应于确定鉴别结果信息表征将该语句用于生成新的文本,将该语句确定为目标语句;汇总目标语句,得到目标语句集合。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。