CN107807978B - 一种基于协同过滤的代码评审者推荐方法 - Google Patents
一种基于协同过滤的代码评审者推荐方法 Download PDFInfo
- Publication number
- CN107807978B CN107807978B CN201711013416.7A CN201711013416A CN107807978B CN 107807978 B CN107807978 B CN 107807978B CN 201711013416 A CN201711013416 A CN 201711013416A CN 107807978 B CN107807978 B CN 107807978B
- Authority
- CN
- China
- Prior art keywords
- reviewer
- review
- request
- matrix
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种基于协同过滤的代码评审者推荐方法,该方法的步骤分为三部分,分别是数据处理,隐式关系挖掘和推荐逻辑。数据处理部分将历史评审数据以矩阵的形式呈现。隐式关系挖掘部分用于根据矩阵的信息,挖掘数据中隐含的隐式关系。推荐逻辑部分则描述了通用的推荐流程,给出了排序规则。基于该框架的实现可以有效地利用数据中的隐式关系推荐代码评审者。本发明针对代码评审者的推荐场景提出了隐式关系挖掘的机制。该机制利用了推荐系统中的邻居模型和隐因子模型,并将二者进行了融合,并基于融合模型有效地挖掘数据间的隐式关系,服务于代码评审者的推荐工作,克服了现有方法在评审者推荐上的不足。
Description
技术领域
本发明涉及一种推荐系统的方法,尤其涉及一种基于协同过滤的代码评审者推荐方法。
背景技术
代码评审是一项重要的软件开发活动,它能够有效地减少代码缺陷,从而保证代码质量。在1976年,Fagan提出了代码评审的形式化过程。当时的代码评审活动是通过小组会议完成的。经过长时间的实践,研究者们发现这种代码评审的形式确实能够带来好处,减少软件缺陷数量,但是这种形式的评审活动过于笨重,过于消耗时间。因此现在很多组织采取了一种更加轻量的代码评审机制。许多公司和开源组织利用工具去支持代码评审。这种新型的代码评审形式被称为现代代码评审(ModernCodeReview,简称MCR)。MCR是基于工具的,能够经常发生,相比较于Fagan提出的也更加轻量。
在开源社区中,这种现代代码评审被广泛采用,这不仅是因为MCR轻量便捷,也是开源软件开发的特征所决定的。开源软件的开发大多都是分布式开发,也就是开发人员散布全球各地,开发者之间不能够方便地举行评审会议。而基于工具的代码评审能够适应这种分布式软件开发的需求,因此MCR在开源软件开发中至关重要。
作为开源社区代表的Github,它采取了pullrequest的机制融合了现代代码评审的过程。如图1所示为代码评审的过程,开发者首先成立一个项目,然后基于成立的项目进行开发。开发者以pullrequest的形式提交自己的代码。Pullrequest是向社区公开的,平台上的用户都可以针对pullrequest发表自己的评论。项目的管理者会根据pullrequest的质量以及与之相关的评论作出是否合并的决定。这一系列的活动是代码评审的过程。一个pullrequest的提交会触发代码评审过程的发生。
Github中的代码评审伴随着pullrequest的发布。在代码评审过程中存在效率问题。由于开源社区的分布式软件开发的特点,如果人工针对每一个评审分配评审者,那么这将是一个耗时耗力的过程,特别是在pullrequest频繁到来的时候。研究表明具有代码评审者分配问题的评审的被评审时间要长12天。评审者的自动分配对于解决那些具有评审者分配问题的评审具有重大意义,能够极大地减少评审的时间,同时也能够提高项目的开发效率,也加强了项目组的成员间的良好协作。
由于开源软件社区的蓬勃发展,开源社区中的软件开发已经成为不可忽视的一部分。现代代码评审(ModernCodeReview,简称MCR)能够适用于开源软件的开发活动,减少开源软件的缺陷。然而,现有的MCR的工具都是评审请求人工分配或者不分配;另外,现有的一些推荐方法局限在挖掘开发者和资源的显示关系而忽略了之间的隐式关系。这一现状导致一些项目的开发者疲于分配大量的评审请求或者一些项目的评审请求长时间得不到处理。这种现象严重影响了软件项目的开发效率,延误了软件项目的开发进程。为了解决这个问题,评审者推荐应运而生。
发明内容
为了更好地解决上述问题,本发明提出了一种基于协同过滤的代码评审者推荐方法,该方法的步骤分为三部分,分别是数据处理,隐式关系挖掘和推荐逻辑。数据处理部分将历史评审数据以矩阵的形式呈现。隐式关系挖掘部分用于根据矩阵的信息,挖掘数据中隐含的隐式关系。推荐逻辑部分则描述了通用的推荐流程,给出了排序规则。基于该框架的实现可以有效地利用数据中的隐式关系推荐代码评审者。本专利给出了三种基于该步骤的具体实现流程,并针对代码评审者的推荐场景提出了隐式关系挖掘的机制。该机制利用了推荐系统中的邻居模型和隐因子模型,并将二者进行了融合,并基于融合模型有效地挖掘数据间的隐式关系,服务于代码评审者的推荐工作来克服现有方法在reviewer推荐上的不足。本发明提出了一种基于协同过滤的代码评审者推荐方法,在不同方面的数据以及不同的推荐技术都可以被使用,具有灵活性;该方法具有隐式关系挖掘机制,该机制能够挖掘数据间的隐式关系,提升推荐的效果。
本发明提出了一种基于协同过滤的代码评审者推荐方法,能够减少审查的时间,这样可以节省提交者等待的时间,加快提交者的工作速率。项目中的每一个评审项目都被自动分配了一个评审者,可以省去人工分配评审者的麻烦,也使得每个评审者的分工更加明确,加快项目开发效率,节省了人力和时间,给项目评审者人员提供了更好的协作基础。
附图说明
图1为现有技术的代码评审的过程;
图2为本发明的评审方法的系统框架;
图3为本发明一实施例的代码评审者推荐方法的流程图;
图4为本发明一实施例中的隐因子模型图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明采用协同过滤方法,建立隐因子模型(LFM)。首先构造用户和物品之间的评分矩阵,然后根据该评分矩阵得到物品之间的相似性。物品之间的相似度就可以服务于之后的推荐方法。当为一位用户估计某一个物品的评分时,首先获取该物品与其他物品的相似度,然后根据该用户对其他物品的评分和相似度得出该用户对所求物品的评分。在问题建模中,我们可以得到一个评分矩阵R,表示用户和商品之间的评分。针对该矩阵R,利用SVD矩阵分解可以得到R矩阵等于两个矩阵的乘积。
RU×i=PU×KQK×I
U代表用户个数,I代表物品个数。P和Q矩阵中的元素是利用R中的已知评分训练P和Q,使得相乘的结果最好地拟合已知的评分。针对矩阵中未知的一个评分,那么利用P中的某一行乘上Q中的某一列就可以得到。
假设已知的评分为:rui。则真实值与预测值的误差为:
继而可以得到出总的误差平方和:
通过梯度下降法把SSE降到最小,那么P,Q就能最好地拟合R了。
为了考虑数据中隐含的隐式关系,该框架将历史的评审数据整理成矩阵的形式,然后利用协同过滤的技术挖掘隐式关系,最终根据评审者(reviewer)的得分进行推荐。
如图2所示为本发明的评审方法框架,分为三步骤,步骤1是数据处理部分(DataProcess)。数据处理模块主要负责组织历史评审数据,将其整理成矩阵的形式以便于后续的处理。步骤2为隐式关系捕捉器主要负责获取数据对象之间的隐式关系。步骤3为通用推荐逻辑的推荐流程。
reviewerSet表示训练数据中的所有的reviewer。columnSet表示商品(Item)的集合。这里的商品是抽象意义的,Mat矩阵用来表征历史的评审数据,定义如下:
Mat(i,j)=revieweri与columnj的相关性得分
revieweri∈reviewerSet,columnj∈columnSet
其中m是评审者i对请求j所作的评论个数,λ0是一个衰减因子,用于减弱在同一个请求中同一个评审者评论数目的影响,因子是反映时间局部性的影响。越近的评论会获得更高的比重。在大多数情况下,Mat矩阵是稀疏的,因此Mat矩阵中的很多元素是空的。为了捕捉reviewer与商品之间的隐式关系,我们利用隐式关系捕捉器去评估该关系。隐式关系的捕捉体现在矩阵上就是为矩阵中的空缺元素填充合理的值。隐式关系捕捉器的功能可描述如下函数:
定义transform函数以一个评审请求作为输入,以columnSet的一个子集作为输出,如下所示:
基于上述定义,代码评审者推荐的过程为:首先将历史评审数据构建成了矩阵并且获得了训练数据中的所有评审者。然后利用函数transform将一个评审请求转换为columnSet的一个子集,接着迭代每一个评审者,获取所述每一个评审者的得分,并针对每个评审者迭代每一个子集元素位置中的得分,如果在该位置上有值,则该值会被加到得分中。如果对应的位置为空,则利用eval函数去获取得分并填充,最后根据评审者的得分进行排序返回得分最高的k位评审者作为推荐的结果,所述k为正整数。
本发明的整个流程的实施例如图3所示,首先进行数据处理,然后进行模型训练,最后根据训练的结果进行推荐。图3中首先把数据以矩阵的形式组织起来,然后利用隐式关系挖掘机制填充矩阵中的缺失元素,即挖掘数据中的隐式关系,最后利用填充完毕的矩阵,按照通用的推荐逻辑进行推荐。
在数据处理步骤中,首先建立评审者-请求矩阵。在评审者-请求矩阵中,每一行代表一个评审者,每一列代表一个评审请求。评审者-请求矩阵公式为
i,j,m,n均为正整数,其中m是评审者i对请求j所作的评论个数。λ0是一个衰减因子,用于减弱在同一个请求中同一个评审者评论数目的影响。因子t1(i,j,n)是反映时间局部性的影响。越近的评论会获得更高的比重。
commentTimei,j,n是评审者i对于请求j所做的评论n的创建时间。beginTime和endTime是训练集中评审请求最早和最晚的创建时间。
针对评审者-请求矩阵,transform函数是以一个评审请求为输入,以一个评审请求的集合作为输出。这个评审集合是通过获取当前评审请求与历史评审请求的相似性,选择最相似的一些历史请求作为函数的输出。
评审者-文件矩阵是关于评审者和项目文件的数据。fileToReqs函数以一个文件为输入,以改动过该文件的评审请求集合为输出。getReviewers函数以一个评审请求为输入,返回该评审请求的评审者们。
如果评审请求req满足req属于fileToReqs(filej)并且revieweri属于getReviewers(req),则有
否则Mat2(i,j)=null。reqCreationTime是评审请求req的创建时间。beginTime和endTime为训练集中评审请求最早和最晚的创建时间。针对评审者-文件矩阵,transform函数以评审请求为输入,以该请求改动的文件集合为输出。
k是开发者j提交且被评审者i评审的请求数量。m是评审者i在请求t上的评论数量。λ1是一个衰减因子。
本发明具有隐式关系挖掘机制,其中利用所述eval函数进行捕捉隐式关系,给矩阵中的空白项填充合理的值。本专利设计了两层的融合模型,第一层是隐因子模型,第二层是邻居模型。
如图4所示为隐因子模型适合挖掘隐式关系,隐因子模型能够将数据中的不同维度的对象映射到同一个隐式因子空间中。在这个共同的空间中,不同的对象是这个空间中的不同的点。由于这些点在同一个隐式空间中,因此可以利用不同的算法计算其之间的相似性,从而解决了对于不同维度对象的比较问题。以评审者-请求矩阵为例,经过训练,隐因子模型最终能够得到所有评审者和评审请求在一个f维空间的表示,也就是一个f维向量。而这f个隐因子能够反馈评审者和评审请求的特征,比如贡献度,技术,项目的模块或者一些其他不可解释的特征。这些隐式因子是模型自动训练出来的并且往往不可解释。
邻居模型擅长于挖掘相似物品,而隐因子模型擅长于挖掘一些整体信息,将两者融合在一起可以更好地进行推荐。
为了度量两个物品之间的相似度,我们需要一种度量机制,上述公式中的Sjh用来衡量两个物品j和h之间的相似性。
njh代表矩阵中第j列和第h列共同有值的行数。pearsonjh代表矩阵中第j列和第h列数据的皮尔逊相关系数。Sd(j)代表d个与j最相似的物品的集合。d被称为邻居大小。R(i)={j|Mat(i,j)!=null},Rd(i,j)是Sd(j)与R(i)的交集,定义如下:
Wjh是一个关于权重的参数。|Rd(i,j)|-1/2是一个常量因子。
根据这个预测Mij的公式,利用已有数据进行训练,优化目标函数,可以得到公式中的所有参数的估计值,即pi,qj,wjh。
让{(i,j)|Mat(i,j)≠null},通过解决下列的最优化问题,就可以得到参数的估计值。
pi←pi+γ(eijqj-λ2pi)
qj←qj+γ(eijpi-λ2qj)
γ是随机梯度下降的步长。
本发明提出了一种推荐代码评审者的方法。该方法可以接受不同形式的历史评审数据,并将它们以矩阵的形式展现出来。继而利用协同过滤相关的推荐技术进行推荐。框架将数据,处理方法,通用逻辑分开,可以使得框架的更加灵活,利用不同的数据,采用不同的处理方法精确推荐评审者。基于提出的方法框架,给出了数据的处理方法,融合的推荐模型,并将它们整合在一起。融合的推荐模型可以捕捉历史评审数据之间的隐式关系,有效地衡量评审者与评审请求之间的关联。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种基于协同过滤的代码评审者推荐方法,其特征在于,包括以下步骤:步骤1,数据处理;步骤2,隐式关系挖掘;步骤3,推荐代码评审者;在所述步骤1中,所述数据处理包括组织历史评审数据,将其整理成矩阵的形式以便于后续的处理;由隐式关系捕捉器负责处理数据对象之间的隐式关系,并进行代码评审者推荐流程的处理,设置reviewerSet表示训练数据中的所有的评审者reviewer的集合,columnSet表示评审请求Item的集合,Mat矩阵用来表征历史的评审数据,则所述Mat矩阵为:所述i,j均为正整数,隐式关系捕捉器评估评审者与评审请求之间的隐式关系,隐式关系的捕捉为在矩阵中的空缺元素填充合理的值,隐式关系捕捉器的功能可描述如下函数:定义transform函数以一个评审请求作为输入,以columnSet的一个子集作为输出,如下所示:P意味着幂集,其r为评审者,ψ为columnSet的子集;所述步骤3中,代码评审者推荐的过程为:首先将历史评审数据构建成了矩阵并且获得了训练数据中的所有评审者; 然后利用函数transform将一个评审请求转换为columnSet的一个子集,接着迭代每一个评审者,获取所述每一个评审者的得分,并针对每个评审者迭代每一个子集元素位置中的得分,如果在该位置上有值,则该值会被加到得分中;如果对应的位置为空,则利用eval函数去获取得分并填充,最后根据评审者的得分进行排序返回得分最高的k位评审者作为推荐的结果,所述k为正整数。
2.如权利要求1所述的方法,其特征在于,在数据处理时建立评审者-请求矩阵,每一行代表一个评审者,每一列代表一个评审请求,则评审者-请求矩阵为其中m是评审者i对请求j所作的评论个数,λ0是一个衰减因子,用于减弱在同一个请求中同一个评审者评论数目的影响,因子t1(i,j,n)反映时间局部性的影响,t1(i,j,n)获取的公式为所述commentTimei,j,n是评审者i对于请求j所做的评论n的创建时间,所述beginTime和endTime是训练集中评审请求最早和最晚的创建时间,针对评审者-请求矩阵,传输函数是以一个评审请求为输入,以一个评审请求的集合作为输出,评审集合根据当前评审请求与历史评审请求的相似性,选择最相似的一些历史请求作为函数的输出。
3.如权利要求1所述的方法,其特征在于,在数据处理时建立评审者-文件矩阵,所述评审者-文件矩阵是关于评审者和项目文件的数据,fileToReqs函数以一个文件为输入,以改动过该文件的评审请求集合为输出,getReviewers函数以一个评审请求为输入,返回该评审请求的评审者们,如果评审请求req满足req属于fileToReqs(filej)并且所述revieweri属于getReviewers(req),则评审者-文件矩阵为否则Mat2(i,j)为空,所述reqCreationTime是评审请求req的创建时间,所述beginTime和endTime是训练集中评审请求最早和最晚的创建时间,针对评审者-文件矩阵,所述transform函数以评审请求为输入,以该请求改动的文件集合为输出。
5.如权利要求1所述的方法,其特征在于,在所述步骤2的隐式关系挖掘中采用两层的融合模型,第一层为隐因子模型,第二层为邻居模型,并将二者进行融合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711013416.7A CN107807978B (zh) | 2017-10-26 | 2017-10-26 | 一种基于协同过滤的代码评审者推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711013416.7A CN107807978B (zh) | 2017-10-26 | 2017-10-26 | 一种基于协同过滤的代码评审者推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107807978A CN107807978A (zh) | 2018-03-16 |
CN107807978B true CN107807978B (zh) | 2021-07-06 |
Family
ID=61593038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711013416.7A Active CN107807978B (zh) | 2017-10-26 | 2017-10-26 | 一种基于协同过滤的代码评审者推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107807978B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002283B (zh) * | 2018-06-14 | 2021-07-27 | 南京航空航天大学 | 一种基于文件路径分析的代码审查者推荐方法 |
CN109189780A (zh) * | 2018-07-24 | 2019-01-11 | 湖南城市学院 | 基于大数据的思想政治材料储存与查询管理系统及方法 |
US11610173B2 (en) | 2019-06-13 | 2023-03-21 | Sri International | Intelligent collaborative project management |
CN110427317A (zh) * | 2019-07-05 | 2019-11-08 | 深圳壹账通智能科技有限公司 | 一种相关值确定方法及装置 |
CN112905224B (zh) * | 2019-12-04 | 2024-04-30 | 阿里巴巴集团控股有限公司 | 一种用于代码评审的耗时确定方法、装置及设备 |
CN111428142B (zh) * | 2020-05-06 | 2023-07-28 | 南京大学 | 一种基于随机森林分类器的代码评审人推荐系统及方法 |
CN112883288A (zh) * | 2021-03-09 | 2021-06-01 | 东南大学 | 基于深度学习和多Agent优化的软件评审者混合推荐方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631859A (zh) * | 2013-10-24 | 2014-03-12 | 杭州电子科技大学 | 一种面向科技项目的评审专家智能推荐方法 |
CN103823896A (zh) * | 2014-03-13 | 2014-05-28 | 蚌埠医学院 | 一种学科特征值算法及基于其的项目评审专家推荐算法 |
CN104700190A (zh) * | 2014-09-17 | 2015-06-10 | 国家电网公司 | 一种用于项目与专业人员匹配的方法和装置 |
CN104751353A (zh) * | 2015-04-10 | 2015-07-01 | 中国石油大学(华东) | 基于聚类和Slope One预测的协同过滤方法 |
CN105913323A (zh) * | 2016-05-06 | 2016-08-31 | 浙江大学 | 一种GitHub开源社区的PullRequest评审者推荐方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070078851A1 (en) * | 2005-10-05 | 2007-04-05 | Grell Mathew L | System and method for filtering search query results |
US9201646B2 (en) * | 2013-01-05 | 2015-12-01 | Vmware, Inc. | Automatic code review and code reviewer recommendation |
EP2983084A1 (en) * | 2014-08-05 | 2016-02-10 | Alcatel Lucent | Device for ranking software code sections to be reviewed for errors |
CN106897370B (zh) * | 2017-01-18 | 2020-08-11 | 淮阴工学院 | 一种基于皮尔逊相似度和FP-Growth的图审专家推荐方法 |
CN107122391B (zh) * | 2017-03-06 | 2021-02-23 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于历史记录的代码审核人推荐方法 |
-
2017
- 2017-10-26 CN CN201711013416.7A patent/CN107807978B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631859A (zh) * | 2013-10-24 | 2014-03-12 | 杭州电子科技大学 | 一种面向科技项目的评审专家智能推荐方法 |
CN103823896A (zh) * | 2014-03-13 | 2014-05-28 | 蚌埠医学院 | 一种学科特征值算法及基于其的项目评审专家推荐算法 |
CN104700190A (zh) * | 2014-09-17 | 2015-06-10 | 国家电网公司 | 一种用于项目与专业人员匹配的方法和装置 |
CN104751353A (zh) * | 2015-04-10 | 2015-07-01 | 中国石油大学(华东) | 基于聚类和Slope One预测的协同过滤方法 |
CN105913323A (zh) * | 2016-05-06 | 2016-08-31 | 浙江大学 | 一种GitHub开源社区的PullRequest评审者推荐方法 |
Non-Patent Citations (1)
Title |
---|
"基于主题信息的项目评审专家推荐方法";余峰 等;《计算机工程》;20140630;第40卷(第6期);第201-205页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107807978A (zh) | 2018-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107807978B (zh) | 一种基于协同过滤的代码评审者推荐方法 | |
US11860920B2 (en) | System and method for providing technology assisted data review with optimizing features | |
US10268753B2 (en) | System and method for optimized query execution in computerized data modeling and analysis | |
Parsian | Data algorithms: Recipes for scaling up with hadoop and spark | |
US20170061356A1 (en) | Hierarchical review structure for crowd worker tasks | |
US10325237B2 (en) | System and method for solving large scale supply chain planning problems with integer constraints | |
US10395215B2 (en) | Interpretation of statistical results | |
US20190026663A1 (en) | Inferring time estimates in workflow tracking systems | |
US20170351511A1 (en) | System and Method for Code and Data Versioning in Computerized Data Modeling and Analysis | |
US20220230141A1 (en) | Automated computer-based prediction of rejections of requisitions | |
US20190102741A1 (en) | Techniques for extraction and valuation of proficiencies for gap detection and remediation | |
US20230052372A1 (en) | Methods and systems for artificial intelligence-assisted document annotation | |
US20150278736A1 (en) | Framework to optimize the selection of projects and the allocation of resources within a structured business organization under time, resource and budget constraints | |
Pliego Marugán et al. | Decision making process via binary decision diagram | |
US10545930B2 (en) | Labeling entities in a canonical data model | |
US11109085B2 (en) | Utilizing one hash permutation and populated-value-slot-based densification for generating audience segment trait recommendations | |
JP2021529369A (ja) | コンピュータで実行される見積もり方法、見積もり装置、電子機器及び記憶媒体 | |
JP2016189079A (ja) | 計画作成支援装置および計画作成支援方法 | |
CN110674117A (zh) | 数据建模方法、装置、计算机可读介质及电子设备 | |
CN106575418A (zh) | 建议的关键词 | |
WO2019200296A1 (en) | Computing systems and methods for improving content quality for internet webpages | |
KR102639134B1 (ko) | 프로젝트를 수행하는 다수의 작업자들을 위한 협업 서비스 제공시스템 | |
US20230401500A1 (en) | Determination of Insights for Construction Projects | |
US20230401501A1 (en) | Determination of Insights for Construction Projects | |
US20230368130A1 (en) | Systems and methods for prioritizing orders |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |