一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于对注释和编辑关系进行建模的架构的制作方法

2021-11-22 21:29:00 来源:中国专利 TAG:

用于对注释和编辑关系进行建模的架构


背景技术:

1.考虑到一个或多个作者在文档演变期间所做的大量编辑和注释,协作文档的管理可能很困难。对编辑和注释之间的关系进行可靠建模可以帮助用户追踪不断变化的文档。因此,本文的主题涉及探索注释和编辑之间的关系。


技术实现要素:

2.该发明内容章节被提供来以简化形式引入实施例的各个方面,并且在详细描述中进一步解释以下实施例。该发明内容章节不旨在标识所要求保护的主题的必要或所需特征,并且在该发明内容章节中列出的元件的组合和顺序不旨在向所要求保护的主题的元件提供限制。
3.一种系统可以被配置为实现机器学习(ml)技术。ml技术可以标识相同或不同文档的编辑和注释之间的关系。该系统可以包括存储器,用以存储定义ml模型的参数,以确定作者或审阅者对文档内容的编辑与相同或不同的作者或审阅者的关于文档内容的注释之间的关系。该系统可以包括处理电路系统,以提供注释和编辑作为ml模型的输入,并从ml模型接收指示注释和编辑之间的关系的数据,该关系包括编辑处理注释还是作为注释目标的内容的位置。
4.注释与编辑之间的关系可以指示以下至少一项:(a)与编辑最相关的注释,或者(b)给定注释,最有可能成为编辑目标的文档的位置。ml模型可以被配置为确定编辑与注释之间的相关性分数,并且基于相关性分数来指示注释与编辑之间的关系。
5.通过将仅在编辑前版本中的内容与第一标签相关联,将仅在编辑后版本中的内容与不同的第二标签相关联,并且将在编辑前版本和编辑后版本中的内容与不同的第三标签相关联,处理电路系统还可以基于文档的编辑前版本和文档的编辑后版本来确定动作编码,动作编码指示内容是否在文档的编辑前版本和编辑后版本的内容之间相同、被移除或被添加。ml模型还可以基于动作编码来确定注释与编辑之间的关系。
6.ml模型可以包括使用监督学习技术训练的分层神经网络(nn)。ml模型可以包括:将编辑和注释中的词语投影到一个或多个相应向量空间的输入嵌入层、用以基于所投影的编辑和注释来对内容之间的顺序交互进行建模的上下文嵌入层、用以基于所建模的顺序交互来对编辑和注释之间的关系进行建模的注释编辑注意力层、以及用以基于所建模的关系来确定编辑和注释之间的关系的输出层。上下文嵌入层可以基于编辑和注释来确定相似性矩阵,其中相似性矩阵指示编辑内容与注释内容的相似程度。注释编辑注意力层可以确定与动作编码组合的相似性矩阵的归一化概率分布。处理电路系统还可以向生成了文档的应用提供信号,该信号指示对文档的修改。
7.一种确定文档修订与编辑文档的修订注释之间的关系的方法可以包括:利用第一标签标记编辑文档的编辑前版本与编辑文档的编辑后版本之间的未改变内容;利用不同的第二标签标记编辑文档的编辑前版本中的内容,该内容不同于编辑文档的编辑后版本中的内容;利用不同的第三标签标记编辑文档的编辑后版本中的文档修订,该文档修订对应于
编辑文档的编辑后版本中的内容,该内容不同于编辑文档的编辑前版本中的内容;以及基于编辑文档的编辑前版本中的内容,确定编辑文档的编辑后版本中的内容、修订注释以及第一标签、第二标签和第三标签,并且使用机器学习(ml)模型,确定修订注释与文档修订之间的关系。
8.该方法还可以包括,其中ml模型基于注释排名损失函数和编辑锚定损失函数中的至少一个而被训练。该方法还可以包括,其中ml模型基于注释排名损失函数和编辑锚定损失函数两者而被训练。该方法还可以包括,其中ml模型是使用监督学习技术训练的分层神经网络(nn)。
9.该方法还可以包括,其中ml模型包括将文档修订和修订注释投影到向量空间的输入嵌入层、用以基于所投影的编辑和注释来对内容之间的顺序交互进行建模的上下文嵌入层、用以基于所建模的顺序交互来对投影和嵌入的编辑与投影和嵌入的注释之间的关系进行建模的注释编辑注意力层、以及用以基于所建模的关系来确定文档修订和注释之间的关系的输出层。该方法还可以包括,其中上下文嵌入层基于文档修订和修订注释来确定相似性矩阵,其中相似性矩阵指示文档修订的内容与修订注释的内容的相似程度。
10.一种机器可读介质(mrm)可以包括指令,在由机器执行时,该指令将机器配置为执行操作,该操作包括:接收文档的编辑前内容、文档的编辑后内容和与文档相关联的注释;对编辑前内容、编辑后内容和注释操作机器学习(ml)模型,以确定指示编辑后内容中的不在编辑前内容中的内容与注释之间的关系的相关性分数;以及提供指示编辑后内容中的不在编辑前内容中的内容与注释之间的关系的数据。mrm还可以包括,其中操作还包括:利用第一标签标记文档的编辑前版本与文档的编辑后版本之间的未改变内容;利用不同的第二标签标记文档的编辑前版本中的内容,该内容不同于文档的编辑后版本中的内容;利用不同的第三标签标记文档的编辑后版本中的内容,该内容不同于文档的标记前版本中的内容,并且其中操作ml模型包括还对第一标签、第二标签和第三标签操作ml模型,以确定编辑后内容中的不在编辑前内容中的内容与文档的注释之间的关系。
11.mrm还可以包括,其中ml模型基于注释排名损失函数和编辑锚定损失函数中的至少一个而被训练。mrm还可以包括,其中ml模型基于注释排名损失函数和编辑锚定损失函数两者而被训练。mrm还可以包括,其中ml模型是使用监督学习技术训练的分层神经网络(nn)。
附图说明
12.图1通过示例图示了文档的实施例的图。
13.图2通过示例图示了用于标记文档中的改变的方法的实施例的图。
14.图3通过示例图示了用于将注释与编辑(或反之亦然)相关联的方法的实施例的图。
15.图4通过示例图示了用于确定注释与编辑(或反之亦然)之间的关系的系统的实施例的图。
16.图5通过示例图示了用于确定文档内容的注释与编辑之间的关系的系统的实施例的图。
17.图6通过示例图示了用于确定注释与编辑之间的关系的方法的实施例的图。
18.图7通过示例图示了用以实现一个或多个实施例的机器(例如计算机系统)的实施例的框图。
具体实施方式
19.在以下描述中,参照形成其一部分并且通过图示的方式示出可以被实践的具体实施例的附图。这些实施例是用足够的细节描述的,以使本领域技术人员能够实践实施例。要理解的是,其他实施例可以被使用,并且在不脱离实施例的范围的情况下,结构、逻辑和/或电气改变可以被进行。因此,实施例的以下描述不是限制意义的,并且实施例的范围由所附权利要求限定。
20.在一些实施例中,本文描述的操作、功能或技术可以在软件中实现。软件可以包括存储在计算机或者其他机器可读介质或存储设备(诸如一个或多个非瞬态存储器(例如非瞬态机器可读介质)或其他类型的基于硬件的存储设备(本地的或联网的))上的计算机可执行指令。进一步地,这种功能可以对应于子系统,该子系统可以是软件、硬件、固件或其组合。多个功能可以在一个或多个子系统中根据需要执行,并且所描述的实施例仅是示例。软件可以在数字信号处理器、专用集成电路(asic)、微处理器、中央处理单元(cpu)、图形处理单元(gpu)、现场可编程门阵列(fpga)或者在计算机系统(诸如个人计算机、服务器或其他计算机系统)上操作,将这种计算机系统转变为专门编程的机器的其他类型的处理器上执行。功能或算法可以使用处理电路系统来实现,诸如可以包括电组件和/或电子组件(例如一个或多个晶体管、电阻器、电容器、电感器、放大器、调制器、解调器、天线、无线电、调节器、二极管、振荡器、复用器、逻辑门、缓冲器、缓存、存储器、gpu、cpu、fpga、sdic等)。
21.人工智能(ai)是涉及开发决策系统以执行传统上需要活体行动者(诸如人)的认知任务的领域。神经网络(nn)是在生物神经元上紧密建模的计算结构。通常,nn经由节点(例如神经元)之间的加权连接(例如突触)对信息(例如数据或决策)进行编码。现代nn是许多ai应用的基础,诸如语音识别。
22.许多nn被表示为与所建模的连接相对应的权重矩阵。nn通过将数据接受到输入神经元集合中来操作,该输入神经元集合通常具有与其他神经元的许多外向连接。在神经元之间的每次遍历中,对应的权重修改输入,并且针对目的地神经元处的阈值测试。如果加权值超过阈值,则值被再次加权,或者通过非线性函数变换,并且被传输给nn图往下的另一神经元
‑‑
如果阈值未被超过,那么通常值不被传输给下图神经元,并且突触连接保持不活动。加权和测试的过程继续,直到输出神经元被达到为止;输出神经元的图案和值构成ann处理的结果。
23.大多数nn的正确操作依赖于准确的权重。然而,nn设计者通常不知道哪些权重将作用于给定应用。典型地,nn设计者选择包括圆形连接的层之间的多个神经元层或具体连接。训练过程可以被用于通过选择初始权重来确定适当的权重。在一些示例中,初始权重可以被随机选择。训练数据被馈送到nn中,并且结果与提供误差指示的目标函数进行比较。误差指示是nn的结果与预期结果相比有多错误的度量。该误差然后被用于校正权重。经过许多迭代,权重将共同收敛以将操作数据编码到nn中。该过程可以被称为目标函数(例如成本或损失函数)的优化,其中成本或损失被最小化。
24.梯度下降技术通常被用于执行目标函数优化。梯度(例如偏导数)相对于层参数
(例如权重的各个方面)计算,以提供校正方向并可能提供校正程度,但是不会导致单次校正以将权重设置为“正确”值。即,经由多次迭代,权重将移动到“正确”值或者操作上有用的值。在一些实施方式中,移动的量或步长大小是固定的(例如在迭代之间是相同的)。小的步长大小倾向于花费很长时间来收敛,然而大的步长大小可能会在正确值周围振荡,或者展现出其他不期望的行为。可变的步长大小可以被尝试以提供更快的收敛,而没有大的步长大小的缺点。
25.反向传播是一种技术,其中训练数据通过nn被向前馈送,此处“向前”意味着数据在输入神经元处开始并且遵循神经元连接的有向图,直到输出神经元被达到为止,并且目标函数通过nn向后应用以校正突触权重。在反向传播过程的每个步骤中,先前步骤的结果被用于校正权重。因此,输出神经元校正的结果被应用于连接至输出神经元的神经元等等,直到输入神经元被达到为止。反向传播已经成为训练各种nn的流行技术。用于反向传播的任何众所周知的优化算法可以被使用,诸如随机梯度下降(sgd)、adam等。
26.本文描述的实施例可以有利地改进词语处理、视频处理、音频处理、图像处理或其他内容处理应用的操作。在处理内容时,一个或多个用户可以编辑内容,诸如通过添加内容,移除内容,提供对内容的述评或以其他方式进行文档修订。对内容的述评被包括在注释中。注释是作者或审阅者可以添加到文档的注意事项或注解。注释通常不是内容的一部分(作者打算在出版后使用的部分),而是文档的不同部分。
27.实施例提供将注释与文档内容(反之亦然)自动关联或自动更新关联的能力。关联可以被自动确定(例如部署后没有人为干扰)。该关联可以被呈现给用户以帮助他们管理哪些注释已经被解决。该关联可以被用于确定(例如自动地)注释是否已经被解析。确定要被解析的注释可以在应用中指示为已解析。
28.在本公开的上下文中的“注意力(attention)”的概念标识编辑(文档修订)中的哪些改变最有可能对应于注释的一个或多个词语(例如关于修订的注释,有时称为修订注释),诸如整个注释。通过将注意力纳入nn(关注注释和编辑内容),确定注释编辑关系的nn可以被改进。其他改进和优点将参照附图讨论。
29.注释在协作文档编写中被广泛用作建议和追踪改变、注解内容和解释编辑意图的自然方式。注释通常被用作对用户执行任务的提醒。用户可能正在起草文档,并添加注释以指示将来进行具体编辑。例如,考虑用户正在起草具有摘要、正文和结论章节的论文。用户可以将注释添加到摘要,指示该章节将在正文和结论完成后完成。在另一示例中,用户或另一用户可以向正文添加注释,以指示要阐明词语或短语的含义,错字需要被修正,句子令人困惑,需要更多解释等。
30.在编辑过程中,用户可以通过做出由注释指示的更改来最终对注释采取行动。在执行更改时,用户可能会或可能不会将注释指示为已解析。将注释与对应的编辑相关联或基于文档的编辑来确定注释被解析并不总是微不足道的。本文的实施例提供用于将一个或多个编辑与注释相关联以诸如指示注释是否被解析的方法、设备、系统和机器可读介质。
31.编辑过程可以改变段落、句子、词语等的顺序。这种编辑可能会将注释搁置在令人困惑且上下文不适当的位置。将注释与编辑相关联提供了与注释相关联的文档中的位置。当多个作者同时处理文档时,这两个问题(注释解析和注释位置确定)可能会被加剧。
32.对用户注释和编辑之间的关系进行建模可以促进文档修订中的注释的维护。对这
种关系进行建模允许许多下游用途,诸如检测已完成的待办事项、重新布置注释位置以及总结或分类编辑。
33.实施例提供用于编辑和注释的联合建模框架,其操作以优化ml模型执行多个任务的能力。联合模型框架可以基于将注释与编辑相关联(有时称为注释排名)以及将编辑与注释相关联(有时称为编辑锚定)来评估。前者是标识(例如基于排名)最相关注释的任务。后者任务标识文档中最有可能因具体注释而发生改变的一个或多个位置。
34.训练集可以被标识或生成。训练集可以包括文档,其包括一个或多个注释和一个或多个关联编辑。训练数据中的注释和编辑之间的关联可能是已知的(例如手动标记),以便提供以监督方式训练ml模型的能力。
35.ml模型可以包括nn、贝叶斯技术、k均值聚类技术、支持向量机(svm)技术、线性回归技术、决策树、随机森林技术、逻辑回归技术、最近邻技术等。以下讨论涉及提供将注释与一个或多个编辑相关联,将编辑与一个或多个注释相关联或将注释与文档的一个或多个部分相关联的能力的nn。nn可以包括深度学习nn。nn可以是分层的。
36.实施例能够执行准确的注释排名、编辑锚定或其组合。单个模型可以针对注释排名和编辑锚定训练,或仅针对这些任务中的一个任务训练。为了训练这两个任务,许多相同的nn组件可以被使用(重用),因为基本任务是相同的

