发明内容
有鉴于此,本发明实施例提供一种领域词识别方法和装置,对领域词进行快速准确的识别。
为实现上述目的,本发明实施例提供了如下技术方案:
一种领域词识别方法,包括:
在搜索引擎中搜索待识别领域词,获取搜索结果中的子结果并记录各个子结果出现位置;
结合预先确定的领域关键词信息确定所述搜索结果的子结果中出现的领域关键词,所述领域关键词信息包括领域关键词以及该领域关键词在其所属领域的权值;
根据所述领域关键词的参数计算所述待识别领域词属于所述领域关键词对应领域的得分,所述领域关键词的参数包括所述领域关键词在各个子结果中出现的位置和出现次数;
比较在所述得分与预先确定的领域符合度阈值,根据比较结果确定所述待识别领域词属于所述领域关键词对应的领域。
可选地,所述领域关键词的参数还包括:所述领域关键词的长度。
可选地,所述领域关键词的参数还包括:所述领域关键词的权值。
根据每个领域关键词的参数计算所述待识别领域词属于所述领域关键词对应领域的得分包括:
根据如下公式计算所述待识别领域词属于所述领域关键词对应领域的得分:
其中:P为待识别领域词对应的搜索结果;Score(P)为待识别领域词属于所述领域关键词对应领域的得分;Weight(CWi)为第i个领域关键词的权值;m为所记录的子结果的个数;k为子结果中出现的领域关键词个数;wiq为搜索结果中,第i个领域关键词在q位置处的权值;fiq为第i个领域关键词在q位置处的出现次数;li为第i个领域关键词的词长;α为词长调整常数;λ为加权常数;β为调整常数,当领域关键词位于搜索结果中的相关搜索区域中时,q=-1;否则q=y,y∈1~m,y为领域关键词所在的子结果的在搜索结果正文中的具***置。
所述领域关键词信息的确定过程包括:
选择一领域中的N个领域词,在搜索引擎中对所述N个领域词进行搜索,得到N个搜索结果;
记录每个搜索结果中的子结果并记录各个子结果出现位置;
从N个搜索结果中选取M个领域关键词,根据每个领域关键词的参数计算出每个关键词属于领域关键词对应领域的权值。
当所述领域关键词的参数包括每个领域关键词在各个搜索结果中出现的位置、出现的次数以及该关键词的长度,根据所述领域关键词的参数计算出每个领域关键词属于领域关键词对应领域的权值包括:
根据如下公式计算出每个领域关键词属于其对应领域的权值:
其中:CWi为第i个领域关键词;Weight(CWi)为领域关键词CWi的权值;n为搜索结果的个数;m为记录的每个搜索结果正文中的子结果的个数;q为领域关键词所在的子结果在搜索结果中所处的位置;wijq为第i个领域关键词在第j个搜索结果中q位置处的权值;fijq为第i个领域关键词在第j个搜索结果中q位置处的出现次数;当领域关键词位于搜索结果中的相关搜索区域中时,q=-1;否则q=y,y∈1~m,y为领域关键词所在的子结果的在搜索结果正文中的具***置;li为第i个领域关键词的词长;α为调整常数;λ为加权常数;β为调整常数。
所述领域符合度阈值的确定过程包括:
根据每个领域关键词的参数统计出每个搜索结果属于领域关键词对应领域的得分;
根据统计的N个搜索结果属于领域关键词对应领域的得分确定领域关键词对应领域的领域符合度阈值。
当所述领域关键词的参数包括每个领域关键词在各个搜索结果中出现的位置、出现的次数、该领域关键词的权值以及该关键词的长度,根据所述领域关键词的参数统计出每个搜索结果属于领域关键词对应领域的得分包括:
根据如下公式计算出每个搜索结果属于领域关键词对应领域的得分:
其中,Px为第x个领域词对应的搜索结果页面;Score(Px)为第x个领域词对应的搜索结果页面的分类得分;Weight(CWi)为第i个领域关键词的权值;m为搜索结果页面中子结果的个数;k为子结果中出现的领域关键词个数;wxiq为在第x个领域词对应的搜索结果页面中,第i个领域关键词在q位置处的权值;fxip为在第x个领域词对应的搜索结果页面中第i个领域关键词在p位置处的出现次数;当领域关键词位于搜索结果中的相关搜索区域中时,q=-1;否则q=y,x∈1~m,y为领域关键词所在的子结果的在搜索结果正文中的具***置;li为第i个领域关键词的词长;α为调整常数;λ为加权常数;β为调整常数。
一种领域词识别装置,包括:
获取单元,用于在搜索引擎中搜索待识别领域词,获取搜索结果中的子结果并记录各个子结果出现位置;
分析单元,用于结合预先确定的领域关键词信息确定所述搜索结果的子结果中出现的领域关键词,所述领域关键词信息包括领域关键词以及该领域关键词在其所属领域的权值;
计算单元,用于根据所述子结果中出现的领域关键词的参数计算所述待识别领域词属于所述领域关键词对应领域的得分,所述领域关键词的参数包括所述领域关键词在各个子结果中出现的位置和出现次数;
评价单元,用于比较在所述得分与预先确定的领域符合度阈值,根据比较结果确定所述待识别领域词属于所述领域关键词对应的领域。
可选地,所述领域关键词的参数还包括:所述领域关键词的长度。
可选地,所述领域关键词的参数还包括:所述领域关键词的权值。
所述分析单元包括:
搜索子单元,用于预先选择一领域中的N个领域词,在搜索引擎中对所述N个领域词进行搜索,得到N个搜索结果;
记录子单元,用于记录每个搜索结果中的子结果并记录各个子结果出现位置;
第一计算子单元,用于从N个搜索结果中选取M个领域关键词,根据每个领域关键词的参数计算出每个关键词属于领域关键词对应领域的权值;
第一确定子单元,用于结合领域关键词确定所述搜索结果的子结果中出现的领域关键词。
所述评价单元包括:
第二计算子单元,用于根据每个领域关键词的参数统计出每个搜索结果属于领域关键词对应领域的得分;
第二确定子单元,用于根据统计的N个搜索结果属于领域关键词对应领域的得分确定领域关键词对应领域的领域符合度阈值;
第三确定子单元,用于在所述得分达到领域符合度阈值时,确定所述待识别领域词属于所述领域关键词对应的领域。
可见,在本发明实施例中,在搜索引擎中搜索待识别领域词,获取搜索结果中的子结果并记录各个子结果出现位置;结合预先确定的领域关键词信息确定所述搜索结果的子结果中出现的领域关键词,所述领域关键词信息包括领域关键词以及该领域关键词在其所属领域的权值;根据所述子结果中出现的领域关键词的权值以及所述领域关键词在各个子结果中出现的位置和次数计算所述待识别领域词属于所述领域关键词对应领域的得分;在所述得分达到预先确定的领域符合度阈值时,确定所述待识别领域词属于所述领域关键词对应的领域。本发明实施例所提供的方案以搜索引擎为基础,从搜索引擎对待识别领域词的搜索结果中确定待识别领域词可能归属领域的领域关键词,并根据预先确定的这些领域关键词的信息结合搜索结果计算出所述待识别领域词属于该领域的得分,将该得分与该领域的领域符合度阈值比较,根据比较结果确定待识别领域词是否属于该领域。本发明实施例所提供的方案利用搜索引擎本身的特点获得与待识别领域词相关度很大的语料,极大地提高了领域词识别的速度和准确度。
具体实施方式
图1为本发明一实施例所提供的一种领域词识别方法,包括:
S101,在搜索引擎中搜索待识别领域词,获取搜索结果中的子结果并记录各个子结果出现位置。
本发明实施例所提供的方法利用现有的搜索引擎对待识别领域词进行识别。
当将一个待查询内容作为搜索词键入搜索引擎,通过搜索引擎对搜索词进行搜索,可以获得与待查询内容关联性最大的信息,该信息包括:语料。因此,当我们把待识别领域词作为搜索词键入搜索引擎后,通过搜索引擎对待识别领域词进行搜索,得到的信息是与待识别领域词相关性较大的信息。
一般情况下,在对一个待识别领域词的识别过程中,无法通过待识别领域词本身确定其所属领域,但是可以通过跟与待识别领域词相关性较大的信息判断待识别领域词所属的领域。
本发明实施例所提供的方法对具体的搜索引擎不做任何限定,例如可以是***搜索引擎、百度搜索引擎或者其他搜索引擎中的任意一种。
以下为了描述上的方便,以***搜索引擎为例对本发明实施例所提供的方法进行描述。
例如,我们在***搜索引擎中输入一个待识别领域词为“尖椒肉丝”,利用***搜索引擎进行搜索后返回的结果如图2-1和2-2所示。图2-1为搜索结果中的上半部分,图2-2为搜索结果的下半部分。结合图2-1和图2-2可以知道,通过搜索引擎对待识别领域词进行搜索,得到的搜索结果内容很多,从图2-2中可以看出,该返回结果至少包括10页的内容,每页中又包括很多子条目,但是,从总体上看来,搜索结果包括两部分内容,一部分就是占每个搜索结果页面大部分内容的搜索结果正文,每个正文中包含很多的子条目,例如图2-1中的搜索结果中第一个子条目“【图文】尖椒肉丝-椒-美食”及其对应的文本内容“原料……酱油一小勺……翻炒均匀后马上放入……”。另一部分就是每一个搜索页面下方的相关搜索部分,如图2-2中相关搜索的部分的内容有“尖椒肉丝做法”、“尖椒肉丝怎么做”等等。为了描述方便,本发明实施例中将搜索结果正文中的每个子条目记为每个搜索结果的子结果。
利用所述引擎对每一个搜索词进行搜索时,无论返回的搜索结果只有一页还是有10页,所有这些内容都是这个搜索词的搜索结果。根据搜索引擎的原理,与搜索词相关性越大位置排的越靠前,为了提高处理速度,在后续的描述中本发明实施例以搜索结果中第一页的内容作为本发明实施例实施的依据,但是并不限定实际应用中利用搜索结果中的任何内容来实施本发明。
参见图2-1和2-2,通过对“尖椒肉丝”这个待识别领域词进行搜索后,得到的搜索结果第一页的搜索结果正文中有10条子结果,同时在搜索结果第一页的相关搜索中也有5个相关的子结果。在得到这些子结果后,一一记录这些子结果的内容和它们出现的位置,具体为每个子结果出现在正文中还是出现在相关搜索部分,如果出现在正文中,那么该子结果排在10个子结果中的第几,这些内容都要记录下来。
例如以上述第一条内容为例,该内容为“【图文】尖椒肉丝-椒-美食”及其对应的文本内容“原料……酱油一小勺……翻炒均匀后马上放入……”,位置为正文、第一。
S102,结合预先确定的领域关键词信息确定所述搜索结果的子结果中出现的领域关键词,所述领域关键词信息包括领域关键词以及该领域关键词在其所属领域的权值。
在通过搜索引擎对待识别领域词进行搜索,并获得搜索结果中的相关信息后,就可以结合预先确定的领域关键词信息来确定搜索结果的子结果中出现的领域关键词。
领域关键词是一领域标志性的词汇。以烹饪领域为例,该领域的领域关键词包括:菜名、做法、食谱、食品、西餐、菜谱、菜名大全等等。领域关键词信息包括领域关键词以及该领域关键词在这一领域的权值。例如,通过预先统计计算,“做法”这一领域关键词在烹饪这一领域中的权值约为1.46;“食品”这个领域关键词在烹饪这一领域中的权值约为0.04等等。
本发明实施例所提供的方法中,如果要确定一个待识别领域词是否属于A领域,那么一般需要预先确定A领域的领域关键词信息,即确定A领域的领域关键词以及该关键词在A领域中的权值。
S103、根据所述子结果中出现的领域关键词的参数计算所述待识别领域词属于所述领域关键词对应领域的得分。
本发明实施例中,领域关键词的参数是计算该待识别领域词属于所述领域关键词对应领域的关键。领域关键词的参数包括所述领域关键词在各个子结果中出现的位置和出现次数。为了区别同一个领域的领域关键词对该领域影响程度的不同,在本发明一实施例中,该领域关键词的参数还包括该领域关键词的权值。在另一实施例中,为了体现出领域关键词自身的长度对其所属领域的影响,该领域关键词的参数还包括领域关键词的长度。
领域关键词的参数的选取可以根据实际需要确定,本发明对此不做限定。
S104、在所述得分达到预先确定的领域符合度阈值时,确定所述待识别领域词属于所述领域关键词对应的领域。
本发明实施例中,待识别领域词属于领域关键词对应领域的得分是判断待识别领域词是否属于领域关键词对应的领域的依据,具体的判断过程是将待识别领域词属于A领域的得分与A领域的领域符合度阈值进行比较,如果待识别领域词的得分达到了A领域的领域符合度阈值,那么待识别领域词就属于A领域,否则就不属于A领域。
本发明实施例所提供的方法以搜索引擎为基础,从搜索引擎对待识别领域词的搜索结果中确定待识别领域词可能归属的A领域的领域关键词,并根据这些领域关键词的信息结合搜索结果计算出所述待识别领域词属于A领域的得分,将该得分与A领域的领域符合度阈值比较,根据比较结果确定待识别领域词是否属于领域A。本发明实施例所提供的方法利用搜索引擎本身的特点获得与待识别领域词相关度很大的语料,极大地提高了领域词识别的速度和准确度。
通过上面的描述可以知道,当我们需要利用搜索引擎对一个待识别词进行搜索,根据搜索结果判断一个待识别领域词是否属于A领域时,需要预先确定A领域的领域关键词信息以及A领域符合度阈值,以便结合搜索引擎搜索的结果进一步确定一个待识别领域词是否属于A领域。下面结合图3所示的实施例对本发明实施例所提供的方法进行详细描述。图3所示的实施例中,我们利用***搜索引擎的搜索结果对“尖椒肉丝”这个词进行识别,判断其是否为“烹饪”领域的领域词,该方法包括:
S301、将“尖椒肉丝”输入***搜索引擎进行搜索,取搜索结果中第一页的内容(参见图2-1和图2-2)作为本次识别的依据。
S302,获取搜索结果第一页中所有的子结果的内容、出现的区域以及出现的位置。
其中,出现的区域包括搜索结果正文部分以及搜索结果相关搜索部分。本发明实施例中,为了提高信息选取的准确性,可以对搜索结果网页进行一些处理,例如去除网页标签和一些噪声词。本发明实施例中的噪声词包括“网页快照”、“类似网页”以及网页中含有的url等等。
S303、预先确定烹饪这一领域的领域关键词以及所述领域关键词的权值。
S304、对照烹饪领域的领域关键词确定当前搜索结果第一页的子结果中出现的烹饪领域的领域关键词。
S305、根据当前搜索结果第一页的子结果中出现的烹饪领域的领域关键词在各个子结果中出现的位置、出现次数以及该领域关键词的长度计算所述待识别领域词-尖椒肉丝属于所述领域关键词对应领域-烹饪领域的得分。
本发明实施例中,领域关键词的参数包括领域关键词在各个子结果中出现的位置、出现次数以及该领域关键词的长度,可以根据式1和式2计算所述待识别领域词属于所述领域关键词对应领域的得分。
式1
式2
其中:P为待识别领域词对应的搜索结果;Score(P)为待识别领域词属于所述领域关键词对应领域的得分;Weight(CWi)为第i个领域关键词的权值;m为所记录的子结果的个数;k为子结果中出现的领域关键词个数;wiq为搜索结果中,第i个领域关键词在q位置处的权值;fiq为第i个领域关键词在q位置处的出现次数;li为第i个领域关键词的词长;α为词长调整常数;λ为加权常数;β为调整常数。
当领域关键词位于搜索结果中的相关搜索部分中时,q=-1;当领域关键词搜索结果的正文部分时,q=y,y∈1~m,y为领域关键词所在的子结果在搜索结果正文中的具***置。例如,若该领域关键词在搜索结果的正文中的子结果位于第2位,则q=2,
其中,λ为加权常数;β为调整常数,在本例中,λ可以取自然常数e,β可以取2.8。
通过式1我们可以看出,本发明实施例中,通过搜索结果页面属于一领域的得分对待识别关键词是否属于一领域进行判定,这是因为,根据搜索引擎的原理,搜索结果是与待识别领域词关系最接近的内容,能够表征待识别领域词的属性。
例如,针对烹饪领域,我们选取了2个领域关键词,分别为“做法”和“食谱”,其权值分别为:weight(做法)=0.5;Weight(食谱)=0.2。
针对待识别领域词Z,在引擎中键入Z得到页面P,总共有m=10个子结果,其中“做法”出现在位置1和2中,词频(即出现次数)分别为3和2,食谱分别出现在第1和第4个位置中,词频分别为5和6,在“相关搜索”位置上,“做法”出现7词,“食谱”出现8次,则此页面的分数的计算过程为:
第一个位置上有两个领域关键词“做法”“食谱”,得分为:
0.5*ln((10-1)/10+2.8)*3*ln(2+0.1)
+0.2*ln((10-1)/10+2.8)*5*ln(2+0.1)
第二个位置上有一个领域关键词“食谱”
得分:0.2*ln((10-2)/10+2.8)*2*ln(2+0.1)
………
在“相关搜素”位置上有两个领域关键词,得分:
将所有得分相加,并除以10,就可以得到此页面的分数。
S306、将当前搜索结果页面的得分与烹饪领域的领域符合度阈值进行比较,在所述得分达到烹饪领域的领域符合度阈值时,确定“尖椒肉丝”属于所述烹饪领域。
延续上面的例子,假设当前搜索结果页面得分为120分,而烹饪领域的领域符合度阈值为100分,则Z这个待检测领域词属于烹饪领域。
本发明实施例所提供的方法中,如果要确定一待识别领域词为A领域,则需要预先确定A领域的领域关键词信息和A领域的领域符合度阈值。本发明一实施例中,确定A领域的领域关键词信息和领域符合度阈值的过程为:对搜索引擎返回的搜索结果进行分块分析,利用统计的方法对A领域的领域关键词及其权重进行计算,结合领域关键词及其权重对搜索结果中的内容进行打分,然后统计各个搜索结果的分值分布,进而确定A领域符合度阈值,建立完整的领域词识别模型,利用A领域符合度阈值对待识别领域词进行识别。
图4为领域词识别模块的结构示意图。图5为与图4对应的识别模块建立过程的方法流程图,包括:
S501、先选择N个烹饪领域的领域词,在搜索引擎中对这N个领域词进行搜索,并得到N个搜索结果。
每个搜索结果的信息量都非常大,一般都包括多个页面,本发明实施例中,为了提高处理速度,选取N个搜索结果中的首页内容作为N个领域词的搜索结果。
从图4中可以看出,该模型的输入部分包括词列表和网络爬虫。词列表是已经确定的属于烹饪领域的领域词。本发明实施例中,从搜狗开放词条中搜集到3806个菜名(即N=3806)作为烹饪领域的领域词,将这些菜名作为搜索词通过***进行搜索。而网络爬虫为网页抓取工具,用来从3806个搜索结果中抓取每个搜索结果的首页中的内容作为本实施例中每个搜索词的搜索结果,因此得到3806个页面。
S502,记录每个领域词对应的搜索结果中所有的子结果的内容、出现的区域以及出现的位置。
在本例中,即记录3806个页面中每个页面中子结果的内容、出现区域以及出现的位置。
S503、从N个搜索结果中选取M个烹饪领域的关键词组成关键词集合。
在本例中,即从3806个页面中选取M个烹饪领域的领域关键词。该领域关键词是指3806个页面中伴随3806个领域词出现的,能体现烹饪领域特征的词。通过对3806个页面的内容进行统计,最后确定的烹饪领域的关键词包括“做法”、“菜名大全”等13个烹饪领域的领域关键词,即M=13。
S504、根据领域关键词的参数计算每个领域关键词的权值。
本发明实施例中,该领域关键词的参数包括所述领域关键词在各个子结果中出现的位置和出现次数,权值计算公式如式3和式4所示:
式3
式4
其中:CWi为第i个领域关键词;Weight(CWi)为领域关键词CWi的权值;n为搜索结果的个数;m为记录的每个搜索结果正文中的子结果的个数;q为领域关键词所在的子结果在搜索结果中所处的位置;wijq为第i个领域关键词在第j个搜索结果中q位置处的权值;fijq为第i个领域关键词在第j个搜索结果中q位置处的出现次数;当领域关键词位于搜索结果中的相关搜索区域中时,q=-1;否则q=y,y∈1~m,y为领域关键词所在的子结果的在搜索结果正文中的具***置;li为第i个领域关键词的词长;α为调整常数;λ为加权常数;β为调整常数。
式3和式4为本发明实施例所提供的一种权值计算公式,在其他实施例中可以根据该领域关键词的参数确定其他的权值计算公式,本发明对该权值计算公式的具体形式不做限定。
在计算领域关键词的权值时,本发明实施例考虑到了领域关键词出现的位置对于其权值的影响。领域关键词在搜索结果中可能出现在两个区域,一个是在搜索结果正文部分,一个是在“相关搜索”部分。
式4是第i个领域关键词在第j个搜索结果中q位置处的权值(为受位置因素影响的领域关键词的权值,需要与整个领域关键词的权值有所区分),考虑领域关键词在第j个搜索结果中的具***置,q取不同的值。当领域关键词在第j个搜索结果的相关搜索部分时,q=-1;当领域关键词在第j个搜索结果的正文部分时,q取该领域关键词在第j个搜索结果的正文中的子结果的具***置,例如,若该领域关键词在第j个搜索结果的正文中的子结果位于第2位,则q=2。
根据搜索引擎排序的原理,排序越往后的,跟搜索项的相关性越小。因此,在本例中,领域关键词在搜索结果中出现的位置越靠前,其重要性越强,因此权值也应该最大。而且,这种重要性不是线性变化的,本例中选用ln((m-q)/m)+β)这个函数关系来表示。其变化曲线很好地体现了重要性的变化。例如,当搜索结果中有10子结果时(m=10),排在第一个位置的权值(这里的权值是指由位置影响的位置权值,不是整个关键词的权值)就是ln((10-1)/10)=ln(0.9+β),排在第二位的权值就是ln((10-2)/10)=ln(0.8+β)。本例中,β=2.8,使函数曲线取到(2.8~3.7)横轴区间,如图6所示,这段曲线更好地拟合了位置重要性的变化规律。
由于相关搜索是大量用户输入的统计结果,因此“相关搜索”位置上出现的关键词,跟搜索词的相关性更大。而且跟关键词在此位置的词频密切相关。当关键词出现在“相关搜索”位置时,我们利用指数函数来模拟其重要性和此位置的词频的关系。用指数函数来体现在此位置上跟前面列表位置的重要性的不同,并以此位置的词频的平方根作为指数来进一步加强其重要性,因此我们选取了
来表示,参见图7,本例中,取λ=e。
S505、根据每个领域关键词的参数为每个领域词对应的搜索结果页面打分。
本发明实施例中,所述领域关键词的参数包括所述领域关键词在各个子结果中出现的位置、出现次数、该领域关键词的权值以及领域关键词的长度,可以按照式5和式6为每个领域词对应的搜索结果页面打分,
式5
式6
其中,Px为第x个领域词对应的搜索结果页面;Score(Px)为第x个领域词对应的搜索结果页面的分类得分;Weight(CWi)为第i个领域关键词的权值;m为搜索结果页面中子结果的个数;k为子结果中出现的领域关键词个数;wxiq为在第x个领域词对应的搜索结果页面中,第i个领域关键词在q位置处的权值;fxip为在第x个领域词对应的搜索结果页面中第i个领域关键词在p位置处的出现次数;当领域关键词位于搜索结果中的相关搜索区域中时,q=-1;否则q=y,x∈1~m,y为领域关键词所在的子结果的在搜索结果正文中的具***置;li为第i个领域关键词的词长;α为调整常数;λ为加权常数;β为调整常数。
式5和式6为本发明实施例所提供的一种分数计算公式,在其他实施例中可以根据该领域关键词的参数确定其他的分数计算公式,本发明对该分数计算公式的具体形式不做限定。
本例中,在烹饪领域选取了3806个领域词,选取了13个领域关键词,那么在步骤504中根据权值计算公式计算出这13个领域关键词的权值之后,利用这13个领域关键词的权值,根据式5和式6对3806个网页进行打分。
S506、综合每个领域词对应的搜索结果页面的得分确定所述领域词对应领域的领域符合度阈值。
领域符合度阈值根据所统计的领域词对应的搜索结果页面的得分具体确定。本例中,3806个领域词是对应烹饪领域的。例如通过步骤S505对3806个网页进行打分后,经过对3806个网页的得分进行统计,发现3806个页面中99.8%的页面得分大于等于100,那么100分即为烹饪领域的领域符合度阈值。
结合图4可以看出,该领域词识别模块的输出包括两部分,一部分为该领域词识别模块所对应的领域关键词及该领域关键词的权值,另一部分则为该识别模块确定的领域符合度阈值。
根据本发明实施例所提供的方法建立的识别模块在成型后就能够对任何一个待识别领域词进行识别,判断待识别领域词是否属于该识别模块中的领域关键词所对应的领域。
通过本发明实施例所提供的方法可以知道,需要对任意一个领域,如领域X的领域词进行识别时,都可以首先利用图5所示的方法建立该领域的识别模块,确定在该识别模块建立后就可以利用该识别模块对任何一个待识别领域词进行识别,看看该待识别领域词是否属于该识别模块所对应的领域。
将本发明实施例所提供的方法与现有的领域词识别方法进行比较我们可以发现,现有的领域词识别过程中,只考虑了在给定的一些文本中识别出领域词,这种方法对于所给定的文本本身类别的判断依赖性非常强,比如:如果一篇文本中是属于“科技类”的,那么从中抽取出的领域词都会被归为“科技类”;但是,在抽取的领域词中,也会有其他类别的领域词,因为在科技类文本中会提到其他领域的领域词。相较于现有技术文本选择,本发明实施例是利用搜索引擎对待识别的领域词进行搜索来获取对待识别领域词进行识别的语料。相较于现有技术,本发明实施例所提供的方法在识别语料的获取方面更加广泛,针对性也更强。
此外,现有的领域词识别方法中,领域词的准确性无法通过大量的统计来确认。例如,有些领域词只是从几篇文本甚至是一篇文本中抽取出来的,其属于此领域的准确性不能保证;而本发明实施例所提供的领域词识别方法中的领域词是以搜索引擎为基础,从大量的搜索结果中筛选出来的,所以本发明实施例所提供的方法中确定的领域词具有较高的准确性。
现有的领域词识别方法利用统计知识和语法知识进行的领域词抽取,加大了领域词识别的复杂性。目前的方法利用了一些统计模型和语法规则,这些方法的利用反而增加了识别的复杂性,对于领域词识别的准确性的提高却没有太大帮助,使用性较差。而本发明实施例所提供的方法借助搜索引擎获得与待识别领域词相关的语料,结合语料中的通过预先通过统计确定的领域关键词以及领域关键词的参数对待识别领域词进行识别,在提高识别准确性的同时提高了领域词识别的适用性和实用性。
参见图8,本发明一实施例还提供一种领域词识别装置,包括:
获取单元801,用于在搜索引擎中搜索待识别领域词,获取搜索结果中的子结果并记录各个子结果出现位置;
分析单元802,用于结合预先确定的领域关键词信息确定所述搜索结果的子结果中出现的领域关键词,所述领域关键词信息包括领域关键词以及该领域关键词在其所属领域的权值;
本发明实施例中,权值计算公式可以参照式3和式4,此处不再赘述。
计算单元803,用于根据所述子结果中出现的领域关键词的权值以及所述领域关键词在各个子结果中出现的位置和次数计算所述待识别领域词属于所述领域关键词对应领域的得分;
待识别领域词属于所述领域关键词对应领域的得分的计算公式可以参见式1和式2,此处不再赘述。
评价单元804,用于在所述得分达到预先确定的领域符合度阈值时,确定所述待识别领域词属于所述领域关键词对应的领域。
参见图9,所述分析单元802包括:
搜索子单元901,用于预先选择一领域中的N个领域词,在搜索引擎中对所述N个领域词进行搜索,得到N个搜索结果;
记录子单元902,用于记录每个搜索结果中的子结果并记录各个子结果出现位置;
第一计算子单元903,用于从N个搜索结果中选取M个领域关键词,根据每个领域关键词在各个搜索结果中出现的位置、出现的次数以及该领域关键词的长度计算出每个关键词属于领域关键词对应领域的权值;
各个领域关键词对应领域的权值的计算公式可以参见式3和式4,此处不再赘述。
第一确定子单元904,用于结合领域关键词确定所述搜索结果的子结果中出现的领域关键词。
参见图10,所述评价单元804包括:
第二计算子单元1001,用于根据每个领域关键词的权值、每个领域关键词在每个搜索结果中出现的位置和出现次数统计出每个搜索结果属于领域关键词对应领域的得分;
每个搜索结果属于领域关键词对应领域的得分的计算公式可以参见式5和式6,此处不再赘述。
第二确定子单元1002,用于根据统计的N个搜索结果属于领域关键词对应领域的得分确定领域关键词对应领域的领域符合度阈值;
第三确定子单元1003,用于在所述得分达到领域关键词对应领域的领域符合度阈值时,确定所述待识别领域词属于所述领域关键词对应的领域。
本发明实施例所提供的装置以搜索引擎为基础,从搜索引擎对待识别领域词的搜索结果中确定待识别领域词可能归属领域的领域关键词,并根据预先确定的这些领域关键词的信息结合搜索结果计算出所述待识别领域词属于该领域的得分,将该得分与该领域的领域符合度阈值比较,根据比较结果确定待识别领域词是否属于该领域。本发明实施例所提供的装置利用搜索引擎本身的特点获得与待识别领域词相关度很大的语料,极大地提高了领域词识别的速度和准确度。
为了验证本发明实施例所提供的方法的准确性,在本发明一实施例中,利用已有的8,323,460个汉语词条(包括单字词和部分短句)进行了实验,从Google上抓取了搜索结果的首页,预先确定的权值信息、阈值和分数计算公式对8,323,460个网页进行了测试,并经过后处理得到菜名词语15,372个。对15372个词条随机抽取5%进行准确率的统计,统计结果如表1所示:
表1
|
随机抽取词数 |
正确数 |
准确率 |
第一次 |
768 |
750 |
0.9765625 |
第二次 |
768 |
742 |
0.9661458 |
第三次 |
768 |
749 |
0.9752604 |
第四次 |
768 |
747 |
0.9726563 |
平均值 |
768 |
747 |
0.9726563 |
从表1中可以看出,本发明实施例所提供的方法经过试验验证,平均正确率达到97%以上。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。