基于社交的信息推荐系统的制作方法_3

文档序号:9438921阅读:来源:国知局
如图1所示的基于社交的信息推荐系统100的信息推荐模块112来执行。出于说明的 目的,根据一实施例参考图4中示出的信息推荐模块400描述了流程图300,信息推荐模块 400是信息推荐模块112的示例。如图4中显示的,信息推荐模块400包括操作确定逻辑 402、信息确定逻辑404、推荐逻辑406、过滤逻辑408、测试逻辑410、用户添加逻辑412和存 储414。存储包括社交数据图416。基于有关流程图300的讨论,其他结构及操作的实施例 对于相关领域的技术人员将是显而易见的。
[0043] 如图3所示,流程图300的方法在步骤302处开始。在步骤302,作出开发者执行 相关于对指定代码的开发的操作的确定。在此使用的短语"对指定代码的开发"旨在包括 对指定代码的设计、编码、测试等的任意一个或多个。可相关于对指定代码的开发来执行的 操作的示例包括但不限于,创建代码编写项目来包括指定代码(例如,在开发工具中键入 代码编写项目的名称);获得关于该代码编写项目的状态和/或进展的信息;编写指定代 码;测试指定代码;使用任意合适的电子通信技术(例如,即时消息收发(IM)、持久聊天、 Yammer?、Facebook?等)与其他一个或多个人(例如,团队成员)就指定代码进行交 互(例如,指定代码的概念,即使指定代码存在之前);搜索要被合并到指定代码内的内容 和/或数据(例如,从指定代码作出对该内容和/或数据的调用、将该内容(例如,代码段) 与指定代码对齐地放置);搜索对指定代码的开发(例如,设计、编码、测试等)进行协助的 一个或多个人;请求与指定代码相关的反馈;执行相关于指定代码(例如,在编写、测试、联 编和/或部署指定代码期间)所遇到的问题有关的搜索;合成相关于指定代码的体系架构 图(例如,体系架构组件图、体系架构类图等)、数据流图、序列图、使用情况图等(例如,gp 使在指定代码存在之前);创建和/或运行指定代码的联编;对与测试、联编和/或部署指 定代码有关的问题进行响应;创建、更新和/或关闭关于指定代码的工作项(例如,"待办 事项"列表中的项);执行与指定代码有关的构思(例如,介绍指定代码的概念以确定指定 代码要指向的主题);创建和/或编辑关于指定代码的故事板、草图和/或设计(例如,用 户界面设计)(例如,即使在指定代码被编写之前);生成要对指定代码执行的工作的报告 (例如,活动、改变、在指定时间段中对该工作执行的工作的性质的分类等);等等。
[0044] 在一示例实现中,操作确定逻辑402确定开发者执行该操作。例如,操作确定逻辑 402可响应于接收到操作指示符418来确定开发者执行该操作,该操作指示符418指定该操 作被执行。操作确定逻辑402可响应于确定开发者执行该操作来生成确定指令420。确定 指令420指令信息确定逻辑404来确定与指定代码在上下文上相关的信息。
[0045] 在一示例实施例中,步骤302包括确定开发者获取指定代码的所有权。例如,开发 者可获取所有权来编写指定代码或它的一部分、修复指定代码中的隐错等。
[0046] 在另一示例实施例中,步骤320包括确定开发者签入指定代码。例如,开发者可签 入该代码来修复影响指定代码的特征的隐错,即使开发者不在修复该特征。根据这个示例, 开发者可签入该代码来在修复隐错时改变代码的串、评论或某个其他片段。
[0047] 在步骤304,使用机器学习技术来确定与指定代码在上下文上相关的信息。例 如,可响应于确定开发者执行该操作来确定该信息。该信息可与社交数据图中的多个用 户相关联,该多个用户被包括在社交联网环境中。信息可包括一个或多个代码段、SDK或 Virtual S:tudi〇扩展(例如,Resharper产品)、用户的名字(例如,推荐对指定代码进行 操作的用户)、关于其问题发生的一个或多个文件(例如,指定代码外部的遇到与指定代码 相同的性能问题的一个或多个代码文件)、基于开发者的社交网络中的用户对其执行了操 作的主题的搜索结果,等等。在一示例实现中,信息确定逻辑404确定与指定代码在上下文 上相关的信息。例如,信息确定逻辑404可响应于接收到确定指令420来确定与指定代码 在上下文上相关的信息。信息确定逻辑404可生成关系指示符422来指定与指定代码在上 下文上相关的信息。
[0048] 在步骤306,基于该信息的至少一部分与社交数据图中被包括在开发者的社交网 络中的多个用户中的一个或多个用户相关联来推荐该信息的该至少一部分以供相关于指 定代码来使用。在一示例实现中,推荐逻辑406推荐该信息的该至少一部分以供相关于指 定代码来使用。例如,推荐逻辑406可基于关系指示符422来推荐该信息的该至少一部分。 推荐逻辑406可提供一个或多个推荐424来指定被推荐以供相关于指定代码来使用的该信 息的该至少一部分。将意识到,推荐逻辑406可进一步基于关联信息430、代码信息432和 /或用户信息434 (所有这些被包括在社交数据图416中)来推荐该信息的该至少一部分。 存储414存储社交数据图416。
[0049] 关联信息430指定社交联网环境中的哪些用户与哪些信息(或它们的一个或多个 部分)相关联。例如,一用户可响应于该用户提供信息、响应于该用户在信息中被提到、响 应于信息被提供给该用户、响应于该用户讨论信息(例如,在论坛中或在一个或多个社交 更新中)、响应于该用户与另一用户共享信息、响应于该用户访问信息、响应于该用户对信 息进行评级等来与该信息相关联。如果该信息包括一个或多个代码段,则用户可响应于用 户是该一个或多个代码段的当前所有者或先前所有者、响应于用户签入该一个或多个代码 段、响应于用户对该一个或多个代码段进行操作、响应于用户检索(例如,下载、消费、使用 等)该一个或多个代码段等来与该信息相关联。
[0050] 代码信息432描述指定代码以及可用于被推荐以供相关于指定代码来使用的代 码段。例如,代码信息432可指定指定代码中和/或代码段的任意一个或多个中隐错的数 量、代码段的任意一个或多个被(例如,社交联网环境中或开发者的社交网络中的用户)下 载的次数、指定代码中和/或代码段的任意一个或多个中依赖性的指示(例如,错误依赖 性,其能够中断指定代码和/或代码段的任意一个或多个)、指定代码和/或代码段的任意 一个或多个的历史等。根据这个示例,代码信息432可将指定代码和/或代码段的任意一 个或多个的历史与性能数据、回归数据和/或与指定代码和/或代码段的任意一个或多个 相关联的其他数据相关。
[0051] 用户信息434描述社交联网环境中的用户。例如,用户信息434可指定社交联网 环境中的每个用户是否被包括在开发者的社交网络中(并且如果是,用户被包括哪一社交 网络中)、每个用户的评级(例如,总体和/或在指定主题分类中)、每个用户的技能、每个 用户关于软件开发和/或软件开发的指定方面经历的持续时间,等等。
[0052] 在一示例实施例中,步骤304包括使用机器学习技术来确定多个代码段中与指定 代码在上下文上相关的一个或多个代码段。例如,信息确定模块404确定该一个或多个代 码段。该多个代码段的任意一个或多个可以是开源代码段,但是示例实施例的范围不在这 方面作出限制。根据这个实施例,该多个代码段与社交数据图中的该多个用户相关联。进 一步根据该实施例,步骤306包括基于该一个或多个代码段中的至少一个代码段与在社交 数据图中被包括在开发者的社交网络中的用户相关联来推荐该一个或多个代码段中的该 至少一个片段代码以供包括在指定代码中。例如,推荐逻辑406可推荐该至少一个代码段。
[0053] 在这个实施例的一方面,步骤306可包括进一步基于提供指定的代码段的用户的 技能来推荐该指定的代码段以供包括在指定代码中。例如,可从提供该指定的代码段的用 户的简历中导出该用户的技能。在一示例实现中,推荐逻辑406推荐该指定的代码段。用 户信息434可指定用户的技能。根据这个实现,推荐逻辑436可响应于接收到用户信息434 来推荐该指定的代码段。
[0054] 可以意识到,替换地,推荐逻辑406可响应于接收到用户信息434来推荐不被使用 的指定的代码段。例如,如果开发者使用来自具有相对较低信誉的用户的代码段,则开发者 可能想要重新考虑使用该片段、编写涵盖该代码段的更多的单元测试、获得对于开发者的 使用该代码段的代码的额外代码审阅等。如果开发者最终使用该代码段而根本不需要改变 它,则这个事件可正面地影响该代码段所来自的用户的信誉。
[0055] 在这个实施例的另一方面,步骤306可包括进一步基于开发者的社交网络内提供 指定的代码段的用户的信誉来推荐该指定的片段代码以供包括在指定代码中。例如,用户 的信誉可基于由该用户回答的关于软件开发的问题的数量。在另一示例中,用户的信誉可 由在开发者的社交网络中的其他用户指派。根据这个示例,信誉可基于用户接收到的对于 用户提供给关于软件开发的问题的回答的赞同(例如,"赞")的数量。例如,信誉可基于用 户从各个问题的提供者接收到的这样的赞同的数量。在又一示例中,用户的信誉可从另一 社交网络或社交联网环境(例如,Stack Overflow?)导入开发者的社交网络中。用户信息 434可指定用户的信誉。
[0056] 在这个实施例的又一方面,步骤306可包括进一步基于在指定的代码段中发现的 隐错的数量来推荐该指定的代码段以供包括在指定代码中。例如,可响应于在指定的代码 段中发现的隐错的数量少于第一阈值来执行对至少一个代码段的推荐。在另一示例中,代 码信息432可指定在指定的代码段中发现的隐错的数量和/或隐错的数量少于第一阈值。
[0057] 根据这个方面,步骤306可包括基于在标识的代码段中发现的隐错的数量达到第 二阈值(例如,大于第二阈值,或大于或等于第二阈
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1