一种搜索结果展示方法和装置
技术领域
本公开涉及人机交互技术领域,具体涉及一种搜索结果展示方法和装置。
背景技术
文本搜索是在日常的文档阅读以及编辑过程中的一种常用操作,其中可能涉及到多种文档类型,比如文章,邮件,代码等。在文本搜索的过程中,用户通过提供关键词进行搜索,之后阅读器或者文档编辑软件会跳转到文档中包含该关键词的位置并高亮该关键词。如果文档中有多处出现改关键词,用户可以通过快捷键在各个关键词出现的位置之间进行有序的跳转。以此达到遍历文章内容并寻找目标内容的目的。
在常见的文档类型中,一次搜索常常会返回多处搜索结果。显然,仅仅通过快捷键在文档内容中进行跳转是十分低效的。因此在我们日常使用的文档阅读或者编辑软件中,通常会提供一个独立的搜索结果展示窗口用以归纳展示所有的搜索结果。常见的搜索结果展示形式分为以下4种:
(1)高亮:在文档中高亮关键词出现的位置,同时在滚动条上标记关键词出现的位置。该形式多出现在代码编辑软件中,比如Visual Studio,VSCode,Sublime等。
(2)结果列表:搜索结果以列表的形式进行展示,其中每一条搜索结果包含该处关键词所在少量文档内容上下文。以便于用户通过浏览该上下文信息判断该条目所在的文章位置是否包含目标内容。该形式可见于Microsoft Word,Adobe Acrobat等软件中。
但是在不同的软件中,虽然形式相同,但是在上下文截取的策略上却略有不同,其中Microsoft Word选择关键词前后共90个左右字符长度的上下文,并尽可能保持关键词出现在中间位置;如果遇到段首或者段尾则优先保证上下文长度;如整段长度不足90则保留整段作为该条目的上下文。而每个条目的内容所占行数根据窗口大小改变而改变;AdobeAcrobat同样会截取定长的上下文长度,但是它会保持关键词出现在该条目中的第一个或者第二个词的位置,因为Acrobat固定的每个条目内容以一行进行展示,与窗口大小无关,所以该上下文截取策略可以保证用户在不同的窗口大小的情况下,关键词都可以出现在视野范围内。虽然该方法可以使得用户看到少量上下文信息,通过浏览列表可以过滤掉多数不相关的搜索结果,但是该方法仍存在以下不足:1)文章整体结构在搜索结果中没有体现,因此用户无法通过文章结构信息实现对搜索结果的大范围的筛选,必须按顺序浏览结果列表,交互次数较多;2)搜索结果列表中每个条目中的内容的截取也将对该方法的效率造成影响,现有软件如Microsoft Word,Adobe Acrobat中都是简单的截取固定长度的上下文;3)列表中的每一个条目只高亮一处关键词位置,当一段相同的上下文多次出现搜索关键词的时候,该上下文会重复出现在连续的条目中以高亮不同的关键词位置,造成冗余。
(3)标题:文章完整的目录结构会在搜索窗口中展示给用户,包含关键词的章节会被高亮。通过点击章节标题,正文内容会跳转至相应章节的开头位置,正文中关键词同样会被高亮,之后通过滚动条滚动正文寻找目标内容。该方法可见于Microsoft Word。该方法能够让用户过滤掉大量的无关章节内容并快速到达相关章节,一定程度上提高了搜索的效率和准确度,但是用户无法直观的看到正文中的上下文信息,跳转功能也只是跳转到相应的章节的开头位置,需要通过大量的滚动正文寻找目标内容。因此在文章较长且搜索任务较为复杂的情况下,用户的交互效率仍旧相对低下。
(4)页面:即在搜索窗口中展示页面的缩略图列表,列表中每一项为包含关键词的页面。关键词会同时在缩略图以及正文中高亮,但是因为缩略图缩放比例较大,高亮信息在缩略图中显得非常不明显,用户主要通过缩略图所能够提供的一些视觉信息对页面进行筛选和查找,比如页面中图片的位置,文字内容的排版等等。该方式可见于Microsoft Word,Preview(Mac版)等,其中Preview(Mac版)对该形式有所补充,在每个条目中增加了该页面所包含的关键词数量,以及页面中前两到三个关键词所在的上下文信息。对于对文章内容熟悉的用户而言,该方式存在一定的优势,缩略图中的图像信息(图片位置,排版样式等)会为用户提供一些记忆锚点,方便用户快速定位。但是对文章内容相对生疏的用户以及搜索任务相对复杂的情况下,缩略图的方法就显得收效甚微甚至对搜索起不到有益作用。
综上所述,目前对于以高亮、结果列表、标题或页面形式展示搜索结果存在的问题,尚缺乏有效的解决方案。
发明内容
为了克服上述现有技术的不足,本公开提供了一种搜索结果展示方法和装置,生成包含文章结构信息结构列表,用户可通过文章结构信息实现对搜索结果的大范围的筛选,提升交互效率。
本公开所采用的技术方案是:
一种搜索结果展示方法,该方法包括以下步骤:
获取用户输入的关键词,遍历全文搜索关键词,记录关键词出现的章节标题,并生成相应的树形结构;
根据每处关键词位置,依次从文档中截取出包含关键词的所有条目信息,并剔除重复的条目信息;
按照条目信息的位置信息插入到树形结构中,生成结构列表,展示给用户。
进一步的,所述遍历全文搜索关键词,记录关键词出现的章节标题,并生成相应的树形结构的步骤包括:
根据用户输入的关键词,遍历全文的每个章节内容,搜索所有关键词出现的位置;
根据所有关键词出现的位置,记录章节内容中包含关键词的章节标题,剔除不包含关键词的章节标题;
利用章节内容中包含关键词的章节标题,生成该关键词的树形结构,每个章节内容中含有关键词的章节标题为该树形结构的内部节点。
进一步的,所述截取出包含关键词的所有条目信息的步骤包括:
根据每处关键词位置,分别从段首至段尾方向遍历文档的每段内容,寻找整句结束标记;
提取关键词所在的所有整句内容,并将提取到的每个整句内容均作为该关键词的条目信息;
再次遍历关键词的每个条目信息,寻找在条目信息中是否多处出现关键词;
如果条目信息中多处出现关键词,则在条目信息中标记并高亮显示所出现的所有关键词。
进一步的,所述剔除重复的条目信息的方法为:
将得到的所有条目信息进行一一比较,剔除重复的条目信息。
进一步的,将剔除重复条目信息后剩余的条目信息按照其所属章节内容分别加入到树形结构中相应的章节标题下,形成带有章节结构信息的结构列表。
进一步的,还包括:根据搜索结果窗口的大小对结构列表进行排版。
所述根据搜索结果窗口的大小对结构列表进行排版的步骤包括:
根据文档中各章节的顺序,依次排列设置结构列表的章节标题;
根据搜索结果窗口的大小设置每条条目信息的宽度,并在相邻的条目信息之间设置横线分隔开。
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行如上所述的搜索结果展示方法。
一种终端设备,包括输入输出设备、处理器和计算机可读存储介质,所述输入输出设备,用于接收用户输入的关键词,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令用于执行如上所述的搜索结果展示方法。
本公开的有益效果是:
(1)本公开将搜索结果有序的整理在搜索结果窗口展示,减少了对正文的滚动交互次数;在搜索结果中加入文章的结构信息,让用户在对文章内容有大致的猜想或者熟悉文章内容的情况下可以快速定位到相应章节,减少了对其他章节中的搜索结果的交互次数;
(2)本公开对未出现搜索结果的章节以及重复条目信息等冗余信息进行剔除,缩短了搜索结果窗口的内容长度,减少了在该窗口中的点击及滚动等交互,提高了交互效率;
(3)本公开展示的搜索结果中文章结构让用户对搜索内容在文章中的分布有整体把握,有利于用户对文章整体结构的把握,减少了用户对冗余信息的获取,提高了信息获取效率。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本申请,并不构成对本公开的不当限定。
图1是根据一种或多种实施方式的搜索结果展示方法流程图;
图2是根据一种或多种实施方式的树形结构的示例图;
图3是根据一种或多种实施方式的提取关键词所在的整句内容并高亮句中所有关键词的方法流程图;
图4是根据一种或多种实施方式的条目信息的示例图;
图5是根据一种或多种实施方式的结构列表的示例图;
图6是根据一个或多个实施例的搜索结果展示样例图。
具体实施方式
下面结合附图与实施例对本公开作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本公开使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
一种或多种实施例提供一种搜索结果展示方法,提升文档搜索效率,该方法包括以下步骤:
S101,获取用户输入的关键词,遍历整个文本,寻找所有关键词出现的位置,并记录出现关键词的章节,生成包含这些章节的树形结构,每个章节内容中含有关键词的章节标题为该树形结构的树节点。
所述步骤S101的具体实现方式如下:
S101-1,根据用户输入的关键词,遍历文档的每个章节内容,搜索所有关键词出现的位置。
S101-2,根据所有关键词出现的位置,记录章节内容中出现关键词的章节标题。
S101-3,由文档的每个章节标题组成树形结构,根据所记录的出现关键词的章节标题,从树形结构中剔除中不包含关键词的章节标题,以精简树形结构,得到去除冗余信息的树形结构,如图2所示。
在本实施例中,通过搜索各个章节的内容,剔除树形结构中不包含搜索关键词的章节标题以精简树形结构,得到去除冗余信息的树形结构,让用户可以快速定位到相应章节,减少了对其他章节中的搜索关键词的交互次数,对于未出现搜索关键词的章节进行剔除,缩短了搜索结果的内容长度,提升了交互效率。
如图2所示,(a)为现有的标题展示树形结构,包含文档中所有的章节标题;(b)去除冗余信息的树形结构,其只包含章节内容中含有搜索关键词的章节标题。
S102:根据关键词出现的每个位置依次截取包含关键词的完整条目信息。
所述步骤102的具体实现方式如下:
S102-1,根据出现关键词的每个位置分别从段首至段尾方向遍历文档的整段内容,寻找整句结束标记,如句号,问号,叹号等;提取关键词所在的整句内容,并保存所有包含关键词的整句内容,将提取到的每个整句内容作为这个关键词的条目信息。
S102-2,再次遍历每个条目信息,寻找在该条目信息中是否多处出现关键词,如果条目信息中多处出现关键词,则在条目信息中标记所出现的所有关键词,并高亮条目信息中所有关键词。
本实施例中,提取关键词所在的整句内容并高亮句中所有关键词的过程如图3所示,遍历包含关键词的整段内容,寻找整句结束标记,提取关键词所在的一个整句内容,并保存,将该整句内容作为一条目信息,然后高亮该整句内容中的所有关键词。
现有的搜索结果列表中每个条目一次只高亮一处关键词位置,并且存在重复条目,而在本实施例中,将一个条目信息中出现的所有搜索关键词全部进行高亮显示,且该条目信息只展示一次,剔除重复的条目信息。
S103:剔除重复的条目信息。
将保存的所有条目信息进行一一比较,剔除重复的条目信息。如图4所示,(a)中为现有的搜索结果列表,在上下文中,有3条出现搜索关键词的条目信息,即条目信息重复出现3次,形成冗余;(b)中为去除冗余信息的搜索结果列表,即高亮所截取的条目信息中所有的搜索关键词,提高了交互效率。
S104,将条目信息作为叶节点插入到步骤S101生成的树形结构中,形成结构列表。
所述步骤S104的具体实现方式如下:
将步骤103得到的条目信息按照所属章节内容分别加入到树形结构中相应的章节标题下,作为叶节点,此时形成带有章节结构信息的结构列表,如图5所示,展示给用户。
在本实施例中,所述结构列表包括章节标题和由多个条目信息构成的章节结构信息。通过该结构列表,让用户在对文档内容有大致的猜想或者熟悉文档内容的情况下可以快速定位到相应章节,减少了对其他章节中的搜索结果的交互次数。
所述步骤105,根据搜索结果窗口的大小对结构列表进行排版。
所述步骤S105的具体实现方式如下:
根据文档中各章节的顺序,依次排列设置结构列表的章节标题;
根据搜索结果窗口的大小设置每条条目信息的宽度,并在相邻的条目信息之间设置横线分隔开。
步骤106,将排版后的结构列表展示给客户。
利用本实施例提出的搜索结果展示方法在文档中搜索“rose”关键词的搜索结果如图6所示。图6中,右侧为正文部分,左侧为搜索结果窗口,加粗且有背景的文字内容为章节标题,章节标题之前有三角箭头表示章节内容可以进行折叠,条目信息之间通过横线隔开,条目信息中的搜索关键词通过加粗进行强调。
一种或多种实施例还提供一种计算机可读存储介质,其中存储有多条指令,其特征是,所述指令适于由终端设备的处理器加载并执行如上所述的搜索结果展示方法。
一种或多种实施例还提供一种终端设备,包括输入输出设备、处理器和计算机可读存储介质,所述输入输出设备,用于接收用户输入的关键词,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令用于执行如上所述的搜索结果展示方法。
从以上的描述中,可以看出,上述的一种或多种实施例实现了如下技术效果:
(1)将搜索结果有序的整理在搜索结果窗口展示,减少了对正文的滚动交互次数;在搜索结果中加入文章的结构信息,让用户在对文章内容有大致的猜想或者熟悉文章内容的情况下可以快速定位到相应章节,减少了对其他章节中的搜索结果的交互次数;
(2)对未出现搜索结果的章节以及重复条目信息等冗余信息进行剔除,缩短了搜索结果窗口的内容长度,减少了在该窗口中的点击及滚动等交互,提高了交互效率;
(3)展示的搜索结果中文章结构让用户对搜索内容在文章中的分布有整体把握,有利于用户对文章整体结构的把握,减少了用户对冗余信息的获取,提高了信息获取效率。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。