【发明内容】
基于此,有必要提供一种网络搜索中的纠错关系生成方法,其能降低对现有的纠错系统的依赖性。
此外,还有必要提供一种能降低对现有的纠错系统的依赖性的网络搜索中的纠错关系生成系统。
一种网络搜索中的纠错关系生成方法,包括如下步骤:
获取搜索结果访问日志,所述搜索结果访问日志包括用户输入的查询串与根据所述查询串得到的搜索结果中被访问的网络地址的对应关系;
获取用户输入的第一查询串;
在搜索结果访问日志的对应关系中查找第二查询串,所述第二查询串对应的网络地址与所述第一查询串对应的网络地址至少有一个相同;
计算所述第一查询串与第二查询串之间的关联度;
判断所述关联度是否大于阈值,若是,则建立所述第一查询串指向第二查询串的纠错关系。
优选地,所述在搜索结果访问日志的对应关系中查找第二查询串的步骤为:
根据所述第一查询串在所述搜索结果访问日志中查找与第一查询串对应的第一网络地址;
根据所述第一网络地址从所述搜索结果访问日志的对应关系中查找第二查询串,所述第二查询串对应的网络地址与所述第一网络地址至少有一个相同。
优选地,所述计算所述第一查询串与第二查询串之间的关联度的步骤为:
从搜索结果访问日志中统计第一查询串对应的第一网络地址点击次数以及第一查询串对应的所有网络地址点击次数,并计算第一查询串中第一网络地址的点击概率;
从所述搜索结果访问日志中统计第二查询串对应的第一网络地址点击次数以及所述第一网络地址对应的总点击次数,并计算第一网络地址与第二查询串相关的概率;
根据所述第一查询串中第一网络地址的点击概率和第一网络地址与第二查询串相关的概率得到所述第一查询串与第二查询串之间的关联度。
优选地,所述建立所述第一查询串指向第二查询串的纠错关系的步骤之后还包括:
通过所述搜索结果访问日志统计第一查询串的查询次数以及所述第一查询串对应的所有网络地址点击次数得到第一查询串的活跃度,并统计第二查询串的查询次数以及第二查询串对应的所有网络地址点击次数,得到第二查询串的活跃度;
判断所述第二查询串的活跃度是否大于所述第一查询串的活跃度,若否,则清除所述第一查询串指向第二查询串的纠错关系。
优选地,所述建立所述第一查询串指向第二查询串的纠错关系的步骤之后还包括:
根据字形和/或拼音判断所述第一查询串与第二查询串是否相似,若否,则清除所述第一查询串指向第二查询串的纠错关系。
优选地,所述建立所述第一查询串指向第二查询串的纠错关系的步骤之后还包括:
分别对所述第一查询串和第二查询串进行分词,并对分词后的第一查询串和第二查询串进行词性标注;
比对所述词性标注后的第一查询串和第二查询串得到所述第一查询串和第二查询串之间的差异词;
判断所述差异词是否为助词或数字,若是,则清除所述第一查询串指向第二查询串的纠错关系。
优选地,所述建立所述第一查询串指向第二查询串的纠错关系的步骤之后还包括:
判断纠错关系中是否存在第二查询串指向第一查询串的纠错关系,若是,则清除所述第一查询串指向第二查询串的纠错关系。
一种网络搜索中的纠错关系生成系统,包括:
获取模块,用于获取搜索结果访问日志,所述搜索结果访问日志包括用户输入的查询串与根据所述查询串得到的搜索结果中被访问的网络地址的对应关系;
所述获取模块还用于获取用户输入的第一查询串;
查找模块,用于在搜索结果访问日志的对应关系中查找第二查询串,所述第二查询串对应的网络地址与所述第一查询串对应的网络地址至少有一个相同;
关联度计算模块,用于计算所述第一查询串与第二查询串之间的关联度;
关联度判断模块,用于判断所述关联度是否大于阈值,若是,则建立所述第一查询串指向第二查询串的纠错关系。
优选地,所述查找模块包括:
地址查找单元,用于根据所述第一查询串在所述搜索结果访问日志中查找第一查询串对应的第一网络地址;
查询串查找单元,用于根据所述第一网络地址从所述搜索结果访问日志的对应关系中查找第二查询串,所述第二查询串对应的网络地址与所述第一网络地址至少有一个相同。
优选地,所述关联度计算模块包括:
第一概率计算单元,用于从搜索结果访问日志中统计第一查询串对应的第一网络地址点击次数以及第一查询串对应的所有网络地址点击次数,并计算第一查询串中第一网络地址的点击概率;
第二概率计算单元,用于从所述搜索结果访问日志中统计第二查询串对应的第一网络地址点击次数以及所述第一网络地址对应的总点击次数,并计算第一网络地址与第二查询串相关的概率;
求积单元,用于根据所述第一查询串中第一网络地址的点击概率和第一网络地址与第二查询串相关的概率得到所述第一查询串与第二查询串之间的关联度。
优选地,还包括:
活跃度统计模块,用于通过所述搜索结果访问日志统计第一查询串的查询次数以及所述第一查询串对应的所有网络地址点击次数,得到第一查询串的活跃度,并统计第二查询串的查询次数以及第二查询串对应的所有网络地址点击次数,得到第二查询串的活跃度;
活跃度判断模块,用于判断所述第二查询串的活跃度是否大于所述第一查询串的活跃度,若否,则清除所述第一查询串指向第二查询串的纠错关系。
优选地,还包括:
相似性判断模块,用于根据字形和/或拼音判断所述第一查询串与第二查询串是否相似,若否,则清除所述第一查询串指向第二查询串的纠错关系。
优选地,还包括:
分词模块,用于分别对所述第一查询串和第二查询串进行分词,并对分词后的第一查询串和第二查询串进行词性标注;
比对模块,用于比对所述词性标注后的第一查询串和第二查询串得到所述第一查询串和第二查询串之间的差异词,判断所述差异词是否为助词或数字,若是,则消除所述第一查询串指向第二查询串的纠错关系。
优选地,还包括:
指向判断模块,用于判断纠错关系中是否存在第二查询串指向第一查询串的纠错关系,若是,则清除所述第一查询串指向第二查询串的纠错关系。
上述网络搜索中的纠错关系生成方法及系统中,在用户输入了第一查询串后,通过搜索结果访问日志查找得到第二查询串,该第二查询串所对应的网络地址与第一查询串对应的网络地址相同,进而建立第一查询串指向第二查询串的纠错关系,只需要搜索结果访问日志即可生成纠错关系,降低了对现有的纠错系统的依赖性,拓宽了适用面,使得用户的信息输入过程更加灵活和准确。
【具体实施方式】
图1示出了一个实施例中网络搜索中的纠错关系生成的方法流程,包括如下步骤:
步骤S110,获取搜索结果访问日志。
本实施例中,搜索结果访问日志包括用户输入的查询串与根据查询串得到的搜索结果中被访问的网络地址的对应关系。用户的所有信息输入过程以及对各种搜索结果的点击行为均会存储到搜索结果访问日志中,通过搜索结果访问日志可查看用户在搜索、查询等操作中所触发的点击行为以及对搜索结果中网络地址的访问行为,并且将查询串与用户访问的网络地址建立对应关系。
例如,用户通过搜索引擎的输入框输入了第一查询串,并点击“搜索”按钮进行第一查询串的搜索,搜索结果访问日志将存储用户对第一查询串所进行的点击搜索行为,即,在由第一查询串所得到的搜索结果中,用户对任一搜索结果网络地址的点击均被存储于搜索结果访问日志中,并与查询串建立对应关系,系统通过这一对应关系可以查找到每一查询串所对应的网络地址,也可以查找到网络地址所对应的各个查询串。
步骤S120,获取用户输入的第一查询串。
本实施例中,为了进行网络信息的搜索,用户在输入框中输入与网络信息相关的第一查询串,触发了关于第一查询串的网络搜索,此时获取这一第一查询串,以通过后续处理过程对第一查询串纠错。
步骤S130,在搜索结果访问日志的对应关系中查找第二查询串,该第二查询串对应的网络地址与第一查询串对应的网络地址至少有一个相同。
本实施例中,在搜索结果访问日志中,对于两个不同的查询串所进行的不同搜索,用户在这两次搜索过程中均访问了同一个搜索结果的网络地址,则说明这两个查询串之间是存在着一定联系的。用户在搜索过程中的点击行为是多种多样的,因此在搜索结果访问日志的对应关系中,第一查询串对应了多个网络地址,第二查询串也对应用了多个网络地址。为了从对应关系中查找出与第一查询串存在一定联系的第二查询串,第二查询串所对应的多个网络地址中应当存在至少一个网络地址与第一查询串对应的网络地址相同,即可通过对应关系中第一查询串对应的一个网络地址查找出同样也对应了这一网络地址的第二查询串,也可以在对应关系中第一查询串对应的多个网络地址进行查找得到第二查询串,该第二查询串也对应了多个与第一查询串所对应的多个网络地址相同的网络地址。
例如,如图2所示,用户在搜索引擎的输入框中输入了“生于忧患死于安乐翻”的查询串,点击“搜索”按键后产生了多个搜索结果的网络地址,此时,用户访问了搜索结果的网络地址10;当用户在搜索引擎的输入框中输入了“生于忧患死于安乐翻译”的查询串时,点击“搜索”按键后产生的多个搜索结果的网络地址中,用户也对搜索结果的网络地址10进行了访问操作,由此可见,“生于忧患死于安乐翻”的查询串与“生于忧患死于安乐翻译”的查询串之间是存在着联系的。通过搜索结果访问日志查找被访问的网络地址相同两个对应关系,进而通过存在相同网络地址的两个对应关系得到存在着联系的两个查询串。
在一个具体的实施例中,如图3所示,步骤S130的具体过程为:
步骤S131,根据第一查询串在搜索结果访问日志中查找第一查询串对应的第一网络地址。
本实施例中,根据用户在输入框中输入的第一查询串对搜索结果访问日志中的访问行为进行查找,以得到搜索结果访问日志中第一查询串的搜索过程中被点击访问的网络地址,将这一被点击的网络地址作为第一网络地址,第一网络地址可能是一个或者多个网络地址。
步骤S133,根据第一网络地址从搜索结果访问日志的对应关系中查找第二查询串,第二查询串对应的网络地址与第一网络地址至少有一个相同。
本实施例中,根据由第一查询串查找到的第一网络地址,再次查询搜索结果访问日志中的对应关系,以查找到网络地址与第一网络地址相同的其它查询串,这些查询串即为第二查询串。第一网络地址根据实际需要可以是一个网络地址,也可以是多个网络地址。
步骤S150,计算第一查询串和第二查询串之间的关联度。
本实施例中,第一查询串和第二查询串之间的关联度表征了第一查询串与第二查询串之间关联关系的强弱程度,关联度越高,则第一查询串和第二查询串之间的联系就越紧密,对用户输入信息所实现的纠错也就越精确。
在一个具体的实施例中,如图4所示,步骤S150的具体过程为:
步骤S151,从搜索结果访问日志中统计第一查询串对应的第一网络地址点击次数以及第一查询串对应的所有网络地址点击次数,并计算第一查询串中第一网络地址的点击概率。
本实施例中,统计搜索结果访问日志中查询串为第一查询串的搜索过程中第一网络地址被用户点击的点击次数以及查询串为第一查询串的搜索过程中生成的所有网络地址的点击次数,进而通过如下公式计算得到第一查询串中第一网络地址的点击概率:
其中,#(q->url)为第一查询串对应的第一网络地址点击次数,
为第一查询串对应的所有网络地址点击次数。
步骤S153,从搜索结果访问日志中统计第二查询串对应的第一网络地址点击次数以及第一网络地址对应的总点击次数,并计算第一网络地址与第二查询地址相关的概率。
本实施例中,统计搜索结果访问日志中查询串为第二查询串搜索过程中第一网络地址对应的点击次数以及在所有的搜索过程中涉及第一网络地址的总点击次数,进而通过如下公式计算出被点击的第一网络地址与第二查询串相关的概率:
其中,#(url->q)为第二查询串对应的第一网络地址点击次数,
为第一网络地址对应的总点击次数。
步骤S155,根据第一查询串中第一网络地址的点击概率和第一网络地址与第二查询串相关的概率得到第一查询串与第二查询串之间的关联度。
本实施例中,通过第一网络地址建立查询串之间的关联关系,进而根据第一查询串中第一网络地址的点击概率和第一网络地址与第二查询串相关的概率之积计算得到这两个查询串之间的关联度,具体的关联度计算过程可通过如下公式进行:
其中,P(urli|q1)为第一查询串中某一个第一网络地址的点击概率,P(q2|urli)为某一第一网络地址与第二查询串相关的概率,P(urli|q1)和P(q2|urli)中所涉及的第一网络地址为同一网络地址。
步骤S170,判断关联度是否大于阈值,若是,则进入步骤S190,若否,则结束。
本实施例中,根据预先设定的阈值判断关联度是否大阈值,以选取关联关系较强的两个查询串。
步骤S190,建立第一查询串指向第二查询串的纠错关系。
本实施例中,第一查询串指向第二查询串的纠错关系为第一查询串到第二查询串的单向映射关系。例如,在输入框中,用户输入“生于忧患死于安乐翻”的查询串时,由于存在纠错关系,则在输入框的下拉提示列表中显示“生于忧患死于安乐翻译”的查询串,以提示用户输入的查询串可能有误,以方便用户选择输入正确的查询串。
在另一个实施例中,上述网络搜索中的纠错关系生成方法中,在得到第一查询串指向第二查询串的纠错关系之后,为保证纠错关系的准确性,还需要引入查询串之间纠错关系的特征来选取各种查询串之间的纠错关系。查询串之间纠错关系的特征包括查询串的活跃度,查询串的活跃度表明了该查询串被用户使用的频率,活跃度高则说明有非常多的用户通过这一查询串进行搜索等操作。
如图5所示,建立第一查询串指向第二查询串的纠错关系的步骤之后还包括:
步骤S501,通过搜索结果访问日志统计第一查询串的查询次数以及第一查询串对应的所有网络地址点击次数,得到第一查询串的活跃度,并统计第二查询串对应的查询次数以及第二查询串的所有网络地址点击次数,得到第二查询串的活跃度。
本实施例中,第一查询串的查询次数指的采用第一查询串进行搜索的次数,第一查询串对应的所有网络地址点击次数与第一查询串对应的查询次数得到第一查询串的活跃度,进而通过搜索结果访问日志统计第二查询串的活跃度。
步骤S503,判断第二查询串的活跃度是否大于第一查询串的活跃度,若否,则进入步骤S505,若是,则结束。
本实施例中,在纠错关系中,由于用户输入的第一查询串是发生了错误的查询串,因此第二查询串的活跃度应当是大于第一查询串的活跃度的,即第二查询串的查询次数大于第一查询串的查询次数,第二查询串的所有网络地址点击次数大于第一查询串的所有网络地址点击次数。
步骤S505,清除第一查询串指向第二查询串的纠错关系。
本实施例中,若第二查询串的活跃度并没有大于第一查询串的活跃度,则说明第一查询串和第二查询串之间的纠错关系并不是正确的纠错关系,需要将这一纠错关系清除。
在另一个实施例中,上述网络搜索中的纠错关系生成方法查询串之间纠错关系的特征还包括了字形和/或拼音的相似性。上述建立第一查询串指向第二查询串的纠错关系的步骤之后还包括:根据字形和/拼音判断第一查询串与第二查询串是否相似,若否,则清除第一查询串指向第二查询串的纠错关系,若是,则结束。
本实施例中,在正确的纠错关系中,第一查询串与第二查询串应当是比较相似的,因此,可根据两个查询串之间字形或者拼音的相似性来选取出正确的纠错关系。
具体地,在通过字形的相似性选取纠错关系时,可计算第一查询串和第二查询串之间的编辑距离或者相似度,进而根据计算得到的编辑距离或者相似度判断第一查询串和第二查询串之间是否相似。编辑距离可以是通过增、删的方式将这两个查询串变为相同的查询串的最小操作次数。
例如,若第一查询串为“多万dnf”,第二查询串为“多玩dnf”,则对第一查询串和第二查询串是相似的,这是一正确的纠错关系,不需要清除;若第一查询串为“手机乐”,第二查询串为“手机乐园”,则这一第一查询串和第二查询串也是相似的。
在通过拼音的相似性选取纠错关系时,首先对第一查询串和第二查询串进行注意,然后再计算第一查询串和第二查询串对应的拼音之前的编辑距离或者相似度,如果编辑距离大于设定的距离阈值,则认为第一查询串和第二查询串之间的纠错关系是不正确的,如果相似度大于设定的相似阈值,则认为第一查询串和第二查询串之间的纠错关系是正确的。
例如,若第一查询串为“和萧山谷底”,第二查询串为“鹤啸山谷地”,则这一纠错关系的拼音是相似的,因此这一纠错关系是正确的;若第一查询串为“guojizuqiu”,第二查询串为“国际足球”则这一纠错关系的拼音也是相似的。
在另一个实施例中,上述网络搜索中的纠错关系生成方法对第一查询串指向第二查询串之间的纠错关系还通过设定的过滤规则进行筛选,如图6所示,对于第一查询串指向第二查询串的纠错关系的筛选还包括如下步骤:
步骤S601,分别对第一查询串和第二查询串进行分词,并对分词后的第一查询串和第二查询串进行词性标注。
本实施例中,可通过各种分词运算分别对第一查询串和第二查询串进行分词处理,进而对分词后的第一查询串和第二查询串进行词性标注。
步骤S603,比对词性标注后的第一查询串和第二查询串得到第一查询串和第二查询串之间的差异词。
步骤S605,判断差异词是否为助词或数字,若是,则进入步骤S607,若否,则结束。
本实施例中,若第一查询串为“非城勿扰第1期”,第二查询串为“非城勿扰第2期”,则差异词为数字,说明第一查询串和第二查询串之间是不正确的纠错关系,需要将其清除。若第一查询串为“月份的英文”,第二查询串为“月份英文”则差异词为助词,需要消除这一纠错关系。
步骤S607,清除第一查询串指向第二查询串的纠错关系。
在另一个实施例中,各种查询串之间的纠错关系的过滤规则还包括了查询串之问的纠错关系是单向的,对于第一查询串指向第二查询串的纠错关系的筛选还包括:判断纠错关系中是否存在第二查询串指向第一查询串的纠错关系,若是,则清除第一查询串指向第二查询串的纠错关系,若否,则结束。
本实施例中,由于纠错关系中第一查询串为发生了错误的查询串,而第二查询串应当为第一查询串的正确输入,因此,若纠错关系中存在了第二查询串指向第一查询串的纠错关系,则说明第一查询串和第二查询串之间的关系可能只是同义词,并不是能用户的错误输入所进行的纠正,需要将这一纠错关系删除。
例如,第一查询串为“成都王府井电影城”,第二查询串为“成都王府井电影院”,这也存在着第二查询串指向第一查询串的纠错关系,第一查询串和第二查询串是一对同义词,因此,清除这一纠错关系。
图7示出了一个实施例的网络搜索中的纠错关系生成系统,包括获取模块10、查找模块20、关联度计算模块30以及关联度判断模块40。
获取模块10,用于获取搜索结果访问日志。
本实施例中,搜索结果访问日志包括用户输入的查询串与根据该查询串得到的搜索结果中被访问的网络地址的对应关系。用户的所有信息输入过程以及对各种搜索结果的点击行为均会存储到搜索结果访问日志中,通过搜索结果访问日志可查看用户在搜索、查询等操作中所触发的点击行为以及对搜索结果中网络地址的访问行为,并且将查询串与用户访问的网络地址建立对应关系。
例如,用户通过搜索引擎的输入框输入了第一查询串,并点击“搜索”按钮进行第一查询串的搜索,搜索结果访问日志将存储用户对第一查询串所进行的点击搜索行为,即,在由第一查询串所得到的搜索结果中,用户对任一搜索结果网络地址的点击均被存储于搜索结果访问日志中,并与查询串建立对应关系,系统通过这一对应关系可以查找到每一查询串所对应的网络地址,也可以查找到网络地址所对应的各个查询串。
获取模块10还用于获取用户输入的第一查询串。
本实施例中,为了进行网络信息的搜索,用户在输入框中输入与网络信息相关的第一查询串,触发了关于第一查询串的网络搜索,此时获取模块10获取这一第一查询串,以通过后续处理过程对第一查询串纠错。
查找模块20,用于在搜索结果访问日志的对应关系中查找第二查询串,第二查询串对应的网络地址与第一查询串对应的网络地址至少有一个相同。
本实施例中,在搜索结果访问日志中,对于两个不同的查询串所进行的不同搜索,用户在这两次搜索过程中均访问了同一个搜索结果的网络地址,则说明这两个查询串之间是存在着一定联系的。用户在搜索过程中的点击行为是多种多样的,因此在搜索结果访问日志的对应关系中,第一查询串对应了多个网络地址,第二查询串也对应用了多个网络地址。为了从对应关系中查找出与第一查询串存在一定联系的第二查询串,第二查询串所对应的多个网络地址中应当存在至少一个网络地址与第一查询串对应的网络地址相同,即可通过对应关系中第一查询串对应的一个网络地址查找出同样也对应了这一网络地址的第二查询串,也可以在对应关系中第一查询串对应的多个网络地址进行查找得到第二查询串,该第二查询串也对应了多个与第一查询串所对应的多个网络地址相同的网络地址。
例如,如图2所示,用户在搜索引擎的输入框中输入了“生于忧患死于安乐翻”的查询串,点击“搜索”按键后产生了多个搜索结果的网络地址,此时,用户访问了搜索结果的网络地址10;当用户在搜索引擎的输入框中输入了“生于忧患死于安乐翻译”的查询串时,点击“搜索”按键后产生的多个搜索结果的网络地址中,用户也对搜索结果的网络地址10进行了访问操作,由此可见,“生于忧患死于安乐翻”的查询串与“生于忧患死于安乐翻译”的查询串之间是存在着联系的。查找模块20通过搜索结果访问日志查找被访问的网络地址相同两个对应关系,进而通过存在相同网络地址的两个对应关系得到存在着联系的两个查询串。
在一个具体的实施例中,如图8所示,查找模块20包括了地址查找单元210以及查询串查找单元230。
地址查找单元210,用于根据第一查询串在搜索结果访问日志中查找第一查询串对应的第一网络地址。
本实施例中,地址查找单元210根据用户在输入框中输入的第一查询串对搜索结果访问日志中的访问行为进行查找,以得到搜索结果访问日志中第一查询串的搜索过程中被点击访问的网络地址,将这一被点击的网络地址作为第一网络地址,第一网络地址可能是一个或者多个网络地址。
查询串查找单元230,用于根据第一网络地址从搜索结果访问日志的对应关系中查找第二查询串,该第二查询串对应的网络地址与第一网络地址至少有一个相同。
本实施例中,查询串查找单元230根据由第一查询串查找到的第一网络地址,再次查询搜索结果访问日志中的对应关系查询,以查找到网络地址与第一网络地址相同的其它查询串,这些查询串即为第二查询串。第一网络地址根据实际需要可以是一个网络地址,也可以是多个网络地址。
关联度计算模块30,用于计算第一查询串与第二查询串之间的关联度。
本实施例中,第一查询串和第二查询串之间的关联度表征了第一查询串与第二查询串之间关联关系的强弱程度,关联度越高,则第一查询串和第二查询串之间的联系就越紧密,对用户输入信息所实现的纠错也就越精确。
在一个具体的实施例中,如图9所示,关联度计算模块30包括第一概率计算单元310、第二概率计算单元330以及求积单元350。
第一概率计算单元310,用于从搜索结果访问日志中统计第一查询串对应的第一网络地址点击次数以及第一查询串对应的所有网络地址点击次数,并计算第一查询串中第一网络地址的点击概率。
本实施例中,第一概率计算单元310统计搜索结果访问日志中查询串为第一查询串的搜索过程中第一网络地址被用户点击的点击次数以及查询串为第一查询串的搜索过程中生成的所有网络地址的点击次数,进而通过如下公式计算得到第一查询串中第一网络地址的点击概率:
其中,#(q->url)为第一查询串对应的第一网络地址点击次数,
为第一查询串对应的所有网络地址点击次数。
第二概率计算单元330,用于从搜索结果访问日志中统计第二查询串对应的第一网络地址点击次数以及第一网络地址对应的总点击次数,并计算第一网络地址与第二查询串相关的概率。
本实施例中,第二概率计算单元330统计搜索结果访问日志中查询串为第二查询串搜索过程中第一网络地址对应的点击次数以及在所有的搜索过程中涉及第一网络地址的第一网络地址的总点击次数,进而通过如下公式计算出被点击的第一网络地址与第二查询串相关的概率:
其中,#(url->q)为第二查询串对应的第一网络地址点击次数,为第一网络地址对应的总点击次数。
求积单元350,用于根据第一查询串中第一网络地址的点击概率和第一网络地址与第二查询串相关的概率得到第一查询串与第二查询串之间的关联度。
本实施例中,通过第一网络地址建立查询串之间的关联关系,进而由求积单元350根据第一查询串中第一网络地址的点击概率和第一网络地址与第二查询串相关的概率之积计算得到这两个查询串之间的关联度,具体的关联度计算过程可通过如下公式进行:
其中,P(urli|q1)为第一查询串中某一个第一网络地址的点击概率,P(q2|urli)为某一第一网络地址与第二查询串相关的概率,P(urli|q1)和P(q2|urli)中所涉及的第一网络地址为同一网络地址。
关联度判断模块40,用于判断关联度是否大于阈值,若是,则建立第一查询串指向第二查询串的纠错关系。
本实施例中,关联度判断模块40根据预先设定的阈值判断关联度是否大阈值,以选取关联关系较强的两个查询串。
第一查询串指向第二查询串的纠错关系为第一查询串到第二查询串的单向映射关系。例如,在输入框中,用户输入“生于忧患死于安乐翻”的查询串时,由于存在纠错关系,则在输入框的下拉提示列表中显示“生于忧患死于安乐翻译”的查询串,以提示用户输入的查询串可能有误,以方便用户选择输入正确的查询串。
在另一个实施例中,在得到第一查询串指向第二查询串的纠错关系之后,为保证纠错关系的准确性,还需要引入查询串之间纠错关系的特征来选取各种查询串之间的纠错关系。查询串之间纠错关系的特征包括查询串的活跃度,查询串的活跃度表明了该查询串被用户使用的频率,活跃度高则说明有非常多的用户通过这一查询串进行搜索等操作。如图10所示,上述网络搜索中的纠错关系生成系统包括活跃度统计模块50以及活跃度判断模块60。
活跃度统计模块50,用于通过搜索结果访问日志统计第一查询串的查询次数以及第一查询串对应的所有网络地址点击次数,得到第一查询串的活跃度,并统计第二查询串对应的查询次数以及第二查询串的所有网络地址点击次数,得到第二查询串的活跃度。
本实施例中,第一查询串的查询次数指的采用第一查询串进行搜索的次数,活跃度统计模块50将第一查询串对应的所有网络地址点击次数与第一查询串的查询次数得到第一查询串的活跃度,进而通过搜索结果访问日志统计第二查询串的活跃度。
活跃度判断模块60,用于判断第二查询串的活跃度是否大于第一查询串的活跃度,若否,则清除第一查询串指向第二查询串的纠错关系,若是,则停止执行。
本实施例中,在纠错关系中,由于用户输入的第一查询串是发生了错误的查询串,因此第二查询串的活跃度应当是大于第一查询串的活跃度的,即第二查询串的查询次数大于第一查询串的查询次数,第二查询串的所有网络地址点击次数大于第一查询串的所有网络地址点击次数。
在另一个实施例中,如图11所示,上述网络搜索中的纠错关系生成系统还包括了相似性判断模块70,该相似性判断模块70用于根据字形和/或拼音判断第一查询串与第二查询串是否相似,若否,则清除第一查询串指向第二查询串的纠错关系,若是,则停止执行。
本实施例中,在正确的纠错关系中,第一查询串与第二查询串应当是比较相似的,因此,相似性判断模块70可根据两个查询串之间字形或者拼音的相似性来选取出正确的纠错关系。
具体地,在相似性判断模块70通过字形的相似性选取纠错关系时,可计算第一查询串和第二查询串之间的编辑距离或者相似度,进而根据计算得到的编辑距离或者相似度判断第一查询串和第二查询串之间是否相似。编辑距离可以是通过增、删的方式将这两个查询串变为相同的查询串的最小操作次数。
在相似性判断模块70通过拼音的相似性选取纠错关系时,首先对第一查询串和第二查询串进行注意,然后再计算第一查询串和第二查询串对应的拼音之前的编辑距离或者相似度,如果编辑距离大于设定的距离阈值,则认为第一查询串和第二查询串之间的纠错关系是不正确的,如果相似度大于设定的相似阈值,则认为第一查询串和第二查询串之间的纠错关系是正确的。
在另一个实施例中,对第一查询串指向第二查询串之间的纠错关系还通过设定的过滤规则进行筛选,如图12所示,上述网络搜索中的纠错关系生成系统还包括了分词模块80以及比对模块90。
分词模块80,用于分别对第一查询串和第二查询串进行分词,并对分词后的第一查询串和第二查询串进行词性标注。
本实施例中,分词模块80可通过各种分词运算分别对第一查询串和第二查询串进行分词处理,进而对分词后的第一查询串和第二查询串进行词性标注。
比对模块90,用于比对词标注后的第一查询串和第二查询串得到第一查询串和第二查询串之前的差异词,判断差异词是否为助词或数字,若是,则消除第一查询串指向第二查询串的纠错关系。
其它实施例中,上述网络搜索中的纠错关系生成系统还包括了指向关系判断模块,该指向关系判断模块用于判断纠错关系中是否存在第二查询串指向第一查询串的纠错关系,若是,则清除第一查询串指向第二查询串的纠错关系,若否,则停止执行。
本实施例中,由于纠错关系中第一查询串为发生了错误的查询串,而第二查询串应当为第一查询串的正确输入,因此,若纠错关系中存在了第二查询串指向第一查询串的纠错关系,则说明第一查询串和第二查询串之间的关系可能只是同义词,并不是能用户的错误输入所进行的纠正,需要将这一纠错关系删除。
下面以搜索引擎为例来阐述上述网络搜索中的纠错关系生成方法及系统的整体应用框图,如图13所示,搜索结果访问日志存储于日志数据库131中,网络搜索中的纠错关系生成系统的获取模块10从日志数据库131中获取搜索结果访问日志以及用户输入的第一查询串,此时,将根据获取的搜索结果访问日志首先进行步骤S132计算查询串之间的关联度,然后再通过步骤S133根据查询串之间纠错关系的特征来选取各种查询串之间的纠错关系,最后通过步骤S135对查询串之间的纠错关系通过设定的过滤规则进行筛选,进而输出至纠错关系数据库中,以供用户在搜索引擎的输入框中输入查询串时使用。
上述网络搜索中的纠错关系生成方法及系统中,在用户输入了第一查询串后,通过搜索结果访问日志查找得到第二查询串,该第二查询串所对应的网络地址与第一查询串的被点击的网络地址相同,进而建立第一查询串指向第二查询串的纠错关系,只需要搜索结果访问日志即可生成纠错关系,降低了对现有的纠错系统的依赖性,拓宽了适用面,使得用户的信息输入过程更加灵活和准确。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。