对注释编辑关系进行建模。
37.实施例可以使用说明编辑之前和之后的文档内容的编辑的表示。这可能有助于注释编辑关联,因为注释可能适用于不连续的内容序列,这对序列建模方法提出了挑战。实施例可以考虑上下文信息(紧接在编辑之前或之后的未改变的内容)。为了区分上下文与编辑内容,编辑操作可以被编码为添加(例如添加一个或多个字符、添加格式、添加外部物体(例如图像、图形、表格等))或删除(例如移除一个或多个字符、格式化、对象等)。
38.一些实施例的性能益处的摘要在描述实施例之后提供。现在将参照附图,以描述实施例的其他细节。
39.图1通过示例图示了文档100的实施例的图。文档100可以使用多种应用中的任何一种来产生。用于产生文档的应用包括在来自美国华盛顿州雷德蒙市的微软公司的office(例如word、(例如word、等)中提供的任何应用等。应用可以是独立应用,通过集成开发环境(ide)、web平台或web浏览器(例如通过office)等提供。要注意的是,虽然实施例涉及文档的编辑和注释,但实施例可以适用于具有修订历史的任何文档。实施例可以适用于项目中的编辑,诸如视频、音频、图像、源代码(例如使用visual或者其他编辑应用或平台)或其组合。在一些实施例中,文档100可以详述web内容。web内容是在网站上作为用户体验的一部分遇到的文本、视觉或听觉内容。超文本标注语言(html)是web内容的主要格式。
40.所图示的文档100包括正文部分102、页眉部分104、页脚部分106和注释108。正文部分102通常包括文档100的大部分内容。
41.正文部分102可以包括文本或其他字符表示、图形、表格、图像、动画(例如图形图像格式(gif)图像、动画便携式网络图形(apng)图形、webp图像、多图像网络图形(ming)图形、免费无损图像格式(flif)图像等)。页眉部分104、页脚部分106和注释108通常为正文部分102的内容提供上下文。例如,页号可以在页脚部分106中提供。在另一示例中,要被完成
的事项可以在注释108中指示。在又一示例中,机密性或专有信息通知、标题、章节号、上次编辑日期、作者等可以在页眉部分104中提供。
42.所图示的正文部分102包括修改后的内容110、编辑后的内容112和未改变的内容114。要注意的是,在一些极端情况下,正文部分102的所有内容都可以被修改或未修改。对正文部分102的内容的修改在文档100中可能并不总是明显的。在这种示例中,修改前的文档可以与修改后的文档进行比较。比较可以标识对文档100的改变。在一些应用中,可以通过选择控制物体来追踪修改,诸如追踪改变(当使用word时)或类似的控制物体。无论修改是通过比较标识还是通过修改追踪指示,修改都可以被标记。图2图示了用于标记文档中的改变的示例方法200。
43.文档100仅是文档格式的一个示例。例如:在一些文档中,注释108可能不被提供,而是可以在不同的文档中提供;一些文档不提供页眉部分104或页脚部分106的能力;一些文档在正文部分102上方的层上提供注释,诸如通过一种便签;一些文档允许页号,但页脚部分106等中没有文本;一些文档包括一个或多个视频文件和音频文件组合为项目,并且注释通过电子邮件等提供;在许多其他文档格式中。
44.在一些实施例中,注释108可以由指定的字符串来描绘。例如,具体的字符串可以指示注释的开始。在一些示例中,相同或不同的字符串可以指示注释的结束。考虑编程语言c。注释的开始由“/*”指示,并且注释的结束由“*/”指示。这些字符串可以被标识,并且其间的文本可以被标识为注释。许多其他类似的示例存在,并且适用于本文的实施例。
45.图2通过示例图示了用于标记文档中的改变的方法200的实施例的图。所图示的方法200包括:在操作202中标识文档版本之间的未改变字符;在操作204中标识文档版本之间的改变字符;在操作206中,标识改变前和改变后的字符;以及在操作208中,将第一标签与改变前的内容相关联,将第二标签与改变后的内容相关联,并且将第三标签与未改变的内容相关联。不同的标签可以用于第一标签、第二标签和第三标签中的每个标签。标签可以包括字符,诸如数字。例如,第一标签可以是比第三标签小的数字,第三标签可以是比第二标签小的数字。考虑图1的文档100的正文部分102中的内容。使用方法200,“original”可以与
“‑
1”的第一标签相关联,“text”可以与“0”的第三标签相关联,并且“edited”可以与“1”的第二标签相关联。方法200可以对正文部分102、页眉部分104、页脚部分106或注释108的所有内容执行。其他标签是可能的,并且标签的其他相对值也是可能的。
46.图3通过示例图示了用于将注释与编辑(或反之亦然)相关联的方法300的实施例的图。方法200可以与方法300结合使用,除了方法300之外使用,或者不与方法300一起使用。在操作302中,一个或多个编辑和一个或多个注释可以被提供。编辑和注释可以通过分析元数据(例如在更改追踪正在被执行的示例中)、分析同一文档的多个版本、分析注释文档(例如电子邮件、由同一应用产生的另一文档等)或其组合来标识。编辑可以由编辑前内容和编辑后内容指示。
47.在操作304中,编辑和注释的部分(例如词语或者编辑或注释的一些其他子集)可以作为输入被提供给nn的输入嵌入层。输入嵌入层可以将注释和编辑的部分投影到高维向量空间。在高维向量空间中,编辑和注释中语义相同或类似的部分比语义不太类似的部分更彼此接近。将注释投影到预先训练的高维向量空间的示例技术包括word2vec、来自语言模型的嵌入(elmo)、来自变换器的双向编码器表示(bert)和用于词语表示的全局向量
(glove)。在一些实施例中,来自高维向量空间的嵌入可以被用于初始化嵌入层nn,然后该嵌入层nn被训练以适用于编辑注释关系确定任务。
48.操作的输出可以包括编辑前内容的嵌入表示u、编辑后文档的嵌入表示v以及每个注释的嵌入表示q。
49.在操作306中,嵌入表示u、v、q被提供为nn的上下文嵌入层的输入。上下文嵌入层可以包括门控递归单元(gru)、长短期记忆(lstm)单元、具有注意力的卷积神经网络(cnn)、自动编码器、变换器(没有cnn或rnn的纯注意力模型)、其组合等。上下文嵌入层可以对内容实体之间的顺序交互进行建模。实体可以是例如词语、字符、短语等。实体定义输入嵌入层确定嵌入表示的粒度。顺序交互可以分别由u、v、q的上下文嵌入表示u
c
、v
c
、q
c
来表示。
50.操作306还可以包括组合(a)编辑前内容的上下文嵌入表示u
c
和注释的上下文嵌入表示q
c
,以及(b)编辑后内容的上下文嵌入表示v
c
和注释的上下文嵌入表示q
c
。该组合可以包括乘积(乘法)(诸如哈达玛(hadamard)乘积)或其他逐元素加权乘积。
51.操作306还可以包括将动作编码向量a附加到组合的相应结果,以生成动作编码的组合。动作编码的组合可以被分别加权,诸如通过可训练的权重向量,以生成编辑前相似性矩阵s
pre
和编辑后相似性矩阵s
post

52.在操作308中,相似性矩阵可以被提供给注释编辑注意力层。注释编辑注意力层可以确定注释到编辑(c2e)注意力向量。c2e向量表示编辑中的词语相对于注释的相关性。c2e向量可以基于相应相似性矩阵s
pre
、s
post
的逐列最大值来确定。c2e向量还可以基于逐列最大值的归一化概率分布(例如“softmax”)来确定。
53.在操作308中,相应的c2e向量可以与相应的相似性矩阵s
pre
和s
post
组合,以生成相应的相关性向量h
pre
、h
post
。该组合可以包括c2e向量和相似性矩阵的乘法。
54.在操作310中,相关性向量h
pre
、h
post
可以被串联以生成总相关性向量h。在训练期间,在操作310中,一个或多个损失函数可以被应用于相关性向量h。关于损失函数的更多细节关于图4提供。
55.在操作312中,注释和编辑(或反之亦然)之间的关系可以被提供。该关系可以指示注释和编辑之间的相关性分数。给定注释,该关系可以指示内容中的句子是否可能是编辑位置。
56.编辑和注释之间的关系可以被用于各种应用中。例如,应用可以将注释重新定位到相关编辑。在另一示例中,应用可以指示注释已被解析或移除具有关联编辑的注释。在又一示例中,与编辑无关但其具体编辑和编辑位置是明显的注释(例如“错字”、“拼写错误”、“删除x”、“添加”y”等),具体编辑可以被自动执行(例如利用轨道改变等)。例如,该关系可以被用于对注释本身进行修改(例如解析它、移除它、移动它)和/或对与注释相关联的文本进行修改(例如自动编辑内容)。其他应用可以包括为编辑自动生成注释、自动生成然后可以用作在文档中执行的编辑的摘要的注释等。
57.图4通过示例图示了用于确定注释与编辑(或反之亦然)之间的关系的系统400的实施例的图。注释编辑关系确定操作关于注释排名和编辑锚定来描述。系统400然后被更详细地解释。考虑到注释c包括内容{w1,

w
q
}(例如字符、词语、句子、段落等)。进一步考虑编辑前内容e
s
作为跨越编辑前文档中的第一内容到最后一个编辑内容的连续词语序列。编辑e
s
可以可选地包含一些周围的上下文,诸如编辑周围的一个或多个字符。正式地,这被定义
为:
58.{w
i

k
,...w
i
‑1,w
i
,...w
i p
,w
i p 1
,...w
i p k
}
59.其中w
i

k
,...w
i
‑1是编辑前的内容,w
i
,...w
i p
是所编辑的内容,并且w
i p 1
,...w
i p k
是编辑后的内容,i和i p是修订中的第一内容和最后一个编辑内容的索引,并且k是上下文窗口大小。如果编辑内容的连续块多于一个,则编辑内容的连续块可以被串联以形成编辑词语集合。类似地,上下文词语也可以被串联。在一些实施例中,出现在多于一个上下文中的内容被限制为单次出现。编辑后e
t
可以在编辑后文档上类似地定义。
60.注释排名是在给定一个或多个文档编辑的情况下在潜在注释候选列表中找到一个或多个最相关注释的任务。注释排名任务的输入是与文档相关的用户注释c={c1,c2,...c
m
}以及与同一文档相关的编辑e={e
s
,e
t
}的某个集合,其中e
s
是编辑前,并且e
t
是上面定义的文档的编辑后版本。注释排名的目标可能是在c上产生排名,使得关于编辑e={e
s
,e
t
}的真实注释ci排名高于所有其他注释,有时称为干扰项。
61.编辑锚定是在给定具体用户注释的情况下找到最可能是编辑位置的文档的一个或多个内容部分的任务。编辑锚定的输入可以包括用户注释c和文档中的候选编辑后内容s={s1;s2;...s
n
}的列表。在地面实况中,至少一个(但可能更多)令牌(有时称为词语)对应于注释c的编辑位置。给定注释c,输出可以包括二元分类列表其中r
i
=1指示内容s
i
是可能的编辑位置。
62.系统400是用于编辑注释关系确定的ml技术的nn示例。要注意的是,用于编辑注释确定的其他ml技术是可能的。例如,系统可以使用一种或多种ml技术,诸如分类器(例如支持向量机(svm)、逻辑回归等)或结构化预测技术(例如序列模型,诸如条件随机场、具有字符串内核的svm等)。
63.系统400包括分层四层nn模型。这些层包括输入嵌入层、上下文嵌入层、注释编辑注意力层和输出层。
64.输入嵌入层接收编辑前内容402、一个或多个注释404和编辑后内容406。使用高维编码408a、408b、408c,输入嵌入层将用户注释404c和编辑402、406e={e
s
,e
t
}中的每个词语映射到高维向量空间(向量空间的维度可能低于被投影到的词语的维度)。这种投影可以使用glove、word2vec等来执行,以获得每个输入的维度为d的固定词语嵌入。词汇表外的输入可能被映射到“未知”令牌,它可以用随机值初始化。高维编码408a、408b、408c的输出生成表示编辑前文档的相应矩阵表示编辑后文档的和表示注释的其中m是编辑的长度,并且j是注释c的长度。
65.上下文嵌入层对连续字符之间的顺序动作进行建模。这可以分别使用来自高维编码器408a、408b、408c的高维编码的上下文编码器412a、412b、412b来执行。上下文编码器可以包括双向门控递归单元(gru)、长短期记忆(lstm)、具有注意力的卷积神经网络(cnn)、自动编码器等。上下文编码器412a、412b、412c可以对输入嵌入层的输出进行操作。上下文编码器412a、412b、412c可以生成表示编辑前文档输入向量的上下文嵌入的相应上下文嵌入矩阵表示编辑后文档输入向量的上下文嵌入的以及表示注释输入向量的上下文嵌入的要注意的是,上下文矩阵u
c
、v
c
、q
c
的行维度可能是2d,因为
上下文编码器412a、412b、412c输出在前向和后向方向上串联。
66.编辑前文档和编辑后文档的上下文矩阵u
c
和v
c
以及表示注释的上下文矩阵q
c
可以分别被提供给上下文嵌入层。
67.注释编辑注意力层对文档编辑和注释词语之间的关系进行建模。注释编辑注意力层可以单独地维护和处理编辑前文档和编辑后文档。如果表示在注释编辑注意力层之前融合,则这可能有助于减少可能发生的信息丢失。注释编辑注意力层可以使用动作编码410,其指示与特定编辑相关联的编辑操作的类型(例如添加内容、删除内容或保持内容不变)。注释编辑注意力层的输出是编辑前文档和编辑后文档中的编辑词语的注释感知串联向量表示,称为相关性向量428。
68.注释编辑注意力层可以确定由上下文注释矩阵q
c
表示的注释与编辑前文档的上下文矩阵u
c
之间的共享相似性矩阵424a,s
pre
同时还考虑到动作编码410a。该共享相似性矩阵424a的元素可以被定义为:
[0069][0070]
其中g
pre
是可训练的函数,它确定注释和编辑的内容级表示之间相对于由动作编码410定义的编辑操作的相似性。
[0071]
此处,是编辑前文档中的第i个内容的向量表示,并且是注释c中的第j个内容的向量表示。{第一标签,第二标签,第三标签}是对编辑前文档中的第i个词语执行的编辑操作的动作编码。该函数g
pre
(u,q,a)是可训练的函数。权重向量可以被训练。函数g可以使用可训练的权重向量。在一些实施例中,其中是由乘法器420a确定的乘积算子。乘法器420a可以确定哈达玛乘积或其他乘积。在函数中,g
pre
,[;]指示行维度上的向量串联,这有时被称为组合向量。动作编码410可以被串联至乘法器420a的输出,诸如通过组合和加权算子422a。函数g
pre
的输出有时被称为相似性矩阵424a。函数g
pre
由乘法器420a和组合和加权算子422a的组合来执行。
[0072]
注释编辑注意力层可以确定由上下文注释矩阵q
c
表示的注释与编辑后文档的上下文矩阵v
c
之间的共享相似性矩阵424b,同时还考虑到动作编码410a。该共享相似性矩阵424b的元素可以被定义为:
[0073][0074]
其中g
post
是可训练的函数,它确定注释和编辑的内容级表示之间相对于由动作编码410定义的编辑操作的相似性。
[0075]
此处,是编辑前文档中的第i个内容的向量表示,并且是注释c中的第j个内容的向量表示。{第一标签,第二标签,第三标签}是对编辑前文档中的第i个词语执行的编辑操作的动作编码。该函数g
post
(u,q,a)是可训练的函数。权重向量可以被训练。函数g
post
可以使用可训练的权重向量。在一些实施例中,
其中是由乘法器420b确定的乘积算子。乘法器420b可以确定哈达玛乘积或其他乘积。在函数中,g
post
,[;]指示行维度上的向量串联,这有时被称为组合向量。动作编码410可以被串联至乘法器420a的输出,诸如通过组合和加权算子422b。函数g
post
的输出有时被称为相似性矩阵424b。函数g
post
由乘法器420b和组合和加权算子422b的组合来执行。
[0076]
要注意的是,函数g
pre
和g
post
中的权重向量w
pre
和w
post
可能对于编辑前的文档版本和编辑后的版本是不同的。然而,两者可以被同时训练。
[0077]
相似性矩阵424a、424b可以由基于编辑的注意力算子426a、426b使用,以生成c2e注意力权重w
ce
。c2e注意力权重表示编辑中的词语与注释中出现的词语的相关性。这些权重有助于对注释和编辑之间的关系进行建模。编辑前文档中的编辑词语的c2e注意力权重可以通过来获得,其中max
col
(
·
)算子从矩阵中找到逐列最大值。类似地,针对编辑后文档,
[0078]
基于编辑的注意力算子426a、426b可以基于相似性矩阵和c2e注意力向量之间的乘积来确定相关性向量428。c2e注意力向量由c2e注意力权重组成。用于注释排名的相关性向量428h
rc
可以被确定为:
[0079][0080]
相关性向量428捕获注释相对于编辑前内容和编辑后内容中的编辑的相关性的加权和。
[0081]
用于编辑锚定的相关性向量434h
ea
可以不同于相关性向量432,并且可以不基于编辑前内容402。用于编辑锚定的相关性向量434可以被确定为
[0082][0083]
h
ea
前面的零可以来自编辑前文档的输入数据为空,从而形成具有全零值的向量由于在该实例中,u和q的哈达玛乘积为零,因此编辑前版本的相似性矩阵s都是全零值。
[0084]
输出层可以接收相关性向量428、434,并且(a)确定要在训练中使用的注释排名损失430,(b)确定要在训练中使用的编辑锚定损失432,(c)基于相关性向量提供编辑和注释之间的关系或其组合。
[0085]
系统400的输出层和损失函数可以是任务特定的。注释排名包括对给定文档编辑的候选注释的相关性进行排名。排名列表可以基于相关性分数r来确定。相关性分数r可以被确定为:
[0086]
r=b
t
h
[0087]
其中b是可训练的权重向量。
[0088]
注释排名中的数据样本i可以包括一个真实的编辑注释对和注释编辑干扰项n
i
。假设表示真实注释编辑对的相关性分数,并且作为第j个干扰项对的相关性分数(1≤j≤n
i
)。损失函数的目标可能是训练ml技术,以针对所有j使损失函数可以被设置为
真实注释编辑对和干扰项相关性分数之间的成对铰链损失。这种损失函数可能如下:
[0089][0090]
其中θ是模型中的所有可训练权重的集合,并且n是数据集中的训练样本的数量。
[0091]
针对编辑锚定,目标可以是在给定注释的情况下预测文档中的句子是否可能是编辑位置。这可以被视为二进制分类问题。输出层可以将预测正类别p的概率确定为:
[0092]
p=softmax(γ
t
h)
[0093]
其中γ是可训练的权重向量。
[0094]
给定分类问题的二进制性质,交叉熵损失可以被用作损失函数:
[0095][0096]
其中φ是模型中的所有可训练权重的集合,n是数据样本的数量,m
i
是第i个数据样本中的句子数量,p
ij
是内容的第i个数据样本中的内容的第j个部分的预测标签,并且y
ij
是对应的地面实况标签。
[0097]
一些实验已经得出结论,我们的方法在两个任务上都以显着的利润优于多个基线,产生了71%的注释排名精度@1和74.4%的编辑锚定精度的最佳分数。
[0098]
图5通过示例图示了用于确定文档内容的注释与编辑之间的关系的系统500的实施例的图。所图示的系统5000包括用户设备540、处理电路系统550和存储器560。用户设备540通过用户界面542向用户提供内容处理器544的功能性。用户设备540可以包括智能手机、膝上型计算机、台式计算机、平板计算机、平板手机、电子阅读器等,其能够提供内容处理器544的功能性。
[0099]
用户界面542从由用户控制的输入设备接收信号。用户界面542解释信号,并使内容处理器544基于信号更改内容。
[0100]
内容处理器544是用户生成、编辑或审阅诸如文档100等文档的内容的应用。由内容处理器544的用户进行的编辑可以被记录在编辑后文档中。由内容处理器544的用户添加到文档的注释同样地可以被记录在编辑前文档或编辑后文档中。
[0101]
由内容处理器544生成的编辑后文档548和编辑前文档546可以被提供给处理电路系统550。编辑后文档548是在用户更改编辑前文档546的内容之后产生的内容。编辑后文档548可以包括所做编辑的记录。在编辑未被记录的实施例中,处理电路系统550可以比较编辑前文档548和编辑后文档546,以确定所做的编辑。注释可以是编辑后文档548、编辑前文档546或者不同文档或文件的一部分,诸如另一文档、电子邮件(email)、使用消息收发应用发送的消息、网站等。
[0102]
处理电路系统550包括被配置为确定注释和编辑之间的关系的硬件、软件或固件。硬件可以包括被配置为执行处理电路系统550的一个或多个操作的一个或多个电组件或电子组件。电组件或电子组件可以包括一个或多个晶体管、电阻器、电容器、二极管、电感器、模数转换器、数模转换器、整流器、电源、逻辑门(例如and、or、xor、否定、缓冲器等)、开关、振荡器、调制器、解调器、继电器、天线、锁相环、放大器、中央处理单元(cpu)、图形处理单元(gpu)、专用集成电路(asic)、现场可编程门阵列(fpga)等。
[0103]
所图示的处理电路系统550包括ml训练器552和模型执行器554。ml训练器552操作以确定将由模型执行器554执行的ml模型的权重562。ml训练器552可以以监督方式操作,诸如通过预测给定输入的输出并将预测输出与已知输出进行比较。损失函数可以指示如何改变ml模型的权重,以更好地预测未来数据。
[0104]
ml训练器552可以被配置为执行系统400的操作。处理电路系统550可以被配置为执行方法300、200或其组合。
[0105]
虽然被图示为与用户设备540分离,但在一些实施例中,处理电路系统550可以是用户设备540的一部分。在一些其他实施例中,处理电路系统550可以是不同的一个或多个计算设备的一部分。在一些实施例中,处理电路系统550是云的一部分,或者作为服务通过互联网或其他网络提供。虽然处理电路系统550将ml训练器552和模型执行器554图示为同一设备的一部分,但它们可以在不同的设备上。例如,ml训练器552可以在云中实施,而模型执行器554可以在用户设备540上实施。权重562可以被提供给存储器560,以供模型执行器554将来访问。模型执行器554可以取回权重562,并且使用权重562实施模型。模型可以基于由处理电路系统550确定的注释和编辑来生成编辑注释关系556。编辑注释关系556可以指示最有可能与编辑或注释在编辑后文档548的内容中的位置相关联的注释。
[0106]
图6通过示例图示了用于确定注释与编辑之间的关系的方法600的实施例的图。所图示的方法600包括:在操作602中,提供注释和编辑作为ml模型的输入;以及在操作604中,从ml模型接收指示注释和编辑之间的关系的数据。该关系可以指示编辑处理注释还是作为注释目标的内容的位置。
[0107]
方法600还可以包括,其中注释与编辑之间的关系指示以下至少一项:(a)与编辑最相关的注释,或者(b)给定注释,最有可能成为编辑目标的文档位置。方法600还可以包括,其中ml模型被配置为确定编辑与注释之间的相关性分数,并且基于相关性分数来指示注释与编辑之间的关系。
[0108]
方法600还可以包括:基于文档的编辑前版本和文档的编辑后版本,通过将仅在编辑前版本中的内容与第一标签相关联,将仅在编辑后版本中的内容与不同的第二标签相关联,并且将在编辑前版本和编辑后版本中的内容与不同的第三标签相关联,确定动作编码,动作编码指示内容是否在文档的编辑前版本和编辑后版本的内容之间相同、被移除或被添加。方法600还可以包括将具有注释和编辑的动作编码提供给ml模型。方法600还可以包括,其中ml模型还基于动作编码来确定注释与编辑之间的关系。方法600还可以包括,其中ml模型是使用监督学习技术训练的分层神经网络(nn)。方法600还可以包括,其中ml模型包括将编辑和注释投影到向量空间的输入嵌入层、用以基于所投影的编辑和注释对内容之间的顺序交互进行建模的上下文嵌入层、用以基于所建模的顺序交互对编辑和注释之间的关系进行建模的注释编辑注意力层、以及用以基于所建模的关系确定编辑和注释之间的关系的输出层。方法600还可以包括,其中上下文嵌入层基于编辑和注释来确定相似性矩阵,其中相似性矩阵指示编辑内容与注释内容的相似程度。方法600还可以包括,其中注释编辑注意力层确定与动作编码组合的相似性矩阵的归一化概率分布。
[0109]
方法600还可以包括将信号提供给生成文档的应用,该信号指示文档的修改。方法600还可以包括利用第一标签标记文档的编辑前版本与文档的编辑后版本之间的未改变内容。方法600还可以包括利用不同的第二标签标记文档的编辑前版本中的内容,该内容不同
于文档的编辑后版本中的内容。方法600还可以包括利用不同的第三标签标记文档的编辑后版本中的内容,该内容不同于文档的编辑前版本中的内容。方法600还可以包括:基于文档的编辑前版本中的内容,确定文档的编辑后版本中的内容、注释以及第一标签、第二标签和第三标签,并且使用机器学习(ml)模型,确定注释与文档编辑之间的关系。
[0110]
图7通过示例图示了用于实施一个或多个实施例的机器700(例如计算机系统)的实施例的框图。机器700可以实现ml技术,以确定注释与编辑之间的关系,诸如方法200、300或系统400等。一个示例机器700(计算机的形式)可以包括处理单元702、存储器703、可移除存储装置710和不可移除存储装置712。尽管示例计算设备被图示和描述为机器700,但是计算设备在不同实施例中可以是不同形式。例如,相反,计算设备可以是智能手机、平板计算机、智能手表或者包括与关于图7图示和描述的元件相同或类似的元件的其他计算设备。诸如智能手机、平板计算机和智能手表等设备通常被统称为移动设备。进一步地,尽管各种数据存储元件被图示为机器700的一部分,但是存储装置也可以或者备选地包括经由网络(诸如互联网)可访问的基于云的存储装置。
[0111]
存储器703可以包括易失性存储器714和非易失性存储器708。机器700可以包括或访问计算环境,该计算环境包括各种计算机可读介质,诸如易失性存储器714和非易失性存储器708、可移除存储装置710和不可移除存储装置712。计算机存储装置包括随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom)和电可擦除可编程只读存储器(eeprom)、闪存或其他存储器技术、光盘只读存储器(cd rom)、数字通用盘(dvd)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或者能够存储用于执行的计算机可读指令以执行本文描述的功能的其他磁性存储设备。
[0112]
机器700可以包括或访问计算环境,该计算环境包括输入706、输出704和通信连接716。输出704可以包括也可以用作输入设备的显示设备,诸如触摸屏。输入706可以包括以下一个或多个:触摸屏、触摸板、鼠标、键盘、相机、一个或多个设备特定按钮、集成在机器700内或者经由有线或无线数据连接耦合至机器700的一个或多个传感器以及其他输入设备。计算机可以使用通信连接在联网环境中操作,以连接至一个或多个远程计算机,诸如数据库服务器,包括基于云的服务器和存储装置。远程计算机可以包括个人计算机(pc)、服务器、路由器、网络pc、对等设备或者其他公共网络节点等。通信连接可以包括局域网(lan)、广域网(wan)、蜂窝网络、电气与电子工程师协会(ieee)802.11(wi

fi)、蓝牙或其他网络。
[0113]
存储在计算机可读存储设备上的计算机可读指令由机器700的处理单元702可执行。硬盘驱动器、cd

