acm-headergydF4y2Ba
登录gydF4y2Ba

ACM通信gydF4y2Ba

研究突出了gydF4y2Ba

搜索村庄:社会搜索的模式与方法gydF4y2Ba


土豚gydF4y2Ba

信贷:苹果的伞gydF4y2Ba

我们描述了Aardvark,一个社交搜索引擎。使用Aardvark,用户可以通过即时消息、电子邮件、网络输入、文本信息或语音提出问题。然后,Aardvark将这个问题发送给用户扩展的社交网络中最有可能回答这个问题的人。与传统的Web搜索引擎相比,挑战在于找到正确的gydF4y2Ba文档gydF4y2Ba为了满足用户的信息需求,像Aardvark这样的社交搜索引擎的挑战在于找到正确的信息gydF4y2Ba人gydF4y2Ba满足用户的信息需求。此外,对传统搜索引擎的信任是基于权威的,而在像Aardvark这样的社交搜索引擎中,信任是基于亲密。我们将描述这些考虑因素如何影响Aardvark的架构、算法和用户界面,以及它们如何反映在Aardvark用户的行为中。gydF4y2Ba

回到顶部gydF4y2Ba

1.简介gydF4y2Ba

*gydF4y2Ba1.1.图书馆和村庄gydF4y2Ba

传统上,信息检索的基本范式是图书馆。事实上,IR领域植根于图书馆科学,谷歌本身就是斯坦福数字图书馆项目的产物。gydF4y2Ba19gydF4y2Ba虽然这种模式显然在某些情况下运作良好,但它忽略了另一种古老的知识获取模式,我们将其称为“村庄模式”。在一个村庄,知识的传播是社会实现的,信息从一个人传到另一个人,检索任务包括找到正确的人,而不是正确的文件,来回答你的问题。gydF4y2Ba

人们在图书馆和村庄中查找信息的差异为设计社交搜索引擎提供了一些有用的原则。在图书馆,人们使用关键词进行搜索,知识库是由少数内容发布者在提问之前创建的,信任是基于权威的。相比之下,在村庄里,人们使用自然语言提问,社区里的任何人都可以实时生成答案,信任建立在亲密的基础上。这些属性具有级联效应,例如,来自社会近端回应者的实时反应往往会引出(并很好地适用)高度语境化和主观的问题。例如,“在帕洛阿尔托有什么好的保姆推荐给我6岁的双胞胎吗?”我在找一个不让他们看电视的人。”找朋友回答总比找图书馆回答好。信息检索范式中的这些差异要求社交搜索引擎具有与基于图书馆范式的搜索引擎非常不同的架构、算法和用户界面。gydF4y2Ba

*gydF4y2Ba1.2.土豚gydF4y2Ba

在本文中,我们描述了Aardvark,一个基于村庄范式的社交搜索引擎。我们详细描述了Aardvark的架构、排名算法和用户界面,以及驱动它们的设计考虑。我们相信这对研究界是有用的,原因有二。首先是《解剖学》论文中提出的论点gydF4y2Ba3.gydF4y2Ba大多数搜索引擎的开发是在工业界而不是学术界完成的,描述端到端搜索引擎架构的研究文献很少。其次,范式的转变为信息检索领域带来了许多有趣的研究问题,如专家知识分类、隐式网络构建和对话设计等。gydF4y2Ba

在架构描述之后,我们对Aardvark中的使用模式进行了统计分析。我们发现,与传统搜索相比,Aardvark查询往往很长,高度语境化,且主观上较短,它们往往是传统搜索引擎无法很好服务的查询类型。我们还发现,绝大多数问题都得到了及时和令人满意的回答,而且用户在提问和回答方面都出奇地活跃。gydF4y2Ba

最后,我们给出了Aardvark系统的实例结果,并进行了比较评价实验。我们发现,Aardvark在处理意见、建议、经验或推荐的查询时表现非常好,而传统的基于语料库的搜索引擎仍然是处理事实性或导航性查询的良好选择。gydF4y2Ba

回到顶部gydF4y2Ba

2.概述gydF4y2Ba

*gydF4y2Ba2.1.主要组件gydF4y2Ba

食蚁兽的主要成分如下:gydF4y2Ba

  1. 索引器gydF4y2Ba.查找和标记包含信息的资源(在本例中是用户,而不是文档)(章节3.2)。gydF4y2Ba
  2. 查询分析器gydF4y2Ba.了解用户的信息需求(章节3.3)。gydF4y2Ba
  3. 排序函数gydF4y2Ba.选择最好的资源来提供信息(第3.4节)。gydF4y2Ba
  4. 用户界面gydF4y2Ba.以可访问和互动的形式向用户呈现信息(第3.5节)。gydF4y2Ba

大多数基于语料库的搜索引擎都有类似的关键组件和类似的目标,gydF4y2Ba3.gydF4y2Ba但实现这些目标的手段却截然不同。gydF4y2Ba

在深入讨论Aardvark的解剖之前,有必要描述一下当新用户加入Aardvark和用户提问时,后台会发生什么。gydF4y2Ba

*gydF4y2Ba2.2.用户的初始化gydF4y2Ba

当新用户首次加入Aardvark时,Aardvark系统(gydF4y2Ba图1gydF4y2Ba)执行许多索引步骤,以便能够直接向她提出适当的问题以供回答。gydF4y2Ba

由于Aardvark中的问题被路由到用户的扩展网络,第一步涉及到索引友谊和从属关系信息。负责此操作的数据结构是gydF4y2Ba社交图gydF4y2Ba.Aardvark的目标不是建立一个社交网络,而是让人们利用他们现有的社交网络。因此,在注册过程中,新用户可以选择连接到社交网络,如Facebook或LinkedIn,从Webmail程序导入他们的联系人列表,或手动邀请朋友加入。此外,任何被用户邀请加入Aardvark的人都会被添加到他们的Social Graphand中,这样的邀请是新用户的主要来源。最后,Aardvark用户通过共同的“团体”联系在一起,这些“团体”反映了他们在现实世界中的从属关系,比如他们上过的学校和工作过的公司;这些组可以从社交网络中自动导入,也可以由用户手动创建。Aardvark对这些信息进行索引,并将其存储在Social Graph中,这是一个按用户id排序的固定宽度ISAM索引。gydF4y2Ba

同时,Aardvark将新用户具有一定知识或经验的主题编入索引。这个主题专业知识可以从几个来源获得:用户可以指出他认为自己有专业知识的主题;用户的朋友可以表明他们相信用户关于哪些话题的观点;用户可以指定一个现有的结构化概要文件页,从中gydF4y2Ba主题解析器gydF4y2Ba解析额外的主题;用户可以指定一个帐户,他们定期发布状态更新(例如,Twitter或Facebook),从这个帐户gydF4y2Ba主题提取器gydF4y2Ba在一个持续的基础上提取主题(从非结构化文本)(参见第3.2节更多的讨论);最后,Aardvark观察用户在Aardvark上回答(或选择不回答)特定主题问题的行为。gydF4y2Ba

与用户关联的主题集记录在gydF4y2Ba发展指数gydF4y2Ba,它存储每个用户id、一个得分的主题列表,以及一系列关于用户行为的进一步得分(例如,响应性或回答质量)。从Forward Index, Aardvark构建了一个gydF4y2Ba反向索引gydF4y2Ba.倒排索引存储每个topicId以及在该主题中具有专长的userid的评分列表。除了主题之外,倒排索引还存储用户id的评分列表,包括回答质量和响应时间等特性。gydF4y2Ba

一旦创建了用户的反向索引和社交图谱,用户现在就在系统上活跃起来,并准备提出她的第一个问题。gydF4y2Ba

*gydF4y2Ba2.3.查询的生命gydF4y2Ba

用户首先问一个问题,最常见的是通过即时消息或文本消息。问题从输入设备发送到gydF4y2Ba传输层gydF4y2Ba,其中它被标准化为agydF4y2Ba消息gydF4y2Ba数据结构并发送给gydF4y2Ba对话管理器gydF4y2Ba.一旦Conversation Manager确定消息是一个问题,它就将该问题发送给gydF4y2Ba问题分析gydF4y2Ba确定问题的适当主题。对话管理器告知询问者为问题确定了哪个主要主题,并给询问者编辑该主题的机会。它同时发出gydF4y2Ba路由请求的建议gydF4y2Ba到gydF4y2Ba路由引擎gydF4y2Ba.路由引擎扮演的角色类似于基于语料库的搜索引擎中的排名功能。它访问gydF4y2Ba反向索引gydF4y2Ba而且gydF4y2Ba社交图gydF4y2Ba列出候选人的答案,并对他们进行排名,以反映出它认为他们能够回答问题的程度,以及他们与提问者的匹配程度。路由引擎返回一个排序列表gydF4y2Ba路由的建议gydF4y2Ba到对话管理器,然后根据对话的具体情况,逐个或逐个地联系可能的回答者gydF4y2Ba路由策略gydF4y2Ba问他们是否愿意回答这个问题,直到找到一个满意的答案。然后,对话管理器将这个答案转发给询问者,并允许询问者和回答者交换后续消息。gydF4y2Ba

回到顶部gydF4y2Ba

3.解剖学gydF4y2Ba

*gydF4y2Ba3.1.该模型gydF4y2Ba

Aardvark的核心是一个统计模型,用于将问题路由到潜在的回答者。我们使用的网络变体被称为gydF4y2Ba方面的模型gydF4y2Ba,gydF4y2Ba11gydF4y2Ba它有两个主要特征。首先,它关联一个未观察到的类变量gydF4y2BatgydF4y2Baisin.gifgydF4y2BaTgydF4y2Ba每一次观察(即问题的成功回答)gydF4y2Ba问gydF4y2Ba由用户gydF4y2BaugydF4y2Ba我gydF4y2Ba).换句话说,概率gydF4y2BapgydF4y2Ba(gydF4y2BaugydF4y2Ba我gydF4y2Ba|gydF4y2Ba问gydF4y2Ba),用户gydF4y2Ba我gydF4y2Ba会成功回答问题gydF4y2Ba问gydF4y2Ba取决于gydF4y2Ba问gydF4y2Ba是关于主题的gydF4y2BatgydF4y2Ba在这gydF4y2BaugydF4y2Ba我gydF4y2Ba有专业知识gydF4y2Ba一个gydF4y2Ba:gydF4y2Ba

eq01.gifgydF4y2Ba

该模型的第二个主要特征是,它为每个潜在的发问者/回答者对定义了一个与查询无关的成功概率(gydF4y2BaugydF4y2Ba我gydF4y2Ba,gydF4y2BaugydF4y2BajgydF4y2Ba),这是基于他们的社会联系程度和形象相似性。换句话说,我们定义一个概率gydF4y2BapgydF4y2Ba(gydF4y2BaugydF4y2Ba我gydF4y2Ba|gydF4y2BaugydF4y2BajgydF4y2Ba),用户gydF4y2BaugydF4y2Ba我gydF4y2Ba能给用户一个满意的答案吗gydF4y2BaugydF4y2BajgydF4y2Ba不管问题是什么。gydF4y2Ba

然后我们定义评分函数gydF4y2Ba年代gydF4y2Ba(gydF4y2BaugydF4y2Ba我gydF4y2Ba,gydF4y2BaugydF4y2BajgydF4y2Ba,gydF4y2Ba问gydF4y2Ba)作为两个概率的组合。gydF4y2Ba

eq02.gifgydF4y2Ba

这个评分函数是用Kamvar和Horowitz中描述的贝叶斯方法推导出来的。gydF4y2Ba15gydF4y2Ba因此,排名问题就变成了:给定一个问题gydF4y2Ba问gydF4y2Ba从用户gydF4y2BaugydF4y2BajgydF4y2Ba,返回排序后的用户列表gydF4y2BaugydF4y2Ba我gydF4y2Baisin.gifgydF4y2BaUgydF4y2Ba最大化gydF4y2Ba年代gydF4y2Ba(gydF4y2BaugydF4y2Ba我gydF4y2Ba,gydF4y2BaugydF4y2BajgydF4y2Ba,gydF4y2Ba问gydF4y2Ba).gydF4y2Ba

注意,评分函数是由一个依赖查询的函数组成的gydF4y2Ba相关性分数pgydF4y2Ba(gydF4y2BaugydF4y2Ba我gydF4y2Ba|gydF4y2Ba问gydF4y2Ba)和查询无关gydF4y2Ba质量分数pgydF4y2Ba(gydF4y2BaugydF4y2Ba我gydF4y2Ba|gydF4y2BaugydF4y2BajgydF4y2Ba).这与传统的基于语料库的搜索引擎(如谷歌)的排名功能相似。gydF4y2Ba3.gydF4y2Ba不同的是,不像PageRank这样的质量评分,gydF4y2Ba19gydF4y2Ba食蚁兽的质量评分旨在衡量亲密关系,而不是权威。与基于语料库的搜索引擎的相关性评分不同,Aardvark的相关性评分旨在衡量用户的gydF4y2Ba潜在的gydF4y2Ba回答查询,而不是文档回答查询的现有功能。gydF4y2Ba

