具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
参见图1,图1为本发明实施例提供的基本流程图。如图1所示,该流程可包括以下步骤:
步骤101,根据接收的关键词搜索该关键词对应的图片。
步骤102,针对搜索到的每幅图片,判断预建立的数据库中该图片和关键词之间的对应关系是否已被标注,如果是,执行步骤103;否则,执行步骤104。
本步骤102中,图片和关键词之间对应关系的标注可表示该对应关系正确(此时该标注可用√表示)和表示该对应关系错误(此时该标注可用×表示)两种情况,针对不同的情况,执行不同的处理,具体见步骤103。
步骤103,在该标注表示该对应关系正确时,执行步骤104;在该标注表示该对应关系错误时,过滤掉该对应关系中的图片。
如果以标注为√表示对应关系正确,以标注为×表示对应关系错误,则步骤103中的判断为:在该标注为√时,表示该对应关系正确,为×时,表示该对应关系错误。
其中,如果标注为×,即表示对应关系错误,则意味着该对应关系中的关键词和图片之间实质上没有任何关联,比如,关键词为熊猫,而在步骤101中搜索到了狼狗的图片,基于此,在步骤102至步骤103中,如果熊猫和狼狗图片之间的对应关系被标注,且标注为×,就需要在搜索结果中过滤掉该狼狗的图片,这显然提高了搜索结果的准确度。
步骤104,确定该图片为待显示图片。
如此,在步骤104确定出待显示图片后,就可直接提供并显示给确定的待显示图片给用户,以便用户查看该图片。
至此,实现了本发明实施例提供的流程。
在上述流程中,数据库主要用于在用户验证时向用户提供图片和关键词,其中,该提供的关键词依赖于用户搜索图片时所提供的关键词,而提供的图片依赖于搜索结果。为了保证数据库中存在大量的关键词和图片,优选地,本实施例在执行上述步骤102中的判断之前,可包括:判断所述数据库是否存在该图片和关键词之间的对应关系,如果是,继续执行步骤102中的判断;否则,添加该图片和关键词之间的对应关系至数据库。通过该方法,能够保证数据库中存在大量的关键词和图片。
至于数据库中图片和关键词之间对应关系的标注,则依赖于用户验证时用户的标注,具体可参见图2所示的流程。
参见图2,图2为本发明实施例中图片和关键词之间对应关系被标注的流程图。如图2所示,该流程可包括以下步骤:
步骤201,当接收到用户发送的验证请求时,随机从所述数据库中选取N个图片和M个关键词给用户标注。
其中,N和M取值为正整数,可相同也可不同。
本实施例中,考虑到系统健壮性,就需要保证提供给用户标注的图片和关键词越多越好、即N和M越大越好;而考虑到系统易用性,就需要保证提供给用户标注的图片和关键词越少越好,即N和M越小越好。根据调查或者实际情况分析可以得到:每增加一张图片给用户标注所带来的负担,要远多于增加一个关键词带来的负担。基于此,本发明实施例中的N和M在取值时需要考虑到系统健壮性和系统易用性两个特点,并确保系统健壮性和系统易用性都能均衡达到最佳。
其中,在选取的N个图片中,需要包含一个以上验证图片,剩余的图片可为待标注图片;在选取的M个关键词中至少包含所述验证图片对应的验证关键词,其中,所述验证图片和验证关键词之间的对应关系在数据库中已被正确标注,剩余的关键词可为待标注关键词和/或数据库中已标注的其他对应关系中的关键词等。
步骤202,判断用户标注的对应关系是否包含了所有验证图片和其对应的验证关键词之间的对应关系,如果是,执行步骤203,否则,执行步骤204;
假如验证图片为椅子图片,相应地,验证关键词就为椅子,如此,执行到步骤202时,就需要判断用户标注的对应关系中是否包含椅子图片和椅子之间的对应关系,如果是,则执行步骤203,如果不是,比如为椅子和笔记本之间的对应关系,则执行步骤204。
当然,如果验证图片有两个(其他多个的情况类似,不再一一赘述),分别为椅子图片和坦克图片,而验证关键词相应为椅子和坦克,如此,执行到步骤202时,就需要判断用户标注的对应关系中是否包含椅子图片和椅子、以及坦克图片和坦克之间的对应关系,如果是,则执行步骤203,如果不是,则执行步骤204。
步骤203,在该所有验证图片和其对应的验证关键词之间的对应关系都被标注正确时,确定验证成功,之后执行步骤204;否则,确定验证失败,结束当前流程。
如果以标注为√表示对应关系正确,以标注为×表示对应关系错误,则步骤203中就需要判断各个验证图片和其对应的验证关键词之间的对应关系是否被用户标注为√,如果是,确定验证成功,否则,确定验证失败。
优选地,本实施例中,在验证失败时,可将用户标错的验证图片和对应的验证关键词之间的对应关系提供给用户,以便用户修改标注,重新进行验证。比如,用户对验证图片即椅子图片和验证关键词即椅子之间的对应关系标注为×,则将椅子图片和椅子之间的对应关系重新提供给用户。
步骤204,从用户标注的对应关系中选取数据库中未标注的对应关系。
步骤205,针对选取的每一对应关系的标注,判断该标注是表示该对应关系正确还是错误,如果是正确,则将标注该对应关系正确的用户数量(第一用户数量)加1,如果是错误,则将标注该对应关系错误的用户数量(记为第二用户数量)加1。
如果该标注为√表示该对应关系正确,该标注为×表示该对应关系错误,则步骤205中的判断为:判断该标注为√还是×,如果是√,则表示该对应关系正确,如果是×,表示该对应关系错误。
步骤206,在当前达到预设计算时间时,计算第一用户数量所占的比例,如果该比例大于等于第一预设值,则在数据库中标注该对应关系正确,如果该比例小于第二预设值,则在数据库中标注该对应关系错误。
也就是说,计算该第一用户数量在所有标注该对应关系的用户数量(即第一用户数量和第二用户数量之和)中的百分比。通常,该第一预设值大于50%,比如,如果70%以上的用户都标注了该对应关系√,则确定该对应关系的标注是正确的,即该图片和关键词之间具有正确的对应关系。此时,将该数据库中的该对应关系标注为正确。
另外,上述第二预设值小于第一预设值,即一般小于50%。以第二预设值为30%为例,则比如,如果30%以下的用户对该对应关系的标注为√,而70%以上的用户对该对应关系的标注为×,则确定该对应关系是错误的,即该图片和关键词之间不具有正确的对应关系,此时,将该数据库中的该对应关系标注为错误。
优选地,本实施例中,如果该比例小于第一预设值,且大于等于第二预设值,其中,第二预设值小于第一预设值,则标注该对应关系中的图片为歧义图片;这里,所谓歧义图片具体为不用于后续验证时的图片。
基于此,上述步骤201中随机从数据库中选取N个图片可包括:
从数据库中除歧义图片之外的其他图片中随机选取N个;或者,
从数据库中除歧义图片之外的其他图片中随机选取I个,以及从除歧义图片和已选取的I个图片之外、且属于热搜的其他图片中随机选取N-I个,其中,热搜的图片主要是指在时间上后存储至数据库中的图片,之所以从热搜图片中选取图片,主要是为了保证热搜、新出现的关键词和图片在短时间内被标注,并改进后续的搜索结果。
以上对本发明实施例提供的方法进行描述,下面以搜索引擎实现图片搜索、图片验证(CAPTCHA:CompletelyAutomatedPublicTuringtesttotellComputersandHumansApart)系统实现用户验证为例,对上述方法进行具体描述。
该具体实施例涉及到两类用户,即搜索用户和验证用户,涉及到两个页面,即图片搜索页面和CAPTCHA验证页面,涉及到两个后台,即图片搜索引擎和上文中的数据库。其中,搜索用户通过图3所示的流程搜索图片:
步骤301,搜索用户通过图片搜索页面提交关键词,以便触发搜索关键词相关的图片。
步骤302,图片搜索页面将该关键词转发给后台的图片搜索引擎。
步骤303,图片搜索引擎根据该关键词搜索相关图片。
步骤304,针对步骤303搜索到的每一幅图片,判断后台的数据库中是否存在该图片和步骤301提供的关键词之间的对应关系,如果是,执行步骤305;否则,存储该图片和关键词之间的对应关系至该数据库。
步骤305,判断数据库中该图片和步骤301提供的关键词之间的对应关系是否已被标注,如果是,则执行步骤306,否则,执行步骤307。
步骤306,在该标注表示该对应关系正确时,执行步骤307;在该标注表示该对应关系错误时,过滤掉该图片。
步骤307,确定该图片为待显示图片。
步骤308,显示步骤307确定的待显示图片。
至此,通过上述步骤实现了对搜索结果的进一步过滤,这能保证搜索结果的准确度。
而验证用户通过图4所示的流程进行用户验证,在该验证过程中,能够实现关键词和图片之间对应关系的标注:
步骤401,验证用户发送验证请求至CAPTCHA验证页面。
步骤402,CAPTCHA验证页面将该验证请求转发至后台的数据库。
步骤403,数据库接收到验证请求时,随机从已存储的图片和关键词中分别选取3个图片和5个关键词给CAPTCHA验证页面,以便用户在该CAPTCHA验证页面中进行标注。
本实施例中,基于步骤201的分析,考虑到系统健壮性和系统易用性两个特点,确定能够使系统健壮性和系统易用性都能达到较佳的N和M分别为3和5。
其中,CAPTCHA验证页面显示的3个图片中包含了两个验证图片(具体为数据库中已被正确标注的对应关系中的图片),即椅子图片和坦克图片,而另1个图片为待标注图片;选取的5个关键词包含了4个验证关键词,即笔记本、椅子、坦克和美女,而另1个即行人为待标注关键词,其中,该4个验证关键词中有两个验证关键词分别与上述两个验证图片对应(该对应关系在数据库中已被正确标注),即为椅子和坦克,而另外两个即笔记本和美女均为在数据库中已被标注的其他对应关系中的关键词。
步骤404,CAPTCHA验证页面将用户对关键词和图片之间对应关系的标注发送给后台数据库。
这里,该标注可包含表示对应关系正确的标注,也包含表示对应关系错误的标注。
步骤405,判断用户标注的对应关系是否包含了所有验证图片和其对应的验证关键词之间的对应关系,如果是,执行步骤406,否则,执行步骤407。
如果验证图片为椅子图片和坦克图片,如此,步骤405中的判断为:判断用户标注的对应关系中是否存在椅子图片和关键词椅子、以及坦克图片和关键词坦克之间的对应关系。
步骤406,在该用户的标注表示对应关系正确时,确定验证成功,之后执行步骤407;否则,确定验证失败,结束当前流程。
优选地,本实施例中,在验证失败时,可将用户标错的验证关键词和验证图片之间的对应关系提供给用户,以便用户修改标注,重新进行验证。
步骤407,从用户标注的对应关系中选取数据库中未标注的对应关系。
步骤407选取的对应关系具体包括:待标注图片和验证关键词之间的对应关系、待标注图片和待标注关键词之间的对应关系,以及待标注关键词和验证图片之间的对应关系。
步骤408,针对每一对应关系的标注,判断该标注是表示该对应关系正确还是错误,如果是正确,则将标注该对应关系正确的第一用户数量加1,如果是错误,则将标注该对应关系错误的第二用户数量加1。之后执行步骤409。
步骤409与步骤206类似,不再赘述。
通过以上步骤实现了数据库中关键词和图片之间对应关系的标注。
以上对本发明实施例提供的方法进行了描述,下面对本发明实施例提供的装置进行描述。
参见图5,图5为本发明实施例提供的装置结构图。如图5所示,该装置包括:
搜索单元501,用于根据接收的关键词搜索该关键词对应的图片;
数据库单元502,用于存储已被标注的图片和关键词之间的对应关系,以及未被标注的图片和关键词之间的对应关系;
判断单元503,用于针对搜索单元501搜索到的每幅图片,判断数据库单元502中该图片和关键词之间的对应关系是否已被标注;
处理单元504,用于在判断单元503的判断结果为是时,如果该标注表示该对应关系正确,则发送确定通知给确定单元,如果该标注表示该对应关系错误,则过滤掉该图片;
确定单元505,用于接收到确定通知后,或者在判断单元504的判断结果为否时,确定该图片为待显示图片。
如此,在确定单元505确定出待显示图片后,就可直接提供并显示给确定的待显示图片给用户,以便用户查看该图片。
优选地,本实施例中,判断单元504在执行判断之前,还用于判断所述数据库单元是否存在该图片和该关键词之间的对应关系,如果是,继续执行判断预建立的数据库中该图片和关键词之间的对应关系是否已被标注;否则,添加该图片和关键词之间的对应关系至所述数据库。
优选地,数据库单元502在具体实现时可包括图6所示的结构。如图6所示,该数据库单元502具体可包括:
选取模块601,在接收到验证请求时,随机从所述数据库中选取N个图片和M个关键词给用户标注;
标注模块602,用于根据用户对图片和关键词之间对应关系的标注,在数据库中对相应图片和关键词之间的对应关系进行标注。
其中,标注模块602具体结构可包括:
数量确定子模块6021,用于在接收到用户对图片和关键词之间对应关系的标注时,判断该标注是表示该对应关系正确还是错误,如果是正确,则将标注该对应关系正确的用户数量加1,如果是错误,则将标注该对应关系错误的用户数量加1;
标注子模块6022,用于在当前达到预设计算时间时,计算标注该对应关系正确的用户数量所占的比例,如果该比例大于等于第一预设值,则在数据库中标注该对应关系正确,如果该比例小于第二预设值,则在数据库中标注该对应关系错误,第二预设值小于第一预设值。
这里,如果标注子模块6022在所述比例小于第一预设值,且大于等于第二预设值时,标注该对应关系中的图片为歧义图片;基于此,选取模块601可从数据库中除歧义图片之外的其他图片中随机选取N个图片。
优选地,所述N个图片包含一个以上验证图片,所述M个关键词中至少包含所述验证图片对应的验证关键词,其中,所述验证图片和验证关键词之间的对应关系在数据库中已被标注正确;基于此,如图6所示,该数据库单元502还可包括:
判断模块603,用于判断用户标注的对应关系是否包含了所有验证图片和其对应的验证关键词之间的对应关系,如果是,
在该所有验证图片和其对应的验证关键词之间的对应关系都被标注正确时,确定验证成功,之后,从用户标注的对应关系中选取数据库中未标注的对应关系,针对每一对应关系的标注,触发数量确定模块6021执行判断该标注是表示该对应关系正确还是错误的操作;否则,确定验证失败;
如果否,则从用户标注的对应关系中选取数据库中未标注的对应关系,针对每一对应关系的标注,触发数量确定模块6021执行判断该标注是表示该对应关系正确还是错误的操作。
由以上技术方案可以看出,本发明中,在进行图片搜索时,根据接收的关键词搜索该关键词对应的图片;针对搜索到的每幅图片,判断预建立的数据库中该图片和关键词之间的对应关系是否已被标注,如果是,在该标注表示该对应关系正确时,确定该图片为待显示图片;在该标注表示该对应关系错误时,过滤掉该图片,如果否,确定该图片为待显示图片;实现了对返回的搜索结果进行了验证,这显然会提高搜索结果的准确度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。