专利名称:一种从众多网络搜索词里生成折射词的方法
技术领域:
本发明要求保护的技术方案所属的技术领域是互联网的数据挖掘、数据检索和数 据显示。
背景技术:
目前,网友在baidu、g00gle、bing或者yahoo等搜索引擎的搜索框里输入字符串, 会在搜索框的下方显示一些提示词供网友选择。这些提示词的特征是包含网友刚刚输入 的字符串的全部字符串或者部分字符串。在baidu、g00gle、bing或者yahoo等引擎的搜索结果页面的下方会显示一些搜索 建议词,这些搜索建议词的特征是包含网友的搜索词或者包含网友搜索词被拆分出来的 词。比如在www. google, com. hk里搜索中文文字“圣诞节”,那么,在搜索结果页面里 会出现复活节、万圣节、Christmas和圣诞节图片。这是因为搜索引擎把“圣诞节”拆分为 “圣诞”和“节”两个词之后,在数据库里(分别)匹配包含这两个拆分词的搜索词。另外, 引擎会匹配翻译后的外文(Christmas)。在www.baidu.com里搜索“圣诞节”时,在搜索结果页面里会出现圣诞结。 这是依据中文汉语拼音的同音匹配原则。同理,在www.baidu.com的搜索框里搜索 “shengdanjie”,会提示“圣诞节”这个提示词。这也是依据中文汉语拼音的匹配结果。一些搜索引擎具备记忆功能依据包含当前输入的字符串的原理,把某个用户之 前使用过的(包含当前输入的字符串的)搜索词优先提示给该用户;或者,依据包含当前输 入的字符串的原理,把某个用户之前使用过的一个、两个或者多个搜索词组合成为(包含 当前输入的字符串的)一个字符数更多的搜索词提示给用户。这仍然是依据包含当前输入 的字符串的匹配原理。另外,当前一些搜索引擎或者其它类型的网站,会依据热点人物或者热点事件列 出一个或者多个热门词,其特征在于“热”。下面的一个例子,可以说明目前搜索引擎的不足之处,同时,也说明了本发明与现 有技术相比较所具有的新的技术效果。举例一个网友拥有5个电子邮箱zhagnzhajsbafsabfnpingil63. comzhagnzhajsbafsabfnpingbsgfbsisina. comzhagnzhajsbafsabfnpinggfbfgjhjigmail. comzhagnzhajsbafsabfnpingsbfgbsgbhgilive. comzhagnzhajsbafsabfnpingfbsghgjhjkkgjbgbbhihotmail. com这个网友打算查一查,在互联网上是否存在包含这些邮箱名称的网页。于是,这位 网友逐一使用这些邮箱的名称在搜索引擎里搜索。搜索的结果是没有搜索到包含任何单个邮箱名称的网页。这个网友把自己其中的一个电子邮箱告知了另外一个人。另外的这个 人打算通过搜索引擎了解前一个网友的相关信息,但是,通过自己知道的这个电子邮箱的 名称没有搜索到任何网页。如果使用本发明的技术,那么,后一个人通过搜索其中的一个电 子邮箱的名称就可以折射出前一个网友的其它4个电子邮箱的名称。这些邮箱都不是公众 熟知的“热词”。这样的例子有很多,许多网友使用多个有某种关联的词,在搜索引擎里查找,结果 均没有找到包含搜索词的网页。日后,另一个人如果只知道其中的一个词,在搜索引擎里搜 索时,也无法找到结果网页。但是,如果使用本发明的技术,那么,后一个搜索者,在使用自 己仅仅知道的其中一个词进行搜索时,就可以获知相关的其它词(折射词)。这是当前的搜索引擎的一个疏漏。当前的搜索引擎虽然获取了多个具有某种关联 的搜索词,但是,却无法把这几个词关联在一起,从而提供给后来的搜索者。保护用户隐私的策略。事先告知用户,其搜索词可能会被其他网友看到。另外,设 置保护隐私选项。用户勾选这个选项之后,不会公开用户的搜索词。所以,用户如果打算搜 索隐私内容,可以在搜索之前勾选保护隐私选项。贡献搜索词与共享折射词是对等的,用户 在勾选保护隐私选项期间,不会看到“折射词”窗口。要想看到“折射词”窗口,就必须贡献 自己当前的搜索词。用户有选择权。用户取消保护隐私选项之后,则视为同意贡献自己的 搜索词。隐私方案不属于本发明的限定方案,没有隐私方案的实施行为也在本发明的保护 范围之内。再举一个例子,用于理解本发明的技术方案用户在搜索引擎的搜索框里连续使用一些搜索词。我们对网友连续使用的(多 个)搜索词之间的关系进行分析之后,会发现一个规律在网友连续使用的(多个)搜索词 之间,一部分是相互之间有关联的词;一部分则是相互之间毫不相干的词。一个(高级)程 序员准备搜索一些关于一个开发项目的相关资料。那么,这个(高级)程序员会接二连三 地输入(一些)与所需资料相关的搜索词;在搜索所需技术资料期间,该(高级)程序员突 然想起来一件毫不相干的事,所以,在搜索期间,穿插使用了一个或者多个与开发项目无关 的搜索词。还有另外一些(高级的和初级的)程序员也在搜索类似的技术资料。(高级)程序员在搜索时输入的一些搜索词,一般都是非常有用的搜索词;然而, (初级)程序员苦思冥想也联想不到应该输入哪些有用的搜索词才能够搜索出合适的技术 资料。那么,能否把(高级)程序员连续使用的(有关联的)搜索词整理成为折射词提供 给(初级)程序员使用呢?当然可以。(初级)程序员在输入一个搜索词时,立即会弹出一个窗口,为(初级)程序员显 示一些所需的折射词。由计算机自动处理网友连续使用的搜索词时,需要采取一些策略,自动处理那些 毫不相干的搜索词。“频度积累”和“动态更新”的方案,可以自动降低毫不相干的搜索词在 折射词里的排序。经过计算机一些步骤的自动处理,可以把众多用户的“类似搜索行为”科学地汇集 成为“折射词”,从而为日后进行搜索的网友时时提供“折射词”。基本原理一个网友在短时间内,使用的各个搜索词之间一般具有关联性。我们把 一个网友连续使用的2-N个搜索词,作为一个“搜索串”对待。由计算机程序收集众多网友的“搜索串”,并且,进行一系列的加工,最终加工成为“折射词”。本发明体现的是众多网友共同参与的原则。并且,本发明可以在众多的网友里识 别出专家级的网友。专家级的网友使用的“搜索词”对其他网友显示之后,会被众多的网友 关注,以及会被众多的网友作为“搜索词”使用,从而成为这些网友的搜索词,进而影响计算 机的数据统计。所以,专家的搜索词会借助众多网友的力量频繁地使用,从而使其搜索词的 频度被累计的非常高。这样的专家级搜索词自然会脱颖而出,排名在其它搜索词的前面。有时候,用户相邻输入的几个搜索词之间根本没有任何关联性。不过,这没有关 系,因为需要众多的“搜索串”才能融合成为“总串”,并且,“总串,,会动态更新。“总串,,里 的“词”有频度,频度越高的“词”关联性越强。计算机综合多个用户的“搜索串”,经过科学 地处理之后,得到的“总串”,其频度高的各个跟随词之间就必然有某种关联性。我们把这些 有关联性的词提供给日后搜索的其他用户作为参考词使用。这就是“折射词”技术的基本 思路。“折射词”的含义在同一个“总串”里,各个“跟随词”相对“领头词”来说,也叫做
折射词;频度越高的“跟随词”与“领头词”之间的折射关系越大。
发明内容
本发明所要解决的技术问题是提供一种从众多网络搜索词里生成折射词的方法。本发明解决该技术问题所采用的技术方案是由计算机处理,把用户的2-N个搜 索词作为一个搜索串,搜索串里有多少个搜索词就生成多少个衍生串,每个搜索词均有一 次机会成为对应衍生串的领头词;把同一个用户的多个衍生串以及众多用户的大量衍生串 以相同的领头词为前提,添加到一个或者多个总串里,相同的跟随词累计频度,并且,同一 个总串里的各个跟随词依据频度排序,从而得到一个或者多个总串。由计算机处理,当用户使用搜索引擎时,每输入一个字符,则使用当前已经输入的 全部字符或者部分字符在各个总串的领头词里检索,检索到相同的领头词时,返回一次检 索结果,为用户显示一个对应总串里的N个跟随词。由计算机处理,当执行网页的搜索时,同时,使用搜索词的全部字符或者部分字符 在各个总串的领头词里检索,检索到相同的领头词时,返回一次检索结果,为用户显示一个 对应总串里的N个跟随词。由计算机处理,把不同的总串分别生成动态网页或者静态网页,在网页里包含总 串的领头词和N个跟随词。在本申请的描述里,多处使用N这个英文字母。N代表大于2的一个具体数字。不 同地方使用的N,不一定是相同的数字。大多网友都有体会,搜索资料时,往往耗费大量的时间和精力,也不一定能够找到 有用的资料。本发明让网友更加方便地找到所需的资料,减轻劳动强度,争取更多的休闲时 间,并且有利于身心健康。
图1是本发明的流程图。
具体实施例方式下面对照附图举例说明本发明的优选方案。网友的搜索词可以是一个字、一个词、几个用空格间隔的词语或者任意字符串。下面对“搜索串”进行详细的介绍。计算机程序连续记录同一个用户的2-N个不同的“搜索词”,作为一个“搜索串”。 如果规定一个“搜索串”包含10个搜索词,那么,从第11个搜索词开始作为一个新的“搜索 串”进行搜索词的积累。依此类推,每个搜索串包含10个搜索词。除了强制性把固定数量 的搜索词作为一个搜索串之外,还可以依据30分钟、50分钟、90分钟等时间段积累一个搜 索串,还可以依据用户在30分钟、50分钟、90分钟等时间内没有搜索行为而结束一个搜索 串的积累,还可以依据用户每次启动和关闭浏览器窗口为依据积累一个搜索串,等等。这些 方案都在本申请保护的范围之内。下面介绍把“搜索串”加工成为“衍生串”的方案。一个“搜索串”包含2-N个“搜索词”,其中的任何两个“搜索词”一般均不相同(相 同也可以,但是,从科学的角度来说,不严谨)。一个“搜索串”包含多少个“搜索词”,就需 要拆分为多少个“衍生串”。比如包含6个搜索词,就需要拆分为6个“衍生串”。比如使用“ I,,作为各个搜索词之间的分割标识。第一天,一个用户连续使用下列5个词进行了搜索Microsoft SQL Server微软| C# |关系数据库| SQL注入攻击第二天,这个用户连续使用下列6个词进行了搜索C#|.NET Framework 安德斯·海尔斯伯格(Anders Hejlsberg) VisualStudio. NET|Microsoft SQL Server 面向对象语言第三天,这个用户连续使用下列4个词进行了搜索微软I比尔·盖茨I家用电脑I全球富豪排名按照上方单个用户第一天的“搜索串”为例,介绍把“搜索串”进化成为“衍生串,, 的方案。我们知道该搜索串里的这5个词,仅仅是用户搜索的前后之分,这5个词之间没 有其它实际意义上的排序。这5个词在搜索串里的地位是相同的。所以,需要“衍生”出5 个“衍生串”。每个搜索词均有机会成为其中一个“衍生串”的“领头词”。所以说,在衍生串 里,“领头词”与“跟随词”之间的地位是不同的。正因为“搜索串”里的5个词的地位相同, 所以,需要“衍生”出5个“衍生串”,让每一个“搜索词”都担当一次“衍生串”的“领头词”。 如下Microsoft SQL Server微软| C# |关系数据库| SQL注入攻击微软I Microsoft SQL Server | C# |关系数据库| SQL注入攻击C# I Microsoft SQL Server微软|关系数据库| SQL注入攻击关系数据库I Microsoft SQL Server |微软| C# | SQL注入攻击SQL注入攻击!Microsoft SQL Server微软| C# |关系数据库在上方的5行(段落)中,第一行(段落)与“搜索串”里的词和排序完全一样。 不同的是,现在把原来“搜索串”里的第一个词当作了“领头词”对待,从而成为了一个“衍 生串”。既然“搜索串”里的每一个词的地位相等,那么,也需要让每一个词都有一次成为
6“领头词”的机会,所以,需要“衍生”出5个“衍生串”,如上方的5行(段落)“衍生串”。上 方5行(段落)衍生串里,每行(段落)的第一个词均是“所在行(即衍生串)”的领头 词。每行(段落)的其它4个的词被视为“所在行(即衍生串),,的“跟随词”。同理,把第二个“搜索串”加工成为“衍生串”。如下C#|.NET Framework 安德斯 海尔斯伯格(Anders Hejlsberg) Visual Studio. NET|Microsoft SQL Server 面向对象语言. NET Framework | C# 安德斯 海尔斯伯格(Anders Hejlsberg) Visual Studio. NET|Microsoft SQL Server 面向对象语言安德斯·海尔斯伯格(AndersHejlsberg) .NET Framework | C# | Visual Studio. NET|Microsoft SQL Server 面向对象语言Visual Studio. NET |. NET Framework 安德斯·海尔斯伯格(Anders Hejlsberg) C#|Microsoft SQL Server 面向对象语言Microsoft SQL Server |. NET Framework!安德斯·海尔斯伯格(Anders Hejlsberg) | Visual Studio. NET | C# 面向对象语言面向对象语言I. NET Framework |安德斯·海尔斯伯格(Anders Hejlsberg) I Visual Studio. NET|Microsoft SQL Server|C#同理,把第三个“搜索串”加工成为“衍生串”。如下微软I比尔·盖茨I家用电脑I全球富豪排名比尔·盖茨I微软I家用电脑I全球富豪排名家用电脑I微软I比尔·盖茨I全球富豪排名全球富豪排名I微软I比尔·盖茨I家用电脑到目前为止,每个“搜索串”均被加工成为了多个“衍生串”。一个“搜索串”包含 多少个“搜索词”,这个“搜索串”就会被加工成为多少个“衍生串”。每一行(段落)代表一 个“衍生串”。每个“衍生串”都有一个“领头词”,第一个“词”就是“领头词”。在“衍生串” 里,“领头词”的地位高于“跟随词”的地位。但是,每个“衍生串”里的各个“跟随词”之间 仍然没有地位之分。在同一个“衍生串”里,各个“跟随词”的地位是相等的,位置是可以互换的。但是, “领头词”的位置不能与“跟随词”的位置互换。这一点与“搜索串”不同。在“搜索串”里, 没有“领头词”,所以,“搜索串,,里的任何“词,,之间的位置都是可以互换的。在上方的各组衍生串里,第一行(段落)的“衍生串”与原始的“搜索串”从形式上 看完全相同,但是,“衍生串”的第一个词(作为领头词)的位置不能变动;也就是说,除了 (领头词)之外,“衍生串”里的其它“跟随词”之间不区分先后,没有顺序,可以互换位置。在上方的各组衍生串里,第二行(段落)的“衍生串”把原始“搜索串”里的第二 个词排在最前面,作为领头词;“衍生串”里的其它“跟随词”之间不区分先后,没有顺序,可 以互换位置。依此类推。下面介绍把“衍生串”添加到“总串”的具体方案。把各个“衍生串”逐一添加到与之相同“领头词”的“总串”里。各个“衍生串”在 计算机里添加到“总串”里。日后,根据各个新的“衍生串”不断地更新“总串”。
在所有的“总串”里,如果没有查找到相同“领头词”的“总串”,那么,该“衍生串” 作为一个整体,就会成为一个全新的“总串”,被保存在计算机上。
在之前的所有“总串”里,如果查找到相同“领头词”的“总串”,那么,把“衍生串” 里的所有“跟随词”逐个添加到“总串”里。与“总串”里的“跟随词”相同的“跟随词”,为 “总串”的对应“跟随词”增加一个频度。“总串”里没有的“跟随词”当即新增到“总串”里。 频度高的“跟随词”排序在前,但是,无论“跟随词”的频度再高,也必须排在“领头词”的后面。“频度”的含义相当于“次数”。 “衍生串”里的“领头词”不能添加为“总串”的“跟随词”,也不能成为“总串”里的 第二个“领头词”,因为一个“总串,,只能有一个“领头词”。在计算机上,把“衍生串”添加到相同“领头词”的“总串”里时,与“总串”里的“跟 随词”相比较,相同的“跟随词”增加1频度,而不是把相同的“跟随词”重复地添加到“总 串”里。新的“跟随词”,添加到“总串”里之后成为“总串”里频度为1的新的“跟随词”。在前面的介绍里,涉及到了 “搜索串”、“衍生串”和“总串”。下面总结一下它们的 不同特点。“搜索串”里没有“领头词”,并且各个“搜索词”之间没有地位之分。“衍生串”高级了一步,有领头词,但是,各个“跟随词”之间仍然没有地位之分。“总串”里的各个“跟随词”需要根据频度排序。同一个“总串”里的各个“跟随词” 之间有地位之分,频度高的“跟随词”排在前面。但是,在同一个“总串”里,某个“跟随词” 的频度无论再高,也只能排在“领头词”的后面。频度最高的“跟随词”排在“领头词”之后 的第一个位置。凡是有“领头词”的串,每个串里只能有一个“领头词”。有“领头词”的串添加到 另一种有“领头词”的串里的前提是,这两个串的“领头词”相同。一种串的“领头词”不能 成为另一种串里的“跟随词”。一种串的“领头词,,添加到另一种串的“领头词”时,相当于 为另一个串的“领头词”增加一个频度。当然,也可以不增加“领头词”频度,因为增加“领 头词”的频度,意义不大(其主要意义在于反映该串的活跃度)。添加后的“跟随词”,当即从“衍生串”里删除。因为是把“衍生串”里的“跟随词” 逐一添加到“总串”的“跟随词”里,所以,在(衍生串)里也是逐一删除掉已经添加到“总 串”的“跟随词”。最后,删除衍生串里的领头词,该衍生串的任务算作结束,“衍生串”的整 串(含该串的所有数据)被自动删除掉。依据这种方案,与“领头词”关联性强的“跟随词”,会逐渐地排序在前面。以上公开的内容已经构成一个完整的基础技术方案。公众在此基础的方案上,再 增加一些其它技术手段,比如排除无关的热词和防止恶意作弊等,仍然在本发明的保护范 围之内。由计算机处理,当用户使用搜索引擎时,每输入一个字符,则使用当前已经输入的 全部字符或者部分字符在各个总串的领头词里检索,检索到相同的领头词时,返回一次检 索结果,为用户显示一个对应总串里的N个跟随词。由计算机处理,当执行网页的搜索时,同时,使用搜索词的全部字符或者部分字符 在各个总串的领头词里检索,检索到相同的领头词时,返回一次检索结果,为用户显示一个对应总串里的N个跟随词。由计算机处理,把不同的总串分别生成动态网页或者静态网页,在网页里包含总串的领头词和N个跟随词。本发明中提到的计算机是具备cpu功能的任何固定或者移动设备,可以是服务器 计算机、可以是客户端计算机、也可以是相互协作的客户端计算机和服务器计算机。相互协 作是指通过内网或者公网等互联网进行协作。计算机包括个人电脑、移动设备、台式机电脑、笔记本电脑、移动电话等等。计算机可以利用多种方式中的一种或者多种确定同一个用户。比如利用IP或者 cookie确定同一个用户;可以利用客户端软件确定同一个用户;可以利用cpu的序列号、网 卡的序列号或者硬盘的序列号确定同一个用户;可以利用机器号确定同一个用户;可以利 用GUID确定同一个用户。把“总串,,的数据提取出来,放在家用电脑的客户端,或者,放在手机里,在断开互 联网或者连接互联网的情况下,从而供用户检索和显示数据,也在本发明的保护范围之内。本申请的实施例仅仅用于解释本发明,而不用于限定本发明。本发明中的实施例均为示例性的非限制性实施例。本领域的技术人员可以在本发 明的精神下,并在权利要求书的范围内进行多种改变、修改或者替换。然而,这些改变、修改 或者替换均应在本发明的保护范围之内。根据具体实施例的不同,本发明可以体现出本申请中所阐述的全部或部分之技术 效果。
权利要求
一种从众多网络搜索词里生成折射词的方法,其特征是由计算机处理,把用户的2 N个搜索词作为一个搜索串,搜索串里有多少个搜索词就生成多少个衍生串,每个搜索词均有一次机会成为对应衍生串的领头词;把同一个用户的多个衍生串以及众多用户的大量衍生串以相同的领头词为前提,添加到一个或者多个总串里,相同的跟随词累计频度,并且,同一个总串里的各个跟随词依据频度排序,从而得到一个或者多个总串。
2.根据权利要求1所述的一种从众多网络搜索词里生成折射词的方法,其特征是由 计算机处理,当用户使用搜索引擎时,每输入一个字符,则使用当前已经输入的全部字符或 者部分字符在各个总串的领头词里检索,检索到相同的领头词时,返回一次检索结果,为用 户显示一个对应总串里的N个跟随词。
3.根据权利要求1所述的一种从众多网络搜索词里生成折射词的方法,其特征是由 计算机处理,当执行网页的搜索时,同时,使用搜索词的全部字符或者部分字符在各个总串 的领头词里检索,检索到相同的领头词时,返回一次检索结果,为用户显示一个对应总串里 的N个跟随词。
4.根据权利要求1所述的一种从众多网络搜索词里生成折射词的方法,其特征是由 计算机处理,把不同的总串分别生成动态网页或者静态网页,在网页里包含总串的领头词 和N个跟随词。
全文摘要
一种从众多网络搜索词里生成折射词的方法。所属的技术领域是互联网的数据挖掘、数据检索和数据显示。许多网友使用多个有某种关联的词,在搜索引擎里查找,结果均没有找到包含搜索词的网页。日后,另一个人如果只知道其中的一个词,在搜索引擎里搜索时,也无法找到结果网页。但是,如果使用本发明的技术,那么,后一个搜索者,在使用自己仅仅知道的其中一个词进行搜索时,就可以获知相关的其它词(折射词)。这是当前的搜索引擎的一个疏漏。当前的搜索引擎虽然获取了多个具有某种关联的搜索词,但是,却无法把这几个词关联在一起,从而提供给后来的搜索者。
文档编号G06F17/30GK101944102SQ201010244300
公开日2011年1月12日 申请日期2010年8月4日 优先权日2010年8月4日
发明者张占平 申请人:张占平