在计算上,这个评分函数有许多优点。它允许实时路由,因为它将很多计算推到离线。在查询时需要计算的唯一组件概率是gydF4y2BapgydF4y2Ba(gydF4y2BatgydF4y2Ba|gydF4y2Ba问gydF4y2Ba).计算gydF4y2BapgydF4y2Ba(gydF4y2BatgydF4y2Ba|gydF4y2Ba问gydF4y2Ba)等价于在Aardvark中为一个问题分配主题,我们通过在查询时对问题运行一个概率分类器来实现这一点(参见3.3节)。分布gydF4y2BapgydF4y2Ba(gydF4y2BaugydF4y2Ba我gydF4y2Ba|gydF4y2BatgydF4y2Ba)为用户分配主题和分发gydF4y2BapgydF4y2Ba(gydF4y2BaugydF4y2Ba我gydF4y2Ba|gydF4y2BaugydF4y2BajgydF4y2Ba)定义了Aardvark社交图谱。这两个都是由Indexer在注册时计算的,然后在用户回答问题并获得反馈时在后台不断更新(参见3.2节)。组件乘法和排序也在查询时完成,但是这些很容易并行化,因为索引是按用户分片的。gydF4y2Ba

*gydF4y2Ba3.2.索引的人gydF4y2Ba

Aardvark的核心技术挑战是选择正确的用户来回答另一个用户提出的问题。为了做到这一点,Aardvark需要了解每个用户的两件主要事情gydF4y2BaugydF4y2Ba我gydF4y2Ba(1)主题是什么gydF4y2BatgydF4y2Ba他也许能回答关于gydF4y2BapgydF4y2Ba平滑gydF4y2Ba(gydF4y2BatgydF4y2Ba|gydF4y2BaugydF4y2Ba我gydF4y2Ba);(2)用户gydF4y2BaugydF4y2BajgydF4y2Ba与他有联系的人gydF4y2BapgydF4y2Ba(gydF4y2BaugydF4y2Ba我gydF4y2Ba|gydF4y2BaugydF4y2BajgydF4y2Ba).gydF4y2Ba

的话题。gydF4y2BaAardvark计算分布gydF4y2BapgydF4y2Ba(gydF4y2BatgydF4y2Ba|gydF4y2BaugydF4y2Ba我gydF4y2Ba)为用户所知的主题gydF4y2BaugydF4y2Ba我gydF4y2Ba来自多个信息源,例如:gydF4y2Ba

  • 用户会被提示提供至少三个他们认为自己擅长的主题。gydF4y2Ba
  • 用户的朋友(以及邀请用户的人)被鼓励提供一些他们相信用户意见的话题。gydF4y2Ba
  • Aardvark从用户现有的在线资料(如Facebook资料页,如果提供的话)中解析出主题。gydF4y2Ba