rom和ram是包括诸如存储设备等非瞬态计算机可读介质的物品的一些示例。例如,计算机程序718可以被用于使处理单元702执行本文描述的一种或多种方法或算法。
[0114]
附加注意事项和示例:
[0115]
示例1包括一种系统,包括:存储器,用以存储定义机器学习(ml)模型的参数,该ml模型用以确定作者或审阅者对文档的内容的编辑与相同或不同的作者或审阅者的关于文档内容的注释之间的关系;以及处理电路系统,用于:提供注释和编辑作为ml模型的输入,以及从ml模型接收指示注释与编辑之间的关系的数据,该关系包括编辑处理注释还是作为注释的目标的内容的位置。
[0116]
在示例2中,示例1还包括,其中注释与编辑之间的关系指示以下至少一项:(a)与
编辑最相关的注释,或者(b)给定注释,最有可能成为编辑的目标的文档的位置。
[0117]
在示例3中,示例2还包括,其中ml模型被配置为确定编辑与注释之间的相关性分数,并且基于相关性分数来指示注释与编辑之间的关系。
[0118]
在示例4中,示例1至3中的至少一个还包括,其中处理电路系统还用以:基于文档的编辑前版本和文档的编辑后版本,通过将仅在编辑前版本中的内容与第一标签相关联,将仅在编辑后版本中的内容与不同的第二标签相关联,并且将在编辑前版本和编辑后版本中的内容与不同的第三标签相关联,来确定动作编码,动作编码指示内容是否在文档的编辑前版本和编辑后版本的内容之间相同、被移除或被添加;以及将具有注释和编辑的动作编码提供给ml模型,其中ml模型还基于动作编码来确定注释与编辑之间的关系。
[0119]
在示例5中,示例4还包括,其中ml模型是使用监督学习技术训练的分层神经网络(nn)。
[0120]
在示例6中,示例5还包括,其中ml模型包括:将编辑和注释中的词语投影到一个或多个相应向量空间的输入嵌入层、用以基于所投影的编辑和注释来对内容之间的顺序交互进行建模的上下文嵌入层、用以基于所建模的顺序交互来对编辑和注释之间的关系进行建模的注释编辑注意力层、以及用以基于所建模的关系来确定编辑和注释之间的关系的输出层。
[0121]
在示例7中,示例6还包括,其中上下文嵌入层基于编辑和注释来确定相似性矩阵,其中相似性矩阵指示编辑内容与注释内容的相似程度。
[0122]
在示例8中,示例7还包括,其中注释编辑注意力层确定与动作编码组合的相似性矩阵的归一化概率分布。
[0123]
在示例9中,示例1至8中的至少一个还包括,其中处理电路系统还用以将信号提供给生成了文档的应用,该信号指示对文档的修改。
[0124]
示例10包括一种确定文档修订与编辑文档的修订注释之间的关系的方法,该方法包括:利用第一标签标记编辑文档的编辑前版本与编辑文档的编辑后版本之间的未改变内容;利用不同的第二标签标记编辑文档的编辑前版本中的内容,该内容不同于编辑文档的编辑后版本中的内容;利用不同的第三标签标记编辑文档的编辑后版本中的文档修订,该文档修订对应于编辑文档的编辑后版本中的内容,该内容不同于编辑文档的编辑前版本中的内容;以及基于编辑文档的编辑前版本中的内容,确定编辑文档的编辑后版本中的内容、修订注释以及第一标签、第二标签和第三标签,并且使用机器学习(ml)模型,确定修订注释与文档修订之间的关系。
[0125]
在示例11中,示例10还包括,其中ml模型基于注释排名损失函数和编辑锚定损失函数中的至少一个而被训练。
[0126]
在示例12中,示例11还包括,其中ml模型基于注释排名损失函数和编辑锚定损失函数两者而被训练。
[0127]
在示例13中,示例10至12中的至少一个还包括,其中ml模型是使用监督学习技术训练的分层神经网络(nn)。
[0128]
在示例14中,示例13还包括,其中ml模型包括:将文档修订和修订注释投影到向量空间的输入嵌入层、用以基于所投影的编辑和注释来对内容之间的顺序交互进行建模的上下文嵌入层、用以基于所建模的顺序交互来对投影和嵌入的编辑与投影和嵌入的注释之间
的关系进行建模的注释编辑注意力层、以及用以基于所建模的关系来确定文档修订和注释之间的关系的输出层。
[0129]
在示例15中,示例14还包括,其中上下文嵌入层基于文档修订和修订注释来确定相似性矩阵,其中相似性矩阵指示文档修订的内容与修订注释的内容的相似程度。
[0130]
示例16包括一种包括指令的非瞬态机器可读介质,在由机器执行时,该指令将机器配置为执行操作,该操作包括:接收文档的编辑前内容、文档的编辑后内容和与文档相关联的注释;对编辑前内容、编辑后内容和注释操作机器学习(ml)模型,以确定指示编辑后内容中的不在编辑前内容中的内容与注释之间的关系的相关性分数;以及提供指示编辑后内容中的不在编辑前内容中的内容与注释之间的关系的数据。
[0131]
在示例17中,示例16还包括,其中操作还包括:利用第一标签标记文档的编辑前版本与文档的编辑后版本之间的未改变内容;利用不同的第二标签标记文档的编辑前版本中的内容,该内容不同于文档的编辑后版本中的内容;利用不同的第三标签标记文档的编辑后版本中的内容,该内容不同于文档的标记前版本中的内容,并且其中操作ml模型包括还对第一标签、第二标签和第三标签操作ml模型,以确定编辑后内容中的不在编辑前内容中的内容与文档的注释之间的关系。
[0132]
在示例18中,示例16至17中的至少一个还包括,其中ml模型基于注释排名损失函数和编辑锚定损失函数中的至少一个而被训练。
[0133]
在示例19中,示例18还包括,其中ml模型基于注释排名损失函数和编辑锚定损失函数两者而被训练。
[0134]
在示例20中,示例16至19中的至少一个还包括,其中ml模型是使用监督学习技术训练的分层神经网络(nn)。
[0135]
尽管一些实施例已经在上面详细描述,但是其他修改也是可能的。例如,在附图中描绘的逻辑流程不需要所示的顺序或者相继顺序,以实现期望的结果。其他步骤可以被提供或者步骤可以从所描述的流程中排除,并且其他组件可以被添加到所描述的系统或者从所描述的系统中移除。其他实施例可以在以下权利要求的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献