具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
本发明实施例信息聚合方法及装置,通过确定信息量在文件中的相关信息,并根据所述相关信息计算不同信息量之间的距离,从而对文件中的不同信息量之间的距离进行量化处理,利用量化后的距离对不同的信息量进行聚合,有效地提高信息聚合的准确度。
本发明实施例信息聚合方法可以应用于终端设备或服务器,比如,终端设备监测用户的邮件或者短信息,自动实现对其中用户关注的信息的聚合。
如图1所示,是本发明实施例信息聚合方法的流程图,包括以下步骤:
步骤101,确定信息量在文件中的相关信息。
所述信息量是指用户关注的信息,例如,可以是人名、电话号码、邮箱地址,也可以是会议主题、会议地点、会议内容等等。每个信息量包括由一个或多个字符串组成,每个信息量都有它对应的相关信息。在本实施例中,该步骤可以是确定不同信息量在文件中的相关信息。也可以理解为,获取文件中用户关注的信息对应的相关相息,或是获取文件中信息量对应的相关信息。
所述文件可以是用户的邮件或者短信息,当然也可以是其它文件,对此本发明实施例不做限定。在本实施例中,文件可以是终端设备当前收到的用户的邮件或者短信息,也可以是已经存储在终端设备上的用户的邮件或者短信息,本发明实施例不做限定。
在实际应用中,可以利用句子切分技术,首先将文件中每个句子中的连续字符串切分为不同的词,然后再确定其中的每个词是否为需要关注的信息量。比如可以预先定义一些需要关注的信息量的类别,对切分后的分词进行类别标注,然后根据各词的类别确定其是否为需要关注的信息量。除此之外,还可以利用其它方式来识别文件中的信息量,比如,可以设置一些需要关注的词汇表,然后,根据这些词汇表过滤文件中的内容,找出其中需要关注的信息量。
当然,还可以有更多其它方式来识别文件中的信息量,对此本发明实施例不做限定。
在本发明实施例中,所述相关信息可以是位置信息,比如,信息量在文件中的段落位置、起始位置、结束位置。其中,所述段落位置表示所述信息量在文件中的自然段落位置,是一个常数;所述起始位置和结束位置表示所述信息量在文件中所在句子中的位置。
信息量位于文件的第一段落,则段落位置就是1,如果处于第二段落,段落位置就是2,依此类推。
比如,文件中有以下内容:“小明今天到北京出差,他的电话是12345678。”
其中需要关注的信息量有:小明、他、电话和12345678。
假设上述内容位于文件中的第n个段落,每个汉字占用两个位置空间,数字占用一个位置空间,开始的位置是1。则其中各信息量在文件中的相关信息如下:
小明(n,1,4);
他(n,21,22);
电话(n,25,28);
12345678(n,31,38)。
当然,所述相关信息还可以包括其它信息,比如,信息量的语法属性等信息。
步骤102,根据所述相关信息计算不同信息量之间的距离。
具体地,可以先根据信息量的相关信息计算该信息量的标签数值,,以获得不同信息量对应的标签数值。在本实施例中,可以理解为,由于每个信息量有一个其对应的相关信息,通过计算标签数值,从而使每个信息量可以获得其对应的标签数值,然后根据计算得到的标签数值计算不同信息量之间的距离。
下面以所述相关信息只包括位置信息,并以上述文件中的内容为例进行说明。
比如,可以定义按以下公式(1)计算信息量的标签数值:
L=段落位置*标签系数+(起始位置+结束位置)/2 (1)
其中,L表示信息量的标签数值。
在上述公式(1)中加入标签系数是为了保证计算得到的各信息量的标签数值的唯一性。在实际应用中,该标签系数可以是文件中所有段落中包含字符数最多的段落中的字符数的最大值。为了描述方便,将所述标签系数记为max_size。例如,文件中有三个自然段落,第一段落的字符数是n1,第二段落的字符数是n2,第三段落的字符数是n3,则max_size=max(n1,n2,n3)。
假如max_size的取值不是文件中所有段落中包含字符数最多的段落中的字符数的最大值,而是其他数值,例如取当前段落的字符数值,这样就不能保证标签的唯一性。
例如,有三段文字,第一段有1000个字符,第二段有500个字符,第三段有600个字符。如果max_size的取值是当前段落的数值,则会出现如下情况:
第一段中信息量的标签数值为:1*1000+(开始位置+结束位置)/2,这个标签数值的取值范围是(1000,2000),这一段的开始位置是1,结束位置是1000,它们的中间值范围是(1,1000);
第二段中信息量的标签数值为:2*500+(开始位置+结束位置)/2,这个标签数值的取值范围是(1000,1500),这一段的开始位置是1,结束位置是500,它们的中间值范围是(1,500);
按照同样的方式,第三段中信息量的标签数值的范围是(1800,2400)。
可见,第一段中信息量的标签数值范围覆盖了第二段中信息量的标签数值范围,第一段中信息量的标签数值和第三段中信息量的标签数值有重合。
当然,上述标签系数也可以是大于文件中所有段落中包含字符数最多的段落中的字符数的最大值的一个数。
根据上述公式(1),可以得到上述各信息量的标签数值如下:
L(小明)=n*max_size+5/2;
L(他)=n*max_size+43/2;
L(电话)=n*max_size+53/2;
L(12345678)=n*max_size+59/2。
在本实施例中,当要计算不同信息量之间的距离时,可以理解为:计算文件中的任意两个不同信息量之间的距离。在本实施例中,可以将两个不同信息量对应的标签数值的差值的绝对值作为这两个信息量之间的距离,即按照以下公式(2)计算不同信息量之间的距离:
d(x,y)=|L(x)-L(y)| (2)
其中,x和y表示两个不同信息量。
根据上述公式(2),可以得到上述各信息量之间的距离如下:
d(小明,他)=19;
d(小明,电话)=24;
d(小明,12345678)=27;
d(他,电话)=5;
d(他,12345678)=8;
d(电话,12345678)=3。
在本实施例中,通过上述的计算,可以获得多个距离。也可以理解为:通过上述计算过程,可以对文件中的不同信息量之间的距离进行量化,使终端设备可以准确识别不同信息量之间的距离的远近,从而为信息聚合提供准确的参考依据。
步骤103,根据计算得到的不同信息量之间的距离对不同的信息量进行聚合。
在聚合过程中,需要考虑不同信息量之间的距离,按照就近原则进行聚合。需要聚合的信息可以是不同类别且具有关联性的信息,通常是人名、电话、地址、邮箱这类信息,也可以按照用户制定的信息类别聚合。
由于不同信息量之间会存在指代关系(比如“他”和“小明”)和/或对等关系(比如“电话”和“12345678”),因此,可以先根据指代关系和/或对等关系对相关的信息量之间的距离进行修正,然后,选择一个最小的距离,将该距离对应的信息量聚合。
例如,上述得到的距离中,d(小明,12345678)=27,由于“小明”和“他”具有指代关系,而“12345678”和“电话”具有对等关系,而且d(他,电话)=5,因此,可以将d(小明,12345678)修正为5,即与d(他,电话)的值一样。这样,再将计算得到的“小明”与“12345678”的距离与计算得到的“12345678”与其它人名的距离进行比较,选择一个最小的数值来聚合,即将电话号码“12345678”与其距离最短的人名进行聚合。
上述指代关系和对等关系的判断可以根据各信息量的语法属性及距离关系来确定。在本实施例中,可以理解为,根据各信息量的语法属性可以判断不同信息量之间的指代关系或对等关系,进一步的,还可以根据各信息量的语法属性和距离关系来进一步的判断不同信息量之间的指代关系或对等关系。比如,“电话”与“12345678”是用关连词“是”连接,从而可以确定它们是对等关系。再比如,“小明”是一个人名,“他”是一个代词,而且上述文本中没有其它代词,因此可以确定它们具有指代关系。当然,如果文本中还有其它代词,则需要根据每个代词与“小明”的距离,确定距离最近的代词与“小明”具有指代关系。反之,如果文本中还有其它人名,则同样需要确定根据每个人名与代词“他”的距离,确定距离最近的人名与代词“他”具有指代关系。对于有多个人名和多个代词的情况,同样可以按照上述方式确定其中的人名与代词指代关系。
当然,如果不同信息量之间不存在指代关系和对等关系,则不需要对计算得到的不同信息量之间的距离进行修正,而是直接对计算得到的不同信息量之间的距离中最小距离对应的信息量进行聚合。
上面的举例中,不同信息量出现在文件中的一个段落中。下面进一步举例说明信息量位于不同段落中的情况下信息聚合的过程。
例如,一个文件中有以下内容:
王总明天到北京出差,他的电话是12345678。
王总将会与张总开会,会议期间不方便接听电话,有急事可以找王总他的秘书小王,他的电话是87654321,或者给王总直接发邮件或者直接发邮件给王总,他的邮件地址是:abcdomain.com。
对于上述文本,用户需要关注的信息量是人名,电话号码,电子邮件地址。
上述文本有两个段落,出现三个人,分别是王总,张总,小王。其中,王总在两段中都出现,在第二段中出现了三次;
有三个″他″,分别是:第一段出现一个“他”,第二段有两个“他”;
两个电话号码,分别是:12345678、87654321;
一个电子邮件地址,abcdomain.com。
假设汉字占两个字符位置,中文标点占两个字符位置,ASCII字符占一个字符位置。
对于上述文本内容,首先确定信息量在文件中的相关信息,具体如下:
第一段的信息量有:
王总,他,电话,12345678;
第二段的信息量有:
王总,张总,王总(第二个),小王,他(第一个他),电话,87654321,王总(第三个),他(第二个他),邮件地址,abcdomain.com。
在最新的文本中,第一段有40个字符,第二段有146个字符。
设定max_size=134。
由于信息量中有四个″王总″,三个″他″出现,为了区分出现重复的信息量,采用以下标记:段落数值_信息量_第几个,如第二段中第三个出现的王总记为:2_王总_3,其他的依此类推。
上述信息量在文件中的相关信息分别为:
1_王总_1(1,1,4);
1_他_1(1,21,22);
1_电话_1(1,25,28);
12345678(1,31,38);
2_王总_1(2,1,4);
张总(2,11,14);
2_电话_1(2,39,42);
2_王总_2(2,55,58);
小王(2,65,68);
2_他_1(2,71,72);
2_电话_2(2,75,78);
87654321(2,81,88);
2_王总_3(2,97,100);
2_他_2(2,113,114);
邮件地址(2,121,124);
abcdomain.com(2,129,132)。
然后,按照前面定义的距离计算公式计算两两信息量之间的距离,具体计算过程与前面举例中类似,在此不再一一描述。
在得到信息量之间的距离后,确定信息量之间的指代关系及对等关系。
(1)确定代词″他″的指代关系。
d(1_王总_1,1_他_1)=|(1+4)/2-(21+22)/2|=19;
d(1_他_1,2_王总_1(2,1,4))=|[134+(21+22)/2]-[2*134+(1+4)/2]|=115。
按照上述方式,同样计算这个代词与其他人名的距离。
这样就获得6个距离(因为有六个人名,重复的算出现的次数)。根据这六个距离中最小值,可以确定第一段中的″他″是指代第一段中的″王总″,也就是说,“他”和“王总”具有指代关系。
按照上述方式,同样可以确定第二段中的第一个″他″是指代″小王″,第二个″他″是指代″王总″。这样,就可以确定上述文本中的人称代词的指代关系。
(2)确定电话与号码的对等关系。
如″1_电话_1″与″12345678″,″2_电话_2″与″87654321″,″邮件地址″与″abcdomain.com″。
利用上述确定的指代关系和对等关系,可以确定:第一段中的″他″指代″王总″,″电话″就是″12345678″。对计算得到的信息量之间的距离进行修正,可以得到:d(1_王总_1,12345678)=d(1_他_1,1_电话_1)=5。
然后,再计算″12345678″与其他名字的距离,在这些距离中选择一个最小的值决定这个电话号码的归属。
在确定了指代关系和对等关系后,选择距离最小的相关信息量中的人名、电话号码及邮件地址进行聚合,最终可以得到如下的聚合结果:
王总,12345678,abcdomain.com;
小王,87654321;
张总。
在实际应用中,终端设备得到上述聚合结果后,可以将该聚合结果保存到相应的文件中,和/或展示给用户,以供用户选择等操作。
可见,本发明实施例信息聚合方法,通过确定信息量在文件中的相关信息,并根据所述相关信息计算不同信息量之间的距离,使不同信息量之间的距离都有一个具体的数值,从而对文件中的不同信息量之间的距离进行量化处理,利用量化后的距离对不同的信息量进行聚合,不仅可以利用终端设备自动实现信息的聚合,而且可以有效地提高信息聚合的准确度,进而为信息提取处理提供准确的信息源;同时,由于有效的提高了信息聚合的准确度,进而可以为用户需要关注的信息提供更准确的服务,从而可以提高用户的体验。
相应地,本发明实施例还提供一种信息聚合装置,该装置可以是终端设备或服务器等设备的一部分。所述终端设备可以是手机、PDA、平板电脑等智能终端设备。
如图2所示,是该装置的一种结构示意图。
在该实施例中,所述装置包括:
信息确定单元201,用于确定信息量在文件中的相关信息。在本实施例中,所述信息量是指用户关注的信息,例如,可以是人名、电话号码、邮箱地址,也可以是会议主题、会议地点、会议内容等等。每个信息量包括由一个或多个字符串组成,每个信息量都有它对应的相关信息。在本实施例中,信息确定单元201可以是确定不同信息量在文件中的相关信息。
所述文件可以是用户的邮件或者短信息,当然也可以是其它文件,对此本发明实施例不做限定。在本实施例中,文件可以是终端设备当前收到的用户的邮件或者短信息,也可以是已经存储在终端设备上的用户的邮件或者短信息,本发明实施例不做限定。
计算单元202,用于根据所述相关信息计算不同信息量之间的距离。在本实施例中,计算单元202可以先根据信息量的相关信息计算该信息量的标签数值,在本实施例中,可以理解为,通过计算单元202计算标签数值,从而使每个信息量可以获得其对应的标签数值,然后根据计算得到的标签数值计算不同信息量之间的距离。
聚合单元203,用于根据计算得到的不同信息量之间的距离对不同的信息量进行聚合。在本实施例中,在聚合过程中,需要考虑不同信息量之间的距离,按照就近原则进行聚合。需要聚合的信息可以是不同类别且具有关联性的信息,通常是人名、电话、地址、邮箱这类信息,也可以按照用户制定的信息类别聚合。
由于不同信息量之间会存在指代关系(比如“他”和“小明”)和/或对等关系(比如“电话”和“12345678”),因此,可以先根据指代关系和/或对等关系对相关的信息量之间的距离进行修正,然后,选择一个最小的距离,将该距离对应的信息量聚合。
上述指代关系和对等关系的判断可以根据各信息量的语法属性及距离关系来确定。在本实施例中,可以理解为,根据各信息量的语法属性可以判断不同信息量之间的指代关系或对等关系,进一步的,还可以根据各信息量的语法属性和距离关系来进一步的判断不同信息量之间的指代关系或对等关系。
在本发明实施例中,可以利用句子切分技术,先将文件中每个句子中的连续字符串切分为不同的词,然后再确定其中的每个词是否为需要关注的信息量。比如可以预先定义一些需要关注的信息量的类别,对切分后的分词进行类别标注,然后根据各词的类别确定其是否为需要关注的信息量。除此之外,还可以利用其它方式来识别文件中的信息量,比如,可以设置一些需要关注的词汇表,然后,根据这些词汇表过滤文件中的内容,找出其中需要关注的信息量。
当然,还可以有更多其它方式来识别文件中的信息量,对此本发明实施例不做限定。
所述信息确定单元201可以只对需要关注的信息量确定其在文件中的相关信息。
所述相关信息可以是位置信息,比如,段落位置、起始位置和结束位置,所述段落位置表示所述信息量在文件中的自然段落位置;所述起始位置和结束位置表示所述信息量在文件中所在句子中的位置。当然,所述相关信息还可以包括其它信息,比如,信息量的语法属性等信息。
在本发明实施例中,上述计算单元202的一种具体结构包括:第一计算子单元和第二计算子单元(未图示)。其中:
所述第一计算子单元,用于根据所述相关信息计算所述信息量的标签数值,具体可以按照上述公式(1)来计算各信息量的标签数值。在本实施例中,可以理解为,由于每个信息量有一个其对应的相关信息,因而,通过计算标签数值,从而使每个信息量可以获得其对应的标签数值。
所述第二计算子单元,用于根据所述标签数值计算不同信息量之间的距离。在本实施例中,当要计算不同信息量之间的距离时,可以理解为:计算文件中的任意两个不同信息量之间的距离。在本实施例中,可以将两个不同信息量对应的标签数值的差值的绝对值作为这两个信息量之间的距离,即按照上述公式(2)来计算不同信息量之间的距离。
上述各信息量的标签数值、以及不同信息量之间的距离的详细计算过程可参照前面本发明实施例信息聚合方法中的描述,在此不再赘述。
如图3所示,是本发明实施例中所述聚合单元的一种具体结构示意图。
在该实施例中,所述聚合单元包括:
关系确定子单元301,用于确定不同信息量之间是否有指代关系和/或对等关系;
修正子单元302,用于当所述关系确定子单元301确定不同信息量之间有指代关系和/或对等关系时,根据所述关系确定子单元确定的指代关系和/或对等关系对所述计算单元计算得到的不同信息量之间的距离进行修正;
合并子单元303,用于在所述关系确定子单元301确定不同信息量之间有指代关系和/或对等关系时,将所述修正子单元302修正后的距离中最小距离对应的信息量进行聚合。
在本实施例中,该合并子单元303进一步用于在所述关系确定子单元301确定不同信息量之间没有指代关系和/或对等关系时,将上述计算单元计算得到的不同信息量之间的距离中最小距离对应的信息量进行聚合。
上述关系确定子单元301对指代关系和对等关系的判断可以根据各信息量的语法属性及距离关系来确定。在本实施例中,可以理解为,根据各信息量的语法属性可以判断不同信息量之间的指代关系和/或对等关系,进一步的,还可以根据各信息量的语法属性和距离关系来进一步的判断不同信息量之间的指代关系和/或对等关系。具体可参照前面本发明实施例中的描述,在此不再赘述。
同样,上述修正子单元302和合并子单元303的具体处理过程也可参照前面本发明实施例中的描述,在此不再赘述。
本发明实施例信息聚合装置,通过确定信息量在文件中的相关信息,并根据所述相关信息计算不同信息量之间的距离,从而对文件中的不同信息量之间的距离进行量化处理,利用量化后的距离对不同的信息量进行聚合,有效地提高了信息聚合的准确度,进而为信息提取处理提供准确的信息源;同时,由于有效的提高了信息聚合的准确度,进而可以为用户需要关注的信息提供更准确的服务,从而可以提高用户的体验。
需要说明的是,本发明实施例信息聚合方法及装置,可以应用在终端设备上,也可以应用在服务器等设备上,不仅可以实现文本信息的聚合,而且还可以实现图像信息的聚合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。