凭经验的专家确定和问题路由系统和方法

文档序号:6533663阅读:206来源:国知局
凭经验的专家确定和问题路由系统和方法
【专利摘要】本发明提供了用于凭经验的专家确定和问题与答案路由的系统和方法。该系统收集关于每个用户的位置跟踪数据并且分析所述位置跟踪数据以凭经验确定对于在地图上的特定尺度上的具体地点/活动或具体地理区域特定用户所具有的专业知识等级。该系统接收关于在地图上的特定尺度上的具体地理区域中的具体地点/活动或关于地点/活动的类别的问题并且将这些问题实时路由至在具体地理区域内的具体地点/活动或地点/活动的类别的一个或多个专家。该系统从一个或多个专家中的至少一个接收对问题的响应并且还实时将所述响应路由返回至提问者。该系统还有效地表示在以多个地图尺度显示的地图上的具体地理区域内的多个地点/活动和/或用户的位置。
【专利说明】凭经验的专家确定和问题路由系统和方法
[0001]相关申请
[0002]本申请要求享有于2012年2月29日提交的美国临时申请N0.61/605,126的优先权,其公开全文以引用的方式并入本文。
[0003]发明背景

【技术领域】
[0004]本发明大体涉及社交介质和基于位置的服务,并且更特定地,涉及用于客观地确定关于具体地点/活动的一个或多个专家的系统和方法。本发明还特别涉及用于客观地确定关于在地图上的特定尺度上的具体地理区域内的地点/活动的具体类别的一个或多个专家的系统和方法。本发明还特别涉及用于将关于在特定尺度上的具体地理区域内的地点/活动或地点/活动的类别的问题和答案路由至专家和从专家路由的系统和方法。本发明还特别涉及用于有效地表示在以多个地图尺度显示的地图上的具体地理区域内的多个地点/活动和/或用户的位置的系统和方法。
现有技术
[0005]在传统在线系统中,确定谁是关于具体地点/活动或地点/活动的类别的专家在历史上一直是非常主观且有疑问的。这些传统在线系统通常要求潜在专家提供与他们所了解的关于地点/活动和/或地点/活动的类别相关的输入。然而,传统在线系统遭遇被用来确定谁是关于具体地点/活动和/或地点/活动的类别的专家的信息的自传体性质。传统在线系统不能确认来自潜在专家的自传体输入,并且因此传统在线系统无法精确地确定谁是专家。
[0006]绝大多数传统在线系统甚至不尝试识别专家,替而仅允许用户以提出关于具体地点/活动和/或地点/活动的类别和/或地理区域的请求,且希望真实的专家接收所提出的请求并且及时地响应于所提出的请求。该解决方案遭遇同样的问题,因为发出请求的用户无法验证可能接收所提出的请求并且选择作出响应的任意潜在专家的经验。因此,潜在专家的所谓的专业知识仅仅基于该潜在专家对她所了解的关于请求的主题的自身的感知。其它传统解决方案天真地向大量同伴用户组发送请求,希望真实的专家同伴用户将对所述请求作出响应并且提供明智的答案。该解决方案同样遭遇上文所描述的相同的问题,除了单个用户的社交网络的固有受限尺度之外。
[0007]传统系统的进一步的局限性在于,它们缺乏有效地呈现表示在所显示的地图上的多个地点/活动和/或用户的位置的图形元素的能力。该问题当更改地图的尺度以示出更大的地理区域但是不相应地更改显示地图的窗口/屏幕的大小时特别突出。传统解决方案已经尝试使图形元素极少地相互覆盖,使得每个图形元素占据用户界面的一些独特部分,并且因此能够由用户例如通过将鼠标指针悬停在由图形元素占据的独特部分上而选中。这些传统解决方案是累赘且效率低的并且对尝试选择各个图形元素的用户引入显著挑战。
[0008]因此,需要的是一种克服在如上文所描述的传统系统中发现的这些显著问题系统和方法。


【发明内容】

[0009]因此,为解决在如上文所描述的传统在线系统中发现的上述问题,本文中描述的系统和方法是,收集位置跟踪数据以确定用户访问具体地点/活动的频率和持续时间,并且基于对所述位置跟踪数据的分析,凭经验确定对于在地图上的特定尺度上的具体地理区域内的特定地点/活动以及对于地点/活动的类别特定用户的专业知识等级。
[0010]对于由用户对具体地点/活动的每次访问所收集的位置跟踪数据包括所访问的具体地点/活动、地点/活动的位置、访问的日期、访问的时刻和访问的持续时间及其它信息。对所收集的位置跟踪数据的分析包括判定与具体地点/活动和地理区域的相关的一个或多个类别、特定用户随时间的访问频率和具体地点/活动和地理区域、特定用户在特定地理区域(没有相关联的地点/活动的类别或有相关联的地点/活动的类别)中随时间的访问频率、在访问期间在地点发生的一个或多个活动(例如,快乐时光)、用户已经随时间访问的地点/活动的类别和地理区域的变化、用户已经随时间访问的特定类别的地点/活动和地理区域的变化、用户访问地点/活动所处的与类别无关联的地理区域(例如,城市、邻域、街区等)、用户已经回答的来自系统的问题的数量、关于由用户提供的答案的同伴反馈。其它信息也可以包含在分析中。
[0011]基于对所收集的位置跟踪数据,系统最初确定(并且随时间细化)每个用户所了解的是关于哪些具体地点/活动和地点/活动的类别以及在特定尺度上的地理区域。基于这些确定以及特定用户的专业知识等级与她的同伴用户的比较,系统能够凭经验确定哪些用户是关于在特定地理区域和尺度上的特定地点/活动和地点/活动的类别的专家。地点/活动可以包括(但不限于)企业、餐馆、公元、快乐时光、体充项目、总线线路、通勤、现场乐队、舞蹈、卡拉0K、诗歌朗诵、等等。类别范围从宽到窄并且可以包括(但是不限于)食物、夜生活、锻炼、寿司、汉堡、早餐、咖啡、素食者等。尺度范围能够从大地理区域到小地理区域并且可以包括(但不限于)城市、邻域、街区等并且还可以包括不同大小的任意限定的地理区域(在下文中称为“小区”)。
[0012]有利地,系统可以使用有效的签到信息从各种移动设备应用收集位置跟踪数据。例如,诸如Foursquare、Facebook、Google Latitude、Twitter等的应用允许用户识别用户目前所处的地点/活动。系统还可以使用周期性或连续全球定位系统(“GPS”)或对与用户相关联的移动设备的其它基于坐标的跟踪来收集位置跟踪数据。例如,还可以采用对移动设备的三角测量跟踪。另外,通过将地点/活动位置(例如,地图坐标、GPS坐标等)与一个或多个具体地点/活动或类别相关联,系统能够识别地点/活动类别(例如,寿司餐馆、公园、咖啡店)。位置和类别的关联性能够存储在系统可访问的数据存储区内并且还能够从可经网络通信访问的Foursquare、Facebook和其它来源获得。
[0013]一旦系统已经收集并且分析了充分的位置跟踪数据,系统就能够基于位置跟踪数据定期地或连续地确定谁是关于特定地点/活动的专家以及谁是关于在特定尺度上的地理区域的特定类别的专家。使用凭经验确定的专家状态,系统提供将从同伴用户接收的关于在特定尺度上的地点/活动和/或关于类别的问题实时路由至一个或多个专家。来自专家的对这样的问题的响应由系统接收并且还实时提供给发出请求的同伴用户。
[0014]另外,系统为重叠在尺度化地图上的表示一个或多个用户或地点/活动的图形元素(“注释”)提供用户界面。随着被显示的地图的尺度的改变,注释被以图形的方式结合或分离以增加可用性以及减少服务器工作量和客户工作量两者。本领域的普通技术人员在审阅下列详细描述和附图之后,本发明的其它特征和优点将变得更加显而易见。
[0015]附图简述
[0016]本发明的结构和操作将从审阅下列详细描述和附图被理解,在附图中,相似的附图标记指代相似的部分,并且其中:
[0017]图1为示出根据本发明的实施方案的用于凭经验的专家确定和问题路由的示例系统的网络图;
[0018]图2为示出根据本发明的实施方案的示例通信设备的框图;
[0019]图3为示出根据本发明的实施方案的示例服务器设备的框图;
[0020]图4为示出根据本发明的实施方案的用于接收问题并且提供专家响应的示例过程的流程图;
[0021]图5为示出根据本发明的实施方案的用于跟踪用户的基于位置的信息的示例过程的流程图;
[0022]图6为示出根据本发明的实施方案的用于分析基于位置的信息以促进专家确定的示例过程的流程图;
[0023]图7为示出根据本发明的实施方案的用于根据更新专家对问题的响应更新专家简介的示例过程的流程图;
[0024]图8为示出根据本发明的实施方案的用于将问题路由至临时专家的示例过程的流程图;
[0025]图9为示出根据本发明的实施方案的用于识别专家的示例过程的流程图;
[0026]图10为示出数据根据本发明的实施方案的用于提供地点数据的示例过程的流程图;
[0027]图11为示出根据本发明的实施方案的突变地图的示例状态组和转换组的状态图;
[0028]图12A-C为示出根据本发明的实施方案的用于添加注释到地图的示例过程的流程图;
[0029]图13A-C为示出根据本发明的实施方案的用于从地图除去注释的示例过程的流程图;
[0030]图14为示出根据本发明的实施方案的用于形成集群的示例过程的流程图;
[0031]图15为示出根据本发明的实施方案的用于破坏集群的示例过程的流程图;
[0032]图16为示出根据本发明的实施方案的示例地图尺度和地图小区的框图;
[0033]图17为示出根据本发明的实施方案的由在多个尺度中的地图小区限定的示例区域的框图;
[0034]图18为示出根据本发明的实施方案的具有集群的示例地图的用户界面图;和
[0035]图19为示出可以结合本文所描述的各实施方案使用的示例有线或无线处理器使能设备的框图。

