具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1是根据本发明的网页搜索关键词统计方法的第一实施例的流程图。如图1所示,该方法包括如下步骤:
步骤S102,获取网页搜索过程中输入的多个搜索关键词。
用户在网页上输入的网页搜索关键词往往代表了用户浏览网站的真实意图,对大量的搜索关键词的获取和统计,可以用于展示用户在该网站的需求分布,从而有助于网站主更新网站设置,提高网站访问量。
需要注意的是,用户在一次会话中进行的多次站内搜索行为,应记录为多条搜索关键词;在一次会话中重复多次搜索相同的关键词,也应记录为多条。可选地,网页搜索过程中输入的多个搜索关键词最终以List〈〉的方式进行存储。
例如,用户在一次会话中输入的搜索关键词,按照先后顺序分别为:“达沃斯论坛”,“达沃斯论坛”,“天津”,“世界经济论坛”。该会话中,虽然“达沃斯论坛”重复出现两次,但在记录时应分别记录为2个搜索关键词。
步骤S104,分别计算多个搜索关键词中各个搜索关键词之间的相似度。
搜索关键词之间的相似度的计算可以通过编写程序实现。例如,计算搜索关键词i和搜索关键词j之间的相似度,在程序中二者分别用Queryi和Queryj表示,获取返回值,即这两个搜索关键词的相似度。该程序可以但不仅限于表示如下:
具体的,计算搜索关键词之间相似度的方法(即GetSimilar()的实现方式)较多,下面举例进行说明。需要注意的是,计算搜索关键词之间相似度的方法包括但不仅限于以下方法。
第一种计算搜索关键词之间相似度的方法是杰卡德(Jaccard)系数法。
假设多个搜索关键词包括第一搜索关键词和第二搜索关键词,计算第一搜索关键词和第二搜索关键词之间的相似度包括:将第一搜索关键词和第二搜索关键词分别分离成单独的字符,将第一搜索关键词分离得到的所有字符作为第一搜索关键词序列,将第二搜索关键词分离得到的所有字符作为第二搜索关键词序列;统计第一字符数量,其中,第一字符数量为第一搜索关键词序列和第二搜索关键词序列均包含的字符的数量;统计第二字符数量,其中,第二字符数量为第一搜索关键词序列和第二搜索关键词序列包含的不重复的字符的总数量;将第一字符数量和第二字符数量的比值作为第一搜索关键词和第二搜索关键词之间的相似度。
例如,将搜索关键词“快乐男声”分离成单独的字符为“快”、“乐”、“男”、“声”,“快”、“乐”、“男”、“声”即作为第一搜索关键词序列;将搜索关键词“快男”分离成单独的字符为“快”、“男”,“快”、“男”即作为第二搜索关键词序列。第一字符数量为第一搜索关键词序列和第二搜索关键词序列中均包含的字符的数量,该数量为2。第二字符数量为第一搜索关键词序列和第二搜索关键词序列包含的不重复的字符的总数量,该数量为4。这样,可以得到第一搜索关键词和第二搜索关键词之间的相似度为2/4。
第二种计算搜索关键词之间相似度的方法是编辑距离(Edit Distance或者Levenshtein)法。
同样地,假设多个搜索关键词包括第一搜索关键词和第二搜索关键词。根据编辑距离计算的搜索关键词之间的相似度可以定义为:第一搜索关键词与第二搜索关键词之间编辑距离的倒数。编辑距离,指两个字符串之间,由一个字符串转变成另一个字符串所需的最少编辑操作次数。这里,许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符或者删除一个字符。
例如,计算搜索关键词“kitten”和“sitting”之间的相似度。将“kitten”转换成“sitting”过程包括:“kitten”变换为“sitten”(k变为s),“sitten”变换为“sittin”(e变为i),“sittin”变换为“sitting”(插入g)。因此,搜索关键词“kitten”和“sitting”之间的编辑距离和相似度分别为3和1/3。
利用编辑距离法计算搜索关键词间相似度的主程序可以但不仅限于表示如下:
步骤S106,将多个搜索关键词中相似度达到预设阈值的搜索关键词作为一个关键词类,得到至少一个关键词类,在至少一个关键词类中包括至少两个不同的搜索关键词。
该步骤的目的在于合并相似性较高的搜索关键词到一个关键词类中。预设阈值是两个不同的搜索关键词可以被归为一个关键词类的最小值。可以根据用户的统计需求进行设置。
步骤S108,统计关键词类中搜索关键词的搜索次数。
关键词类中关键词的搜索次数可以代表用户某一需求的热度,关键词的搜索次数越多,则代表用户这一需求热度越高。
该实施例由于包含以下步骤:获取网页搜索过程中输入的多个搜索关键词;分别计算多个搜索关键词中各个搜索关键词之间的相似度;将多个搜索关键词中相似度达到预设阈值的搜索关键词作为一个关键词类,得到至少一个关键词类,在至少一个关键词类中包括至少两个不同的搜索关键词;统计关键词类中搜索关键词的搜索次数,使得搜索关键词之间建立了相关关系,通过这种相关关系将指向相同用户需求的搜索关键词进行了合并,从而用多个搜索关键词表达一个用户需求,从而提高了网页搜索关键词统计的准确性。
图2是根据本发明的网页搜索关键词统计方法的第二实施例的流程图。该实施例可以作为图1所示实施例的一种优选实施方式,如图2所示,该网页搜索关键词统计方法包括:
步骤S201,在网页加载脚本文件代码。
脚本文件类似于DOS操作系统中的批处理文件,它可以将不同的命令组合起来,并按确定的顺序自动连续地执行。脚本程序相对一般程序开发来说比较接近自然语言,可以不经编译而是解释执行。
脚本语言种类较多,一般的脚本语言的执行只同具体的解释执行器有关,所以只要系统上有相应语言的解释程序就可以做到跨平台。
步骤S202,通过脚本文件代码监测网页搜索行为以获取多个搜索关键词。
优选地,在该方法中可使用javascript,通过在网页中添加javascript代码来监测用户的网页搜索行为,获取用户输入的多个搜索关键词。
步骤S203,分别计算多个搜索关键词中各个搜索关键词之间的相似度。
该步骤等同于步骤S104,这里不再赘述。
步骤S204,将多个搜索关键词中相似度达到预设阈值的搜索关键词作为一个关键词类,得到至少一个关键词类,在至少一个关键词类中包括至少两个不同的搜索关键词。
该步骤等同于步骤S106,这里不再赘述。
步骤S205,统计关键词类中搜索关键词的搜索次数。
该步骤等同于步骤S108,这里不再赘述。
该实施例由于包含以下步骤:获取网页搜索过程中输入的多个搜索关键词包括:在网页加载脚本文件代码;通过脚本文件代码监测网页搜索行为以获取多个搜索关键词;分别计算多个搜索关键词中各个搜索关键词之间的相似度;将多个搜索关键词中相似度达到预设阈值的搜索关键词作为一个关键词类,得到至少一个关键词类,在至少一个关键词类中包括至少两个不同的搜索关键词;统计关键词类中搜索关键词的搜索次数,实现了动态获取网页搜索关键词,提高了网页搜索关键词的获取效率,从而使得搜索关键词的统计更加高效地进行。
图3是根据本发明的网页搜索关键词统计方法的第三实施例的流程图。该实施例可以作为图1所示实施例的一种优选实施方式,如图3所示,该网页搜索关键词统计方法包括:
步骤S301,获取网页搜索过程中输入的多个搜索关键词。
该步骤等同于步骤S102,这里不再赘述。
步骤S302,对多个搜索关键词进行筛选,筛选出多个搜索关键词中不重复的网页搜索关键词。
由于搜索关键词之间相关关系是基于搜索关键词本身的,与搜索关键词出现的频次无关,因此在计算搜索关键词之间的相似度之前,可以先排除搜索关键词序列中重复出现的关键词。经过该排重步骤之后,计算搜索关键词之间的相似度的效率将大大提高。
步骤S303,分别计算筛选出的多个搜索关键词中各个搜索关键词之间的相似度。
计算筛选出的多个搜索关键词中各个搜索关键词之间的相似度的方法和步骤S104中所述相同,这里不再赘述。
步骤S304,将筛选出的多个搜索关键词中相似度达到预设阈值的搜索关键词作为一个关键词类。
优选地,可以通过以下步骤将相似度达到预设阈值的搜索关键词聚为一类。首先,假定筛选出的搜索关键词各自属于一个关键词类。然后,取筛选出的第一个搜索关键词记为q0,搜索关键词列表,并逐一比较q0与筛选出的其他搜索关键词间相似度与预设阈值的大小关系。当发现与q0的相似度大于预设阈值的搜索关键词时,合并q0与该搜索关键词到一个关键词类中,并更新该聚类的信息,将原有的两个搜索关键词删除。若搜索整个搜索关键词列表后发现无任何搜索关键词与q0的相似性大于预设阈值,则认为q0是一个独立的类,并将其从搜索列表中删除。
将搜索关键词聚为关键词类的实现程序可以但不仅限于表示如下:
计算部分:
步骤S305,统计多个搜索关键词中属于关键词类的搜索关键词的搜索次数。
统计各关键词类中每一个搜索关键词在实际中被搜索的频次和。
可选地,可以使用计数器方式统计各个关键词类被搜索的频数。遍历最初获取的多个搜索关键词列表中的每一个搜索关键词,当某搜索关键词出现时,对其所属于的关键词类进行计数。
例如,遍历结果可以存储在如下形式的表格中:
搜索次数 |
搜索关键词 |
1 |
发展与改革委员会 |
1 |
发展改革委员会 |
2 |
中央政府网 |
2 |
中国政府网 |
… |
… |
该实施例由于包含以下步骤:获取网页搜索过程中输入的多个搜索关键词;对多个搜索关键词进行筛选,筛选出多个搜索关键词中不重复的网页搜索关键词;分别计算筛选出的多个搜索关键词中各个搜索关键词之间的相似度;将筛选出的多个搜索关键词中相似度达到预设阈值的搜索关键词作为一个关键词类;统计多个搜索关键词中属于关键词类的搜索关键词的搜索次数,使得在搜索关键词相似度的计算中不需要遍历所有的搜索关键词,而是首先筛选出不重复的关键词,仅仅计算不重复的关键词之间的相似度,从而提高了方法运行的效率。
下面是根据本发明的网页搜索关键词统计方法的第四实施例。该实施例可以作为图1所示实施例的一种优选实施方式,该网页搜索关键词统计方法包括:
获取网页搜索过程中输入的多个搜索关键词。
该步骤等同于步骤S102,这里不再赘述。
分别计算多个搜索关键词中各个搜索关键词之间的相似度。
该步骤等同于步骤S104,这里不再赘述。
将多个搜索关键词中相似度达到预设阈值的搜索关键词作为一个关键词类,得到多个关键词类,多个关键词类中的至少一个关键词类中包括至少两个不同的搜索关键词。
该步骤是步骤S106的一种可选方式。
分别统计多个关键词类的搜索次数。
该步骤等同于步骤S108,这里不再赘述。
对多个关键词类中的每一个关键词类分别进行命名。
对关键词类的命名方法可以采用基于统计的命名方法。该方法是指根据用户搜索次数进行命名,选取搜索次数较高的关键词作为所属关键词类的名称。
需要注意的是,关键词类的命名方法包括但不限于上述命名方法。
按照统计得到的多个关键词类的搜索次数对命名之后的所有关键词类进行排序。
排序是指对关键词类内的关键词搜索次数的统计值进行排序,统计值越高的关键词类所对应的用户需求越强烈。
该实施例由于包含以下步骤:获取网页搜索过程中输入的多个搜索关键词;分别计算多个搜索关键词中各个搜索关键词之间的相似度;将多个搜索关键词中相似度达到预设阈值的搜索关键词作为一个关键词类,得到多个关键词类,多个关键词类中的至少一个关键词类中包括至少两个不同的搜索关键词;分别统计多个关键词类的搜索次数;对多个关键词类中的每一个关键词类分别进行命名;按照统计得到的多个关键词类的搜索次数对命名之后的所有关键词类进行排序,实现了对聚类结果的命名与排序,从而可以使用户更加直观地获取该网站的用户需求分布情况。
需要说明的是,本发明实施例的网页搜索关键词统计装置可以用于执行本发明实施例所提供的网页搜索关键词统计方法,本发明实施例的网页搜索关键词统计方法也可以通过本发明实施例所提供的网页搜索关键词统计装置来执行。
图4是根据本发明的网页搜索关键词统计装置的第一实施例的结构框图。如图4所示,该装置结构包括:
第一获取单元22,用于获取网页搜索过程中输入的多个搜索关键词。
用户在网页上输入的网页搜索关键词往往代表了用户浏览网站的真实意图,对大量的搜索关键词的获取和统计,可以用于展示用户在该网站的需求分布,从而有助于网站主更新网站设置,提高网站访问量。
需要注意的是,对于用户在一次会话中进行的多次站内搜索行为,该单元应记录其为多条搜索关键词;在一次会话中重复多次搜索相同的关键词,也应记录为多条。可选地,该单元获取的多个搜索关键词最终以List的方式进行存储。
计算单元24,用于分别计算多个搜索关键词中各个搜索关键词之间的相似度。
计算单元24可以但不仅限于利用杰卡德(Jaccard)系数法和编辑距离法来计算多个搜索关键词中各个搜索关键词之间的相似度。下面给出了利用杰卡德(Jaccard)系数法时计算单元24可包含的模块。
假设第一获取单22获取的多个搜索关键词中包括第一搜索关键词和第二搜索关键词。
可选地,计算单元24还可以包括以下模块:
分离模块,用于将第一搜索关键词和第二搜索关键词分别分离成单独的字符,将第一搜索关键词分离得到的所有字符作为第一搜索关键词序列,将第二搜索关键词分离得到的所有字符作为第二搜索关键词序列。
第一统计模块,用于统计第一字符数量,其中,第一字符数量为第一搜索关键词序列和第二搜索关键词序列均包含的字符的数量。
第二统计模块,用于统计第二字符数量,其中,第二字符数量为第一搜索关键词序列和第二搜索关键词序列包含的不重复的字符的总数量。
计算模块,用于将第一字符数量和第二字符数量的比值作为第一搜索关键词和第二搜索关键词之间的相似度。
可选地,计算单元24还可以通过利用编辑距离法编写程序来获取第一搜索关键词和第二搜索关键词之间的相似度,方法部分已有说明,这里不再赘述。
第二获取单元26,用于将多个搜索关键词中相似度达到预设阈值的搜索关键词作为一个关键词类,得到至少一个关键词类,在至少一个关键词类中包括至少两个不同的搜索关键词。
该单元的执行目的在于合并相似性较高的搜索关键词到一个关键词类中。预设阈值是两个不同的搜索关键词可以被归为一个关键词类的最小值。可以根据用户的统计需求进行设置。
统计单元28,用于统计关键词类中搜索关键词的搜索次数。
关键词类中关键词的搜索次数可以代表用户某一需求的热度,关键词的搜索次数越多,则代表用户这一需求热度越高。
本实施例提供的网页搜索关键词统计装置包括:第一获取单元22、计算单元24、第二获取单元26和统计单元28。通过该装置,使得满足阈值条件的关键词被归为一类,从而将代表同一用户需求的一类关键词集中进行统计,可以提高网页搜索关键词统计的准确性。
图5是根据本发明的网页搜索关键词统计装置的第二实施例的结构框图。该实施例可以作为图4所示实施例的一种优选实施方式。如图5所示,该装置结构包括:
第一获取单元22、计算单元24、第二获取单元26和统计单元28,其中,第一获取单元22包括加载模块32和获取模块34。这里,计算单元24、第二获取单元26和统计单元28和图4中所述相同,不再赘述。第一获取单元22包括:
加载模块32,用于在网页加载脚本文件代码。
脚本文件类似于DOS操作系统中的批处理文件,它可以将不同的命令组合起来,并按确定的顺序自动连续地执行。脚本程序相对一般程序开发来说比较接近自然语言,可以不经编译而是解释执行。
脚本语言种类较多,一般的脚本语言的执行只同具体的解释执行器有关,所以只要系统上有相应语言的解释程序就可以做到跨平台。
获取模块34,用于通过脚本文件代码监测网页搜索行为以获取多个搜索关键词。
优选地,该模块可利用javascript代码,通过在javascript代码监测用户的网页搜索行为,获取用户输入的多个搜索关键词。
本实施例提供了第一获取单元22还可以包括的模块:加载模块32和获取模块34。通过上述模块,实现了动态获取网页搜索关键词,提高了网页搜索关键词的获取效率,从而使得搜索关键词的统计可以更加高效地进行。
图6是根据本发明的网页搜索关键词统计装置的第三实施例的结构框图。该实施例可以作为图4所示实施例的一种优选实施方式。如图6所示,该装置结构包括:
第一获取单元22、筛选单元23、计算单元24、第二获取单元26和统计单元28,其中第一获取单元22和图4所述相同,这里不再赘述。筛选单元23、计算单元24、第二获取单元26和统计单元28分别为:
筛选单元23,用于对多个搜索关键词进行筛选,筛选出多个搜索关键词中不重复的网页搜索关键词。
由于搜索关键词之间相关关系是基于搜索关键词本身的,与搜索关键词出现的频次无关,因此在计算单元24计算搜索关键词之间的相似度之前,可以先利用筛选单元23排除搜索关键词序列中重复出现的关键词。经过筛选之后,计算单元24计算搜索关键词之间的相似度的效率将大大提高。
计算单元24,用于分别计算筛选出的多个搜索关键词中各个搜索关键词之间的相似度。
需要注意的是,计算单元24仅用于计算筛选出的不重复的多个搜索关键词中各个搜索关键词之间的相似度。
第二获取单元26,用于将筛选出的多个搜索关键词中相似度达到预设阈值的搜索关键词作为一个关键词类。
需要注意的是,该单元获取的关键词类包含的搜索关键词不存在重复的关键词。
统计单元28,用于统计多个搜索关键词中属于关键词类的搜索关键词的搜索次数。
该单元用于统计各关键词类中每一个搜索关键词在实际中被搜索的频次和。
可选地,该单元可以使用计数器方式统计各个关键词类被搜索的频数。遍历最初获取的多个搜索关键词列表中的每一个搜索关键词,当某搜索关键词出现时,对其所属于的关键词类进行计数。
本实施例提供的网页搜索关键词统计装置包括:第一获取单元22、筛选单元23、计算单元24、第二获取单元26和统计单元28。通过以上单元,使得搜索关键词相似度的计算中不需要遍历所有的搜索关键词,而是首先筛选出不重复的关键词,仅仅计算不重复的关键词之间的相似度,从而提高了装置运行的效率。
下面是根据本发明的网页搜索关键词统计装置的第四实施例。该实施例可以作为图4所示实施例的一种优选实施方式。该装置结构包括:
第一获取单元22、计算单元24、第二获取单元26、统计单元28、命名单元210和排序单元212。其中,第一获取单元22和计算单元24与图4中所述相同,这里不再赘述。第二获取单元26、统计单元28、命名单元210和排序单元212分别为:
第二获取单元26,用于将多个搜索关键词中相似度达到预设阈值的搜索关键词作为一个关键词类,得到多个关键词类,在多个关键词类中至少一个关键词类包括至少两个不同的搜索关键词。
统计单元28,用于分别统计多个关键词类的搜索次数。
命名单元210,用于对多个关键词类中的每一个关键词类分别进行命名。
命名单元210可以采用基于统计的命名方式,即根据用户搜索次数进行命名,选取搜索次数较高的关键词作为所属关键词类的名称。
需要注意的是,该单元的命名方式包括但不限于上述命名方式。
排序单元212,用于按照统计得到的多个关键词类的搜索次数对命名之后的所有关键词类进行排序。
排序是指对关键词类内的关键词搜索次数的统计值进行排序,统计值越高的关键词类所对应的用户需求越强烈。
本实施例提供的网页搜索关键词统计装置包括:第一获取单元22、计算单元24、第二获取单元26、统计单元28、命名单元210和排序单元212。通过以上单元,实现了对聚类结果的命名与排序,从而可以使用户更加直观地获取该网站的用户需求分布情况。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。