组件171可以使用试探法来确定合作搜索会话在何时已经结束。例如,如果在预定义的时间段内没有传输搜索项,则可以认为合作搜索会话已结束,并且若用户中的一个或多个用户尝试实施合作搜索,就可以生成新的合作搜索会话。合作组件171可以使用合作搜索会话标识符来跟踪和保持这样的会话。在另一实施例中,合作组件171可以使用已有的合作基础设施来设立和保持个体会话。例如,参加视频电话会议的用户也可以寻求实施合作搜索。在这样的示例中,合作搜索会话可以在视频电话会议结束时结束。此外,在这样的实施例中,还可以使用作为已有合作基础设施的一部分而生成的数据来实施以上详细描述的模式识别,以便使用户能够以不用手的方式参与到合作搜索中。例如,返回以上的视频电话会议的示例,视频电话会议不仅可以提供框架将一个合作与另一个合作相区分,还可以提供视频肖像,通过所述视频肖像,比如通过使用以上详细描述的面部识别或涉及模式识别的其他不用手的机制,可以识别用户并且将用户添加到合作搜索。
[0046]转向图3,其中示出的流程图300图示了示范性的一系列步骤,其可以由个人计算设备实施来在合作搜索中帮助用户。初始地,在步骤310,可以发起合作搜索上下文。在一个实施例中,这样的合作搜索上下文可以是可由个人计算设备执行的专用应用程序,所述个人计算设备例如包括在图1中示出的个人计算设备110、平板计算设备130和智能电话计算设备140。在可替换实施例中,合作搜索上下文可以是由个人计算设备执行的已有应用程序或操作系统的组件、插件、扩展或其他附加件(add-on)。例如,合作搜索上下文可以是web浏览器扩展,并且可以由web浏览器来实例化。作为另一示例,合作搜索上下文可以是针对诸如视频消息传递或即时消息传递上下文这样的其他合作上下文的已有应用的扩展。
[0047]在一个实施例中,在实例化这样的合作搜索上下文后,在步骤315,可以监视多个输入矢量或使其可用于监视或输入的接收。一个这样的输入矢量可以是视频输入,在这种情况下处理可以进行到步骤320。另一输入矢量可以是运动识别,在这种情况下处理可以进行到步骤360。其他输入矢量同样可应用于提供以上详细描述的不用手的机制,通过所述不用手的机制用户可以加入并参与到合作搜索中,但是为了保持看上去清楚,图3的流程图300中并未明确图示其他输入矢量。首先转向视频输入,处理可以继续进行步骤320,在步骤320可以在由视频摄像机捕获的视频中寻找面部。如果检测到一个或多个面部,则处理可以进行到步骤325。随后,在步骤325,可以基于面部识别来辨别用户,并且可以将这样的用户的标识提供给合作组件。如先前指示的,这样的合作组件可以在不同的计算设备上执行,或者这样的合作组件可以与合作搜索上下文同时地在相同的计算设备上执行。此外,尽管在示范性流程图300中没有具体枚举,然而步骤320和325可以同样地适用于任何其他类型的模式识别。例如,在步骤320,可以使用麦克风来检测话音,并且在步骤325,可以基于话音识别来辨别用户。以上枚举的其他类型的模式识别也同样是适用的。
[0048]在步骤330,可以确定被识别的模式是否存在改变,比如,是否新用户走入了正在被视频摄像机捕获的视频帧,新用户的话音是否被记录在麦克风上,或其他类似的改变。如果检测到这样的改变,在步骤330,处理可以循环回到步骤320和325,并且从而继续更新正在合作来实施合作搜索的用户。如先前指示的,在一些实施例中,当在步骤330检测到面部的改变之后可以实现延迟。在步骤335,可以确定是否键入了搜索项。如果如在步骤335确定的已键入搜索项,那么若这样的搜索项没有初始地被直接发送给推荐引擎,则在步骤340可以将这样的搜索项提供给推荐引擎。如以上详细描述的,合作推荐可以响应于在步骤340提供的搜索项而被接收。如果推荐引擎确定单个结果是最适用的或者实质上比其他结果更适用,则推荐引擎可以提供单个推荐,比如在步骤345接收到的推荐。可替换地,推荐引擎可以将一系列推荐提供给合作搜索中的用户之一的计算设备,比如,从其接收到搜索项的计算设备,并且与这样的计算设备交互的用户可以选择推荐中的一个或多个作为所选择的推荐。为了使图形展示简单和容易,这样的推荐的交换、后续的选择、以及后续的对于针对所述选择的附加信息(以被选择的推荐的形式)的提供没有在图3的流程图300中明确示出,而是取而代之地压缩到步骤345中。一旦接收到推荐形式的附加信息,相关过程就可以在步骤380结束。
[0049]返回到步骤335,如果在步骤335没有键入搜索项,则在步骤310实例化的合作搜索上下文可能不是通过其来键入搜索项的上下文。例如,在步骤310实例化的合作搜索上下文可以正在平板计算设备上执行,从而使与该平板计算设备共处一处的一个或多个用户能够与其他用户(比如使用个人计算设备的其他用户)合作。在这样的实例中,与平板计算设备不同,那些其他用户可以经由个人计算设备键入针对合作搜索的搜索项。所以,如果在步骤335没有检测到搜索项,则处理可以进行到步骤345来接收推荐。然后相关处理可以在步骤380结束。
[0050]如在步骤315指示的,可以监视多个输入矢量。另一个这样的输入矢量可以是运动输入,在这种情况下处理可以继续进行步骤360而不是步骤320,在这一点处可以确定是否存在指示加入合作的动作。如先前指示的,在实施步骤360时,计算设备可以使用模式识别来简化加入合作的任务。例如,在步骤360,可以就用户是否以指示加入合作的方式移动了计算设备来进行确定。这样的运动识别可以由计算设备上的各种传感器来通知。作为另一示例,在步骤360,可以就用户是否提供了指示加入合作的触摸输入,比如以上详细描述的触摸输入来进行确定。
[0051]一旦在步骤360检测到指示加入合作的动作,处理就可以进行到步骤365,在这一点处可以将计算设备的用户的身份提供给合作组件。如先前指示的,计算设备的用户的身份可以是当前登录到计算设备上的用户的身份。可替换地,作为比如在步骤310处合作搜索上下文的实例化的一部分,可以向用户请求用户的身份,或者可以响应于比如在步骤360确定检测到了指示加入合作的动作而进行这样的明确请求。如上所述,对于这样的明确请求的用户响应也可以是不用手的,比如通过话音输入。
[0052]在一个实施例中,在步骤365之后,处理可以进行到步骤345并等待合作推荐。在这样的实施例中,加入合作的用户,甚至是来自比如智能电话计算设备这样的远程设备的,也仍然可以自动接收合作推荐,而无需在用户方面的另外的动作。
[0053]然而在另一实施例中,在步骤365之后可以在步骤370就用户是否实施了指示请求合作推荐的动作来进行判定。在这样的其他实施例中,可能不自动提供合作推荐。取而代之地,在步骤370,可以按照几乎与步骤360相同的方式使用模式识别来简化明确请求合作推荐的用户任务。例如,可以使用对运动模式的运动检测和识别,使得当用户以具体方式(比如以上详述的那些方式)移动计算设备时,可以将这样的运动解释为指示请求合作推荐的动作。如果检测到这样的运动,则处理可以进行到步骤375,在这一点处计算设备可以发出对合作推荐的明确请求。处理然后可以进行到步骤345以接收所请求的推荐,并且最终地,相关处理可以在步骤380结束。
[0054]转向图4,其中示出的示范性流程图400图示了可以由合作组件或促进合作搜索的其他类似机制来实施的示范性的一系列步骤。初始地,在步骤410,可以比如在服务器计算设备上,或者作为在一个或多个客户端计算设备上执行的应用程序、插件、扩展或其他类似机制的一部分,发起这样的合作搜索机制。随后,在步骤415,可以就合作搜索是否正作为已有合作上下文的一部分在实施来进行确定。例如,且如先前指示的,合作搜索可以由已经在视频电话会议、组即时消息传递会话或其他类似的合作上下文内进行合作的用户来实施。在这样的实例中,提供视频电话会议功能性、组即时消息传递功能性或其他类似合作功能性的机制可以已经提供了已有的合作上下文或框架,所述已有的合作上下文或框架可以随着例如已有用户离开以及新用户加入而跟踪合作中的用户,并且还可以确定这样的合作会话何时开始以及它何时结束。所以,如果在步骤415合作搜索正作为已有上下文框架的一部分在实施,则在步骤420,可以获得那个已有合作上下文中的用户的身份。然后处理可以继续进行步骤445,以下将进一步详细描述步骤445。
[0055]相反,如果在步骤415不存在已有的合作上下文,则处理可以进行到步骤430,在步骤430可以获得正在彼此合作的用户的身份。例如,可以比如按照以上详细描述的方式从正在与合作中的用户交互的个体计算设备接收身份。可选地,不是直接接收身份,而是可以接收能从中导出身份的信息。更具体地,并且如可选步骤425所图示的,可以接收模式数据,可以向所述模式数据施加模式识别以辨别合作中的特定用户。例如,可以接收静止图像或视频剪辑,可以对所述静止图像或视频剪辑施加面部识别以辨别这些图像或视频剪辑中的用户。作为另一示例,可以接收音频,可以对所述音频施加话音识别来辨别在音频剪辑中说话的用户。一旦作为可选步骤425的一部分实施了这样的模式识别,处理就可以进行到步骤430,在这一点处可以接收在步骤425辨别的用户的身份。可替换地,处理可以直接进行到步骤430,并且可以从可能已经自己实施了模式识别的个人计算设备接收参与合作的用户的身份。
[0056]在步骤435,可以进行会话管理确定,比如像是否要生成新会话或终止旧会话。为了易于例证说明和描述,图4的示范性流程图400描述并图示了每次仅单个会话。然而如本领域技术人员将认识到的,从本文提供的描述中,可以以直截了当的方式实现带有实施独立合作搜索的不同用户组的多个同时会话。在实施步骤435时,可以施加试探式分析来辨别旧会话何时不再适用或应当结束。例如,如果在延长的时间段内没有提供搜索项,则可以结束已有的合作上下文,并且可以比如在步骤440,通过清除参与先前合作会话的用户的身份并且随后返回步骤415,而开始新的会话。作为另一示例,如果创办(originate)合作上下文的用户一个也没有留下,则可以在步骤435作出生成新会话的确定,并且处理可以进行到步骤440并清除当前用户的身份且以步骤415的执行来再次开始。
[0057]相比之下,如果在步骤435试探式分析表明当前会话尚未结束,则处理可以进行到步骤445,在步骤445可以将参与到合作会话中的用户的身份提供给推荐引擎。如先前指示的,在一个实施例中,合作组件可以是由推荐引擎提供的框架的一部分,并且这样,步骤445可以只不过是推荐引擎仅访问合作组件的临时保存用户身份的数据存储库。在步骤450,可以接收合作推荐。更具体地,并且如以上详细描述的,在一个实施例中,推荐引擎和由实施合作搜索的用户之一使用的计算设备可以直接通信,并且可以仅向合作组件提供所选择的推荐。在另一实施例中,可以通过合作组件来指引在推荐引擎与实施合作搜索的用户之间的通信。为了使图形展示简单和清楚,步骤450打算涵盖推荐的交换、推荐的选择和所选推荐的附加信息,