【具体实施方式】
[0036]本文所公开的某些实施方案提供基于用户位置数据凭经验确定专业知识并且将关于地点/活动和地点/活动的类别的问题路由至关于地点/活动的已识别专家的系统。例如,本文公开的一个方法允许系统将在特定尺度上的地图呈现在用户界面上,从用户接收寻求良好寿司餐馆的推荐的问题,识别在地图尺度上的寿司餐馆中的一个或多个专家,将该问题路由至已识别专家,从专家中的一个或多个接收响应并且为询问用户提供答案。在阅读该说明书后,如何在各种替代实施方案和替代应用中实施本发明对于本领域的技术人员而言将变得显而易见。然而,虽然将在本文中描述本发明的各实施方案,但是应理解,这些实施方案仅以示例的方式提供,并且无局限性。因此,各种替代实施方案的该详细描述不应被解释为限制如所附权利要求中所阐明的本发明的范围或广度。
[0037]应注意的是,在本说明书中,术语地点/活动可与术语地点和活动交换地使用。根据本说明书,地点/活动是特定位置或具有特定目的并且还可以具有特定持续时间的线路。例如,地点/活动能够为餐馆、总线线路和专业足球游戏。地点/活动的另一个示例是具有单个场所但是主办多种类型的活动的多运动组合馆。因此,在该示例中,第一地点/活动能够为在多运动组合馆处的棒球游戏,并且第二地点/活动能够为在相同的多运动组合馆处的足球游戏。
[0038]此外,应注意的,各种类别的地点/活动能够具有分层或关系结构,使得具体地点/活动,也就是,例如寿司餐馆,能够属于几个相关的和/或分层的类别,诸如,食物、海产食物、未加工食物、鱼素食物、亚洲食物等。
[0039]此外,应注意的是,本说明书涉及地图上的尺度,并且那些尺度会涉及属于地表到母小区和子小区分层划分的地理小区。那些尺度还能够涉及呈现在通信设备的显示器上的任意地理区域或诸如邻域和街区等的预定区域。另外,在一些实例中,用户可为在地图上的特定尺度上的地理区域中的专家,并且这样的专业知识可能与一个或多个类别相关联或这样的专业知识可能不具有任意相关联的类别,或可替代地陈述的,这样的专业知识可能为所有类别。
[0040]在操作中,系统接收位置数据作为输入。位置数据可能被接收在离散单元中,例如,每当用户检查地点或公开提出从已知位置的状态更新时,位置数据可能被接收。位置数据还可以经使用GPS或其它基于坐标的位置工具进行实时位置跟踪而被连续地接收。系统以用户基础定期或连续地分析关于用户的位置数据以相对于在特定尺度上的具体地点/活动和地点/活动的类别确定每个用户的专业知识等级。当系统接收关于在特定尺度上的具体地点/活动或场地/活动的类别的问题时,系统识别对应于具体问题的一个或多个专家并且将该问题路由至一个或多个专家。来自一个或多个专家的一个或多个答案被路由返回至提问者并且可以被存储在与具体问题、在特定尺度上的特定地点/活动或场地/活动的类别相关联或与该问题所关于的一些其它方面相关联的存储区中。
[0041]系统接收和分析各种信息以产生关于每个用户的丰富配置文件。例如,所述信息可以包括但不限于:
[0042]1.从各种来源收集的位置跟踪数据
[0043]2.用户已经访问的具体地点/活动(例如,星巴克、商业区),基于有效的签到或来自与用户账户相关联的通信设备的位置跟踪(例如,GPS、三角测量等)。
[0044]3.用户曾经去过具体地点/活动的次数。
[0045]4.访问具体地点/活动的日期、时间和持续时间。
[0046]5.具体地点/活动(例如,寿司餐馆、公园、咖啡店)的类别,这能够通过将地点/活动与(从诸如Foursquare、Facebook等的外部网络来源收集的)一个或多个类别相关联来获得。
[0047]6.用户访问的地点/活动和地点/活动的类别的变化。
[0048]7.用户消磨时间的区域(例如,旧金山)和地图尺度
[0049]8.用户已经回答的关于具体地点/活动和地点/活动的类别的问题。
[0050]系统分析它必须确定各种信息的数据。例如,系统维持将具体地点/活动和地点/活动的类别映射到相对于那些具体地点/活动和地点/活动的类别凭经验被确定为专家的用户的数据的集合(在一个实施方案中,数据库)。例如,给定具体地点/活动(例如,二手市场上的星巴克),系统基于所收集和分析的位置数据产生并且连续地更新了解关于具体地点/活动的用户的列表。该系统还产生并且连续地更新了解关于例如通过具体纬度/经度位置和半径确定的特定图尺度的用户的列表。该系统还产生并且连续地更新了解关于具有覆盖重叠的地理区域的多个地图尺度的特定地点/活动的类别的用户的列表。这些列表允许系统识别关于在特定尺度上的具体地点/活动和地点/活动的类别的问题能够被路由到的专家。
[0051]另外,系统分析特定用户的每个位置数据输入,并且位置数据输入和分析共同地有助于总分数,然后,该总分数被转换成特定用户和具体地点/活动以及地点/活动的类别以及在特定尺度上的地理区域的专业知识等级。具体地,对于对地点/活动的每次访问,用户接收该地点/活动的得分和与该特定地点/活动相关联的一个或多个类别的得分。在一个实施方案中,对特定地点/活动的访问可以包括具体地点/活动的得分、与该地点/活动相关联的一个或多个类别的得分以及邻域、城市、和/或与该具体地点/活动相关联的其它可能(但不一定)重叠的地理区域的得分。它还可以包括特殊活动的得分和在访问时在该地点发生的活动(例如,快乐时光、DJ、诗歌朗诵、运动活动等)的类别的得分。
[0052]在一个实施方案中,系统跟踪由每个用户回答的问题和对于每个问题关于具体地点/活动的用户答案、对该具体地点/活动和任意相关联的地点/活动的类别用户积累的专业知识得分。这包括该具体地点/活动的得分、相关的地点/活动的类别的得分和对应的地理区域的得分。
[0053]系统连续地分析它所收集的和结合相关的得分以及相对于在特定尺度上的具体地点/活动和地点/活动的类别和相关的地理区域每个用户的分数所推测(例如,系统可能根据GPS位置数据推测具体地点/活动)的信息,并且如果总共累积的得分超过某些阈值,则相对于每个这样的话题,系统将用户确定为专家。阈值可以是静态的或变量并且可以相对于系统中的其它用户被确立。
[0054]此外,系统还可以将用户识别为关于特定地点/活动或地理区域的临时专家。例如,当前在特定地点/活动处的,或最近(例如,在最后一个小时内或在最后两个小时内)已经到过该地点/活动的用户可以被视为临时专家。因此,系统可以将需要关于位置的实时了解或非常当前的了解的某些类型的问题路由至临时专家。例如,如果用户在度假中并且在不熟悉的城市中的不熟悉的餐馆,用户可能仍被确定为临时专家并且诸如餐馆的拥挤程度如何或快乐时光何时结束的问题能够适当地被路由至临时专家。
[0055]在一个实施方案中,分配给用户的得分可能随时间减小,使得用户必须维持某一得分阈值(或相对于她的同伴的某一分数)以便维持专业知识等级。此外,对于具体地点/活动获得的分数可能随着它们被分配给越来越大的地图尺度或越来越宽的类别而减小。例如,在具体地点/活动处的签到为该具体地点/活动分配X分,为该地点/活动所处的基元地理小区(由系统使用的最小的地理区域)分配Y分,并且为与该地点/活动相关联的大部分具体类别分配Z分。然而,系统还可以为下一个更大的地理小区分配Y-A,并且为下一个甚至更大的地理小区分配Y-B分。类似地,系统还可以为下一个类别等级分配Z-A分,并且为进一步拓宽的类别等级分配Z-B分。
[0056]例如,如果地点/活动是圣地亚哥内的寿司Ota,则对于在寿司Ota餐馆所处的地图尺度8 (最小的地理小区)处的地理小区用户可能接收Y分,对于在包括寿司Ota餐馆所处的等级8小区的图尺度级7处的地理小区用户可能接收Y-A分,并且随着地图尺度级下降分值进一步减小(其中,地图尺度级I具有最大的地理单元)。类似地,对于寿司餐馆,用户可能接收Z分,对于海鲜餐馆,用户可能接收Z-A分,对于餐馆,用户可能接收Z-B分,对于食物,用户可能接收Z-C,依次类推。只要对所有用户施加相同的衰减,系统就有利地被配置成基于特定地点/活动的类别的用户专业知识来粗略估计对于具体地点/活动其用户的专业知识。甚至更加有利地,系统能够基于类别和地理位置的专业知识知识等级之间的互相关性来识别一个或多个专家。
[0057]在一个实施方案中,获得的得分可能在多个类别或地理区域当中被分割。例如,如果专家用户回答关于包括两个社区(或多个地理单元)的大地理区域的一般问题,则那些社区(或小区)中的每一个可以被分配所分配的总分的一部分。分配给每个社区(或小区)的部分可以是相等的或不相等的,并且分配给每个社区(或小区)的累计总分可能甚至小于或大于分配给更大的区域(母小区)的总分。
[0058]在一个实施方案中,专家得分阈值基于系统中的当前用户群体的总专业知识等级可能是动态的。例如,如果对于特定位置/地点存在过量的专家,则被确定为专家所需的阈值得分等级可能自动地增加以提高等级以便相对于该具体位置/地点被识别为专家。
[0059]转到图16和图17,提供对地图尺度和对应的地理小区的解释。图16为示出根据本发明的实施方案的示例地图尺度和地理的小区的框图,并且图17为示出根据本发明的实施方案的由在多个尺度中的地理小区限定的示例地理区域的框图。例如,图17的地理区域可以紧密地对应于如由住在该区域中的当地人群所理解的社区界限。
[0060]起初,并且如本领域的技术人员将理解的,地球在逻辑上可以被划分为越来越小的同样大小的地理区域。为便于解释,我们将这些同样大小的区域称为地理小区。最大的小区将是在地图尺度级I上的地球本身,并且该小区同样能够被划分为将对应于地图尺度2的两个半球小区,依次类推。为了基于位置的服务的目的,这样的大地理小区是不切实际的,并且因此在一个实施方案中,地球被划分成在地图尺度I上的16个地理小区,然后,那些小区中的每一个也被划分成在地图尺度2上的16个地理小区,依次类推,直至最小的地理小区相对于基于位置的服务为合理大小的地理区域为止。在一个实施方案中,最小的地理小区为大致I平方米。
[0061]如图16所示,地图尺度级N是最高的地图尺度并且包含十六个同样大小的地理小区。每个地理小区能够被细分为16个同样大小的地理小区,并且在示出的实施方案中,在地图尺度N上的地理小区1500被如此划分并且被分解并且被示出为地图尺度级N-1。类似地,在地图尺度N-1上的地理小区1510也被划分并且被分解并且被示出为地图尺度级N-2。在地图尺度N-1上的地理小区1520也被划分并且被分解并且被示出为地图尺度级N-3,其包括同样能够被划分直到获得期望的粒度级(level of granularity)的地理小区1530。有利地,这种逻辑划分为地理小区能够使用GPS坐标或纬度和经度坐标或一些其它类似的系统完成。
[0062]因为由人们占据的地理区域不利用这样的逻辑界限,所以图17示出现有社区如何仍然能够使用来自多个地图尺度的地理小区被限定。在一个实施方案(未示出)中,社区在地理上能够被描述为社区界限内的所有基元地理小区(最小地理小区)的集合体。关于这一点的改善在图17中示出,其中,邻域在地理上使用最小数量的地理小区来描述,其为来自落入该社区界限内的每个地图层的所有最大小区的集合体。
[0063]现在转回去,图1为示出用于凭经验的专家确定和问题与答案路由的示例系统10的网络图。在该示出的实施方案中,系统10包括一个或多个服务器40以及多个用户通信设备20和30。系统10的这些部件中的每一个分别被配置成具有数据存储区25、35和45。系统10的各个部件经有线或无线网络50通信,并且可以运行如本领域的技术人员将理解的各种协议和应用程序。有利地,服务器40和通信设备20和30是可访问的以便横跨网络50的通信。通信设备20和30和服务器40可以被实施为处理器使能设备包括但不限于个人计算机、膝上型计算机、智能电话、和手持设备,仅举几例。稍后描述相对于图19描述示例处理器使能设备。
[0064]图2为示出根据本发明的实施方案的示例通信设备20的框图。在该示出的实施方案中,设备20包括位置模块100、询问模块110、响应模块120、输入模块130和集群模块140。通信设备被配置成具有数据存储区25。
[0065]位置模块100被配置成确定通信设备20 (并且相应地用户)的位置。在一个实施方案中,位置模块100与被构建到设备20的硬件中的GPS模块通信。位置模块100能够被设备20上的其它模块访问,并且作为响应,位置模块100可以为发出请求的模块提供设备20(并且相应地用户)的当前位置。关于用户的位置的这样的信息可以有利地被传达至服务器40。位置模块100当示出在地图上用户的位置时、当发送问题时、当回答问题时以及在其它情况下能够被访问。使用本地地图模块(未示出)来加载地图。在一个实施方案中,本地地图模块由通信设备20的操作系统提供。
[0066]询问模块110被配置成与用户互动并且接受用户问题并且将该问题传达至一个或多个服务器40。在一个实施方案中,问题包括问题字符串、用户的当前位置、问题区域的位置(即,地图尺度)、可选半径、可选的地点id组、和可选的地方类别。询问模块110接受来自用户的输入并且将询问数据传达至一个或多个服务器40。在另一个实施方案中,用户口头地陈述问题,并且消息被转录至通信设备20上的文字,或通过语音远程地转录至经网络连接可访问的服务器上的文字模块。在一个实施方案中,用户选择地图上感兴趣的区域、平移和缩放直至感兴趣的区域被示出在屏幕上为止。该选择转换为纬度/经度和被确定为地图尺度的半径,并且地图尺度被传达至一个或多个服务器40。在另一个实施方案中,地图尺度通过从用户接收表示社区名称、或交叉部、或城市名称的文字输入而确定。在另一个实施方案中,地图尺度通过剖析寻找区域名称的问题字符串而确定,其中,一个或多个服务器40在询问已经被接收之后确定地图尺度。
[0067]响应模块120被配置成从回答问题的专家用户接收输入,所述专家用户是回答已经被发送至作为专家的该用户的问题的人。在一个实施方案中,响应模块120在通信设备20的显示器上向用户呈现问题、具体地点/活动、地点/活动的类别、与问题相关联的地图尺度、问题(纬度/经度/半径)的位置、发送问题(可选地)的用户、发送问题的时间、和已经接收的问题的任意答案。在一个实施方案中,响应模块120接收回答字符串以及可选地一个或多个地点/活动标识符、一张或多张照片、地图尺度标识符、一个或多个位置(纬度/经度/半径)、一个或多个地理区域标识符(例如,社区)、匿名标记、和共享到社交连网标记作为输入。一旦回答字符串被接收,响应模块120就将回答字符串发送至一个或多个服务器40并且向专家显示用户确认消息或错误消息。在确认消息中,响应模块120可以向专家用户示出该专家用户回答问题所挣得的总分。
[0068]输入模块130被配置成从通信设备20上的提问的用户或专家用户接收输入。输入模块20与询问模块110和响应模块120配合工作。在一个实施方案中,输入模块20接收中的一个或多个下列:文本字符串、一个或多个位置(纬度/经度/半径)、一个或多个地点标识符、地点/活动的一个或多个类别、一个或多个地图尺度、一张或多张照片、允许共享到社交网络或允许由任意用户佚名参与的一个或多个标记。
[0069]在可选实施方案中,输入模块130允许用户为一个或多个服务器40提供关于特定地点/活动信息。例如,在具体地点的用户可以使用设备20和使用输入模块130访问一个或多个服务器40以提供关于具体地点/活动的人口统计和/或当前信息。例如,对于从一个或多个服务器40的数据存储区丢失的具体地点/活动,用户可以将丢失的信息填充在配置文件中。该可以包括地点/活动的操作时间,地点/活动是否包括浴室,或是否提供酒精等。有利地,一个或多个服务器40可以为多个地点/活动构建并且维持配置文件,并且当与用户相关联的通信设备20的具体位置被验证为在特定地点/活动的已知位置处时,可以使得配置文件信息可由用户编辑。
[0070]集群模块140被配置成确定何时合并或分解显示在用户通信设备20的用户界面上的各项注释。例如,当将地图以第一尺度显示在用户通信设备20的用户界面上时,可能存在位于在以可能表示相对小的地理区域的第一尺度的地图上的仅几个用户和地点/活动。然而,当地图的尺度增大以使得所显示的地图表示相对大的地理区域时,可能数十或数百个用户和地点/活动被显示在用户界面上。集群模块140被配置成确定何时将注释合并到集群中以及何时将集群分解成各项注释,分解成独立集群,或注释和集群的一些组合。
[0071]在一个实施方案中,集群模块140被配置成分析将被显示在地图上的注释和每项注释的特定坐标。如果第一和第二注释的坐标为使得所显示的第一和第二注释将彼此重叠预定的百分比,则集群模块140被配置成将第一和第二注释合并到第一集群中并且将第一集群作为单个注释呈现在所显示的用户界面中的地图上。类似地,如果当前被合并到第二集群中的第三和第四注释的坐标为使得所显示的第三和第四注释将彼此不重叠某一百分t匕,则集群模块140被配置成分解第二集群并且将第三和第四注释分别作为独立注释呈现在所显示的用户界面中的地图上。
[0072]如本领域的技术人员将理解的,这样的技术能够在每次用户界面被提供以便将注释合并到集群中、将集群合并到集群中和将注释和集群合并到集群中时被应用。类似地,该技术还能够在每次用户界面被提供以便将集群分解成多项注释和集群或注释和集群的一些组合时被采用。
[0073]图3为示出根据本发明的实施方案的示例核心服务器40模块组的框图。在该示出的实施方案中,服务器40包括跟踪器模块150、计分模块160、路由器模块170和地点模块180。跟踪器模块150跟踪用户的过去位置和当前位置。位置可以包括纬度和经度、时间戳、唯一 id,并且还可以包括半径、准确度的测量、地点/活动名称、地图尺度级、地理小区标识符、社区名称、城市名称、描述该地点/活动的类别的列表、和对该信息的来源的描述。在本发明的一个实施方案中,位置准确度通过通信设备上的GPS模块的准确度来测量,其被传达至一个或多个服务器40。
[0074]跟踪器模块150存储在数据存储区45中每个用户的位置历史,并且能够被询问以检索信息。例如,跟踪器模块150能够被询问提供用户的最后位置、和用户曾经到具体地点/活动的最后时间、和用户已经到具体地点/活动的次数。对系统的询问会受到多个过滤器的限制,所述多个过滤器包括时间、地图尺度、地点/活动类别、用户、和地点。询问能够通过包括时间、离某点的距离、地点/活动名称、和用户名来分类。
[0075]跟踪器模块150与位置模块100配合以接收关于用户在哪里和曾经到过哪里的周期性更新。跟踪器模块150还可以从第三方应用接收输入,所述第三方应用提供由那些第三方应用和服务的用户访问的地点/活动。这些第三方应用和服务的一些示例包括Foursquare、Facebook、Yelp、和 Google 讳度。
[0076]计分模块160横跨系统跟踪得分和专业知识,并且被配置成相对于给定的地点/活动和场地/活动的类别确定专家用户。分数被存储在数据存储区45中,通过该用户的唯一 id与具体用户相关联,并且当系统接收关于该用户的新信息时,更新分数。在本发明的一个实施方案中,每个用户累积具体地点/活动(例如,寿司Ota)的得分、场地/活动的类别(例如,餐馆)和地理区域(例如,地理小区、纬度/经度/半径或社区)。图7将在下文更详细地描述该过程。转回到图3,数据存储区45通过将用户的唯一 id与地点/活动、地图尺度、和对应于地点/活动的一个或多个类别相关联来存储总分。例如,在一个实施方案中,当跟踪具体地点/活动的专业知识时,系统存储并且更新与一个或多个用户、特定地点/活动和由该地点/活动的每个用户积累的总分数得分相关联的数据库行。系统还可以存储该行被更新的最后时间、该总分是否已经超过预定的或动态确定的专业知识的阈值、和系统是否已经接收用户的请求以禁用该专业知识。
[0077]附加示例描述对特定地图尺度的专业知识的存储。地图尺度能够包括世界上的州、城市、社区、街区和任意具体纬度/经度/半径。通过以两种方式将用户与地图尺度相关联来存储专业知识得分。首先,确定一个或多个名称尺度,例如,社区、城市、州等等。在这种情况下,系统为社区、城市等中的用户专业知识分配得分。在该实施方案中,系统将该信息作为行存储在与用户(使用用户id)和被指名的区域关联的数据库中。
[0078]用于跟踪特定地图尺度的用户专业知识的第二方法通过将世界以如上文所描述的不同的粒度级别划分成网格。在一个实施方案中,这能够使用地理哈希(geohashing)完成。因此,系统跟踪在每个粒度级处用户的专业知识得分、将用户(使用用户id)与地理小区(例如,“8effa93”)相关联。
[0079]计分模块160通过分析针对该专业知识的类型积累的分数来确定每一个专业知识类型(例如,地点/活动、类别、尺度)中的专业知识等级。一旦用户已经达到某一阈值(例如,100分),用户就被确定为具体地点/活动、类别、尺度、等的专家(例如,咖啡店方面的专家、寿司方面的专家、商业中心方面的专家、地理小区“8effa93”方面的专家)。在一个实施方案中,存在确定多个专家等级的多个阈值。例如,100分可以表示等级一,200分可以表示等级二等等。这些阈值是变量,并且能够基于用户群体大小和系统中的得分分布被手动地设置或能够动态地产生。
[0080]计分模块160也被配置成识别在一个或多个类别中给定地图尺度/地理区域方面的一个或多个专家。在一个实施方案中,计分模块160接收尺度(或地理的区域)、一个或多个类别、和所需的专家数量作为输入。尺度(或地理区域)能够通过接受对一个或多个地理小区的识别或通过接受能够被转换成如先前相对于图17所讨论的一个或多个网格小区的纬度/经度/半径元组而确定。
[0081]在本发明的一个实施方案中,地理小区通过“地理哈希代码(geo hash code)”进行索引。“地理小区哈希代码(geocell hash code) ”是唯一地识别二维地理空间矩形(例如,“8effa93a”)的十六进制字符。代码在等级上通过以4乘4网络重复的世界分块如以16路树被分配,使得每个十六进制字符识别网络上唯一的小区。更长的哈希代码表示处于更深的树等级的更小的分块。为了对哈希代码进行解码,系统通过将世界划分成4乘4网格而开始。哈希的每个十六进制字符被用来从网络连续地选择矩形小区,该矩形小区进而成为新的4乘4网格的范围。过程在到达哈希代码的最终字符之后终止。
[0082]数据存储区45被询问以识别区域中的具有超过给定类别中的专家得分阈值的用户。在本发明的一个实施方案中,询问在地图尺度的最大粒度等级处开始,并且继续查看越来越粗的尺度或越来越低的总分数直至期望的专家数量已经被识别为止。在该实施方案中,总分可以被标准化以使得随着指定尺度的粗度增加,得分倍增粗度等级。例如,在等级8(例如,哈希代码“8effa93a”中的八个字符)处,成为专家所需的得分阈值为10,但是在等级7(哈希代码“8effa93”中的七个字符)处,成为专家所需的得分阈值为100。在本发明的一个实施方案中,结果最终通过横跨整组用户的数量标准化得分而分类。
[0083]地点模块180被配置成管理和存储关于地点/活动的信息。该信息被存储在数据存储区45中。在一个实施方案中,信息可以包括地点/活动名称、用以确定地图尺度的纬度和经度和半径、用以确定地图尺度的地理小区标识符、地点/活动地址、地点/活动类别(例如,夜总会、印度食物等)、在第三方服务中对该地点/活动的提及(例如,Foursquare地点id)、地点/活动的twitter处理、最后更新到该地点/活动的时间戳和其它信息。地点/活动信息还可以包括关于地点/活动的各种属性,诸如工作时间、地点/活动是否提供酒精、是否具有公共洗手间等。该数据可以从各种来源(例如,Foursquare、具体地点/活动的网站)检索或从已被识别为专家或临时专家的用户(例如,目前在该位置处的用户可以是临时专家)接收,并且该信息是有利地被存储在数据存储区45中。通过向这些外部来源询问改变和/或从用户接收附加输入,在定期基础上更新该信息。系统管理员或地点/活动的业主/管理者还可以手动地更新该数据。有利地,每个地点在数据存储区中具有能够在系统的各个其它模块中使用的(例如,计分模块160)唯一标识符。
[0084]图4为示出根据本发明的实施方案的用于接收问题并且提供专家响应的示例过程的流程图。该过程能够在诸如先前相对于图1-3所描述的系统中执行。在该示出的实施方案中,过程开始在步骤200中通过从来源接收询问开始。在一个实施方案中,来源是通信设备的用户。该询问能够来自询问模块110或询问模块的第三方实施(例如,使用具有应用程序设计接口的第三方模块来与一个或多个服务器40通信)。该接收的询问被分析以识别允许系统路由该问题的参数。在本发明的一个实施方案中,系统首先分析问题以识别任意不适当的语言。在本发明的另一个实施方案中,系统分析问题以找到与在该区域中已经回答的先前问题的任意匹配。如果找到匹配,则系统可以返回先前提供的回答。
[0085]在接收询问之后,在步骤210中,系统识别与问题相关联的地图尺度。地图尺度能够基于在提交问题的用户的通信设备上显示的地图的尺度来确定。接着,在步骤220中,系统识别与该问题相关联的地点/活动。在一些情况下,例如如果该问题正在寻找地点/活动的名称:“附近好的寿司餐馆是哪家? ”,则不存在与该问题相关联的任意地点/活动。一旦已经识别尺度和/或地点/活动,在步骤230中,系统就识别能够回答问题的一个或多个专家。如上文所描述的,基于专家的相对于地图尺度和/或具体地点/活动计算的专业知识来识别专家。然后,在步骤240中,将询问发送至一个或多个已识别的专家,并且在步骤250中,系统从一个或多个专家接收一个或多个响应。然后,在步骤260中,将一个或多个响应(它们的子集)发送至来源,并且在步骤270中,更新专家分布以反映在问题与答案会话中每个专家的参与。显著地,专家的参与可以使得专家的总分值基于专家如何参与而增加或减小。在一个实施方案中,步骤230和240能够使用类似于稍后相对于图8步骤620-650描述的过程的过程被实施,使得将期望数量的专家识别为问题的预期接受者,然后将问题发送至该组专家。
[0086]当识别地图尺度和地点/活动时,系统可以与跟踪器模块150和/或地点模块180通信。当识别专家时,系统可以与计分模块160通信,并且当向专家发送询问时,系统可以与路由器模块170通信。在一个实施方案中,系统将问题和选定的专家以及接收的答案存储到数据存储区45。例如,系统可以存储在询问中提供的所有参数、被选定的专家用户(用户id)的列表、和由每个专家提供的答案。
[0087]另外,当向专家发送询问时,系统可以与每个已识别专家的通信设备上的回答模块120通信,使得回答模块向专家用户呈现问题。在一个实施方案中,接收的回答无延迟地被传送至问该问题的用户,并且在替代实施方案中,响应首先经过寻找不适当的语言或其它预定的标准的的系统。
[0088]图5为示出根据本发明的实施方案的用于跟踪用户的基于位置的信息的示例过程的流程图。示出的过程能够由先前在图1-3中描述的系统执行。在该示出的实施方案中,在步骤300中,系统接收对应于用户的位置数据。可以从驻留在用户的通信设备上的位置模块100接收位置数据。在一个实施方案中,位置数据可能起源于诸如Foursquare和Facebook的签到服务,并且可以源自于其它信息,诸如与通信设备20相关的GPS信息和不同于签到服务的社交介质信息。例如,位置数据可能源自于在Twitter或另一个第三方服务上的用户的社交介质互动的内容。位置数据可以包括纬度、经度、半径、精确度的测量、用户id、用户id来自第三方服务(例如Foursquare用户id)、时间戳用于时间的位置更新、地点id如果位置是在已知地点、和地理小区。位置数据也可以包括其它信息。该位置数据信息在步骤310中与特定用户和相关联,并且在步骤320中,用户数据被更新以反映附加位置数据信息。在一个实施方案中,更新用户数据还可以包括修订一个或多个地点/活动、地点/活动的类别、地图尺度、地理的区域的用户专业知识分数等。
[0089]图6为示出根据本发明的实施方案的用于分析基于位置的信息以促进专家确定的示例过程的流程图。在一个实施方案中,该过程能够由先前相对于图1-3描述的系统执行。在示出的过程中,在步骤350中获得用户数据。例如,可以从数据存储区45获得用户数据。接着,在步骤360中,分析用户数据以识别用户曾经到过的具体地点/活动,并且在步骤365中,基于每个地点/活动的访问次数和频率为用户分配地点/活动得分。类似地,在步骤370中,分析用户数据以识别对应于用户所访问的一个或多个地点/活动的地图尺度。例如,如果用户已经多次访问特定地理小区中的多个地点,则可以为对应于该特定小区的地图尺度授予得分。相应地,在步骤375中,基于已识别尺度和对已获得用户数据的分析将尺度得分分配给用户。接着,在步骤380中,分析用户数据以识别对应于用户所访问的地点/活动和其它用户位置跟踪数据的一个或多个类别,并且在步骤385中,分配类别得分。类似地,在步骤390位置数据是分析以识别区域其中用户耗尽的时间和访问地点/活动和在步骤395区域得分是分配给用户。
[0090]在一个实施方案中,取决于期望分配,分配的分数可以不同,并且在步骤360中,将所分配的得分加到特定地点的用户的累计总分,在步骤365中,分析用户数据以识别用户已经到达的具体地点/活动,并且基于对每个地点/活动的访问次数和频率、场地/活动的类别等等,为用户分配地点/活动得分。在一个实施方案中,地点能够例如由被包括在位置信息中的地点标识符或通过与地点模块180通信来识别。类别还能够通过与地点模块180通信来识别。在一个实施方案中,地图尺度能够通过将给定的纬度、经度、和半径转换成一组区域(例如,社区、城市)和/或如先前在上文所描述的地理区域来识别。
[0091]图7为示出根据本发明的实施方案的用于根据更新专家对问题的响应更新专家简介的示例过程的流程图。示出的过程能够由先前相对于图1-3描述的系统执行。最初,在步骤450中,来自专家的回答由系统接收。在步骤460中,分析回答(并且可能地还有对应的问题)以识别对应于该回答的地点。在一些情况下,不存在与回答相关联的地点,例如,当问题涉及类别时。如果存在相关联的地点,则在步骤465中,系统为专家用户的配置文件分配地点得分。接着,在步骤470中,分析回答(并且可能地问题)以识别与该回答相关联的一个或多个地图尺度,并且在步骤475中,为专家用户分配一个或多个地图尺度的尺度得分。类似地,在步骤480中,分析回答(并且可能地问题)以识别与该回答相关联的一个或多个类别,并且在步骤485中,为专家用户分配一个或多个类别的类别得分。最后,在步骤490中,分析回答(并且可能地问题)以识别与该回答相关联的一个或多个地理区域,并且在步骤495中,为专家用户分配一个或多个地理区域的区域得分。
[0092]图8为示出根据本发明的实施方案的用于将问题路由至临时专家的示例过程的流程图。示出的过程能够由先前相对于图1-3描述的系统执行。最初,在步骤600中,系统例如经询问模块110或询问模块的第三方实施从用户接收问题。接着,在步骤610中,分析问题以确定与该问题相关联的具体地点/活动。系统接着分析数据存储区45中的涉及已识别地点/活动的数据以便相对于该已识别地点/活动识别临时专家,如步骤620所示。例如,在一个实施方案中,临时专家能够是当前处于该地点/活动的人,无论相对于特定地点/活动而言该人的专家得分等级如何。在一个实施方案中,计分模块160可以为已识别地点识别可用的临时专家。接着,在步骤630中,系统确定它是否将已识别的临时专家包括在问题的预期接收者列表中,并且例如将临时专家添加到问题将被路由到的专家的列表。如果如在步骤640中所确定的那样已经识别足够数量的临时专家(例如,大于预定的阈值数量),则在步骤650中,系统将发送问题至已识别专家。然而,如果尚未识别足够的专家,则系统环回到步骤620以识别附加临时专家。系统继续循环并且以这种形式分析潜在临时专家,直至它已经选定足够数量(例如,一个或多个)的专家以将问题路由至他们为止。在一个实施方案中,原本将被识别为临时专家的某些专家不被选定。例如,如果用户已经不能与系统通信,则用户已经启用“不干扰”标记,用户已经决定从某一主题/区域退出等。
[0093]图9为示出根据本发明的实施方案的用于识别专家的示例过程的流程图。示出的过程能够由先前相对于图1-3描述的系统执行。最初,在步骤700中,系统分析数据存储区45中的用户配置文件数据以识别已经超过特定地点/活动的专家得分阈值的用户。基于该分析,在步骤705中,系统更新那些用户的地点状态一如果该用户尚未被识别为该地点/活动的专家的话。类似地,在步骤710中,系统分析数据存储区45中的用户配置文件数据以识别已经超过一个或多个地图尺度的专家得分阈值的用户。基于该分析,在步骤715中,系统更新那些用户的地图尺度状态一如果该用户尚未被识别为一个或多个地图尺度的专家的话。另外,在步骤720中,系统分析数据存储区45中的用户配置文件数据以识别已经超过一个或多个类别的专家得分阈值的用户。基于该分析,在步骤725中,系统更新那些用户的类别状态一如果该用户尚未被识别为一个或多个类别的专家的话。类似地,在步骤730中,系统分析数据存储区45中的用户配置文件数据以识别已经超过一个或多个地理的区域的专家得分阈值的用户。基于该分析,在步骤735中,系统更新那些用户的区域状态一如果该用户尚未被识别为一个或多个地理的区域的专家的话。
[0094]图10为示出据根据本发明的实施方案的用于提供地点/活动的示例过程的流程图。示出的过程能够由先前相对于图1-3描述的系统执行。在一个实施方案中,地点/活动数据被存储在数据存储区45中。最初,在步骤900中,接收对地点/活动数据的请求。接着,系统分析其地点/活动数据以在步骤910中确定在系统中是否存在相关的地点/活动数据。如果不存在地点/活动数据,则在步骤920中,系统询问地点/活动数据来源以获得地点/活动数据。在一个实施方案中,地点/活动数据来源可以是关于各种地点/活动的信息的第三方提供者,并且可以存在为系统提供地点/活动信息的一个或多个数据来源。然后,地点/活动信息在步骤930中被系统接收并且响应于步骤940中的请求被提供。有利地,如果地点/活动数据从数据来源被接收,则地点/活动数据随后被存储在数据存储区45中。然而,如果地点已经存在,如在步骤910中所确定的那样,则在步骤915中,系统确定地点/活动信息是否为过时的并且需要被更新(例如,如果数据被更新的最后时间超过某一阈值的话)。如果地点/活动信息需要被更新,则系统进入步骤920并且询问已更新信息的地点数据来源并且如先前所描述的那样继续。如果地点/活动信息不是过时的,如在步骤915中所确定的那样,则在步骤940系统响应于请求提供被请求的地点/活动数据。
[0095]如先前相对于图1-3所讨论的,通信设备20具有用户界面,专家用户和询问用户与该用户界面互动。在一个实施方案中,用户或地点/活动的位置在该用户界面上所显示的地图上被覆盖。位置可以表示用户当前所处的地方、最近已经到过的地方、或用户关于其为专家的地点/活动。位置通过显示在通信设备的用户界面上的地图上的注释来表示。为了有效地显示地图上的这些注释,随着地图尺度增加(即,更多陆地区域由相同的用户界面显示区域表示)以及注释数量增加,系统有利地集聚注释。集群表示在给定区域中被表示为用户界面上的单个注释的多于一个注释。集群还可以例如包括表示在集群中组合的注释的数量的数量。例如,集群可以表示在被显示在用户界面上的地图上的给定半径内的10个离散注释。
[0096]图11为示出根据本发明的实施方案的突变地图的示例状态组和转换组的状态图。在一个实施方案中,突变地图为将注释映射到相关联的累计突变状态的内存中哈希表。每个注释的状态表通过跟随状态机转换来更新。突变地图因此能够被用作非事务性队列,允许系统跟踪各个突变的序列并且将操作的累积效应集合在每个注释上。
[0097]在突变地图中,可能的累计突变状态被添加、删除、更新和不变。然而,如果不存在映射,则元素的突变状态为不变。在突变地图中,可能的状态机转换被以标记添加、以标记删除并且以标记更新。在接下来的描述中,对注释加标记应理解为意指跟随相关联的状态机转换(即,对添加的注释加标记,我们跟随加标记的转换)。
[0098]在该示出的实施方案中,图11表示突变地图可能出现的可能的改变和这样的改变的最终结果。例如,如果将突变地图中的注释标记为“已添加”,并且其当前状态为“不变”或“已更新”,则标记的结果为将该注释的状态设置为“已添加”。如果将突变地图中的注释标记为“已添加”,并且其当前状态为“已删除”,则标记的结果为将该注释的状态设置为“不变”。类似地,如果将突变地图中注释标记为“已删除”,并且其状态为“不变”或“已更新”,则标记的结果为将该注释的状态设置为“已删除”。如果将突变地图中的注释标记为“已删除”,并且其当前状态为“已添加”,则标记的结果为将该注释的状态设置为“不变”。如果将突变地图中的注释标记为“已更新”,并且其状态为“不变”,则标记的结果为将该注释的状态设置为“已更新”。
[0099]在一个实施方案中,群集条件是在如下两种情况中的任一种被满足的述语:1)与地理小区相关联的注释的计数超过群集的阈值(例如,多于四个注释),或2)存在与迫使群集的地理小区相关联的至少一个注释,与该小区相关联的注释的计数为至少两个。
[0100]在一个实施方案中,通信设备的显示屏将地图作为用户界面的部分呈现给用户。地图以特定尺度呈现,并且地图包含地球的一些部分。呈现地球的一部分的地图的用户界面容器被称为视口。
[0101]在一个实施方案中,为了群集,地球被划分成方形地理小区的二维直线网格,使得每个地理小区的宽度和高度通过视口的尺度确定。西北小区的地理小区以零开始编号并且以光栅顺序向东和向南增加。
[0102]在一个实施方案中,系统维持将注释映射到与它们相关联并且显示它们的地理小区的哈希地图。当将注释添加到地理小区时,来自注释的映射被添加到地理小区。当删除该注释时,映射也被删除。这是因算墨卡托投影的计算费用而产生的优化。
[0103]图12A-C为示出根据本发明的实施方案的用于添加注释到地图的示例过程的流程图。示出的过程能够由先前相对于图1-3描述的系统执行。最初,相对于图12A,在步骤1200中,注释被标记为在突变地图中“已添加”。接着,在步骤1205中,与注释相关联的地理小区被识别,并且在步骤1210中,注释被添加到与地理小区相关联的注释的列表。在一个实施方案中,注释能够具有一组属性,并且如果该注释包括迫使群集的属性,则跟踪迫使群集的注释的数量的计数增加。如果地理小区具有集群,则群集(在先前的更新中)条件已经被满足并且注释被添加到集群,集群被标记为已更新(例如,通过跟随突变地图中的“标记已更新”转换),并且注释本身被删除(例如,通过跟随突变地图中的“标记已删除”转换)。最终,在步骤1215中,更新小区的群集。如果已经满足群集条件,则形成集群(稍后相对于图14描述)。如果尚未满足群集条件,则集群破坏(稍后相对于图15描述)。
[0104]图12B示出用于将注释添加到地理小区的过程。如图12B中所示,系统在步骤1230中最初将注释添加到地理小区的注释列表,并且在步骤1235中增加地理小区的计数。如果地理小区如在步骤1240中所确定的尚不具有集群,则过程结束,但是如果地理小区具有集群,则系统在步骤1245中将注释添加到集群的注释列表并且在步骤1250中标记已更新的集群(例如,通过跟随突变地图中的“标记已更新”转换)。最终,在步骤1255中,删除注释(例如,通过跟随突变地图中的“标记已删除”转换)。
[0105]图12C示出用于在已经添加注释之后更新地理小区的群集的过程。如图12C所示,系统在步骤1270中最初确定地理小区是否已经满足群集注释的条件。如果群集的要求/条件尚未满足,则分解在该地理小区中的任意现有集群,如步骤1275所示。类似地,如果在地理小区中不存在现有集群并且群集的要求/条件在该地理小区中已经被满足,则任意现有注释被形成为新集群,如步骤1280所示。
[0106]图13A-C为示出根据本发明的实施方案的用于从地图除去注释的示例过程的流程图。示出的过程能够由先前相对于图1-3描述的系统执行。以图13A开始,在步骤1300中,系统寻找包含将被删除的注释的地理小区。接着,在步骤1305中,从与该地理小区相关联的注释列表中删除该注释。接着,在步骤1310中,更新地理小区的群集(例如,通过跟随突变地图中的“标记已更新”转换),并且删除注释(例如,通过跟随突变地图中的“标记删除”)。
[0107]图13B示出用于从地理小区删除注释的过程。如图13B中所示,系统在步骤1330中最初从地理小区的注释列表中删除注释,并且在步骤1335中减少地理小区的注释计数。如果地理小区尚不具有集群,如在步骤1340中所确定的,则过程结束,但是如果地理小区具有集群,则系统在步骤1345中从注释列表删除该注释,并且在步骤1350中将该集群标记为已更新(例如,通过跟随突变地图中的“标记已更新”转换)。最终,在步骤1255中,删除注释(例如,通过跟随注释地图中的“标记已删除”转换)。
[0108]图13C示出用于在已经删除注释之后更新地理小区的群集的过程。如图13C所示,系统在步骤1370中最初确定地理小区是否已经满足群集注释的条件。如果群集的要求/条件尚未满足,则分解在该地理小区中的任意现有集群,如步骤1375所示。类似地,如果在地理小区中尚不存在现有集群并且群集的要求/条件在该地理小区中已经被满足,则任意现有注释被形成为新集群,如步骤1380所示。
[0109]图14为示出根据本发明的实施方案的用于形成集群的示例过程的流程图。在一个实施方案中,示出的过程能够由先前相对于图1-3描述的系统执行。最初,在步骤1400中,集群被形成并且与地理小区相关联。如上所述,每个地理小区与地图尺度相关联并且因此每个集群借助与地理小区相关联而也与地图尺度相关联。当形成集群时,地理小区或各项注释可能具有指示何时触发群集的属性。例如,如果属性(attribute)大于当被呈现在用户界面中的显示器上时所覆盖的50%,则群集可以被触发。同样地,如果在单个地理小区内的属性的总数超过一些阈值,则群集可以被触发。有利地,这样的属性可以不同以允许对在通信设备和服务器两者处的处理器资源的最大灵活性和最小需要量。
[0110]在集群已经在步骤1400中被形成之后,接着,该集群被标记为添加(例如,通过跟随“标记已添加”转换)。之后,地理小区被识别为具有至少一个集群。任何时候,单个地理小区能够具有零个、一个、或多个集群,并且这些集群可以结合未被群集的零个、一个或多个各项注释存在。一旦集群已经被形成并且与地理小区相关联,并且两个或更多个各项注释已经与集群相关联,就从地理小区删除该两个或更多个相关联的注释(例如,通过跟随突变地图中“标记已删除”转换)。从地理小区删除注释促使各项注释不再呈现在用户界面中,并且同样地将集群添加到地理小区促使集群被呈现在用户界面中。在一个实施方案中,呈现在集群中的注释的数量可以被显示为与用户界面中的集群相关联。
[0111]图15为示出根据本发明的实施方案的用于破坏集群的示例过程的流程图。在一个实施方案中,示出的过程能够由先前相对于图1-3描述的系统执行。最初,在步骤1450中,从地理小区删除集群(例如,通过跟随突变地图中的“标记已删除”转换)。删除集群促使集群之后不再呈现在用户界面中。在集群已经被删除之后,在步骤1460中,先前与该集群相关联的注释中每一个被标记为已添加到地理小区(例如,通过跟随突变地图中的“标记已添加”转换)。这促使各项注释之后被呈现在用户界面中。一旦集群已经被标记为已删除并且各项注释已经被标记为已添加,则解除集群与地理小区的关联,如步骤1470所示。
[0112]相对于图14和15,在一个实施方案中,以计算最终群集解决方案,系统工作下列:
(I)清除突变地图的所有状态,(2)系统接收以将被添加到将被显示的用户界面或从所述用户界面删除的注释形式的输入,并且从突变地图添加注释和删除注释,(3)突变地图确定添加和删除操作的累积效应,(4)突变地图的状态被施加到用户界面,使得突变地图中的被标记为“已添加”的所有元素被呈现在用户界面上,并且被标记为“已删除”的所有元素不被呈现在用户界面上,所有被标记为“已更新”的所有元素在用户界面上被重画。在该背景下,元素能够为各项注释或集群。
[0113]此外,相对于添加删除集群而言,能够采用各种触发器来确定何时增加集群以及何时删除集群。在一个实施方案中,呈现在用户界面中的地图的尺度能够触发群集。例如,如果三个各项注释以10:1的比例尺(例如,地图上的10千米对通信设备的显示器上的I厘米)呈现在地图上,则减小比例尺至20:1可能需要对三个离散注释进行群集。在一个实施方案中,随着那些注释呈现在用户界面中,第一注释与第二注释的重叠百分比会触发群集。类似地,如果比例尺增加到5:1,则系统还可以确定,集群能够被完全解散或集群中的一个或多个各项注释能够从集群解散并且分别呈现在用户界面中。
[0114]图18为示出根据本发明的实施方案的具有集群的示例地图的用户界面图。在该示出的实施方案中,地图以特定尺度显示,并且多个各项注释1580连同多个集群1590呈现在用户界面中。如能够看到的,集群1590呈现为与指示包括该集群的各项注释的数量的计数相关联。
[0115]图19为示出可以结合本文所描述的各实施方案使用的示例有线或无线处理器使能设备的框图。例如,设备550可以结合如先前相对于图1-3所描述的通信设备或服务器使用。如本领域的技术人员将清楚的,还可以使用替代处理器使能系统和/或架构。
[0116]处理器使能设备550优选地包括一个或多个处理器,诸如处理器560。可以设置附加处理器,例如用于管理输入/输出的辅助处理器、用于执行浮点算法操作的辅助处理器、具有适用于快速执行信号处理算法的架构的专用微处理器(例如,数字信号处理器)、或者从属于主处理器的辅助处理器(例如,后端处理器)、用于双或多处理器系统的附加微处理器或控制器、或协同处理器。这样的辅助处理器可以是离散处理器或可以与处理器560集成。
[0117]处理器560优选地连接到通信总线555。通信总线555可以包括用于促进处理器使能设备550的存储器与其它外围部件之间的信息传输的数据信道。通信总线555进一步可以提供用于与处理器560通信的一组信号,包括数据总线、地址总线、和控制总线(未示出)。通信总线555可以包括任意标准或非标准总线架构,诸如,例如,符合工业标准架构(“ISA”)的总线架构、扩展工业标准架构(“EISA”)、微信道架构(“MCA”)、外围部件互连(“PCI”)局部总线、或由电气与电子工程师学会(“IEEE”)发布的包括IEEE488通用接口总线(“GPIB”)、IEEE696/S-100 等的标准。
[0118]处理器使能设备550优选地包括主存储器565并且还可以包括辅助存储器570。主存储器565提供对程序的指令和数据的存储以便在处理器560上执行。主存储器565通常为基于半导体的存储器,诸如,动态随机存取存储器(“DRAM”)和/或静态随机存取存储器(“SRAM”)。其它基于半导体的存储器类型包括例如同步动态随机存取存储器(“SDRAM”)、Rambus动态随机存取存储器(“RDRAM”)、铁电随机存取存储器(“FRAM”)等,包括只读存储器(“ROM”)。
[0119]辅助存储器570可以可选地包括内部存储器575和/或可移除介质580,例如软盘驱动器、磁带驱动器、压缩盘(“⑶”)驱动器、数字通用盘(“DVD”)驱动器等。可移除介质580以熟知的方式读取和/或写入。可移除存储介质580可以是例如软磁盘、磁带、CD、DVD、SD 卡等。
[0120]可移除存储介质580为非暂态计算机可读介质,具有存储于其上的计算机可执行代码(即,软件)和/或数据。存储在可移除存储介质580上的计算机软件或数据被读入到处理器使能设备550中以便由处理器560执行。
[0121 ] 在替代实施方案中,辅助存储器570可以包括允许计算机程序或其它数据或指令被加载到处理器使能设备550中的其它类似的设备。这样的设备可以包括例如外部存储介质595和接口 570。外部存储介质595的示例可以包括外硬盘驱动器或外部光学驱动器、或/和外部磁光驱动器。
[0122]辅助存储器570的其它示例可以包括基于半导体存储器,诸如可编程序只读存储器(“PR0M”)、可擦除可编程只读存储器(“EPR0M”)、电可擦只读存储器(“EEPR0M”)、或闪存存储器(类似于EEPROM的区块导向存储器)。还包括的是允许软件和数据从外部介质595被传输至处理器使能设备550的任意其它可移除存储介质580和通信接口 590。
[0123]处理器使能设备550还可以包括通信接口 590。通信接口 590允许软件和数据在处理器使能设备550和外部设备(例如,打印机)、网络、或信息来源之间被传输。例如,计算机软件或可执行代码可以从网络服务器经通信接口 590被传输至处理器使能设备550。通信接口 590的示例包括调制解调器、网络接口卡(“NIC”),无线数据卡、通信端口、PCMCIA槽和卡、红外线接口、和IEEE1394火线,仅举几例。
[0124]通信接口 590优选地实施工业颁布的协议标准,例如以太网IEEE802标准、光纤信道、数字用户线(“DSL”)、异步数字用户线(“ADSL”)、帧中继、异步传输模式(“ATM”)、综合业务数字网(“ISDN”)、个人通信业务(“PCS”)、传输控制协议/因特网协议(“TCP/IP”)、串行线路接口协议/点对点协议(“SLIP/PPP”)等,但是也可以实施定制的或者非标准的接口协议。
[0125]经通信接口 590传输的软件和数据通常为电通信信号605的形式。这些信号605优选地经通信信道600提供给通信接口 590。在一个实施方案中,通信信道600可以是有线与无线网络,或任意变化的其它通信链路。通信信道600承载信号605,并且能够利用各种有线与无线通信设备来实施,所述有线与无线通信设备包括电线或电缆、光纤、传统的电话线、蜂窝电话链路、射频(“RF”)链路、或者红外链路等,仅举几例。
[0126]计算机可执行码(即,计算机程序或者软件)被存储在主存储器565和/或辅助存储器570内。计算机程序能够通过通信接口 590接收并且存储在主存储器565和/或辅助存储器570内。这样的计算机程序当被执行时使得计算机系统550能够执行如上所述的本发明的各种功能。
[0127]在本说明书中,术语“计算机可读介质”是指用于为计算机系统550提供计算机可执行代码(例如软件和计算机程序)的任何介质。这些介质的示例包括主存储器565、辅助存储器570 (包括内部存储器575、可移除介质580、以及外部存储介质595)、以及与通信接口 590可通信地耦接的任何外围设备(包括网络信息服务器或者其他网络设备)。这些计算机可读介质是用于为计算机系统550提供可执行码、编程指令、以及软件的装置。
[0128]在利用软件实施的一个实施方案中,软件可以储存在计算机可读介质中,并且通过可移动介质580、I/O接口 585或通信接口 590加载到处理器使能装置550内。在这种实施方案中,软件以电通信信号605的形式加载到处理器使能装置550内。所述软件在由处理器560执行时,优选地促使处理器560执行如上所述的发明特征和功能。
[0129]系统550还包括可选的无线通信部件该促进无线通信相比语音和相比数据网。无线通信部件包括天线系统620、无线电系统615和基带系统610。在通信设备550中,射频(“RF”)信号在无线电系统615的管理下由天线系统620在空中传输和接收。
[0130]在一个实施方案中,天线系统610可以包括一个或多个天线和执行切换功能以为天线系统620提供传输和接收信号路径的一个或多个多路复用器(未示出)。在接收路径中,接收的RF信号能够从多路复用器耦接到低噪声放大器(未示出),该低噪声放大器放大接收的RF信号并且将放大的信号发送至无线电系统615。
[0131]在替代实施方案中,无线电系统615可以包括被配置成以各种频率通信的一个或多个电台。在一个实施方案中,无线电系统615可以将解调器(未示出)和调制器(未示出)合并在一个集成电路(“1C”)中。解调器和调制器还能够是独立部件。在进入路径(incoming path)中,解调器除去(strip away) RF载波信号,留下从无线电系统615发送至基带系统610的基带接收音频信号。
[0132]如果接受信号包含音频信息,则基带系统610对信号解码并且将它转换成模拟信号。然后,信号被放大并且被发送至说话者。基带系统610还从麦克风接收模拟音频信号。这些模拟音频信号由基带系统610转换成数字信号并解码。基带系统620也对数字信号编码以便传输并且产生基带传输音频信号,该基带传输音频信号被路由至无线电系统615的调制器部分。调制器将基带传输音频信号与RF载波信号混合,产生RF传输信号,该RF传输信号被路由至天线系统并且可以经过功率放大器(未示出)。功率放大器放大RF传输信号并且将它路由至天线系统620,在天线系统620处,信号被切换至天线端口以便传输。
[0133]基带系统610也与处理器560可通信地耦接。中央处理单元560可访问数据存储区域565和570。中央处理单元560优选地被配置成执行能够被存储在存储器565或辅助存储器570中的指令(即,计算机程序或软件)。计算机程序还能够从基带处理器610被接收并且被存储在数据存储区565中或在辅助存储器570中,或在接收之后被执行。这样的计算机程序当被执行时使得通信装置550能够执行如先前所描述的本发明的各种功能。例如,数据存储区域565可以包括先前相对于图2-3描述的各种软件模块(未示出)。
[0134]还可以在使用例如专用集成电路(“ASIC”)或者现场可编程门阵列(“FPGA”)等部件的硬件中根本地实现各种实施方案。对能够执行在本文中描述的功能的硬件状态机的实施对于本领域的技术人员来说是显而易见的。也可以使用硬件和软件的组合来实施各种实施方案。
[0135]而且,本领域的那些技术人员应领悟,结合本文公开的上述图形和实施方案所描述的各种说明性逻辑块、模块、电路、和方法步骤常常能够被实施为电子硬件、计算机软件、或两者的组合。为了清晰地说明硬件和软件的这种可互换性,已经在上文大体依据它们的功能性描述了各种说明性部件、块、模块、电路、和步骤。这样的功能性是否被实施为硬件或软件取决于具体应用和在整个系统上施加的设计约束。技术人员能够以对于各特殊应用的变化的方式来实施所描述的功能性,但是这样的实施方式决策不应被解释为导致偏离本发明的范围。此外,对在模块、块、电路或步骤内的功能的分组是为了描述的便利性。不脱离本发明的情况下,能够将具体功能或步骤从一个模块、块或电路移动至另一个模块、块或电路。
[0136]而且,结合本文公开的实施方案所描述的各种说明性逻辑块、模块、和方法能够利用被设计用以执行本文中所描述的功能的通用处理器、数字式信号处理器(“DSP”)、ASIC、FPGA或其它可编程逻辑设备、离散门或晶体管逻辑、离散硬件部件、或其任意组合来实施或执行。通用处理器能够是微处理器,但是在备选方案中,处理器能够是任意处理器、控制器、微控制器、或状态机器。处理器也能够被实施为计算设备的组合体,例如,DSP和微处理器、多个微处理器、结合DSP核心的一个或多个微处理器、或任何其它这样的构造的组合体。
[0137]另外,结合本文公开的实施方案所描述的方法或算法的步骤能够在硬件中、在由处理器执行的软件模块中、或在两者的组合体中直接被实现。软件模块能够驻留在RAM存储器、闪存存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或包括网络存储介质的任意其它形式的存储介质中。示例性存储介质能够被耦接到处理器,这样的处理器能够从存储介质读取信息和将信息写入到存储介质。在备选方案中,存储介质能够被集成到处理器。处理器和存储介质也能够驻留在ASIC中。
[0138]所公开的实施方案的上述描述被提供以使得本领域的任何技术人员能够实现或使用本发明。对这些实施方案的各种修改对于本领域的技术人员而言将是显而易见的,并且在不脱离本发明精神或范围的情况下,本文中所描述的基本原则能够应用于其它实施方案。因此,需理解的是,本文呈现的描述和附图表示本发明的目前优选实施方案并且因此代表通过本发明广泛地设想到的主题。应进一步理解,本发明的范围充分地包含可能对本领域的技术人员变得显而易见的其它实施方案,并且本发明的范围相应地不受限制。
【权利要求】
1.一种用于专家确定和问题路由的技术系统,所述系统包括: 非暂态计算机可读介质,所述非暂态计算机可读介质被配置成存储可执行编程模块和信息,所述信息包括位置跟踪数据、用户信息、地点信息、地点类别信息、和地图信息; 处理器,所述处理器与所述非暂态计算机可读介质可通信地耦接并且被配置成执行存储在其中的编程模块,读取存储在其中的信息并且将信息写入至所述非暂态计算机可读介质; 跟踪器模块,所述跟踪器模块存储在所述非暂态计算机可读介质中并且被配置成由所述处理器执行,所述跟踪器模块被配置成接收与多个用户相关的位置跟踪信息并且将所述位置跟踪信息存储在所述非暂态计算机可读介质中; 计分模块,所述计分模块存储在所述非暂态计算机可读介质中并且被配置成由所述处理器执行,所述计分模块被配置成分析存储在所述非暂态计算机可读介质中与第一用户相关的位置跟踪信息并且相对于第一地点确定所述第一用户的专家分数; 路由器模块,所述路由器模块被配置成从发出请求的用户接收问题,分析所述问题以确定第二地点,相对于所述第二地点识别一个或多个专家并且将所述问题路由至所述识别的一个或多个专家。
2.根据权利要求1所述的系统,其中,所述路由器模块进一步被配置成从所述识别的一个或多个专家接收对所述问题的响应并且将所述响应提供给所述发出请求的用户。
3.根据权利要求2所述的系统,其中,所述计分模块进一步被配置成分析来自第一专家的所述响应,并且基于对所述响应的所述分析,相对于所述第一地点更新所述第一专家的所述专家分数。
4.根据权利要求3所述的系统,其中,所述计分模块进一步被配置成分析与来自所述第一专家的所述响应相关的同伴反馈,并且基于对所述同伴反馈的所述分析,相对于所述第一地点更新所述第一专家的所述专家分数。
5.根据权利要求4所述的系统,其中,所述同伴反馈来自所述发出请求的用户。
6.根据权利要求4所述的系统,其中,所述同伴反馈来自不同于所述发出请求的用户的用户。
7.根据权利要求1所述的系统,其中,所述计分模块被配置成减小相对于第一地点所确定的所述第一用户的所述专家分数以相对于第二地点确定所述第一用户的专家分数。
8.根据权利要求7所述的系统,其中,所述第一地点和所述第二地点在相关的类别中。
9.根据权利要求7所述的系统,其中,所述第一地点和所述第二地点具有相同的母类别。
10.一种用于专家确定和问题路由的计算机实施的方法,其中,一个或多个处理器被编程以执行包括下列各项的步骤: 接收与多个用户相关的位置跟踪信息; 分析与第一用户相关的所述位置跟踪信息和相关联的第一地点; 基于所述分析,相对于所述第一地点确定所述第一用户的专家分数; 将所述专家分数存储在与所述第一用户相关联的数据存储区中; 从发出请求的用户接收问题; 分析所述问题以识别第二地点; 基于相对于所述第二地点对一个或多个专家分数的分析,相对于所述第二地点识别一个或多个专家;和 将所述问题路由至所述识别的一个或多个专家。
11.根据权利要求10所述的方法,其还包括: 从所述识别的一个或多个专家接收对所述问题的响应;和 将所述响应提供给所述发出请求的用户。
12.根据权利要求11所述的方法,其还包括:分析来自第一专家的所述响应,并且基于对所述响应的所述分析,相对于所述第一地点更新所述第一专家的所述专家分数。
13.根据权利要求12所述的方法,其还包括:分析与来自所述第一专家的所述响应相关的同伴反馈,并且基于对所述同伴反馈的所述分析,相对于所述第一地点更新所述第一专家的所述专家分数。
14.根据权利要求13所述的方法,其中,从所述发出请求的用户接收所述同伴反馈。
15.根据权利要求13的方法,其中,从不同于所述发出请求的用户的用户接收所述同伴反馈。
16.根据权利要求1所述的方法,其还包括:减小相对于第一地点所确定的所述第一用户的所述专家分数以相对于第二地点确定所述第一用户的专家分数。
17.根据权利要求16所述的方法,其中,所述第一地点和所述第二地点在相关的类别中。
18.根据权利要求16所述的方法,其中,所述第一地点和所述第二地点具有至少一个共同的母类别。
19.根据权利要求16所述的方法,其中,所述第一地点和所述第二地点具有至少一个共同的子类别。
20.一种用于专家确定和问题路由的技术系统,所述系统包括: 非暂态计算机可读介质,所述非暂态计算机可读介质被配置成存储可执行编程模块和信息,所述信息包括位置跟踪数据、用户信息、地点信息、地点类别信息、和地图信息; 处理器,所述处理器与所述非暂态计算机可读介质可通信地耦接并且被配置成执行存储在其中的编程模块,读取存储在其中的信息并且将信息写入至所述非暂态计算机可读介质; 跟踪器模块,所述跟踪器模块存储在所述非暂态计算机可读介质中并且被配置成由所述处理器执行,所述跟踪器模块被配置成接收与多个用户相关的位置跟踪信息并且将所述位置跟踪信息存储在所述非暂态计算机可读介质中; 计分模块,所述计分模块存储在所述非暂态计算机可读介质中并且被配置成由所述处理器执行,所述计分模块被配置成分析存储在所述非暂态计算机可读介质中与第一用户相关的位置跟踪信息并且相对于地点的第一类别确定所述第一用户的专家分数; 路由器模块,所述路由器模块被配置成从发出请求的用户接收问题,分析所述问题以确定地点的第二类别,相对于所述地点的所述第二类别识别一个或多个专家并且将所述问题路由至所述识别的一个或多个专家。
21.根据权利要求20所述的系统,其中,所述路由器模块进一步被配置成从所述识别的一个或多个专家接收对所述问题的响应并且将所述响应提供给所述发出请求的用户。
22.根据权利要求20所述的系统,其中,所述计分模块进一步被配置成相对于在地图上的第一地理区域内的地点的第一类别确定所述第一用户的专家分数。
23.根据权利要求22所述的系统,其中,所述计分模块进一步被配置成相对于在所述地图上的第一尺度上的第一地理区域内的地点的第一类别确定所述第一用户的专家分数。
24.根据权利要求23所述的系统,其中,所述计分模块进一步被配置成相对于在所述地图上的第二尺度上的第二地理区域内的地点的第一类别确定所述第一用户的第二专家分数。
25.根据权利要求23和24中的任一项所述的系统,其中,在所述地图上的所述第一尺度是邻域。
26.根据权利要求23和24中的任一项所述的系统,其中,在所述地图上的所述第一尺度是第一地理小区。
27.根据权利要求26所述的系统,其中,所述第二尺度是第二地理小区,所述第二地理小区是所述第一地理小区的母体。
28.根据权利要求26所述的系统,其中,所述第二尺度是第二地理小区,所述第二地理小区是所述第一地理小区的子体。
29.根据权利要求20所述的系统,其中,所述计分模块被配置成相对于多个相关的地点类别中的每一个确定所述第一用户的专家分数,并且根据对所述位置跟踪信息与所述各个类别之间的关系的分析减小所述专家分数。
30.一种用于专家确定和问题路由的计算机实施的方法,其中,一个或多个处理器被编程以执行包括下列各项的步骤: 接收与多个用户相关的位置跟踪信息; 分析与第一用户相关的所述位置跟踪信息以相对于地点的第一类别确定所述第一用户的专家分数; 将所述专家分数存储在与所述第一用户相关联的数据存储区中; 从发出请求的用户接收问题; 分析所述问题以识别地点的类别; 基于相对于所述识别的地点类别对一个或多个专家分数的分析,相对于所述识别的地点类别识别一个或多个专家;和 将所述问题路由至所述识别的一个或多个专家。
31.根据权利要求30所述的方法,其还包括: 从所述识别的一个或多个专家接收对所述问题的响应;和 将所述响应提供给所述发出请求的用户。
32.根据权利要求30所述的方法,其还包括:分析与第一用户相关的所述位置跟踪信息以相对于在地图上的第一地理区域内的地点的第一类别确定所述第一用户的专家分数。
33.根据权利要求32所述的方法,其还包括:分析与第一用户相关的所述位置跟踪信息以相对于在所述地图上的第一尺度上的第一地理区域内的地点的第一类别确定所述第一用户的专家分数。
34.根据权利要求33所述的方法,其还包括:分析与第一用户相关的所述位置跟踪信息以相对于在所述地图上的第二尺度上的第一地理区域内的地点的第一类别确定所述第一用户的专家分数。
35.根据权利要求33和34中的任一项所述的方法,其中,在所述地图上的所述第一尺度是邻域。
36.根据权利要求33和34中的任一项所述的方法,其中,在所述地图上的所述第一尺度是第一地理小区。
37.根据权利要求36所述的方法,其中,所述第二尺度是第二地理小区,所述第二地理小区是所述第一地理小区的母体。
38.根据权利要求36所述的方法,其中,所述第二尺度是第二地理小区,所述第二地理小区是所述第一地理小区的子体。
39.根据权利要求30所述的方法,进一步包括相对于多个相关的地点类别中的每一个确定所述第一用户的专家分数,并且根据对所述位置跟踪信息与所述各个类别之间的关系的分析,减小所述专家分数。
40.一种用于在地图上的多个位置呈现用户界面的系统,所述系统包括: 非暂态计算机可读介质,所述非暂态计算机可读介质被配置成存储可执行编程模块和地图信息; 处理器,所述处理器与非暂态计算机可读介质可通信地耦接并且被配置成执行存储在其中的编程模块,读取存储在其中的信息和将信息写入至所述非暂态计算机可读介质; 集群模块,所述集群模块存储在所述非暂态计算机可读介质中并且被配置成由所述处理器执行,所述集群模块被配置成识别分别呈现在用户界面的地图上的多个注释并且将两个或更多个注释合并为集群以便作为单个元素呈现在所述用户界面中的所述地图上。
41.根据权利要求40所述的系统,其中,所述集群模块进一步被配置成:基于对所述第一和第二注释当被呈现在用户界面中的地图上时的重叠的分析,合并第一注释和第二注释。
42.根据权利要求41所述的系统,其中,所述集群模块进一步被配置成:当所述第一和第二注释当被呈现在用户界面中的地图上时的重叠超过预定百分比时,合并所述第一注释和所述第二注释。
43.根据权利要求40所述的系统,其中,所述集群模块进一步被配置成:提供与所述用户界面中的所述地图上的所述单个元素集群相关联的数值指示符以便呈现,其中,所述数值指示符反映在所述集群中各项注释的数量。
44.根据权利要求40所述的系统,其中,所述集群模块进一步被配置成:基于对所述两个或更多个注释当被呈现在用户界面中的地图上时的非重叠的分析,将集群分解成两个或更多个注释。
45.根据权利要求44所述的系统,其中,所述集群模块进一步被配置成:当所述两个或更多个注释当被呈现在用户界面中的地图上时的所述非重叠超过预定百分比时,使所述集群分解。
46.根据权利要求40所述的系统,其中,所述集群模块进一步被配置成识别分别被呈现在用户界面中的地图上的两个或更多个单个元素,其中,所述单个元素包括注释和集群,并且将所述两个或更多个单个元素合并为集群以便作为单个元素呈现在所述用户界面中的地图上。
47.根据权利要求46所述的系统,其中,所述集群模块进一步被配置成:提供与所述用户界面中的所述地图上的所述单个元素集群相关联的数值指示符以便呈现,其中,所述数值指示符反映在所述集群中各项注释的数量。
48.根据权利要求46所述的系统,其中,所述集群模块进一步被配置成:基于所对述两个或更多个注释当被呈现在用户界面中的地图上时的非重叠的分析,将集群分解成两个或更多个单个元素以便分别呈现在用户界面中的地图上。
49.根据权利要求48所述的系统,其中,所述集群模块进一步被配置成:当所述两个或更多个单个元素当被呈现在用户界面中的地图上时的所述非重叠超过预定百分比时,使所述集群分解。
50.一种用于在地图上的多个位置呈现用户界面的方法,所述方法包括: 识别作为单个元素分别呈现在用户界面中的地图上的多个注释;和 将两个或更多个注释合并为集群以便作为单个元素呈现在所述用户界面中的所述地图上。
51.根据权利要求50所述的方法,其还包括:基于对所述第一和第二注释当被呈现在用户界面中的地图上时的重叠的分析,合并第一注释和所述第二注释。
52.根据权利要求51所述的方法,其还包括:当所述第一和第二注释当被呈现在用户界面中的地图上时的所述重叠超过预定百分比时,合并所述第一注释和所述第二注释。
53.根据权利要求50所述的方法,其还包括:确定表示所述集群中的各项注释的数量的数值指示符并且将与所述单个元素集群相关联的所述数值指示符呈现在所述用户界面中的所述地图上。
54.根据权利要求50所述的方法,其还包括:基于对所述两个或更多个注释当被呈现在用户界面中的地图上时的非重叠的分析,将集群分解成两个或更多个注释。
55.根据权利要求54所述的方法,其还包括:当所述两个或更多个注释当被呈现在用户界面中的地图上时的所述非重叠超过预定百分比时,分解所述集群。
56.根据权利要求50所述的方法,其还包括:识别分别被呈现在用户界面中的地图上的两个或更多个单个元素,其中,所述单个元素包括注释和集群,并且将所述两个或更多个单个元素合并为集群以便作为单个元素呈现在所述用户界面中的所述地图上。
57.根据权利要求56所述的方法,其还包括:确定表示所述集群中的各项注释的数量的数值指示符并且将与所述单个元素集群相关联的所述数值指示符呈现在所述用户界面中的所述地图上。
58.根据权利要求56所述的方法,其还包括:基于所对述两个或更多个注释当被呈现在用户界面中的地图上时的非重叠的分析,将集群分解成两个或更多个单个元素以便分别呈现在用户界面中的地图上。
59.根据权利要求58所述的方法,其还包括:当所述两个或更多个单个元素当被呈现在用户界面中的地图上时的所述非重叠超过预定百分比时,分解所述集群。
60.一种用于专家确定和问题路由的技术系统,所述系统包括: 非暂态计算机可读介质,所述非暂态计算机可读介质被配置成存储可执行编程模块和信息,所述信息包括位置跟踪数据、用户信息、地点信息和地图信息; 处理器,所述处理器与非暂态计算机可读介质可通信地耦接并且被配置成执行存储在其中的编程模块,读取存储在其中的信息和将信息写入至所述非暂态计算机可读介质; 跟踪器模块,所述跟踪器模块存储在所述非暂态计算机可读介质中并且被配置成由所述处理器执行,所述跟踪器模块被配置成接收与多个用户相关的位置跟踪信息并且将所述位置跟踪信息存储在所述非暂态计算机可读介质中; 计分模块,所述计分模块存储在所述非暂态计算机可读介质中并且被配置成由所述处理器执行,所述计分模块被配置成分析存储在所述非暂态计算机可读介质中与第一用户相关的位置跟踪信息并且相对于在地图上的第一尺度上的第一地理区域确定所述第一用户的专家分数; 路由器模块,所述路由器模块被配置成从发出请求的用户接收问题,分析所述问题以确定在地图上的第二尺度上的第二地理区域,相对于在地图上的第二尺度上的所述第二地理识别一个或多个专家并且将所述问题路由至所述识别的一个或多个专家。
61.根据权利要求60所述的系统,其中,所述路由器模块进一步被配置成从所述识别的一个或多个专家接收对所述问题的响应并且将所述响应提供给所述发出请求的用户。
62.根据权利要求60所述的系统,其中,所述计分模块进一步被配置成相对于在所述地图上的第一尺度上的多个地理区域中的每一个确定所述第一用户的专家分数。
63.根据权利要求62所述的系统,其中,在所述地图上的所述第一尺度上的所述多个地理区域中的每一个是地理小区。
64.根据权利要求62所述的系统,其中,在所述地图上的第一尺度上的所述多个地理区域中的每一个是邻域。
65.根据权利要求62所述的系统,其中,在所述地图上的第一尺度上的所述多个地理区域中的每一个是在所述地图上的第二尺度上的母地理小区的子地理小区。
66.根据权利要求65所述的系统,其中,所述计分模块进一步被配置成:基于相对于在所述地图上的第一尺度上的子地理小区中的每一个对所述第一用户的所述专家分数的分析,相对于在所述地图上的所述第二尺度上的所述母地理小区确定所述第一用户的专家分数。
67.一种用于专家确定和问题路由的计算机实施的方法,其中,一个或多个处理器被编程以执行包括下列各项的步骤: 接收与多个用户相关的位置跟踪信息; 分析与第一用户相关的所述位置跟踪信息以相对于在地图上的第一尺度上的第一地理区域确定所述第一用户的专家分数; 将所述专家分数存储在与所述第一用户相关联的数据存储区中; 从发出请求的用户接收问题; 分析所述问题以识别在地图上的第二尺度上的第二地理区域; 基于相对于在地图上的第二尺度上的所述识别的第二地理区域对一个或多个专家分数的分析,相对于在地图上的第二尺度上的所述识别的第二地理区域识别一个或多个专家;和 将所述问题路由至所述识别的一个或多个专家。
68.根据权利要求67所述的方法,其还包括: 从所述识别的一个或多个专家接收对所述问题的响应;和 将所述响应提供给所述发出请求的用户。
69.根据权利要求67所述的方法,其还包括:相对于在所述地图上的第一尺度上的多个地理区域中的每一个确定所述第一用户的专家分数。
70.根据权利要求69所述的方法,其中,在所述地图上的第一尺度上的所述多个地理区域中的每一个是地理小区。
71.根据权利要求69所述的方法,其中,在所述地图上的第一尺度上的所述多个地理区域中的每一个是邻域。
72.根据权利要求69所述的方法,其中,在所述地图上的所述第一尺度上的所述多个地理区域中的每一个是在所述地图上的第二尺度上的母地理小区的子地理小区。
73.根据权利要求72所述的方法,其还包括:基于相对于在所述地图上的所述第一尺度上的所述子地理小区中的每一个对所述第一用户的所述专家分数的分析,相对于在所述地图上的所述第二尺度上的所述母地理小区确定所述第一用户的专家分数。
【文档编号】G06Q50/30GK104254865SQ201380021697
【公开日】2014年12月31日 申请日期:2013年2月28日 优先权日:2012年2月29日
【发明者】L·拉基茨基, S·A·霍夫, N·A·高蒂尔 申请人:爱本卜公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1