使用后面这些个人资料主题信息来源的动机很简单:如果您希望能够预测用户将生成什么样的内容(例如,gydF4y2BapgydF4y2Ba(gydF4y2BatgydF4y2Ba|gydF4y2BaugydF4y2Ba我gydF4y2Ba),首先检查他们过去生成的内容。本着这种精神,Aardvark使用Web内容不是作为关于某个主题的现有答案的来源,而是作为用户可能根据需要提供新答案的主题的指示器。gydF4y2Ba

从本质上讲,这涉及到将用户建模为内容生成器,用概率表示用户可能对给定主题的问题做出回应的可能性。用户配置文件中的每个主题都有一个相关的得分,这取决于与主题来源相匹配的置信度。此外,食蚁兽会随着时间的推移学习哪些主题gydF4y2Ba不gydF4y2Ba当用户:(1)显式地“静音”一个话题时,通过跟踪案例向用户发送有关的问题;(2)有机会拒绝回答某一话题的问题;(3)他对该话题的回答得到了另一个用户的负面反馈。gydF4y2Ba

Aardvark会定期运行一个主题强化算法,其基本思想是,如果一个用户在某个主题上有专业知识,而他的大多数朋友也在该主题上有一些专业知识,我们对该用户的专业水平比他单独在他的小组中拥有该领域的知识更有信心。数学上,对于某些用户gydF4y2BaugydF4y2Ba我gydF4y2Ba他的一群朋友gydF4y2BaUgydF4y2Ba,和一些话题gydF4y2BatgydF4y2Ba,如果gydF4y2BapgydF4y2Ba(gydF4y2BatgydF4y2Ba|gydF4y2BaugydF4y2Ba我gydF4y2Ba) 0,那么gydF4y2Bacacm5504_h.gifgydF4y2Ba其中是一个小常数。的gydF4y2Ba年代gydF4y2Ba然后将值重新规范化以形成概率。gydF4y2Ba

然后Aardvark运行两种平滑算法,其目的是记录用户可能回答关于她的个人资料中没有明确记录的额外主题的问题的可能性。第一个使用基本的主题协同过滤技术(即基于具有相似主题的用户),第二个使用语义相似。gydF4y2BabgydF4y2Ba

一旦应用了所有这些引导、提取和平滑方法,我们就有了一个给定用户的主题和分数列表。标准化这些话题得分,这样gydF4y2Bacacm5504_i.gifgydF4y2Ba,我们有一个用户已知话题的概率分布gydF4y2BaugydF4y2Ba我gydF4y2Ba.使用贝叶斯定律,我们计算每个主题和用户:gydF4y2Ba

eq03.gifgydF4y2Ba

使用均匀分布gydF4y2BapgydF4y2Ba(gydF4y2BaugydF4y2Ba我gydF4y2Ba),并观察主题频率gydF4y2BapgydF4y2Ba(gydF4y2BatgydF4y2Ba).食蚁兽收集这些概率gydF4y2BapgydF4y2Ba(gydF4y2BaugydF4y2Ba我gydF4y2Ba|gydF4y2BatgydF4y2Ba)按主题索引到倒索引中,当有问题时,它允许轻松查找。gydF4y2Ba

连接。gydF4y2BaAardvark计算用户之间的连通性gydF4y2BapgydF4y2Ba(gydF4y2BaugydF4y2Ba我gydF4y2Ba|gydF4y2BaugydF4y2BajgydF4y2Ba)在许多方面。虽然社交亲近度在这里非常重要,但我们也考虑了人口统计和行为的相似性。考虑了许多因素,包括社交联系(共同的朋友和隶属关系),人口统计相似度,档案相似度(如,共同喜欢的电影),词汇匹配(如,IM快捷方式)和详细信息匹配(消息的平均长度)。人们之间的联系强度是通过这个特征集上的加权余弦相似度来计算的gydF4y2Bacacm5504_j.gifgydF4y2Ba,并存储在社交图中,以便查询时快速访问。gydF4y2Ba

这两个发行版gydF4y2BapgydF4y2Ba(gydF4y2BaugydF4y2Ba我gydF4y2Ba|gydF4y2BaugydF4y2BajgydF4y2Ba)gydF4y2BapgydF4y2Ba(gydF4y2BatgydF4y2Ba|gydF4y2BaugydF4y2Ba我gydF4y2Ba)的资料,会随着用户在食蚁兽网上的互动而不断更新。gydF4y2Ba

*gydF4y2Ba3.3.分析问题gydF4y2Ba

问题分析器的目的是确定一个得分的主题列表gydF4y2BapgydF4y2Ba(gydF4y2BatgydF4y2Ba|gydF4y2Ba问gydF4y2Ba)。gydF4y2Ba问gydF4y2Ba表示问题的语义主题。这是方程2中唯一在查询时计算的概率分布。gydF4y2Ba

需要注意的是,在社交搜索系统中,问题分析器的需求只是能够充分理解查询,以便将其路由到可能的答案。这比理想的Web搜索引擎所面临的挑战要简单得多,理想的Web搜索引擎必须尝试确定用户正在寻找的信息片段(即,考虑到搜索者必须将其信息需求转化为搜索关键词),并评估给定的Web页面是否包含该信息片段。相比之下,在一个社会搜索系统中,是人类的回答者有责任确定一个问题的答案的相关性,这是一个人类的智能非常适合执行的功能!提问者可以用自然的语言表达他的信息需求,而人类的回答者可以简单地利用她对问题的语言、语气、紧迫感、复杂性或正式性等的自然理解来决定什么信息适合包含在回答中。因此,问题分析器在社会搜索系统中的作用仅仅是对问题进行足够的了解,然后将其发送给感兴趣和知识渊博的人类回答者。gydF4y2Ba

作为第一步,运行几个分类器以确定输入是否真的是一个问题,它是否是一个不适当的问题,它是否是一个微不足道的问题,以及它是否是一个位置敏感的问题。gydF4y2Ba

接下来,通过合并几个不同TopicMapper算法的输出,生成与问题相关的主题列表,例如:gydF4y2Ba

  • 一个gydF4y2BaKeywordMatchTopicMappergydF4y2Ba通过一个分类器将问题中的任何与用户配置文件主题匹配的字符串通过该分类器来确定给定的匹配是否可能在语义上有意义或具有误导性。gydF4y2BacgydF4y2Ba
  • 一个gydF4y2Ba分类TopicMappergydF4y2Ba使用SVM对包含数百万个问题的带注释的语料库进行训练,将问题文本分类到大约3000个热门问题主题的分类法中。gydF4y2Ba
  • 一个gydF4y2BaSalientTermTopicMappergydF4y2Ba使用名词短语分块器和基于tf-idf的重要性衡量标准从问题中提取突出的短语,并找到语义相似的用户话题。gydF4y2Ba
  • 一个gydF4y2BaUserTagTopicMappergydF4y2Ba获取提问者(或任何可能的回答者)提供的任何用户“标签”,并将这些标签映射到语义相似的用户主题。gydF4y2BadgydF4y2Ba

目前,这些分类器的输出分布采用加权线性组合的方式进行组合。这将是一个有趣的未来工作,以探索其他方法结合异构分类器,如最大熵模型在Klein等人。gydF4y2Ba17gydF4y2Ba

Aardvark TopicMapper算法通过对1000个随机抽样问题的人工评分来持续评估。用于选择候选答案的话题,以及可能相关的更大的话题列表,由两名评委打分,第三名评委裁决分歧。对于当前问题样本上的当前算法,这个过程产生了89%的准确率和84%的相关主题召回率的总体得分。换句话说,10次中有9次,食蚁兽能够把问题发送给个人资料中相关话题的人;食蚁兽会根据每个问题的主题,从每六个可能相关的答案中找出五个。gydF4y2Ba

*gydF4y2Ba3.4.食蚁兽排名算法gydF4y2Ba

Aardvark中的排名是由路由引擎完成的,它确定了一个有序的用户列表(或“候选回答者”),根据问题的提问者和问题分析器导出的关于问题的信息,应该联系这些用户来回答问题。核心排序函数由式2描述;从本质上讲,路由引擎可以被视为计算所有候选答案的等式2,排序,并做一些后处理。gydF4y2Ba

决定用户排名的主要因素是Topic ExpertisegydF4y2Bap (ugydF4y2Ba我gydF4y2Ba|问)gydF4y2Ba,连通性gydF4y2Bap (ugydF4y2Ba我gydF4y2Ba|你gydF4y2BajgydF4y2Ba)gydF4y2Ba和可用性。gydF4y2Ba

主题专家。gydF4y2Ba首先,路由引擎找到与问题语义匹配的用户子集:这些用户的概要主题表明与问题有关的主题相关的专业知识。个人资料主题与问题主题更接近的用户会获得更高的排名。对于位置敏感的问题(如前面定义的),只考虑配置文件中位置匹配的用户。gydF4y2Ba

连通性。gydF4y2Ba其次,路由引擎根据每个用户的个人程度(独立于其主题专业知识)对该信息查询的请求者进行评分。这个评分的目的是优化提问者和回答者从他们的连接感和相似性中产生的亲缘和信任的程度,并满足彼此在互动中对对话行为的期望。gydF4y2Ba

可用性。gydF4y2Ba第三,路由引擎对候选回答者进行优先排序,以优化当前问题被回答的机会,同时通过将回答负荷分散到用户群中,尽可能保留可用的回答者集合(即系统中“回答资源”的数量)。这涉及到一些因素,比如对当前在线的用户(如通过即时通讯数据、iPhone使用情况等)、在一天中的当前时间一直处于活跃状态的用户,以及最近没有被要求回答问题的用户进行优先排序。gydF4y2Ba

根据Aardvark关于保持高质量用户体验的指导方针,有了这个有序的候选答案列表,路由引擎就会过滤掉那些不应该被联系的用户。这些过滤器在很大程度上是一套规则:不要联系在一天中的当前时间不想被联系的用户;在联系频率设置允许的情况下,不要联系最近被联系的用户;等。gydF4y2Ba

由于这都是在查询时完成的,候选答案的集合可能非常大,因此需要注意这个过程是可并行化的。索引中的每个分片为该分片中的用户计算自己的排名,并将排名靠前的用户发送给路由引擎。随着用户基础的增长,这是可扩展的,因为随着添加更多的用户,可以添加更多的碎片。gydF4y2Ba

在筛选过程中幸存下来的候选回答者列表将返回给Conversation Manager。然后,Conversation Manager继续向每个人打开通道,连续地询问他们是否愿意回答当前的问题,并不断迭代,直到提供了答案并返回给询问者。gydF4y2Ba

*gydF4y2Ba3.5.用户界面gydF4y2Ba

由于社交搜索是模仿向朋友提问的现实过程,Aardvark的各种用户界面是建立在人们向朋友提问的现有通信渠道之上的:IM、电子邮件、SMS、iPhone、Twitter和基于web的消息。实验也使用了手机的实际语音输入,但这并没有在目前的食蚁兽生产系统中进行。gydF4y2Ba

在Aardvark上提问的用户界面最简单的形式是任何类型的文本输入机制,以及显示从Aardvark返回的文本消息的机制。(这种非常轻量级的界面对于让搜索服务在任何地方都可用很重要,特别是现在移动设备在全球大部分地区的使用无处不在。)gydF4y2Ba

然而,Aardvark最强大的是通过一个类似聊天的界面来使用,可以进行持续的对话交互。在现实社会规范的约束下,一对一的私人谈话创造了一种既诚实又自由的亲密感。(相比之下,在有公众受众的论坛上回答问题会抑制潜在的回答者gydF4y2Ba18gydF4y2Ba或者鼓励公众表现,而不是真实的回答行为。gydF4y2Ba23gydF4y2Ba此外,在实时对话中,回答者可以要求提问者澄清关于她的问题的信息,或者提问者可以对回答者进行进一步的反应或询问。gydF4y2Ba

在Aardvark中有两个主要的交互流可以用来回答一个问题。主要流程包括Aardvark向用户发送消息(通过IM、电子邮件等),询问她是否愿意回答一个问题:例如,“你在吗?”斯坦福小组的一个朋友有一个关于搜索引擎优化的问题,我想你可能会回答。”如果用户的回答是肯定的,Aardvark就会转达问题以及提问者的名字。然后,用户可以简单地输入问题的答案,输入朋友的名字或电子邮件地址,将其转交给可能会回答这个问题的其他人,或者简单地“传递”这个请求。gydF4y2BaegydF4y2Ba

这种交互模式的一个关键好处是,可用的潜在答案集不仅仅是在问题发布时碰巧访问公告栏的任何用户,而是Aardvark拥有联系信息的整个用户集。因为这种对用户的“接触”有可能成为不受欢迎的中断,如果它发生的太频繁,Aardvark发送这种请求的答案通常每天少于一次给给定的用户(用户可以很容易地改变他们的联系设置,指定这种请求的首选频率和一天的时间)。此外,用户可以向Aardvark询问“为什么”他们被选中回答某个特定的问题,如果他们以后不想问这样的问题,Aardvark会给他们一个选项,让他们轻松地修改个人资料。这很像现实世界中的社会信息共享模式:问问题的人,或者Aardvark的中介,都很小心,不要把太多的信息强加给可能的回答者(gydF4y2Ba图2gydF4y2Ba).除了直接的朋友关系之外,用户还可以扩展到一个扩展的网络,而无需过于频繁地在这个网络上施加压力,这与简单地在Twitter或Facebook状态信息上发布问题提供了一个关键的区别。gydF4y2Ba

为了在正在进行的对话中扮演中介的角色,Aardvark必须具有一些基本的对话智能,以便理解将来自用户的消息定向到哪里:给定的消息是一个新的问题,是先前问题的继续,是对先前问题的回答,还是对Aardvark的命令?关于Conversation Manager如何管理这些复杂的用户消息和消除歧义的细节不是必要的,所以这里不详细阐述;但基本的方法是使用状态机对话语上下文进行建模。gydF4y2Ba

在所有的界面中,来自其他用户的消息都包含了便于信任的用户信息:用户的Real Name姓名标签,上面有用户的姓名、年龄、性别和位置;你和用户之间的社交联系(例如,“你在Facebook上的朋友”,“你朋友马歇尔·史密斯的朋友”,“你们都在斯坦福的小组,”等);用户具有专长的主题选择;以及用户在Aardvark上活动的汇总统计(例如,最近提出或回答的问题的数量)。gydF4y2Ba

最后,在以上所有的互动中,食蚁兽保持一种友好、礼貌和感激的语气是很重要的。一个社交搜索引擎依赖于它的用户的善意和兴趣,所以展示一种(语言上的)行为来鼓励这些情绪是很重要的,以便为用户树立一个良好的榜样。事实上,在用户访谈中,用户经常表示,他们希望在使用Aardvark时能够获得如何说话或举止得体的例子;由于这是一种新颖的范式,用户并没有立即意识到他们可以按照在类似的现实环境中寻求帮助和提供帮助的方式行事。Aardvark使用的所有语言既是Aardvark和用户之间的通信机制,也是如何与Aardvark交互的一个例子。gydF4y2Ba

总的来说,有大量的研究gydF4y2Ba2gydF4y2Ba,gydF4y2Ba6gydF4y2Ba,gydF4y2Ba7gydF4y2Ba,gydF4y2Ba22gydF4y2Ba,gydF4y2BafgydF4y2Ba这表明,当您提供一个一对一的通信通道,使用真实身份而不是假名,促进现有现实关系之间的交互,并始终如一地提供行为示例时,在线社区中的用户将以一种远比没有主持人的假名多播环境更真实和更有帮助的方式行事。食蚁兽的UI设计是围绕这些原则精心设计的。gydF4y2Ba

回到顶部gydF4y2Ba

4.例子gydF4y2Ba

在本节中,我们将定性地研究Aardvark上的用户行为。gydF4y2Ba图3gydF4y2Ba调查了在此期间发送给Aardvark的三个问题,所有这三个问题都被问题分析器归类为主要主题“旧金山的餐馆”。gydF4y2Ba6gydF4y2Ba

在例子1中,Aardvark打开了三个候选答案的通道,得到了一个答案。这个例子的一个有趣的(也很常见的)方面是,提问者和回答者实际上已经是熟人了,尽管只是在他们的在线社交图谱中被列为“朋友的朋友”;他们通过食蚁兽进行了一次快速的来回交谈。gydF4y2Ba

在例3中,Aardvark用候选答案打开了10个频道,得到3个答案。第一个答案来自与提问者社交关系较远的人;第二个答案来自一位同事;第三个答案来自我朋友的朋友的朋友。第三个答案是最详细的,来自一位用户,他的个人资料中有与“餐馆”和“约会”相关的话题。gydF4y2Ba

Aardvark最有趣的功能之一是,它允许发问者根据他们的信息需求得到超定制的答案。对于与一个充满活力和率性的年轻女子约会、婚礼后的小型正式家庭聚会、周一晚上的商务会议,不同的餐厅推荐是合适的,而人类的回答能够识别出这些限制因素。有趣的是,在这些例子中(就像大多数食蚁兽的问题一样),提问者会花时间感谢答问者的帮助。gydF4y2Ba

回到顶部gydF4y2Ba

5.分析gydF4y2Ba

下面的统计数据展示了食蚁兽目前的使用情况和性能。gydF4y2Ba

Aardvark在2009年3月的测试版中首次半公开。从2009年3月1日到2009年10月20日,用户数量增长到90361个,总共提出了225047个问题,给出了386702个答案。以下所有统计数据均来自于此期间的最后一个月(9/20/2009/20/2009)。gydF4y2Ba

食蚁兽被积极使用。gydF4y2Ba截至2009年10月,已有90361名用户在Aardvark上创建了账户,自2009年3月以来,这一数字从2272人有机增长。在此期间,50526名用户(55.9%的用户基础)在Aardvark上生成内容(即提问或回答问题),而66658名用户(73.8%的用户基础)被动参与(即转发或标记其他人的问题)。在此期间,平均每天的查询量为3167.2个问题,平均活跃用户每月发出3.1个查询。gydF4y2Ba

手机用户尤其活跃。gydF4y2Ba手机用户平均每个月使用3.6322次游戏,这在两个层面上都是令人惊讶的。首先,Aardvark的移动用户比桌面用户更活跃。(作为一个比较,在谷歌上,桌面用户的活跃度几乎是移动用户的3倍。gydF4y2Ba13gydF4y2Ba其次,Aardvark的手机用户在绝对数量上几乎与谷歌的手机用户一样活跃(游戏邦注:谷歌用户每月平均使用5.68次手机游戏)gydF4y2Ba13gydF4y2Ba).这对于一个只提供了6个月的服务来说是相当令人惊讶的。gydF4y2Ba

问题是高度语境化的。gydF4y2Ba与平均查询长度在2.2到2.9个单词之间的网络搜索相比,gydF4y2Ba13gydF4y2Ba,gydF4y2Ba20.gydF4y2Ba使用Aardvark,平均查询长度为18.6个单词(中位数= 13)。虽然长度增加的部分原因是功能词使用的增加,但45.3%的功能词是提供查询上下文的内容词。换句话说,与传统的网络搜索相比,Aardvark的问题有34倍的上下文。gydF4y2Ba

上下文的添加带来了更多样化的查询。在网络搜索中,57%到63%的查询是唯一的,gydF4y2Ba20.gydF4y2Ba,gydF4y2Ba21gydF4y2Ba在食蚁兽,98.1%的问题是唯一的(98.2%的答案是唯一的)。gydF4y2Ba

问题常常带有主观因素。gydF4y2Ba2009年3月至10月间的1000个随机问题的人工统计显示,64.7%的问题都带有主观因素(例如,“你知道马里兰州巴尔的摩有什么很棒的熟食店吗?”或“你的孩子做了什么让他们真正为自己感到自豪的东西/工艺品/玩具?”)。特别是,关于旅游、餐馆和产品的建议或推荐查询非常受欢迎。大量查询是面向本地的。约10%的问题与当地服务有关,13%的问题与餐馆和酒吧有关。gydF4y2Ba

问题得到快速回答。gydF4y2Ba在提交给Aardvark的问题中,87.7%的问题至少得到了一个答案,57.2%的问题在10分钟内得到了他们的第一个答案。平均而言,一个问题得到了2.08个答案,平均回答时间为6分钟和37秒(gydF4y2Ba图4gydF4y2Ba).相比之下,在公众问答论坛,如雅虎!答案,gydF4y2Ba10gydF4y2Ba大多数问题在前10分钟内没有得到回答,而在Facebook上提出的问题,只有15.7%的问题在15分钟内得到回答。gydF4y2Ba18gydF4y2Ba(当然,谷歌等基于语料库的搜索引擎以毫秒为单位返回结果,但在Aardvark上询问的许多类型的问题在基于语料库的搜索引擎上询问时需要广泛的浏览和查询优化。)gydF4y2Ba

答案是高质量的。gydF4y2Ba食蚁兽的回答既全面又简洁。回答长度中位数为22.2词;22.9%的回答超过50个单词(段落长度);9.1%的答案包含超文本链接。在提问者提供的反馈中,70.4%的人认为“好”,14.1%的人认为“好”,15.5%的人认为“不好”。gydF4y2Ba

有各种各样的答案。gydF4y2BaAardvark已经联系了78343名用户(占用户总数的86.7%),要求他们回答一个问题,其中70%的用户要求查看这个问题,38.0%的用户能够回答这个问题。此外,15301名用户(占所有用户的16.9%)主动联系Aardvark,试图回答一个问题。共有45160名用户(占总用户数量的50.0%)回答了一个问题;这一比例占到整个Aardvark用户总数的75%(66658名用户)。相比之下,只有27%的雅虎!回答用户曾经回答过的问题。gydF4y2Ba10gydF4y2Ba虽然一小部分Aardvark用户群在回答问题时更加活跃,大约20%的用户群负责85%的反馈,但与典型的用户生成内容网站相比,用户群中回答者的分布要广泛得多。gydF4y2Ba10gydF4y2Ba

社会距离很重要。gydF4y2Ba在发送到发问者社交网络中的某个人(最常见的是朋友的朋友)的问题中,76%的在线反馈将答案评为“好”,而对于那些来自发问者社交网络之外的答案,68%的回答被评为“好”。gydF4y2Ba

回到顶部gydF4y2Ba

6.评价gydF4y2Ba

为了比较社会搜索和Web搜索,我们对Aardvark查询的随机样本进行了谷歌并行实验。我们在Aardvark上的一个随机的活跃问题样本中插入了一个“提示”,内容是“你想帮助Aardvark运行一个实验吗?”并链接到一个指令页面,要求用户将他们的问题重新表述为谷歌上的关键字查询和搜索。我们要求用户计时多长时间才能在Aardvark和谷歌上找到一个满意的答案,并在15分的范围内给这两个答案打分。如果找到满意答案的时间超过10分钟,我们就会提示用户放弃。在实验集的200名应答者中,我们发现71.5%的查询在Aardvark上成功回答,平均评分为3.93(= 1.23),而70.5%的查询在谷歌上成功回答,平均评分为3.07(= 1.46)。对Aardvark的满意反应的中位时间是5分钟(被动等待),而对谷歌的满意反应的中位时间是2分钟(主动搜索)。gydF4y2Ba

当然,由于这个评估包括用户实际发送给Aardvark的问题,我们应该期待Aardvark会表现良好,毕竟用户选择这些特定的问题发送给Aardvark是因为他们相信在这些情况下会有帮助。gydF4y2BaggydF4y2Ba

因此,我们不能从这个评价中得出社会搜索对所有类型的问题都同样有效的结论。此外,我们假定如果实验反过来,并且使用谷歌查询流中的一个随机样本作为测试集,那么实验的结果将会有很大的不同。的确,对于“从新泽西州米德尔敦出发的火车时刻表是什么?”传统的网络搜索是一个更好的选择。gydF4y2Ba

然而,Aardvark的问题确实代表了大量重要的信息需求:它们是典型的主观问题,传统的Web搜索引擎很难提供令人满意的结果。这些问题包括背景细节和上下文元素,它们确切地指明了提问者要寻找的是什么,而如何将这些信息需求转化为关键字搜索并不明显。此外,现有的Web页面并不总是包含所搜索的内容;在任何情况下,请求者都很难评估返回的内容是否值得信任或对他们来说是正确的。在这些情况下,询问者从他们感觉有联系和信任的人那里寻求个人意见、建议或建议。希望有一个人理解你在寻找什么,并以个性化的方式实时回应,这是为什么社会搜索是一个吸引人的信息检索机制的主要原因之一。gydF4y2Ba

回到顶部gydF4y2Ba

7.相关工作gydF4y2Ba

有大量关于查询路由算法的文献,特别是在P2P网络中。在Condie等人的研究中,gydF4y2Ba4gydF4y2Ba查询通过基于关系的覆盖网络路由。对等点优先向过去与它们有积极互动的对等点路由查询。在Kamvar等人的研究中,gydF4y2Ba16gydF4y2Ba多播查询的应答者通过分散的权威分数进行排名。这些权威评分是通过基于以前的交互聚合本地信任评分来计算的。Davitz et al。gydF4y2Ba5gydF4y2Ba描述一个查询路由系统,在该系统中,查询通过一个超级节点路由到应答者,该超级节点基于权限、响应能力和专业知识的加权线性组合。在这种情况下,专业知识是通过方面模型计算的,权威是通过类似Kamvar等人的方式计算的。gydF4y2Ba16gydF4y2Ba反应性是反应率和反应准确性的函数。作者提供了一个通用的开源内容生产模型,并选择FAQ生成作为一个具体的应用。在Faye等人看来,gydF4y2Ba9gydF4y2Ba超级节点维护专门知识表,以便将查询路由到适当的邻居节点。这些专业知识表和匹配技术形成了一个语义覆盖网络。Banerjee和巴苏gydF4y2Ba1gydF4y2Ba引入一种基于PageRank和马尔可夫决策过程的分散搜索路由模型。方面模型在信息检索中得到了广泛的应用,例如,在Hofmann中根据主题相似度将查询与文档匹配gydF4y2Ba11gydF4y2Ba以及Davitz等人基于主题专业知识对用户的查询。gydF4y2Ba5gydF4y2Ba许多个性化搜索的实现使用类似于公式2的评分函数,其中个性化权威评分由非个性化文本IR评分组成。gydF4y2Ba14gydF4y2Ba埃文斯和卡gydF4y2Ba8gydF4y2Ba描述了一个搜索前、搜索中、搜索后用户活动的社交模型。gydF4y2Ba18gydF4y2Ba对社交网络上提出的问题进行分析,反映了我们在食蚁兽上的一些发现。本文的一个较长的版本最初出现在WWW2010。gydF4y2Ba12gydF4y2Ba

回到顶部gydF4y2Ba

致谢gydF4y2Ba

我们要感谢Max Ventilla、Rob Spiro和整个食蚁兽团队对本文报道的工作做出的贡献。gydF4y2Ba

回到顶部gydF4y2Ba

参考文献gydF4y2Ba

1.一种用于分散搜索的社会查询模型。在gydF4y2BaSNAKDDgydF4y2Ba(2008)。gydF4y2Ba

2.从:互联网中继聊天中的昵称、游戏和身份。gydF4y2Baj .第一版。Mediat。CommungydF4y2Ba.(1995)。gydF4y2Ba

3.布林,S.,佩奇,L.大型超文本网络搜索引擎的解剖。在gydF4y2BaWWWgydF4y2Ba(1998)。gydF4y2Ba

4.conde, T., Kamvar, s.d., Garcia-Molina, H.自适应点对点拓扑。在gydF4y2BaP2P计算gydF4y2Ba(2004)。gydF4y2Ba

5.Davitz, J., Yu, J., Basu, S., Gutelius, D., Harris, A. iLink:社交网络中的搜索和路由。在gydF4y2Ba知识发现(KDD)gydF4y2Ba(2007)。gydF4y2Ba

6.新媒体中媒介丰富度理论的检验:线索、反馈和任务模糊性的影响。gydF4y2Ba通知。系统。> 9gydF4y2Ba, 3(1998年9月),256274。gydF4y2Ba

7.虚拟社区中的身份与欺骗。在gydF4y2Ba社区在网络空间gydF4y2BaM.史密斯和P.科洛克主编。劳特利奇,1999年。gydF4y2Ba

8.埃文斯,b.m., Chi, E.H.,探讨理解社会搜索的模型。在gydF4y2Ba对CSCWgydF4y2Ba(2008)。gydF4y2Ba

9.P2P数据管理系统SenPeer中的语义查询路由。在gydF4y2BanbigydF4y2Ba(2007)。gydF4y2Ba

10.Gyongyi, Z., Koutrika, G., Pedersen, J., Garcia-Molina, H.质疑雅虎!的答案。在gydF4y2Ba万维网问答工作坊gydF4y2Ba(2008)。gydF4y2Ba

11.概率潜在语义索引。在gydF4y2Ba市立gydF4y2Ba(1999)。gydF4y2Ba

12.Horowitz, D., Kamvar, S.D.大型社交搜索引擎的剖析。在gydF4y2BaWWWgydF4y2Ba(2010)。gydF4y2Ba

13.Kamvar, M., Kellar, M., Patel, R., Xu, Y.电脑,iphone和手机,天啊!:对不同设备上的搜索用户进行日志比较。在gydF4y2BaWWWgydF4y2Ba(2009)。gydF4y2Ba

14.Kamvar金丝gydF4y2Ba大规模自组织网络中个性化搜索的数值算法gydF4y2Ba.普林斯顿大学出版社,2010。gydF4y2Ba

15.个性化和社会化搜索的贝叶斯衍生。斯坦福大学技术报告,2011。gydF4y2Ba

16.王志强,张志强,张志强,张志强。基于特征信任的P2P网络声誉管理算法研究。在gydF4y2BaWWWgydF4y2Ba(2003)。gydF4y2Ba

17.Klein, D., Toutanova, K., Ilhan, h.t., Kamvar, s.d., Manning, D.结合异构分类器进行词义消歧。在gydF4y2BaSENSEVALgydF4y2Ba(2002)。gydF4y2Ba

18.Morris, m.r., Teevan, J., Panovich, K.,人们问他们的社交网络什么,为什么?状态信息问答行为的调查研究。在gydF4y2Ba气gydF4y2Ba(2010)。gydF4y2Ba

19.Page, L., Brin, S., Motwani, R., Winograd, T.。PageRank引用排名:为网络带来秩序。斯坦福大学技术报告,1998年。gydF4y2Ba

20.Silverstein, C., Henziger, M., Marais, H., Moricz, M.,分析一个非常大的Web搜索引擎查询日志。在gydF4y2Ba市立论坛gydF4y2Ba(1999)。gydF4y2Ba

21.Spink, A., Jansen, b.j., Wolfram, D., Saracevic, T.:从电子性爱到电子商务:网络搜索的变化。gydF4y2BaIEEE第一版。35gydF4y2Ba, 3(2002年3月)。gydF4y2Ba

22.斯普劳尔,L.,基斯勒,S.计算机,网络和工作。在gydF4y2Ba全球网络:计算机和国际通信gydF4y2Ba.麻省理工学院出版社,1993年。gydF4y2Ba

23.YouTube的人类学介绍。gydF4y2Ba美国国会图书馆gydF4y2Ba, 2008年。gydF4y2Ba

回到顶部gydF4y2Ba

作者gydF4y2Ba

达蒙霍洛维茨gydF4y2Ba(gydF4y2Badhoro@google.comgydF4y2Ba),谷歌。gydF4y2Ba

Sepandar d KamvargydF4y2Ba(gydF4y2Basdkamvar@stanford.edugydF4y2Ba)、斯坦福大学。gydF4y2Ba

回到顶部gydF4y2Ba

脚注gydF4y2Ba

a.方程1是Aardvark实际用于匹配查询和答案的简化,但我们这样做是为了清晰和简洁。gydF4y2Ba

b.在人索引和问题分析组件中,“语义相似度”是通过使用在维基百科和其他语料库上计算的分布相似度的近似来计算的;这可以作为主题语义相关度的代理度量。gydF4y2Ba

c.例如,如果一个问题中出现了“骆驼摔跤”这个字符串,它很可能与一个将“骆驼摔跤”作为个人资料主题的用户在语义上相关;而字符串“running”太过模糊,在没有进一步验证的情况下不能使用,因为它可能会向了解健康的用户发送关于“运营企业”的问题。gydF4y2Ba

d. Aardvark设计的一般原则是尽可能利用人类的智慧来提高系统的质量。在目前的问题分析任务中,这包括给提问者和回答者提示和简单的命令,让他们直接告诉食蚁兽问题的主题是什么。gydF4y2Ba

e.“传递”一个问题并不可耻,因为没有人知道这个问题是发给你的。同样地,用户提问也不需要付出任何社会成本,因为你不会直接向好友提出问题或请求帮助;相反,食蚁兽扮演的是承担这种社会成本的中介角色。gydF4y2Ba

f.为保护隐私,姓名和所属单位均已更改。gydF4y2Ba

在很多情况下,实验中的用户注意到,他们特意把问题发送给Aardvark,因为之前的谷歌搜索很难形成或者没有给出满意的结果。例如:“旧金山湾区哪个高尔夫球场的排水系统最好/冬天最适合打球(尤其是下了那么多雨)?”gydF4y2Ba

这篇论文的前一个版本发表在gydF4y2BaWWW2010学报》gydF4y2Ba(罗利,北卡罗来纳州,2010年4月2630日)。gydF4y2Ba

回到顶部gydF4y2Ba

数据gydF4y2Ba

F1gydF4y2Ba图1。食蚁兽的结构示意图。gydF4y2Ba

F2gydF4y2Ba图2。食蚁兽与回答者互动的例子。gydF4y2Ba

F3gydF4y2Ba图3。三次完整的食蚁兽互动。gydF4y2Ba

F4gydF4y2Ba图4。分配问题和回答时间。gydF4y2Ba

回到顶部gydF4y2Ba


©2012 acm 0001-0782/12/0400 $10.00gydF4y2Ba

如果您不是为了盈利或商业利益而制作或分发本作品的部分或全部,并在第一页注明本通知和完整引用,则允许您免费制作本作品的部分或全部数字或纸质副本,供个人或课堂使用。本作品的组成部分必须由ACM以外的其他人享有版权。信用文摘是允许的。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或费用。请求发布的权限gydF4y2Bapermissions@acm.orggydF4y2Ba或传真(212)869-0481。gydF4y2Ba

数字图书馆是由计算机协会出版的。版权所有©2012 ACM股份有限公司gydF4y2Ba


没有发现记录gydF4y2Ba

Baidu
map