一种文本匹配方法及装置的制作方法

文档序号:6332609阅读:181来源:国知局
专利名称:一种文本匹配方法及装置的制作方法
技术领域
本申请涉及数据处理领域,尤指一种大数据量的文本匹配方法及装置。
背景技术
现有的文本比较,一般采用全量运算匹配的方式,当需要计算文本之间的相关程度的时候,需要针对获取的所有文本进行计算,最终得到两两之间的相似度,这样每计算一次相似度都要针对所有的文本数据进行计算,其计算量将是非常巨大的,其运行时间为 0(Ν"2)量级的,随着文本数量N的增大,运算的时间也会很长。这种大数据量的运算比较对设备的系统性能带来了很大的影响,使系统的I/O通讯、数据存储、数据的网络传输都面临很大的压力,导致设备的数据处理速度缓慢,甚至出现数据传输的阻塞或拥塞。这种全量运算的文本匹配所存在的大数据运算量对系统性能的影响,随着需要匹配的文本数量的增大,变的越来越严重。如何实现对大数据量匹配的高效处理,成为亟待解决的难题。由于现有技术中基本上都对基于内容的文本匹配进行全量数据运算,对于基于内容的文本匹配的优化,已有技术可以包括下列方式(1)针对单机版的基于内容的文本匹配,通过建索引的方式提高文本匹配的速度禾口效率。(2)针对分布式的基于内容的文本匹配,主要是增加硬件支持,比如增加并行度, 执行并行运算。但是无论是建立索引还是增加并行度都不能很好的解决文本匹配过程中,全量数据运算操作所存在的数据计算量大,运行时间长,需要对所有数据进行运算和一一比对,需要的存储空间大等问题,因此,现有的文本匹配方式存在的数据处理速度慢、网络传输阻塞等系统性能瓶颈依然比较严重。

发明内容
本申请实施例提供一种文本匹配方法及装置,用以解决现有技术中存在的文本匹配数据处理量大导致处理速度慢、影响系统性能、引起传输阻塞等问题。一种文本匹配方法,包括周期性收集用户发布的内容信息,根据当前周期内收集的内容信息得到当前周期内的新增文本并存储到数据库中;对输入的新增文本进行分词,并提取关键词;根据预先存储的词频表计算提取的每个关键词在数据库中的各文本中的权重;所述词频表根据各个词语在数据库中的各文本中的出现频率周期性更新;数据库中的文本包括当前周期存储的新增文本和之前存储的原始文本;根据计算得到的每个关键词在数据库中的各文本中的权重,计算每个新增文本与数据库中的各文本的相似度,或计算数据库中任意两个文本的相似度;根据计算得到的相似度确定数据库中存储的各文本的相关文本。一种文本匹配装置,包括收集模块,用于周期性收集用户发布的内容信息,根据当前周期内收集的内容信息得到当前周期内的新增文本并存储到数据库中;分词模块,用于对输入的新增文本进行分词,并提取关键词;权重确定模块,用于根据预先存储的词频表计算提取的每个关键词在数据库中的各文本中的权重;词频更新模块,用于根据各个词语在数据库中的各文本中的出现频率周期性更新;数据库中的文本包括当前周期存储的新增文本和之前存储的原始文本;相似度确定模块,用于根据计算得到的每个关键词在数据库中的各文本中的权重,计算每个新增文本与数据库中的各文本的相似度,或计算数据库中任意两个文本的相似度;文本比较模块,用于根据计算得到的相似度确定数据库中存储的各文本的相关文本。本申请有益效果如下本申请实施例提供的文本匹配方法及装置,通过周期性收集用户发布的内容信息,根据当前周期内收集的内容信息得到当前周期内的新增文本并存储到数据库中;对输入的新增文本进行分词,并提取关键词;根据预先存储的词频表计算提取的每个关键词在数据库中的各文本中的权重;所述词频表根据各个词语在数据库中的各文本中的出现频率周期性更新;数据库中的文本包括当前周期存储的新增文本和之前存储的原始文本;根据计算得到的每个关键词在数据库中的各文本中的权重,计算每个新增文本与数据库中的各文本的相似度,或计算数据库中任意两个文本的相似度;根据计算得到的相似度确定数据库中存储的各文本的相关文本。上述方法通过建立和更新词频表的方式避免了现有技术中任意两个文本的匹配都需要对所有文本进行计算的问题,具体为关键词的权重不再依赖于全局数据运算得到全局变量,而依靠词频表即可实现,从而减少了匹配运算工作量,提高了系统性能;且通过使用词频表可以仅计算部分文本之间的相似度或计算全部文本之间的相似度,因此即使只针对更新后的新增文本进行计算,也能获取到准确的匹配运算结果。该方式适用于所有文本的匹配,具有很强的通用性和普遍适用性,其匹配过程实现简单,很好的解决网络系统瓶颈问题。


图1为本申请实施例一中文本匹配系统的结构示意图;图2为本申请实施例一中文本匹配方法的流程图;图3为本申请实施例二中文本匹配方法的流程图;图4为本申请实施例三中文本匹配方法的流程图;图5为本申请实施例五中文本匹配实现原理的示意图;图6为本申请实施例五中文本匹配方法的流程图;图7为本申请实施例五中词频表更新的原理示意图8为本申请实施例中文本匹配装置的结构示意图。
具体实施例方式本申请实施例提供的文本匹配方法,周期性的获取新增文本,并将获取到的新增文本加入数据库中;预先建立词频表,并根据获取的新增文本或根据数据库中增加新增文本之后的所有文本更新词频表,从而可以根据词频表方便的计算任意两个文本(包括新增文本和原始文本)之间的相似度。在本申请中根据需要可以计算数据库中任意两个文本之间的相似度、也可以只计算新增文本与新增文本以及新增文本与原始文本之间的相似度。下面通过具体的实施例分别说明这两种情况的实现流程。其中,数据库中存储的原始文本是指当前周期之前存储的文本,即上一个周期存入新增文本之后数据库中的所有文本。本申请实现文本匹配的系统架构如图1所示,该系统包括服务器和若干客户端, 服务器通过周期性收集客户端的操作行为,获取新增文本,实现对文本的匹配。客户端和服务器的具体功能,在下面的实施例中进行详细介绍。例如服务器可以对用户通过客户端发布的商品信息进行匹配,确定与用户发布的商品信息具有相关性的商品信息,从而实现在其他用户浏览到用户发布的商品时,能够为用户显示和推荐类似的或相关的商品。当然本申请的文本匹配方法不限于商品信息的匹配,只要是基于文本的文本匹配都可以通过本申请的方法实现。下面通过具体的实施例说明本申请文本匹配的实现过程。实施例一本申请实施例一提供的文本匹配方法,针对每个周期的每个新增文本,计算每个新增文本与每个原始文本之间、以及任意两个新增文本之间的相似度。即确定与新增文本相关的相似度数据。例如在商品推荐过程中使用时,则是根据当前周期内发布的商品信息获取新增文本。并根据新增文本确定与当前周期内发布的商品信息相匹配的所有商品(信息包括此前发布的商品信息和当前周期内发布的商品信息)。本申请实施例一提供的文本匹配方法的流程如图2所示,执行步骤如下步骤Sll 周期性收集用户发布的内容信息,根据用户发布的内容信息得到当前周期内的新增文本。收集用户发布的内容信息的周期可以根据需要设定。根据收集到的各个用户在当前周期内发布的内容信息,可以生成相关的文本,即为当前周期的新增文本。收集到新增文本后将其存储至数据库中,则数据库中当前存储有上个周期就已经存储的原始文本和当前周期内存入的新增文本。例如用户通过客户端发布商品信息,服务器周期性的获取各个客户端发布的商品信息,其中设定的周期可以是一天、一星期或几个小时等。优选的,在收集到用户发布的内容信息后,根据设定的输入过滤规则,对收集到的用户发布的内容信息进行过滤。对收集到的用户发布的内容信息进行过滤可以根据内容信息的质量是否符合设定的质量评估阈值,发布内容信息的用户是否是设定的合格用户等设置的过滤规则中的一个或多个,对收集到的用户发布的内容信息进行过滤。或者根据其他设置的输入过滤规则,对收集到的用户发布的内容信息进行过滤。在对收集到的用户发布的内容信息进行过滤后,根据过滤后内容信息生成当前周期内的新增文本。仍以商品信息的匹配为例,在获取到客户端发布的商品信息时,对商品信息进行过滤,例如过滤掉没有提供图片或没有其他设定的必要信息的商品。上述通过对收集到的内容信息进行过滤,得到新增文本,可以提高收集得到的用户发布的内容信息的可用性,提高了用于匹配的新增文本的质量,从而可以获得更佳的匹配结果;同时也进一步减少匹配过程的计算量,提高了匹配速度。仍以商品信息的匹配为例,在获取到客户端在当前周期内发布的商品信息后可以得到当前周期内的新增文本。例如发布的一个MP3的商品信息包括名称MP3、颜色红色、 型号XX以及功能描述等相关信息,则根据用户发布的商品信息,得到一个新增文本。步骤S12 对输入的新增文本进行分词,提取关键词。即针对输入的每个新增文本,将文本内容划分为若干词语,并提取用于文本匹配的若干关键词,提取得到的若干关键词可以生成一个分词向量。例如发布的一个MP3的商品信息包括名称MP3、颜色红色、型号XX和功能描述等信息,则将得到的文本分词后,可以从中提取出MP3、红色等关键词,这些关键词可以组成一个分词向量。步骤S13 根据预先存储的词频表计算从新增文本中提取的每个关键词在数据库中当前存储的各文本中的权重。该步骤具体计算每个关键词在数据库中存储的每个文本(包括当前周期的新增文本和上一个周期存储的原始文本)中的权重,具体可以通过查询词频表中每个关键词在文本中的出现频率,实现计算关键词在该文本中的权重。其中,词频表根据各个词语在数据库中存储的每个文本中的出现频率周期性更新。这里的各个词语是指所有词频表中词语,针对这些词语预计算出来的词频,而不仅仅包含当前输入的新增文本分词后划分出的关键词的词频。词频表在建立时,针对数据库中已存储的所有文本进行统计,得到每个词语在各个文本中出现次数的词频表,在后续可以通过更新的方式来添加和减少更新后的结果。每个收集周期,词频表都可以根据各个关键词在数据库中的当前存储的各文本中的出现频率周期性更新,具体包括两种情况情况一根据数据库中的当前存储的所有文本直接更新词频表。每次输入新增文本后,统计各个词语在输入的新增文本和数据库中存储的原始文本中的出现频率,得到包含各个词语在数据库中当前存储的每个文本中的出现频率的词频表。由于计算词频的运算量是与输入数据量成线性关系的,因此,即使采用对数据库中存储的所有文本进行统计来更新词频表,其运算量也不会很大,时间也不长。情况二 根据新增文本和原来词频表中存储的内容更新词频表。每次输入新增文本后,统计各个词语在输入的每个新增文本中的出现频率,根据统计得到的结果与词频表中存储的各个词语在数据库中存储的原始文本中的出现频率,得到包含各个词语在数据库中的每个文本中的出现频率的词频表。具体实施例中,若预先存储的词频表中未记录新增文本分词后得到的各词语的词频,则以情况一所述方案更新词频表。若预先存储的词频表中已记录新增文本分词后得到的各词语在原始文本中的词频,则以情况二所述方案更新词频表。上述根据预先存储的词频表计算分词提取的每个关键词在数据库中的当前存储的各个文本中的权重,具体包括根据词频表,分别确定选定关键词在数据库中当前存储的每个文本中的出现次数。以及确定数据库中当前存储的的所有文本与包含有选定关键词的文本的数量比。根据选定关键词在每个文本中的出现次数和上述计算得到的数量比,分别计算每个关键词在每个文本中的权重。步骤S14:根据计算得到的每个关键词在数据库中当前存储的各个文本中的权重,计算每个新增文本与数据库当前存储的各个文本的相似度。计算每个新增文本与数据库中当前存储的各个文本的相似度,包括计算输入的任意两个新增文本之间的相似度、以及计算每个新增文本和数据库中存储的每个原始文本的相似度。计算每个新增文本与数据库中当前存储的各文本的相似度,具体包括将待计算相似度的文本中的每个关键词的权重组成权重向量。权重向量由上述计算出的各个关键词在该文本中的权重组成。针对每个新增文本,分别计算该新增文本的权重向量与数据库中当前存储的各文本的权重向量的内积,得到该新增文本与数据库中当前存储的各文本的相似度。由于数据库中的原始文本之间的相似度在上一次输入上一个周期的新增文本时已经计算过,因此,本次只计算新输入的新增文本之间、以及新输入的新增文本与数据库中的原始文本之间的相似度,从而大大减少了运算量。步骤S15 根据计算得到的相似度确定数据库中当前存储的每个文本的相关文本。上述计算获取到的每个新增文本和数据库中当前存储的各个文本之间的相似度之后,根据具体需求,既可以确定与每个新增文本具有一定相关性的相关文本,也可以确定与数据库中当前存储的每个文本具有一定相关性的相关文本了。其中,与每个新增文本相关的文本可以是新获取到的其他新增文本也可以是存储的原始文本。与数据库中当前存储的每个文本相关的文本可以是新获取到的新增文本也可以是存储的原始文本。其中原始文本与原始文本之间的相似度在之前的周期内已经确定并存储在数据库中。也就是说在本实施例中,在确定相关文本时,涉及到数据库中原始文本和原始文本之间的相似度时,直接使用上一次存储的相似度。其中,与每个文本具有一定相关性的相关文本的确定,具体包括下列两种确定方式方式一通过设定阈值确定符合设定条件的相关文本。针对待确定相关文本的新增文本或数据库中当前存储的文本,确定与该新增文本或数据库中当前存储的文本的相似度大于或大于等于设定阈值的至少一个文本为该新增文本或数据库中当前存储的文本的相关文本。方式二 通过排序获取设定数量的相关文本。针对待确定相关文本的新增文本或数据库中当前存储的文本,根据数据库中数据库中当前存储的每个文本与待确定相关文本的新增文本或数据库中当前存储的文本的相似度大小排序,确定相似度较高的设定数量的文本作为待确定相关文本的新增文本或数据库中当前存储的文本的相关文本。在确定了新增文本或数据库中当前存储的文本得相关文本之后,存储在数据库中,用作后续的商品推荐或其他过程中使用。以用于商品推荐为例在获取到包括用户的点击行为、浏览行为、用户购买行为、收藏网页上展示的商品等等用户操作行为时,根据用户操作行为涉及的商品所对应的文本,从数据库中获取该文本的相关文本,将获取到的相关文本对应的商品推荐给用户。其中,涉及的商品所对应的文本和该文本的相关文本,根据商品的发布时间不同,可能是新增文本也可能是原始文本。实施例二 本申请实施例二提供的文本匹配方法,针对每个周期输入新增文本后数据中存储的每个文本,计算任意两个文本之间的相似度,其流程如图3所示,执行步骤如下步骤S21 周期性收集用户发布的内容信息,根据用户发布的内容信息得到当前周期内的新增文本。同步骤Sll,此处不再赘述。步骤S22 对输入的新增文本进行分词,提取关键词。同步骤S12,此处不再赘述。步骤S23 根据预先存储的词频表计算从新增文本中提取的每个关键词在数据库中的当前存储的各文本中的权重。同步骤S13,此处不再赘述。步骤S24:根据计算得到的每个关键词在数据库中当前存储的各文本中的权重, 计算数据库中任意两个文本的相似度。计算数据库中任意两个文本的相似度,包括计算输入的任意两个新增文本之间的相似度、计算每个新增文本和数据库中存储的每个原始文本的相似度、以及计算任意两个原始文本之间的相似度。计算任意两个文本的相似度,具体包括将待计算相似度的文本中的每个关键词的权重组成权重向量。针对每个文本,分别计算该文本的权重向量与数据库中存储的各文本的权重向量的内积,得到该文本与数据库中存储的各文本的相似度。该方式在词频更新之后重新计算每个文本之间的相似度,从而能够获取到准确的相似度值,使后续比较匹配的结果更准确。步骤S25 根据计算得到的相似度确定数据库中当前存储的每个文本的相关文本。该步骤确定相关文本时,和步骤S15类似的也包含两种方式。所不同的是在本实施例中,在确定相关文本时,涉及到数据库中原始文本和原始文本之间的相似度时,也是用本次计算得到的相似度。确定相关文本后在商品推荐过程中的应用也与步骤S15类似。实施例三本申请实施例三提供的文本匹配方法,针对实施例一和实施例二的方案进行改进,增加输出过滤的过程。具体包括
在实施例一的步骤S14计算相似度之后和步骤S15确定相关文本之前增加输出过滤的步骤,在实施例二的步骤SM计算相似度之后和步骤S25确定相关文本之前增加输出过滤的过程,其流程如图4所示,执行步骤如下步骤S31 获取计算得到的每个新增文本与数据库中当前存储的各个文本的相似度,或计算得到的数据库中任意两个文本的相似度。针对两个文本的相似度的过滤,可以根据后续相关文本确定的不同要求,对不同文本的相似度进行过滤,因此,针对实施例一计算新增文本和数据库中当前存储的各个文本之间的相似度时,获取的是计算得到的每个新增文本与数据库中的数据库中当前存储的每个文本的相似度。针对实施例二计算任意两个文本之间的相似度时,获取的是计算得到的数据库中任意两个文本的相似度。步骤S32 根据设定的输出过滤规则,对数据库中当前存储的待确定相关文本的每个文本相关的相似度数据进行过滤。对待确定相关文本的每个文本相关的相似度数据进行过滤,去除不符合设定条件的文本数据时,可以根据相似度的大小,去除与待确定相关文本的每个文本相似度小于设定阈值的文本;也可以根据相似度的大小排序,去除与待确定相关文本的每个文本相似度较低的设定数量的文本。当然也可以设置其他的输出过滤规则对输出文本进行过滤。通过对待确定相关文本的每个文本相关的相似度数据进行过滤,减少匹配过程中需要匹配的文本的数量,从而进一步了提高匹配速度和效率。实施例四本申请实施例四提供的文本匹配方法,具体提供实现文本匹配的一个具体实现示例,其实现原理如图5所示,其流程如图6所示,执行步骤如下步骤S41 周期性在数据层采集用户发布的内容信息。其中,用户发布的内容信息的采集是在数据层完成的。数据表中的数据在数据层进行更新,更新根据设定的周期进行。数据层是数据的提供层和存储层,为数据的应用层提供数据,最终用于前台展现。 同时,数据层为底层的算法层提供输入数据,也接受算法层的运算结果。这一层包括数据库和一些存储文件。例如,将采集到的用户发布的商品信息中的商品名称作为文本数据,下面的匹配对比是基于得到的文本数据的内容进行的。例如采集到发布的商品信息为MP3,则找到包含MP3的其他文本作为匹配文本。步骤S42 对采集到的用户发布的内容信息进行过滤。在过滤层进行用户发布的内容信息的过滤,根据设定输入过滤规则,对采集到的用户发布的内容信息进行过滤。也就是说由过滤层对算法层的输入和输出做过滤处理,该步骤的输入过滤涉及到的是对算法层输入的过滤,过滤后提供给算法层。后续步骤中的输出过滤涉及到的是对算法层的计算结果进行过滤,提供给数据层。其中,设定的过滤规则包括实施例一中所描述的内容信息的质量是否符合设定的质量评估阈值,发布内容信息的用户是否是设定合格用户等等。例如过滤去掉数据质量低的内容信息。即将内容信息质量低于设定的质量评估阈值的内容信息去除。从而避免在文本匹配中,有的文本来源于低质量的商品信息,这类商品信息,通常质量评分值比较低,比如没有提供图片,或其他必要的信息,这类商品被推荐和点击的意义不大。因此,这类商品信息一般质量评分值低于设定的质量评估阈值,在进行文本匹配运算之前就会被过滤剔除掉。又例如过滤掉不合格用户的内容信息,不合格用户包括网络爬虫,机器人,和不合格的物理用户等等。可以通过判断发布内容信息的用户的访问次数是否超过设定的访问阈值,例如网络爬虫,机器人,他们的行为有明显的特征,他们通常在一段时间内异常活跃,他们提供的数据,可视为噪音,予以剔除。此时可以设定一个访问阈值,当访问次数大于该阈值认为是网络爬虫或机器人。也可以通过判断用户的信用值、有效期限等来判断是否是合格的用户。从而去除包括低信用的用户,过期的用户,还有不活跃的用户(一般指设定时间范围内没有操作行为的用户,如最近的一个月没有登录,一个月没有行为数据等),这些不合格的用户发布的内容信息可视为无效信息,予以剔除。输入过滤的目的是在系统采集到待输入的文本数据后,对输入的文本数据的过滤处理,过滤掉噪音,不合格用户数据和低质量数据等,使输入的文本数据减少。步骤S43 根据过滤后的内容信息得到当前周期的新增文本。在对收集到的用户发布的内容信息进行过滤后,根据过滤后内容信息生成当前周期内的新增文本,从而提高了新增文本的质量。步骤S44 根据过滤后输入的新增文本进行相似度计算。过滤后的新增文本会被输入到算法层,用于相似度的运算,以及更新词频表。其中,更新词频表的原理如图7所示。当新增文本输入后,算法层拥有包含此前各周期内输入的原始文本和当前周期输入的新增文本在内的数据库中当前存储的所有文本。此时可以直接根据数据库中当前存储的所有文本更新词频表,也可以根据数据库中当前存储的所有文本与原始文本对比得到的新增文本,获取新增的数据文件来更新词频表。新增文本与数据库中存储的各文本之间的相似度计算,以及数据库中当前存储任意两个文本之间的相似度计算过程分别参见实施例一和实施例二的描述其中,根据预先存储的词频表计算分词提取的每个关键词在数据库中的各文本中的权重的过程具体包括首先,确定选定关键词在数据库中每个文本中的出现次数。即针对每个文本,分别确定选定的关键词的出现次数。具体可以通过词频表的到,词频表中词语出现次数可以通过词频-反向文档频率 (term frequency-inverse document frequency, TF-1DF),艮口第 i 个关键词在第 j 个文本中出现的次数可以通过下列公式计算得到TFlj = fu
max f2 j其中,fi,」是第i个关键词Ici在第j个文本Clj中出现的次数,max fZjJ表示中的最大值,i,j为正整数。词频表根据该公式更新,而使用过程中需要确定时可以直接查询词频表。
在使用上述公式时,可以根据实际情况对f^和max fz,j的值进行限定。例如可以设置fi,j和max fz,j的值为1,来表示将文本中多次出现的同一个关键词视为出现了一次。其次,确定数据库中的存储的所有文本与包含有选定关键词的文本的数量比。具体通过下列公式确定
权利要求
1.一种文本匹配方法,其特征在于,包括周期性收集用户发布的内容信息,根据当前周期内收集的内容信息得到当前周期内的新增文本并存储到数据库中;对输入的新增文本进行分词,并提取关键词;根据预先存储的词频表计算提取的每个关键词在数据库中的各文本中的权重;所述词频表根据各个词语在数据库中的各文本中的出现频率周期性更新;数据库中的文本包括当前周期存储的新增文本和之前存储的原始文本;根据计算得到的每个关键词在数据库中的各文本中的权重,计算每个新增文本与数据库中的各文本的相似度,或计算数据库中任意两个文本的相似度; 根据计算得到的相似度确定数据库中存储的各文本的相关文本。
2.如权利要求1所述的方法,其特征在于,所述词频表根据各个关键词在数据库中的各文本中的出现频率周期性更新,具体包括每次输入新增文本后,统计各个词语在输入的新增文本和数据库中存储的原始文本中的出现的频率,得到包含各个词语在数据库中的每个文本中的出现频率的的词频表;或每次输入新增文本后,统计各个词语在输入的每个新增文本中的出现的频率,根据统计得到的结果与词频表中存储的各个词语在数据库中的存储的原始文本中的出现频率,得到包含各个词语在数据库中的每个文本中的出现频率的的词频表。
3.如权利要求2所述的方法,其特征在于,所述根据预先存储的词频表计算分词得到的每个关键词在数据库中各文本中的权重,具体包括根据词频表,分别确定选定关键词在数据库中每个文本中的出现次数;以及确定数据库中的存储的文本与包含有选定关键词的文本的数量比; 根据选定关键词在每个文本中的出现次数和所述数量比,分别计算每个关键词在每个文本中的权重。
4.如权利要求1所述的方法,其特征在于,所述计算每个新增文本与数据库中的各文本的相似度,或计算数据库中任意两个文本的相似度,具体包括将待计算相似度的文本中的每个关键词的权重组成权重向量; 针对每个新增文本,分别计算该新增文本的权重向量与数据库中存储的各文本的权重向量的内积,得到该新增文本与数据库中存储的各文本的相似度;或针对数据库中存储的每个文本,分别计算该文本的权重向量与数据库中存储的各文本的权重向量的内积,得到该文本与数据库中存储的各文本的相似度。
5.如权利要求1所述的方法,其特征在于,所述根据计算得到的相似度确定数据库中存储的各文本的相关文本,具体包括针对待确定相关文本的每个文本,确定与该文本的相似度大于或大于等于设定阈值的至少一个数据库中存储的文本为该文本的相关文本;或针对待确定相关文本的每个文本,根据数据库中各文本与待确定相关文本的文本的相似度大小排序,确定相似度较高的设定数量的数据库中存储的文本作为待确定相关文本的文本的相关文本。
6.如权利要求1-5任一所述的方法,其特征在于,所述根据计算得到的相似度确定数据库中存储的各文本的相关文本之前,还包括根据计算得到的每个新增文本与数据库中的每个文本的相似度,或计算得到的数据库中任意两个文本的相似度;对待确定相关文本的新增文本或数据库中存储的文本相关的相似度数据进行过滤,去除与待确定相关文本的新增文本或数据库中存储的文本相似度小于设定阈值的文本,或去除与待确定相关文本的新增文本或数据库中存储的文本相似度较低的设定数量的文本。
7.如权利要求1-5任一所述的方法,其特征在于,所述根据当前周期内收集的内容信息得到当前周期内的新增文本之前,还包括根据设定的输入过滤规则,对当前周期内收集到用户发布的内容信息进行过滤,根据过滤后内容信息得到当前周期内的新增文本。
8.如权利要求7所述的方法,其特征在于,所述根据设定的输入过滤规则,对当前周期内收集到用户发布的内容信息进行过滤,具体包括根据内容信息的质量是否符合设定的质量评估阈值和/或发布内容信息的用户是否是设定的合格用户,对所述收集到的内容信息进行过滤。
9.一种文本匹配装置,其特征在于,包括收集模块,用于周期性收集用户发布的内容信息,根据当前周期内收集的内容信息得到当前周期内的新增文本并存储到数据库中;分词模块,用于对输入的新增文本进行分词,并提取关键词;权重确定模块,用于根据预先存储的词频表计算提取的每个关键词在数据库中的各文本中的权重;词频更新模块,用于根据各个词语在数据库中的各文本中的出现频率周期性更新词频表;数据库中的文本包括当前周期存储的新增文本和之前存储的原始文本;相似度确定模块,用于根据计算得到的每个关键词在数据库中的各文本中的权重,计算每个新增文本与数据库中的各文本的相似度,或计算数据库中任意两个文本的相似度;文本比较模块,用于根据计算得到的相似度确定数据库中存储的各文本的相关文本。
10.如权利要求9所述的装置,其特征在于,所述词频更新模块,具体用于每次输入新增文本后,统计各个词语在输入的新增文本和数据库中存储的原始文本中的出现的频率,得到包含各个词语在数据库中的每个文本中的出现频率的的词频表;或每次输入新增文本后,统计各个词语在输入的每个新增文本中的出现的频率,根据统计得到的结果与词频表中存储的各个词语在数据库中的存储的原始文本中的出现频率,得到包含各个词语在数据库中的每个文本中的出现频率的的词频表。
11.如权利要求10所述的装置,其特征在于,所述权重确定模块,具体包括第一确定单元,用于根据词频表,分别确定选定关键词在数据库中每个文本中的出现次数;第二确定单元,用于确定数据库中存储的文本与包含有选定关键词的文本的数量比;权重计算单元,用于根据选定关键词在每个文本中的出现次数和所述数量比,分别计算每个关键词在每个文本中的权重。
12.如权利要求9所述的装置,其特征在于,所述相似度确定模块,具体包括向量生成单元,用于将待计算相似度的文本中的每个关键词的权重组成权重向量;相似度计算单元,用于针对每个新增文本,分别计算该新增文本的权重向量与数据库中存储的各文本的权重向量的内积,得到该新增文本与数据库中存储的各文本的相似度; 或针对数据库中存储的每个文本,分别计算该文本的权重向量与数据库中存储的各文本的权重向量的内积,得到该文本与数据库中存储的各文本的相似度。
13.如权利要求9所述的装置,其特征在于,所述文本比较模块,具体用于针对待确定相关文本的每个文本,确定与该文本的相似度大于或大于等于设定阈值的至少一个数据库中存储的文本的相关文本;或针对待确定相关文本的每个文本,根据数据库中各文本与待确定相关文本的文本的相似度大小排序,确定相似度较高的设定数量的数据库中存储的文本作为待确定相关文本的文本的相关文本。
14.如权利要求9-13任一所述的装置,其特征在于,还包括输入过滤模块,用于根据设定的输入过滤规则,对当前周期内收集到用户发布的内容信息进行过滤,根据过滤后内容信息得到当前周期内的新增文本。
15.如权利要求9-13任一所述的装置,其特征在于,还包括输出过滤模块,用于根据所述相似度确定模块计算得到的每个新增文本与数据库中的每个文本的相似度,或计算得到的数据库中任意两个文本的相似度;对待确定相关文本的新增文本或数据库中存储的文本相关的相似度数据进行过滤,去除与待确定相关文本的新增文本或数据库中存储的文本相似度小于设定阈值的文本,或去除与待确定相关文本的新增文本或数据库中存储的文本相似度较低的设定数量的文本;所述文本比较模块具体用于根据过滤后的文本确定数据库中存储的各文本的相关文本。
全文摘要
本申请公开了一种文本匹配方法及装置,该方法包括根据当前周期内收集的内容信息得到当前周期内的新增文本并存储到数据库中;对输入的新增文本进行分词并提取关键词;根据预先存储的词频表计算提取的每个关键词在数据库中的各文本中的权重;所述词频表根据各个词语在数据库中的各文本中的出现频率周期性更新;根据计算得到的每个关键词在数据库中的各文本中的权重,计算每个新增文本与数据库中的各文本的相似度,或计算数据库中任意两个文本的相似度;根据计算得到的相似度确定数据库中存储的各文本的相关文本。通过建立和更新词频表的方式避免了现有技术中每次匹配都需要对所有文本进行计算的问题,减少了匹配运算工作量,提高了系统性能。
文档编号G06F17/27GK102411583SQ20101029069
公开日2012年4月11日 申请日期2010年9月20日 优先权日2010年9月20日
发明者张旭, 祁建程, 苏宁军, 顾海杰 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1