CN112955893A - 文档的自动超链接 - Google Patents
文档的自动超链接 Download PDFInfo
- Publication number
- CN112955893A CN112955893A CN201980071944.9A CN201980071944A CN112955893A CN 112955893 A CN112955893 A CN 112955893A CN 201980071944 A CN201980071944 A CN 201980071944A CN 112955893 A CN112955893 A CN 112955893A
- Authority
- CN
- China
- Prior art keywords
- document
- machine learning
- documents
- learning model
- candidate
- 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.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 claims abstract description 281
- 230000004044 response Effects 0.000 claims abstract description 59
- 239000013598 vector Substances 0.000 claims description 185
- 238000000034 method Methods 0.000 claims description 134
- 238000003860 storage Methods 0.000 claims description 40
- 230000015654 memory Effects 0.000 claims description 18
- 238000012549 training Methods 0.000 description 67
- 238000013461 design Methods 0.000 description 39
- 238000012545 processing Methods 0.000 description 35
- 230000006870 function Effects 0.000 description 28
- 238000013528 artificial neural network Methods 0.000 description 23
- 239000010410 layer Substances 0.000 description 23
- 238000004891 communication Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 19
- 238000001514 detection method Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 13
- 238000005457 optimization Methods 0.000 description 12
- 230000008520 organization Effects 0.000 description 12
- 230000000306 recurrent effect Effects 0.000 description 12
- 230000009471 action Effects 0.000 description 11
- 238000003066 decision tree Methods 0.000 description 7
- 230000010354 integration Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 238000000513 principal component analysis Methods 0.000 description 7
- 230000002787 reinforcement Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012417 linear regression Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000007637 random forest analysis Methods 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000013145 classification model Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 238000003909 pattern recognition Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000011143 downstream manufacturing Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000010238 partial least squares regression Methods 0.000 description 2
- 238000012628 principal component regression Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 244000024873 Mentha crispa Species 0.000 description 1
- 235000014749 Mentha crispa Nutrition 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000003339 best practice Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000013450 outlier detection Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 238000012358 sourcing Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/134—Hyperlinking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种系统,可以使用机器学习的模型,至少部分地基于与正在被编辑的第一文档相关联的情境,来确定是否将第一文档内的一个或多个词的序列分类为候选超链接。响应于将一个或多个词的序列分类为候选超链接,系统可以使用机器学习模型,并且至少部分地基于一个或多个词的序列以及情境来确定要从一个或多个词的序列中超链接的一个或多个候选文档。响应于接收到从一个或多个候选文档中选择第二文档的指示,系统可以修改第一文档以将一个或多个词的序列与到第二文档的超链接相关联。
Description
背景技术
计算设备可以使得该设备的用户能够编辑文档,例如,文字处理文档、电子表格和演示幻灯片、以及可以发送给其他用户的电子消息。用户可以在文档中嵌入链接到其他文档的超链接。查看包含到另一个文档的超链接的文档的用户可以选择该超链接来访问所链接的文档。
发明内容
通常,本公开的技术针对于,在撰写文档时,预测要从该文档链接的文档。描述了示例计算系统(例如电子消息系统),该示例计算系统被配置为向正在撰写第一文档的用户提供要从第一文档链接的建议的文档。例如,用户可以在第一文档中输入文本来编辑第一文档。对于用户在第一文档中输入的文本内的一个或多个词的一个或多个序列中的每个序列,计算系统可以确定该一个或多个词的序列是否是链接到第二文档的候选。如果计算系统确定用户输入的一个或多个词的序列是链接到第二文档的候选,则计算系统可以确定要从该一个或多个词的序列链接的一个或多个候选文档。用户可以从一个或多个候选文档中选择第二文档,以确认该第二文档将从该一个或多个词的序列被链接。响应于接收到对第二文档的选择,可以修改第一文档,以从该一个或多个词的序列链接第二文档。
该计算系统可以使用在各种训练数据上训练的一个或多个机器学习模型,来确定用户输入以编辑第一文档的一个或多个词的序列是否是链接到第二文档的候选。例如,计算系统可以使用机器学习的分类器,该分类器可以将用户在第一文档中输入的一个或多个词的每个序列分类为是链接到第二文档的候选,或者不是链接到第二文档的候选。类似地,计算系统还可以使用在各种训练数据上训练的一个或多个机器学习模型,来确定要从第一文档内的一个或多个词的序列链接的一个或多个候选文档,以确定与该一个或多个词的序列相关联的文档。一个或多个机器学习模型可以使用围绕一个或多个词的序列的文本情境以及与第一文档相关联的情境来确定与一个或多个词的序列相关的文档。以此方式,计算系统可以提高从正在编辑的文档中链接文档的速度。
该计算系统可以执行本文公开的技术,以确定第一文档中的一个或多个词的序列是否是链接到第二文档的候选,并在用户编辑第一文档时,即时确定要从一个或多个词的序列链接的一个或多个候选文档。换句话说,当用户编辑第一文档时,计算系统可以分析已经在第一文档中输入的文本,以确定在第一文档中输入的一个或多个词的任何序列是否被分类为链接到第二文档的候选,如果是,则可以确定要从被分类为链接到第二文档的候选的一个或多个词的序列链接的一个或多个候选文档。
本文公开的技术可以减少为了在正在被编辑的文档内添加链接以链接到外部文档而需要进行的交互量。作为可能需要用户突出显示第一文档内的一个或多个词的序列以选择一个或多个词的序列作为链接到第二文档的锚文本,选择函数来添加链接,在文件系统中导航或浏览Web以找到要从突出显示的词链接的第二文档,并选择要从一个或多个词的序列中链接的第二文档的处理的代替,本文公开的技术使用户能够直接从一个或多个候选文档中选择第二文档,以从第一文档的一个或多个词的序列中链接所选的第二文档。
在一个方面,本公开针对一种方法。该方法包括由至少一个处理器使用机器学习模型,至少部分地基于一个或多个词的序列和与第一文档相关的情境,确定是否将正在编辑的第一文档内的一个或多个词的序列分类为候选超链接该方法还包括响应于将一个或多个词的序列分类为候选超链接,由至少一个处理器使用机器学习模型并至少部分地基于一个或多个词的序列和情境,从多个文档中确定要从一个或多个词的序列中超链接的一个或多个候选文档。该方法还包括响应于接收从一个或多个候选文档中选择第二文档的指示,由至少一个处理器修改正在编辑的第一文档,以将一个或多个词的序列与链接到第二文档的超链接相关联。
在另一方面,本公开针对一种计算系统。该系统包括被配置为存储机器学习模型的存储器。该系统还包括一个或多个处理器,被配置为:使用机器学习模型,至少部分地基于一个或多个词的序列和与第一文档相关的情境,确定是否将正在编辑的第一文档内的一个或多个词的序列分类为候选超链接,响应于将一个或多个词的序列分类为候选超链接,使用机器学习模型,并且至少部分地基于一个或多个词的序列和情境,从多个文档中确定要从一个或多个词的序列中超链接的一个或多个候选文档,并且响应于接收到从一个或多个候选文档中选取第二文档的指示,修改第一文档以将一个或多个词的序列与链接到第二文档的超链接相关联。
在另一方面,本公开针对一种计算机可读存储介质,该计算机可读存储介质包括指令,该指令在由至少一个处理器执行时使至少一个处理器:使用机器学习模型,确定是否至少部分地基于一个或多个词的序列和与第一文档相关的情境,将正在编辑的第一文档内的一个或多个词的序列分类为候选超链接,响应于将一个或多个词的序列分类为候选超链接,使用机器学习模型,并且至少部分地基于一个或多个词的序列和情境,从多个文档中确定要从一个或多个词的序列中超链接的一个或多个候选文档,并且响应于接收到从一个或多个候选文档中选取第二文档的指示,修改第一文档以将一个或多个词的序列与链接到第二文档的超链接相关联。
一个或多个示例的细节在附图和以下描述中阐述。根据说明书和附图以及根据权利要求书,其他特征、目的和优点将是显而易见的。
附图说明
图1是示出根据本公开的一种或多种技术的用于被配置为建议要从文档链接的候选文档的示例性通信系统的概念图。
图2是示出根据本公开的一种或多种技术的可以被配置为提供要从文档链接的候选文档的计算系统的一个示例的细节的框图。
图3A-3E是示出根据本公开的示例性实施方式的示例性机器学习模型的各个方面的概念图。
图4是根据本公开的示例性实施方式的可用于确定要从正在被编辑的文档链接的一个或多个候选文档的示例性机器学习模型的概念图。
图5是示出根据本公开的一个或多个方面的用于选择性地向正在编辑文档的用户提供预测文档建议的计算系统的示例操作的流程图。
图6A和6B是示出根据本公开中描述的自动文档超链接技术的各个方面的查询向量分类器和模式识别的示例应用的图。
图7是示出根据本公开中描述的自动文档超链接技术的各个方面的序列到序列模型的示例应用的图。
具体实施方式
图1是示出根据本公开的一种或多种技术的用于被配置为建议要从文档链接的候选文档的示例性通信系统的概念图。如图1所示,系统100包括计算设备102、文档系统130和远程系统140A-140N(以下称为“远程系统140”)。计算设备102可以经由网络120与文档系统130通信以撰写和编辑文档。文档系统130可以经由网络120与计算设备102以及远程系统140通信,以在编辑文档时即时建议要从文档链接的候选文档。
计算设备102的示例可以包括但不限于便携式、移动或其他设备,例如移动电话(包括智能电话)、膝上型计算机、台式计算机、平板计算机、智能电视平台、个人数字助理(PDA)、服务器计算机、大型主机等。例如,在图1的示例中,计算设备102可以是可穿戴计算设备,例如智能手表。
如图1的示例中所示,计算设备102包括用户界面(UI)设备104。计算设备102的UI设备104可以被配置为用作计算设备102的输入设备和/或输出设备。UI设备104可以使用各种技术来实施。例如,UI设备104可以被配置为通过触觉、音频和/或视频反馈接收来自用户的输入。输入设备的示例包括存在敏感显示器、存在敏感或触摸敏感输入设备、鼠标、键盘、语音响应系统、摄像机、麦克风或用于检测来自用户的命令的任何其他类型的设备。在一些示例中,存在敏感显示器包括触摸敏感或存在敏感输入屏幕,例如电阻式触摸屏、表面声波触摸屏、电容式触摸屏、投射电容式触摸屏、压力敏感屏幕、声脉冲识别触摸屏或其他存在敏感技术。即,计算设备102的UI设备104可以包括可以从计算设备102的用户接收触觉输入的存在敏感设备。UI设备104可以通过检测来自用户的一个或多个手势(例如,当用户用手指或手写笔触摸或指向UI设备104的一个或多个位置时)来接收触觉输入的指示。
UI设备104可以附加地或选择性地被配置为通过使用触觉、音频或视频刺激向用户提供输出,来用作输出设备。输出设备的示例包括声卡、视频图形适配器卡或任何一个或多个显示设备,例如液晶显示器(LCD)、点矩阵显示器、发光二极管(LED)显示器、有机发光体二极管(OLED)显示器、电子墨水或能够向计算设备102的用户输出可见信息的类似的单色或彩色显示器。输出设备的其他示例包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)或可以向用户生成可理解的输出的其他设备。例如,UI设备104可以将输出作为图形用户界面呈现给计算设备102的用户,该图形用户界面可以与计算设备102提供的功能相关联。以此方式,UI设备104可以呈现在计算设备102处执行或可由计算设备102访问的应用(例如,电子消息应用、互联网浏览器应用等)的各种用户界面。计算设备102的用户可以与应用的相应用户界面交互,以使计算设备102执行与功能有关的操作。
在一些示例中,计算设备102的UI设备104可以检测作为来自计算设备102的用户的输入的二维和/或三维手势。例如,UI设备104的传感器可以在UI设备104的传感器的阈值距离内检测用户的移动(例如,移动手、臂、笔、手写笔)。UI设备104可以确定移动的二维或三维向量表示,并将该向量表示与具有多个维度的手势输入(例如,挥手、捏、拍手、笔触)相关联。换句话说,在一些示例中,UI设备104可以检测多维手势,而无需用户在UI设备104输出用于显示的信息的屏幕或表面处或附近做手势。而是,UI设备104可以检测在传感器处或附近执行的多维手势,该传感器可以或可以不位于UI设备104输出用于显示的信息的屏幕或表面的附近。
在图1的示例中,计算设备102包括用户界面(UI)模块106和文档客户端模块108。UI模块106和文档客户端模块108可以使用驻留在计算设备102内和/或在计算设备102处执行的硬件、软件、固件或其混合物来执行本文描述的一个或多个操作。计算设备102可以使用一个处理器或多个处理器来执行UI模块106和文档客户端模块108。在一些示例中,计算设备102可以将UI模块106和文档客户端模块108作为在底层硬件上执行的虚拟机来执行。UI模块106和文档客户端模块108可以作为操作系统或计算平台的一个或多个服务来执行,或者可以作为在计算平台的应用层处的一个或多个可执行程序来执行。
如图1的示例中所示,UI模块106可以由计算设备102操作以执行一个或多个功能,例如接收输入并将这种输入的指示发送给与计算设备102相关联的其他组件,例如模块10和/或12。UI模块106还可以从与计算设备102相关联的组件(例如,文档客户端模块108)接收数据。使用接收到的数据,UI模块106可以使与计算设备102相关联的其他组件(例如,UI设备104)基于接收到的数据来提供输出。例如,UI模块106可以从文档客户端模块108接收数据以显示GUI。
远程系统140表示被配置为托管文档142A-142N(以下称为“文档142”)的任何合适的远程计算系统,例如一个或多个台式计算机、膝上型计算机、大型主机、服务器、云计算系统等。例如,远程系统140可以包括存储可经由网络120访问的文档142的网络服务器、文档管理系统等。文档142可以包括可经由网络120访问的任何合适的文档,例如网页、文字处理文档、电子表格文档、演示文档、电子消息以及任何其他网络可访问文档或资源。
可以使用文档在网络120内的位置来引用文档142的每个文档。例如,文档142的每个文档可以与指定该文档在网络120内的位置的唯一统一资源标识符(URI)或统一资源定位符(URL)相关联,并且可以经由其URI或URL来访问文档142的文档。因此,可以使用与文档相关联的URI或URL来引用文档142的特定文档。
文档系统130表示被配置为对文档执行动作,例如创建、编辑或共享文档(例如,文档142)的任何合适的远程计算系统,例如一个或多个台式计算机、膝上型计算机、大型主机、服务器、云计算系统等。如上所述,文档可以包括任何适当的文档,例如网页、文字处理文档、电子表格文档、演示文档、电子消息等。在一些示例中,文档系统130可以托管电子消息服务。例如,对于处理电子消息,文档系统130可以包括被配置为提供电子邮件消息服务的一个或多个邮件服务器。
文档系统130可以包括文档服务模块132和文档预测模块134。如图1的示例中所示,文档客户端模块108(作为“文档客户端108”)可以包括在计算设备102上执行创建或编辑文档的任何各种操作或对文档执行任何其他合适的操作的功能。在一些示例中,为了处理电子消息,文档客户端模块108可以经由文档系统130向远程计算设备发送消息和从远程计算设备接收消息。
文档客户端模块108可以是包括创建和编辑文档的功能的任何合适的应用,例如文字处理应用、电子表格应用、演示创建应用、网络浏览器等。文档客户端模块108可以提供文档服务的面向前端用户的特征,而文档服务模块132则支持在网络120上实施文档服务所需的后端操作。文档客户端模块108可以用作门户,计算设备102从该门户访问存储在文档系统130、远程系统140和/或计算设备102处的文档。文档客户端模块108可以提供编辑界面,例如在文档是电子消息的情形中,用户可以经由该编辑界面来撰写和编辑文档以及回复或转发文档。撰写新文档、编辑文档、回复电子消息以及转发电子消息可以统称为编辑文档。文档客户端模块108可以是电子邮件应用、Web应用、聊天应用或在计算设备102处执行的其他模块,该模块与文档系统130通信以向计算设备102的用户提供对维护在文档系统130、远程系统140和/或计算设备102处的文档的访问。
如上所述,文档客户端模块108可以提供编辑界面,用户可以经由该编辑界面来撰写和编辑文档。如图1所示,文档112可以是正在被编辑的电子邮件消息。尽管在图1中将文档112示为电子邮件消息,但是此处相对于文档112所描述的技术可以等同地应用于任何其他合适类型的文档,例如文字处理文档、电子表格、演示文档等。为了能够编辑文档112,文档客户端模块108可以发送数据以使UI设备104经由UI设备104输出用户界面110A。文档客户端模块108可以与系统100的一个或多个其他组件进行交互,以帮助用户撰写或编辑文档112。如用户界面110A中所示,用户已将以下文本输入到文档112的正文中:“您好,鲍勃,感谢您的建议。关于产品X,请参阅这里的设计文档。”
文档客户端模块108可以与文档预测模块134进行交互以自动建议将文档112的正文内的一个或多个词的序列链接到文档,并且可以自动建议要从一个或多个词的序列链接的一个或多个候选文档。当文档112正被撰写或编辑时,文档预测模块134可以提出这些建议。通过链接到文档,文档112本身不包括该文档。换言之,链接的文档未附加到文档112或以其他方式嵌入到文档112中。相反,文档112包括对链接的文档在网络120内的位置的引用,例如到文档的超链接。当文档112的收件人查看文档112的正文时,收件人可以选择到链接的文档的超链接,以便访问从文档112链接的文档。
根据本公开的一种或多种技术,文档预测模块134可以使用机器学习模型,至少部分地基于由用户正在编辑的文档112内的一个或多个词的序列和与文档112相关联的情境来确定是否将该一个或多个词的序列分类为候选超链接。候选超链接可以是一个或多个词的序列,文档预测模块134可以确定要从该一个或多个词的序列中链接的一个或多个候选文档。这样,仅当文档预测模块134将一个或多个词的序列分类为候选超链接时,文档预测模块134才可以确定要从该一个或多个词的序列链接的一个或多个候选文档,并且当文档预测模块134未将一个或多个词的序列分类为候选超链接时,则可以抑制确定要从该一个或多个词的序列链接的一个或多个候选文档。文档预测模块134可以包括一个或多个机器学习模型。例如,文档预测模块134可以包括链接检测模块,该链接检测模块是用于将一个或多个词的序列分类为候选超链接的机器学习模型,并且还可以包括文档检索模块,该文档检索模块是用于确定要从每个候选超链接链接的一个或多个候选文档的机器学习模型。
在图1的示例中,文档预测模块134可以处理输入到文档112的正文中的一个或多个词的每个序列,以将一个或多个词的序列分类为候选超链接或不是候选超链接。文档预测模块134可以至少部分地基于一个或多个词的序列和与文档112相关的情境,对一个或多个词的序列执行分类。与消息关联的情境可以包括文档112的文本内容,文档112的发送者、接收者和/或主题,包括文档112的消息线程中的在先消息,与文档112关联的活动(例如与文档112进行的先前的用户交互以及这种用户交互的相关时间戳),文档112的最新编辑时间,或文档112的任何其他特征。与文档112相关联的情境还可以包括与一个或多个词的序列相关联的文本情境。与一个或多个词的序列相关联的文本情境可以是为一个或多个词的特定序列提供语义情境的文档112内的一个或多个词,并且可以包括围绕文档112内的一个或多个词的特定序列的一个或多个词、与文档112内的一个或多个词的特定序列相邻的一个或多个词,和/或为一个或多个词的序列提供情境的文档112的正文内的任何其他词。
在图1的示例中,文档预测模块134可以至少部分地基于一个或多个词“设计文档”的序列和与文档112相关联的情境,例如与一个或多个词“设计文档”的序列相关联的文本情境,来确定是否将文档112中的一个或多个词“设计文档”的序列分类为候选超链接。与一个或多个词“设计文档”的序列相关联的文本情境可以是文档112的正文中的其余词,该其余词可以包括句子“关于产品X,请参阅这里的设计文档。”中的一个或多个词的序列。可以看出,与涉及“产品X”的一个或多个词“设计文档”的序列相关的文本情境可以提供要从“设计文档”链接的文档(例如,产品X的设计文档)的指示。
响应于将一个或多个词的序列分类为候选超链接,文档预测模块134可以使用机器学习模型,至少部分地基于一个或多个词的序列以及与文档112相关联的情境,从多个文档142中确定要从文档112中的一个或多个词的序列中超链接的一个或多个候选文档。文档预测模块134可以在用户经由计算设备102的文档客户端模块108正在编辑或以其他方式生成文档112时做出这样的确定。在图1的示例中,响应于将一个或多个词“设计文档”的序列分类为候选超链接,文档预测模块134可以从多个文档142中确定要从一个或多个词“设计文档”的序列中链接的一个或多个候选文档。
响应于文档预测模块134确定要被分类为文档112内的候选超链接的一个或多个词的序列中链接的一个或多个候选文档,文档服务模块132可以向文档客户端模块108发送被分类为文档112内的候选超链接的一个或多个词的序列的指示,以及一个或多个候选文档的指示。响应于接收到被分类为候选超链接的一个或多个词的序列的指示以及一个或多个候选文档的指示,文档客户端模块108可以使UI设备104输出文档112中的一个或多个词的序列被分类为候选超链接的指示。
如图1所示,文档客户端模块108可以将数据发送到UI模块106以使UI设备104输出用户界面110B,该用户界面110B包括一个或多个词“设计文档”的序列被分类为候选超链接的视觉指示。例如,文档客户端模块108可以使UI设备在视觉上强调一个或多个词“设计文档”的序列,例如,通过使点线下划线包括在用户界面110B中的一个或多个词“设计文档”的序列下方。
用户界面110B中的一个或多个词“设计文档”的序列可以是可选择的UI元素114,用户可以选择该UI元素114来查看可能从一个或多个词“设计文件”的序列链接的一个或多个候选文档的指示。例如,正在编辑文档112的计算设备102的用户可以通过在UI设备104处提供输入(例如,触摸或触觉输入、语音输入或其他音频输入、或任何其他形式的输入)来选择用户界面110B中的UI元素114。UI设备104可以检测输入并且将输入的指示发送给UI模块106。UI模块106可以基于接收到的输入的指示来向文档客户端模块108提供数据,并且文档客户端模块108可以确定输入对应于UI元素114的选择。
如图1所示,响应于接收到与对UI元素114的选择相对应的输入,文档客户端模块108可以将数据发送到UI模块106,该UI模块106使UI设备104输出用户界面110C,该用户界面110C可以包括要从一个或多个词“设计文档”的序列链接的一个或多个候选文档的指示。例如,用户界面110C包括菜单116,菜单116包括分别与候选文档“产品X设计文档”和候选文档“产品X幻灯片”相关联的菜单项118A和118B。“产品X设计文档”可以是文字处理器文档,而“产品X幻灯片”可以是演示文档(例如,幻灯片)。菜单116还可以包括菜单项120,可以选择菜单项120以拒绝建议的候选文档。在一些示例中,菜单116可以提供选项来接收要从一个或多个词的序列中链接的文档的URL而不是确定的候选文档的输入。
正在编辑文档112的计算设备102的用户可以在UI设备104处提供输入以选择菜单项118A、菜单项118B或菜单项120中的一个。UI设备104可以检测输入并且可以将输入的指示发送给UI模块106。UI模块106可以基于接收到的输入的指示来向文档客户端模块108提供数据,并且文档客户端模块108可以基于从UI模块106接收的数据来确定输入是否对应于菜单项118A、菜单项118B或菜单项120的选择。
如果UI设备104接收的输入对应于与候选文档“产品X设计文档”相关联的菜单项118A或与候选文档“产品X幻灯片”相关联的菜单项118B的选择,则文档客户端模块108可以向文档服务模块132发送指示,即“设计文档”的一个或多个词的序列要与链接到所选候选文档(例如,候选文档“产品X设计文档”或候选文档“产品X幻灯片”中的一个)的超链接相关联。如果UI设备104接收的输入对应于菜单项120的选择,则文档客户端模块108可以向文档服务模块132发送指示,即一个或多个词“设计文档”的序列不是超链接并且不链接到文档预测模块134确定的任何候选文档。
相应于接收到从要从被分类为候选超链接的词链接的一个或多个候选文档中选择文档的指示,文档服务模块132可以修改文档112以将已被分类为候选超链接的一个或多个词的序列与到所选文档的超链接相关联。例如,文档服务模块132可以从文档客户端模块108接收要从一个或多个词"设计文档"的序列中链接的候选文档中选择出来的文档(即,候选文档"产品X设计文档"或候选文档"产品X幻灯片"中的一个)的指示,以及已被分类为候选超链接的一个或多个词"设计文档"的序列的指示。作为响应,文档服务模块132可以修改文档112,使得文档112中的一个或多个词“设计文档”的序列与到所选文档的超链接相关联。
文档服务模块132可以以任何合适的方式修改文档112以将文档112内的词与到文档的超链接相关联。如上所述,要从文档112链接的文档可以与唯一标识文档在网络120中的位置的URI或URL相关联。因此,文档服务模块132可以修改文档112以插入计算机代码,例如超文本标记语言(HTML)代码,该代码指定特定的一个或多个词的序列作为锚文本,该锚文本引用识别文档在网络120内的位置的URL,该URL将与特定的一个或多个词的序列相关联。在图1的示例中,文档服务模块132可以通过在文档112中插入计算机代码来修改文档112,该计算机代码指定一个或多个词"设计文档"的序列作为锚文本,该锚文本与识别文档"产品X设计文档"位置的URL相关联,从而从文档112中的一个或多个词"设计文档"的序列中链接文档,并从而将一个或多个词"设计文档"的序列与到文档"产品X设计文档"的超链接相关联。文档服务模块132可以将包括到文档的超链接的文档112发送给接收者。
本文公开的技术可以促进与示例系统的更有效的用户交互。与不确定文档中的一个或多个词的序列是否被分类为候选超链接、以及不为被分类为候选超链接的文档中的一个或多个词的每个序列确定一个或多个候选文档的其他计算系统相比,本文所公开的技术通过确定文档中的一个或多个词的序列是否被分类为候选超链接、以及通过为被分类为候选超链接的文档中的一个或多个词的每个序列确定一个或多个候选文档,可以减少为了向文档添加链接而需要的用户交互量。通过减少为了向电子消息内的文档添加链接而需要的用户交互量,可以节省示例计算系统的系统资源,并且示例计算系统可以提供更少的挫败感和更令人愉悦的用户体验。
在整个公开中,描述了只有在计算设备和/或计算系统从计算设备的用户处接收到明确的许可以分析与计算设备的用户相关联的信息(例如,电子邮件、其他通信等)时,计算设备和/或计算系统才可以分析该信息的示例。例如,在下面讨论的计算设备和/或计算系统可以收集或可以使用与用户和计算设备相关联的通信信息的情况下,用户可以有机会提供输入,以控制计算设备和/或计算系统的程序或特征是否可以收集和使用用户信息(例如,关于用户的电子邮件、用户的社交网络、社交行动或活动、职业、用户的偏好、或用户的过去和当前位置的信息),或者决定计算设备和/或计算系统是否和/或如何接收可能与用户相关的内容。另外,某些数据可以在被计算设备和/或计算系统存储或使用之前以一种或多种方式处理,从而去除个人可识别信息。例如,可以处理用户的身份,使得有关该用户的个人可识别信息无法被确定,或者可以在获得位置信息(例如城市、邮政编码或州级)的情况下将用户的地理位置泛化,从而使用户的特定位置无法被确定。因此,用户可以控制关于用户的信息如何被收集以及如何被计算设备和/或计算系统使用。
图2是示出了根据本公开的一个或多个方面的示例计算系统的框图,该示例计算系统被配置为选择性地向编辑文档的用户提供预测文档的建议。下面将图2的文档系统230描述为图1的文档系统130的示例。图2仅示出了文档系统230的一个特定示例,文档系统230的许多其他示例可以在其他情况下使用,并且可以包括文档系统230中包括的组件的子集,或者可以包括图2中未示出的附加组件。
如图2的示例所示,文档系统230包括一个或多个处理器240、一个或多个通信单元246和一个或多个存储组件248。文档系统230的存储组件248包括文档服务模块232、文档预测模块234和文档数据存储254。文档预测模块234包括机器学习模型238。
通信通道250与组件240、246和248中的每一个互连,以进行组件间通信(物理地、通信地和/或可操作地)。在一些示例中,通信通道250可以包括系统总线、网络连接、进程间通信数据结构或用于传递数据的任何其他方法。
一个或多个通信单元246通过在一个或多个网络上发送和/或接收网络信号,经由一个或多个有线和/或无线网络与外部设备通信。通信单元246的示例包括网络接口卡(例如,以太网卡)、光收发器、射频收发器、GPS接收器或可以发送和/或接收信息的任何其他类型的设备。通信单元246的其他示例可以包括短波无线电、蜂窝数据无线电、无线网络无线电以及通用串行总线(USB)控制器。
一个或多个存储组件248存储用于在文档系统230的操作期间进行处理的信息。在一些示例中,存储组件248是临时存储器,这意味着存储组件248的主要目的不是长期存储。文档系统230上的存储组件248可以被配置用于作为易失性存储器的信息的短期存储,并且因此,如果断电则不保留所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域已知的其他形式的易失性存储器。
在一些示例中,存储组件248还包括一个或多个计算机可读存储介质。在一些示例中,存储组件248包括一个或多个非暂时性计算机可读存储介质。存储组件248可以被配置为存储比典型的由易失性存储器存储的更大数量的信息。存储组件248可以进一步被配置为作为非易失性存储器空间用于信息的长期存储,并且在电源开/关周期之后保留信息。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪存或者电可编程存储器(EPROM)或电可擦可编程存储器(EEPROM)的形式。存储组件248可以存储与文档服务模块232、文档预测模块234、机器学习模型238和文档数据存储254相关联的程序指令和/或信息(例如,数据)。
一个或多个处理器240可以实施功能和/或执行与文档系统230相关联的指令。处理器240的示例包括应用处理器、显示控制器、辅助处理器、一个或多个传感器集线器,以及配置为用作处理器、处理单元或处理设备的任何其他硬件。文档服务模块232、文档预测模块234和机器学习模型238可以包括可由处理器240操作为执行文档系统230的各种动作、操作或功能的指令。例如,处理器240可以检索并执行由存储组件248存储的指令,该指令使处理器240执行归属于文档服务模块232、文档预测模块234和机器学习模型238的本文所述的操作。当由处理器240执行时,指令可以使文档系统230将信息存储在存储组件248内,例如,在文档数据存储254处。
虽然在图2的示例中显示为单个设备的一部分,但在一些示例中,文档系统230的组件可以位于不同的设备内和/或为不同的设备的一部分。例如,在一些示例中,文档服务模块232、文档预测模块234和机器学习模型238的一些或全部功能可以位于相同或不同的计算系统处。也就是说,在一些示例中,本公开的技术可由单个计算设备执行和使用,而在其他示例中,该技术可在多个计算系统中执行和/或使用,例如分布式或“云”计算系统。
文档服务模块232可以包括图1中文档服务模块132的所有功能,并且可以执行与文档服务模块132类似的操作,以便将文档系统230配置为提供基于网络的文档服务。文档服务模块232可以处理经由诸如网络120的网络接收的文档。文档服务模块232还可以维护与计算设备102的用户相关联的文档账户。文档服务模块232可以将与文档账户相关联的数据存储在文档数据存储254中。
在文档包括电子消息的情况下,文档数据存储254可以维护文档账户的收件箱,以存储由文档服务模块262接收的,发送到与用户相关联的文档账户的消息。文档数据存储254还可维护文档账户的发件箱,以存储从与用户相关联的文档账户发送的消息。在一些示例中,与文档账户相关联的数据可以被复制并本地存储在其他计算设备处,例如,计算设备102处。也就是说,对于文档服务模块232对文档账户执行的任何动作,文档服务模块232可以使客户端(例如,文档客户端模块108)对存储在其他位置并远离文件系统230的文档账户的副本执行类似的动作。
文档预测模块234可以包括图1的文档预测模块134的所有功能,并且可以执行与文档预测模块134类似的操作。如上所述,并根据本公开的一个或多个技术,文档预测模块234可以自动确定文档正文中的一个或多个词的序列是否被分类为候选超链接,以及要从文档正文中已被分类为候选超链接的一个或多个词的每个序列中链接的一个或多个候选文档。虽然被示出并描述为是远程系统的文档系统230的一部分,但文档预测模块234的一些或全部部分可以本地驻留在计算设备(例如,图1的计算设备102),并且可以从该计算设备执行,或者可以驻留在另一个计算系统(例如,另一个远程系统,例如,图1的远程系统140中的一个),并可以从该计算系统执行。
文档预测模块234可以使用机器学习(ML)模型238来确定文档正文内的一个或多个候选超链接,以及确定要从文档的部分文本内的候选超链接来链接的一个或多个候选文档。ML模型238可以是任何合适的机器学习模型,例如神经网络、长短期记忆模型等,并且可以开发规则或以其他方式学习文档中的部分文本和其他文档之间的关系,以确定从文档正文的部分文本内的候选超链接链接的一个或多个候选文档。
为了确定文档正文内的一个或多个词的一个或多个序列是候选超链接,文档预测模块234可以执行以下技术中的一个或多个:预触发和后触发。预触发可以包括文档预测模块234,该文档预测模块234通过识别文档体正文内是潜在的文档提及的词和短语来执行链接检测。例如,“这份文档”、“演讲稿”、“这份后期处理”等提到或引用文档的短语,很可能是文档提及。文档预测模块234可以分析可能包括文档提及的文档的语料库以确定可能是潜在的文档提及的词和短语。文档预测模块234可以存储一组潜在的文档提及的短语,例如,存储在文档数据存储254中。在通过确定一个或多个词的序列或与一个或多个词的序列相关联的文本情境是否包括被识别为潜在文档提及的一个或多个词的序列或短语中的一个来确定文档中的一个或多个词的序列是否为候选超链接时,文档预测模块234可以应用链接检测。
文档预测模块234可以使用ML模型238来执行预触发,以确定是否将文档正文中的一个或多个词的序列分类为候选超链接。ML模型238可以充当分类器,以将文档正文内的一个或多个词的序列分类为候选超链接或不是候选超链接。例如,ML模型238可以将一个或多个词“事后析误”的序列分类为短语“设计文档是上周停运的事后析误”中的候选超链接,而不太可能为短语“您能写一份上周停运的事后析误吗?”中的候选超链接。
文档预测模块234可以利用ML模型238来进行后触发,基于一个或多个词的序列或其相关联的文本情境所引用的文档是否实际包含在ML模型238确定的一个或多个候选文档中,来确定文档正文中的一个或多个词的序列是否为候选超链接。换句话说,文档预测模块234确定文档是否与一个或多个词的序列良好匹配。如果文档与一个或多个词的序列不是良好匹配,则文档预测模块234可以不确定要从一个或多个词的序列链接的候选文档。在所引用文档不是从中确定一个或多个候选文档的多个文档中的一个的情况下,后触发可能是有用的。例如,如果文档预测模块234在用户最近打开的十个文档中确定候选文档,并且如果引用的文档不是用户最近打开的十个文档中的一个,则文档预测模块234可以执行后触发以确定所引用的文档不是候选文档中的一个。
为了确定从作为候选超链接的一个或多个词的序列链接的一个或多个候选文档,ML模型238可以接收一个或多个词的序列的指示和一个或多个词的序列的文本情境的指示作为输入,并且作为响应,可以至少部分地基于一个或多个词的序列和文本情境来确定查询向量。可以至少部分地基于在词和文本情境的词嵌入上添加一个或多个层来生成查询向量,查询向量捕获一个或多个词的序列的语义含义以及与包括一个或多个词的序列的文档所关联的情境的语义含义。类似地,当确定要从一个或多个词的序列链接的一个或多个候选文档时,ML模型238还可以接收由文档预测模块234考虑的多个文档的指示作为输入,并且可以对于多个文档中的每一个文档确定文档向量。每个文档向量还可以至少部分地基于将一个或多个层添加到相关联文档的词嵌入来生成,使得文档向量至少捕获相关联文档的内容的语义含义以及与该文档相关联的其他特征。词嵌入可以是捕获相关联词或相关联文档的语义含义的多维实值向量。
为了确定要从作为候选超链接的一个或多个词的序列链接的多个文档中的每个文档的可能度,ML模型238可以将查询向量与多个文档向量中的每个向量进行点积运算。ML模型238可以确定由执行查询向量与多个文档向量中的每个向量的点积而产生的多个点积得分。多个点积得分中的每个点积得分可以是通过将查询向量与文档向量中的一个向量进行点积而产生的,并且可以是语义匹配得分,该语义匹配得分表示由查询向量所代表的一个或多个词的序列及其情境与由文档向量所代表的文档之间的匹配质量。在整个本公开中,与文档相关联的点积得分可以指的是通过执行查询向量与由ML模型238从该文档确定的文档向量的点积而得到的点积得分。点积得分可以是由查询向量所表示的一个或多个词的序列及其文本情境和由文档向量所表示的文档之间的语义相似性的语义匹配得分。与用于确定候选超链接的候选文档的其他技术相比,本文所公开的技术通过将文本和文档表示为各自的查询向量和文档向量,并通过执行查询向量和文档向量的点积,提高了确定候选超链接的候选文档的性能。
文档预测模块234可以至少部分地基于将查询向量与多个文档向量中的每一个文档向量执行点积所产生的多个点积得分,来确定要从候选超链接链接的一个或多个候选文档。由执行查询向量和与文档相关联的文档向量的点积所得的点积得分可以对应于与文档向量相关联的文档是要从一个或多个词的序列链接的一个或多个候选文档中的一个的相对可能度。因此,和与相对较低得分相关联的另一文档相比,与相对较高点积得分相关联的文档更可能是要从一个或多个词的序列链接的一个或多个候选文档中的一个。
文档预测模块234可以至少部分地基于以各种方式将查询向量与多个文档向量中的每一个文档向量执行点积所产生的多个点积得分,来确定要从一个或多个词的序列链接的一个或多个候选文档。例如,文档预测模块234可以设置阈值点积得分,使得只有关联的点积得分高于阈值点积得分的文档才被包括在一个或多个候选文档中。在另一示例中,文档预测模块234可以在N个最高点积得分上计算softmax值,以计算每个相关联文档的置信度得分,并且可以确定具有最高置信度得分的文档是要从一个或多个词的序列链接的候选文档。
在另一示例中,文档预测模块234可以将一个或多个候选文档中包括的文档数量限制为最大N个文档,其中N可以是任何合适的数量,例如3、4、5等。例如,文档预测模块234可以选择与前N个点积得分相关联的文档作为一个或多个候选文档,或者可以选择与大于阈值点积得分的前N个点积得分相关联的文档作为一个或多个候选文档。
文档预测模块234还可以限制从其中确定一个或多个候选文档的文档的数量。文档预测模块234可以仅考虑文档的预期接收者或查看者可以访问的文档,以及可以抑制考虑不能被预期接收者或查看者访问的文档。此外,在一些示例中,文档预测模块234可以将被考虑的文档限制为已经由正在编辑文档的用户创建、编辑、查看或以其他方式访问的文档。
文档预测模块234还可以基于用户最近一次访问或编辑文档的时间来限制在确定要从文档内的候选超链接链接的一个或多个候选文档时要考虑的文档。例如,文档预测模块234可以从N个最近访问或编辑的文档中确定一个或多个候选文档,其中N可以是任何适当的整数,例如10、50、100等。在另一示例中,文档预测模块234可以从用户在指定时间段(例如,最后一天、最后一周等)内已经访问或编辑的文档中确定一个或多个候选文档,或可根据文档最后一次被访问或编辑的时间来确定一个或多个候选文档。在一些示例中,ML模型238可以采用这些因素作为输入,以便基于这些因素以及文档的语义内容来计算文档的文档向量。
文档预测模块234可以使用ML模型238来主动计算用户编辑或访问文档时可能考虑的文档的文档向量。换句话说,文档预测模块234可以在遇到用户正在编辑的文档之前确定文档的文档向量,为此文档预测模块234确定要从文档链接的一个或多个候选文档。文档预测模块234可以将这样的预先计算的文档向量存储在文档数据存储254中,或者可以将这样的预先计算的文档向量存储在文档系统230之外,例如在图1所示的计算设备102或远程系统140处。
响应于将正在被编辑的文档的正文内的一个或多个词的序列分类为候选超链接,以及响应于确定要从被分类为候选超链接的一个或多个词的序列链接的一个或多个的候选文档,文档预测模块234可以与文档服务模块232通信,以将分类为候选超链接的一个或多个词的序列的指示和一个或多个候选文档的指示发送到用户与之交互以编辑文档的文档客户端(例如,图1中所示的文档客户端模块108)。作为响应,文档服务模块232可以接收1)用户已忽略选择的指示或2)已从一个或多个候选文档中选择的文档的指示。
如果文档服务模块232接收到用户正在忽略选择的指示,则文档服务模块232可以抑制修改文档来将被分类为候选超链接的一个或多个词的序列链接到一个或多个候选文档中的一个。可选地,如果文档服务模块232接收到已经从一个或多个候选文档中选出的文档的指示,则文档服务模块232可以修改正被编辑的文档,使得被分类为候选超链接的一个或多个词的序列超链接到一个或多个候选文档中选出的文档。例如,文档服务模块232可以在消息中插入计算机代码,例如HTML代码,该代码指定一个或多个词的序列作为锚文本,该锚文本超链接到网络(例如,图1的网络120)内的文档位置。
文档预测模块134可以继续确定在被编辑的文档内的一个或多个词的任何附加序列是否被分类为候选超链接,并确定被分类为候选超链接的一个或多个词的任何附加序列的候选文档。响应于接收到发送文档的命令,文档服务模块132可以操作为向文档指定的接收者发送文档,该文档包括到相应的一个或多个文档的一个或多个超链接。
图3A至3E是示出根据本公开的示例性实施方式的示例性机器学习模型的各个方面的概念图。下面在图2的机器学习模型238的背景下描述图3A至3E。例如,在某些情况下,如下所述的机器学习模型300是图2的机器学习模型238的示例。
图3A描述了根据本公开的示例性实施方式的示例性机器学习模型的概念图。如图3A所示,在一些实施方式中,机器学习模型300被训练成接收一种或多种类型的输入数据,并作为响应,提供一种或多种类型的输出数据。因此,图3A示出了执行推理的机器学习模型300。
输入数据可以包括与实例或示例相关联的一个或多个特征。在一些实施方式中,与实例或示例相关联的一个或多个特征可以被组织成特征向量。在一些实施方式中,输出数据可以包括一个或多个预测。预测也可以称为推论。因此,在给定与特定实例相关联的特征的情况下,机器学习模型300可以基于该特征来输出针对该实例的预测。
机器学习模型300可以是或包括各种不同类型的机器学习模型中的一个或多个。特别地,在一些实施方式中,机器学习模型300可以执行分类、回归、聚类、异常检测、推荐生成和/或其他任务。
在一些实施方式中,机器学习模型300可以基于输入数据来执行各种类型的分类。例如,机器学习模型300可以执行二进制分类或多分类。在二进制分类中,输出数据可以包括将输入数据分类为两个不同的类中的一个。在多分类中,输出数据可包括将输入数据分类为两个以上类中的一个(或多个)。分类可以是单标签或多标签。机器学习模型300可以执行离散分类,其中将输入数据简单地分类为一个或多个类或类别。
在一些实施例中,机器学习模型300可以执行分类,其中,机器学习模型300为一个或多个类的每一个类提供数值,该数值描述其认为输入数据应当被分类到相应类的程度。在一些情况下,由机器学习模型300提供的数值可以被称为“置信度得分”,其表示与将输入分类到各个类中相关联的各个置信度。在一些实施方案中,可将置信度得分与一个或多个阈值比较以给出离散分类预测。在一些实施方式中,可以仅选择具有相对最大的置信度得分的一定数量的(例如,一个)类来给出离散分类预测。
机器学习模型300可以输出概率分类。例如,机器学习模型300可以在给定样本输入的情况下预测在一组类上的概率分布。因此,机器学习模型300不仅可以输出样本输入应该属于的最可能的类,还可以针对每个类来输出样本输入属于这种类的概率。在一些实施方式中,所有可能类上的概率分布可以归一化。在一些实施方式中,可以使用Softmax函数或其他类型的函数或层来将分别与可能的类相关联的一组实数值压缩为和为一的(0,1)范围内的一组实数值。
在一些示例中,可以将概率分布所提供的概率与一个或多个阈值进行比较,以进行离散分类预测。在一些实施方式中,可以仅选择具有相对最大的预测概率的一定数量的(例如,一个)类来给出离散分类预测。
在机器学习模型300执行分类的情况下,可以使用监督学习技术来训练机器学习模型300。例如,可以在训练数据集上训练机器学习模型300,该训练数据集包括被标记为属于(或不属于)一个或多个类的训练示例。下面在图3B至图3E的描述中提供关于监督训练技术的进一步细节。
在一些实施方式中,机器学习模型300可以执行回归以提供连续数值形式的输出数据。连续数字值可以对应于任何不同度量或数字表示的数字,包括例如货币值、得分或其他数字表示。作为示例,机器学习模型300可以执行线性回归、多项式回归或非线性回归。作为示例,机器学习模型300可以执行简单回归或多重回归。如上所述,在一些实施例中,可以使用Softmax函数或其他函数或层来将分别与两个或多个可能的类相关联的一组实数值压缩为和为一的在(0,1)范围内的一组实数值。
机器学习模型300可以执行各种类型的聚类。例如,机器学习模型300可以识别输入数据最有可能对应的一个或多个先前定义的簇。机器学习模型300可以识别输入数据内的一个或多个簇。即,在输入数据包括多个对象、文档或其他实体的情况下,机器学习模型300可以将输入数据中包括的多个实体分类为多个簇。在机器学习模型300执行聚类的一些实施方式中,可以使用无监督学习技术来训练机器学习模型300。
机器学习模型300可以执行异常检测或离群点检测。例如,机器学习模型300可以识别不符合预期模式或其他特征的输入数据(例如,如先前从在先输入数据中观察到的)。作为示例,异常检测可以用于欺诈检测或系统故障检测。
在一些实施方式中,机器学习模型300可以以一个或多个推荐的形式提供输出数据。例如,机器学习模型300可以被包括在推荐系统或引擎中。作为示例,给定描述某些实体的先前结果的输入数据(例如,指示成功或享受的量的得分、排名或评级),机器学习模型300可以基于先前的结果来输出一个或多个额外实体的建议或推荐,这些实体预期具有期望的结果(例如,引出指示成功或享受的得分、排名或评级)。作为示例,给定描述计算设备(例如图1的计算设备102)的情境的输入数据,推荐系统(例如图1的文档系统130和图2的文档系统230)可以输出要从文档中的一个词链接的一个或多个候选文档的建议或推荐。
在某些情况下,机器学习模型300可以充当环境中的代理。例如,可以使用强化学习来训练机器学习模型300,这将在下面进一步详细讨论。
在一些实施方式中,机器学习模型300可以是参数模型,而在其他实施方式中,机器学习模型300可以是非参数模型。在一些实施方式中,机器学习模型300可以是线性模型,而在其他实施方式中,机器学习模型300可以是非线性模型。
如上所述,机器学习模型300可以是或包括各种不同类型的机器学习模型中的一个或多个。下面提供了这种不同类型的机器学习模型的示例以进行说明。可以使用(例如,组合)下面描述的一个或多个示例模型以响应于输入数据来提供输出数据。除下面提供的示例模型外,还可以使用其他模型。
在一些实施方式中,机器学习模型300可以是或包括一个或多个分类器模型,例如,线性分类模型、二次分类模型等。机器学习模型300可以是或包括一个或多个回归模型,例如简单线性回归模型、多元线性回归模型、逻辑回归模型、逐步回归模型、多元自适应回归样条、本地散点平滑估计模型等。
在一些示例中,机器学习模型300可以是或包括一个或多个基于决策树的模型,例如,分类和/或回归树、迭代二分法3决策树、C4.5决策树、卡方自动交互检测决策树、决策树桩、条件决策树等。
机器学习模型300可以是或包括一个或多个内核机器。在一些实施方式中,机器学习模型300可以是或包括一个或多个支持向量机。机器学习模型300可以是或包括一个或多个基于实例的学习模型,例如,学习向量量化模型、自组织地图模型、本地加权学习模型等。在一些实施方式中,机器学习模型300可以是或包括一个或多个最近邻模型,例如,k最近邻分类模型、k-最近邻回归模型等。机器学习模型300可以是或包括一个或多个贝叶斯模型,例如,朴素贝叶斯模型、高斯朴素贝叶斯模型、多项式朴素贝叶斯模型、平均单依赖估计、贝叶斯网络、贝叶斯信念网络、隐马尔可夫模型等。
在一些实施方式中,机器学习模型300可以是或包括一个或多个人工神经网络(也简称为神经网络)。神经网络可以包括一组连接的节点,也可以称为神经元或感知器。神经网络可以组织成一层或多层。包含多层的神经网络可以称为“深度”网络。深度网络可以包括输入层、输出层以及位于输入层和输出层之间的一个或多个隐藏层。神经网络的节点可以连接或不完全连接。
机器学习模型300可以是或包括一个或多个前馈神经网络。在前馈网络中,节点之间的连接不形成循环。例如,每个连接都可以将较早层的节点连接到较晚层的节点。
在一些情况下,机器学习模型300可以是或包括一个或多个循环神经网络。在某些情况下,循环神经网络的至少某些节点可以形成循环。循环神经网络对于处理本质上是顺序的输入数据尤其有用。特别地,在某些情况下,循环神经网络可以通过使用循环或有向循环节点连接来将信息从输入数据序列的先前部分传递或保留到输入数据序列的后续部分。
在一些示例中,顺序输入数据可以包括时间序列数据(例如,相对于时间的传感器数据或在不同时间捕获的图像)。例如,循环神经网络可以分析相对于时间的传感器数据,以检测或预测滑动方向,执行笔迹识别等。顺序输入数据可以包括句子中的词
(例如,用于自然语言处理、语音检测或处理等)、音乐作品中的音符、用户采取的顺序动作(例如,检测或预测顺序的应用使用情况)、顺序对象状态等。
示例性递归神经网络包括长短期(LSTM)递归神经网络、门控递归单元、双向递归神经网络、连续时间递归神经网络、神经历史压缩器、回声状态网络、埃尔曼网络、约旦网络、递归神经网络、霍普菲尔德网络、完全循环网络、序列到序列配置等。
在一些示例中,机器学习模型300可以是或包括基于自注意的一个或多个非循环序列到序列模型,例如,变压器网络。可以在http://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf上找到示例性变压器网络的详细信息。
在一些实施方式中,机器学习模型300可以是或包括一个或多个卷积神经网络。在一些情况下,卷积神经网络可以包括一个或多个卷积层,该一个或多个卷积层使用学习的过滤器对输入数据执行卷积。
过滤器也可以称为内核。卷积神经网络对于视觉问题尤其有用,例如当输入数据包括图像(例如静止图像或视频)时。但是,卷积神经网络也可以应用于自然语言处理。
在一些示例中,机器学习模型300可以是或包括一个或多个生成网络,例如,生成对抗网络。生成网络可用于生成新数据,例如,新图像或其他内容。
机器学习模型300可以是或包括自动编码器。在一些情况下,自动编码器的目的是学习用于一组数据的表示(例如,低维编码),通常是出于降维的目的。例如,在某些情况下,自动编码器可以尝试对输入数据进行编码,并提供从编码重建输入数据的输出数据。最近,自动编码器概念已被更广泛地用于学习数据的生成模型。在某些情况下,自动编码器可能会包含除重建输入数据以外的其他损耗。
机器学习模型300可以是或包括一种或多种其他形式的人工神经网络,例如,深度玻尔兹曼机器、深度信念网络、堆叠式自动编码器等。本文描述的任何神经网络都可以组合(例如堆叠)以形成更复杂的网络。
一个或多个神经网络可用于基于输入数据来提供嵌入。例如,嵌入可以是从输入数据抽象为一个或多个学习维度的知识的表示。在某些情况下,嵌入可以是识别相关实体的有用来源。在一些情况下,可以从网络的输出中提取嵌入,而在其他情况下,可以从网络的任何隐藏节点或层(例如,接近网络的最终层但不是最终层)中提取嵌入。嵌入对于执行自动建议下一个视频、产品建议、实体或对象识别等很有用。在某些情况下,嵌入对于下游模型是有用的输入。例如,嵌入可用于泛化下游模型或处理系统的输入数据(例如,搜索查询)。
机器学习模型300可以包括一个或多个聚类模型,例如,k均值聚类模型、k中值聚类模型、期望最大化模型、层次聚类模型等。
在一些实施方式中,机器学习模型300可以执行一个或多个降维技术,例如主成分分析、内核主成分分析、基于图的内核主成分分析、主成分回归、偏最小二乘回归、Sammon映射、多维缩放、投影寻踪、线性判别分析、混合判别分析、二次判别分析、广义判别分析、灵活判别分析、自动编码等。
在一些实施方式中,机器学习模型300可以执行或承受一个或多个增强学习技术,例如马尔可夫决策过程、动态编程Q函数或Q学习、值函数法、深度Q网络、可微神经计算机、异步优势actor-critics、确定性政策梯度等。
在一些实施方式中,机器学习模型300可以是自回归模型。在某些情况下,自回归模型可以指定输出数据线性依赖于其自身的先前值和依赖于随机项。在某些情况下,自回归模型可以采用随机差分方程的形式。自回归模型的一个示例是WaveNet,它是原始音频的生成模型。
在一些实施方式中,机器学习模型300可以包括或形成多模型集成的一部分。作为一个示例,可以执行自举汇聚,也可以称为“装袋”。在自举汇聚中,将训练数据集划分为多个子集(例如,通过替换随机抽样),并分别在多个子集上训练多个模型。在推理时间,可以将多个模型的各个输出进行组合(例如,通过平均、投票或其他技术),并用作集成的输出。
一个示例集成是随机森林,也可以称为随机决策森林。随机森林是用于分类、回归和其他任务的集成学习方法。通过在训练时生成多个决策树来生成随机森林。在某些情况下,在推理时,可以将作为各个树的类(分类)或平均预测(回归)模式的类用作森林的输出。随机决策森林可以纠正决策树过度适应其训练集的趋势。
另一个示例的集成技术是堆叠,在某些情况下,可以将其称为堆叠泛化。堆叠包括训练组合器模型以融合或组合多个其他机器学习模型的预测。因此,可以基于训练数据来训练多个机器学习模型(例如,相同或不同类型)。另外,可以训练组合器模型以将来自其他机器学习模型的预测作为输入,并作为响应,产生最终的推论或预测。在某些情况下,可以将单层逻辑回归模型用作组合器模型。
集成技术的另一个示例是增强。增强可以包括通过迭代训练弱模型、然后增加到最终的强模型来逐步构建集成。例如,在某些情况下,可以对每个新模型进行训练,来强调先前模型被误解(例如,错误分类)的训练示例。例如,可以增加与每个这样的误解示例相关联的权重。增强的一种常见实施方式是AdaBoost,也可以称为自适应增强。其他示例增强技术包括LPBoost、TotalBoost、BrownBoost、xgboost、MadaBoost、LogitBoost、梯度增强等。此外,可以将上述任何模型(例如,回归模型和人工神经网络)组合起来以形成集成。作为示例,集成可以包括最高级机器学习模型或启发式函数,以对形成集成的模型的输出进行组合和/或加权。
在一些实施方式中,多个机器学习模型(例如,形成集成的模型可以被链接并进行联合训练(例如,通过错误的反向传播依次通过模型集成)。然而,在一些实施方式中,仅联合训练的模型的子集(例如,一个)用于推理。
在一些实施方式中,机器学习模型300可以用于预处理输入数据,以随后输入到另一个模型中。例如,机器学习模型300可以执行降维技术和嵌入(例如,矩阵分解、主成分分析、奇异值分解、word2vec/GLOVE和/或相关方法)、聚类、甚至对下游消耗进行分类和回归。上面已经讨论了许多这些技术,下面将进一步讨论。
如上所述,机器学习模型300可以被训练或以其他方式配置为接收输入数据,并作为响应,提供输出数据。输入数据可以包括不同类型、形式或变体的输入数据。作为示例,在各种实施方式中,输入数据可以包括描述用户最初选择的内容(或部分内容)的特征,例如,用户选择的文档或图像的内容、指向用户选择的链接、用户选择的与设备或云上可用的其他文件有关的链接、用户选择的元数据等。此外,在获得用户许可的情况下,输入数据包括从应用本身或其他来源获得的用户的使用的情境。使用情境的示例包括共享的广度(公开共享、与大群共享、或者与私人共享或与特定人共享)、共享的情境等。在用户允许的情况下,其他输入数据可以包括设备的状态,例如,设备的位置、设备上运行的应用等。
在一些实施方式中,机器学习模型300可以以其原始形式接收和使用输入数据。在一些实施方式中,可以预处理原始输入数据。因此,在原始输入数据之外或作为替代原始输入数据,机器学习模型300可以接收并使用预处理的输入数据。
在一些实施方式中,预处理输入数据可以包括从原始输入数据中提取一个或多个附加特征。例如,可以将特征提取技术应用于输入数据以生成一个或多个新的附加特征。示例的特征提取技术包括边缘检测、角点检测、斑点检测、脊检测、尺度不变特征变换、运动检测、光流、霍夫变换等。
在一些实施方式中,所提取的特征可以包括或导出于输入数据到其他域和/或维度的变换。作为示例,所提取的特征可以包括或导出于输入数据到频域的变换。例如,可以对输入数据执行小波变换和/或快速傅立叶变换以生成附加特征。
在一些实施方式中,提取的特征可以包括根据输入数据或输入数据的某些部分或维度计算的统计量。示例的统计量包括输入数据或其部分的模式、均值、最大值、最小值或其他度量。
在一些实施方式中,如上所述,输入数据可以是顺序的。在某些情况下,可以通过对输入数据流进行采样或分割来生成顺序输入数据。作为一个示例,可以从视频中提取帧。在一些实施方式中,可以通过汇总使顺序数据成为非顺序数据。
作为另一个示例的预处理技术,可以对输入数据的部分进行估算。例如,可以通过内插和/或外推来生成附加的合成输入数据。
作为另一示例预处理技术,输入数据的一些或全部可以被缩放、标准化、归一化、泛化和/或正则化。正则化技术示例包括岭回归、最小绝对收缩和选择算子(LASSO)、弹性网络、最小角回归、交叉验证、L1正则化、L2正则化等。作为一个示例,可以通过从每个单独的特征值中减去给定维度的特征值的平均值,然后除以标准偏差或其他度量,来对输入数据的部分或全部进行归一化。
作为另一示例预处理技术,可以对输入数据的一些或全部进行量化或离散化。在某些情况下,输入数据中包含的定性特征或变量可以转换为定量特征或变量。例如,可以执行一种热编码。
在一些示例中,可以在输入到机器学习模型300之前将降维技术应用于输入数据。上面提供了降维技术的几个示例,包括,例如主成分分析、内核主成分分析、基于图的内核主成分分析、主成分回归、偏最小二乘回归、Sammon映射、多维缩放、投影寻踪、线性判别分析、混合判别分析、二次判别分析、广义判别分析、灵活判别分析、自动编码等。
在一些实施方式中,在训练期间,可以以任何数量的方式有意对输入数据进行变形,以增加模型的鲁棒性、泛化或其他质量。对输入数据进行变形的示例技术包括添加噪声、更改颜色或阴影或色调、倍率、分割、放大等。
响应于接收到输入数据,机器学习模型300可以提供输出数据。输出数据可以包括不同类型、形式或变体的输出数据。作为示例,在各种实施方式中,输出数据可以包括与初始内容选择关联地可共享的内容,该内容本地存储在用户设备上或存储在云中。
如上所述,在一些实施方式中,输出数据可以包括各种类型的分类数据(例如,二进制分类、多分类、单标签、多标签、离散分类、回归分类、概率分类等),或可以包含各种类型的回归数据(例如,线性回归、多项式回归、非线性回归、简单回归、多元回归等)。在其他情况下,输出数据可以包括聚类数据、异常检测数据、推荐数据或上面讨论的任何其他形式的输出数据。
在一些实施方式中,输出数据可以影响下游过程或决策。作为一个示例,在一些实施方式中,输出数据可以由基于规则的调节器解释和/或作用。
本公开提供了包括或以其他方式利用本文所述的一个或多个机器学习模型的系统和方法,以将文档中的词分类为是候选超链接或不是候选超链接,并基于一个或多个候选文档的特征以及被分类为候选超链接的一个或多个词的序列的文本情境,建议从被分类为候选超链接的一个或多个词的序列链接的一个或多个候选文档。上述任何不同类型或形式的输入数据可以与上述任何不同类型或形式的机器学习模型相结合,以提供上述任何不同类型或形式的输出数据。
本公开的系统和方法可以由一个或多个计算设备实现或以其他方式在一个或多个计算设备上执行。示例计算设备包括用户计算设备(例如,膝上型计算机、台式计算机以及诸如平板电脑、智能电话、可穿戴计算设备等的移动计算设备)、嵌入式计算设备(例如,嵌入在车辆、照相机、图像传感器、工业机器、卫星、游戏机或控制器中的,或嵌入在诸如冰箱、恒温器、电表、家庭能源管理器、智能家居助手等家用电器中的设备)、服务器计算设备(例如,数据库服务器、参数服务器、文件服务器、邮件服务器、打印服务器、Web服务器、游戏服务器、应用服务器等)、专用的专业模型处理或培训设备、虚拟计算设备、其他计算设备或计算基础架构、或其组合。
图3B示出了计算系统310的概念图,该计算系统310是图1的文档系统130和图2的文档系统230的示例。计算系统310包括处理组件302、存储器组件304和机器学习模型300。计算系统310可以在本地(即,在设备上)存储和实施机器学习模型300。通过在计算系统310处本地实施机器学习模型300而获得的输出数据可以用于改善计算系统310的性能。
图3C示出了可以通过网络与包括机器学习模型的示例服务器计算系统进行通信的示例计算系统的概念图。图3C包括客户端设备310A通过网络330与服务器设备360通信。客户端设备系统是图1中的文档系统130和图2中的文档系统230的示例,服务器设备360是图1中的远程系统140的示例,网络330是图1中的网络120的示例。服务器设备360存储并实施机器学习模型300。在一些实例中,通过在服务器设备360处的机器学习模型300获得的输出数据可以被用来改善其他服务器任务,或者可以被其他非用户设备用来改善由这种其他非用户设备执行的服务或为这种其他非用户设备执行的服务。例如,输出数据可以改善由服务器设备360为用户的计算设备或嵌入式计算设备执行的其他下游处理。在其他实例中,可以将通过在服务器设备360处实施机器学习模型300而获得的输出数据发送给诸如客户端设备310A的用户计算设备、嵌入式计算设备或其他客户端设备并由其使用。例如,服务器设备360可以说是将机器学习作为服务来执行。
在其他实施方式中,机器学习模型300的不同的相应部分可以存储在用户计算设备、嵌入式计算设备、服务器计算设备等的某种组合处和/或由这些组合来实现。换句话说,机器学习模型300的部分可以全部或部分地分布在客户端设备310A和服务器设备360之间。
设备310A和360可以使用一个或多个机器学习平台、框架和/或库(例如TensorFlow,Caffe/Caffe2,Theano,Torch/PyTorch,Mxnet,CNTK)执行图形处理技术或其他机器学习技术。设备310A和360可以分布在不同的物理位置,并经由包括网络330的一个或多个网络来连接。如果被配置为分布式计算设备,则设备310A和360可以根据顺序计算架构、并行计算架构或其组合来操作。在一示例中,可以通过使用参数服务器来控制或引导分布式计算设备。
在一些实施方式中,机器学习模型300的多个实例可以被并行化以提供增加的处理吞吐量。例如,机器学习模型300的多个实例可以在单个处理设备或计算设备上并行化,或者在多个处理设备或计算设备之间并行化。
实现机器学习模型300或本公开的其他方面的每个计算设备可以包括使得本文描述的技术能够执行的多个硬件组件。例如,每个计算设备可以包括一个或多个存储设备,其存储机器学习模型300的一些或全部。例如,机器学习模型300可以是存储在存储器中的结构化数值表示。一个或多个存储设备还可包括用于实施机器学习模型300或用于执行其他操作的指令。示例存储设备包括RAM,ROM,EEPROM,EPROM,闪存设备,磁盘等,以及它们的组合。
每个计算设备还可以包括实施机器学习模型300的一些或全部和/或执行其他相关操作的一个或多个处理设备。示例处理设备包括以下中的一个或多个:中央处理单元(CPU),视觉处理单元(VPU),图形处理单元(GPU),张量处理单元(TPU),神经处理单元(NPU),神经处理引擎,CPU、VPU、GPU、TPU、NPU或其他处理设备的核心,专用集成电路(ASIC),现场可编程门阵列(FPGA),协处理器,控制器,或上述处理设备的组合。可以将处理设备嵌入其他硬件组件中,例如,嵌入图像传感器、加速计等。
硬件组件(例如,存储设备和/或处理设备)可以分布在多个物理分布的计算设备和/或虚拟分布的计算系统上。
图3D示出了与包括模型训练器的示例训练计算系统通信的示例计算系统的概念图。图3D包括客户端系统310B通过网络330与训练设备370通信。客户端系统310B是图1中的文档系统130和图2中的文档系统230的示例,网络330是图1中的网络120的示例。可以在诸如训练设备370的训练计算系统处训练本文描述的机器学习模型300,然后将其提供用于在一个或多个计算系统(例如,客户端系统310B)处的存储和/或实施。例如,模型训练器372在训练设备370处本地执行。但是,在一些示例中,包括模型训练器372的训练设备370可以包含于或分离于客户端系统310B或实施机器学习模型300的任何其他计算设备。
在一些实施方式中,可以以离线方式或在线方式训练机器学习模型300。在离线训练(也称为批处理学习)中,机器学习模型300在整个静态训练数据集上进行训练。在在线学习中,随着新的训练数据成为可用(例如,当模型用于执行推理时),机器学习模型300被连续训练(或重新训练)。
模型训练器372可以执行机器学习模型300的集中训练(例如,基于集中存储的数据集)。在其他实施方式中,例如,分布式训练、联合学习等的分散式训练技术可以用于训练、更新或个性化机器学习模型300。
可以根据各种不同的训练类型或技术中的一个或多个来训练本文所述的机器学习模型300。例如,在一些实施方式中,可以由模型训练器372使用监督学习来训练机器学习模型300,其中,在包括具有标签的实例或示例的训练数据集上训练机器学习模型300。标签可以由专家手动应用,其通过众包生成或由其他技术(例如,基于物理的或复杂数学的模型)提供。在一些实施方式中,如果用户已经提供许可,则训练示例可以由用户计算设备提供。在一些实施方式中,该处理可以被称为将模型个性化。
图3E示出了作为示例训练处理的训练处理390的概念图,其中,在包括具有标签393的样本输入数据392的训练数据391上训练机器学习模型300。训练处理390是示例训练处理;也可以使用其他训练处理。
训练处理390所使用的训练数据391可以包括:在用户许可使用此类数据进行训练的情况下,共享流的匿名使用记录,例如,共享在一起的内容项、已经被识别为属于一起的捆绑内容片段,例如,来自知识图中的实体等。在一些实施方式中,训练数据391可以包括已经被分配了与输出数据394相对应的标签393的输入数据392的示例。
在一些实施方式中,可以通过优化诸如目标函数395的目标函数来训练机器学习模型300。例如,在一些实施方式中,目标函数395可以是或包括损失函数,其将(例如,确定之间的差异)由模型从训练数据产生的输出数据和与训练数据相关联的标签(例如,地面真值标签)进行比较。例如,损失函数可以评估输出数据和标签之间的差的平方的均值或和。在一些示例中,目标函数395可以是或包括描述特定结果或输出数据的代价的代价函数。目标函数395的其他示例可以包括基于余量的技术,例如三元组损失或最大余量训练。
可以执行各种优化技术中的一种或多种以优化目标函数395。例如,优化技术可以最小化或最大化目标函数395。示例性优化技术包括基于Hessian的技术和基于梯度的技术,例如坐标下降、梯度下降(例如,随机梯度下降)、次梯度法等。其他优化技术包括黑盒优化技术和启发法。
在一些实施方式中,错误的向后传播可以与优化技术(例如,基于梯度的技术)结合使用以训练机器学习模型300(例如,当机器学习模型是诸如人工神经网络的多层模型时)。例如,可以执行传播和模型参数(例如,权重)更新的迭代循环以训练机器学习模型300。示例性的反向传播技术包括随时间截断反向传播,Levenberg-Marquardt反向传播等。
在一些实施方式中,本文所述的机器学习模型300可以使用无监督学习技术来训练。无监督学习可以包括从未标记的数据中推断出描述隐藏结构的函数。例如,分类或归类可以不包括在数据中。无监督学习技术可用于生成能够执行聚类、异常检测、学习潜变量模型或其他任务的机器学习模型。
可以使用结合了监督学习和无监督学习的方面的半监督技术来训练机器学习模型300。机器学习模型300可以通过演化技术或遗传算法来训练或生成。在一些实施方式中,本文所述的机器学习模型300可以使用强化学习来训练。在强化学习中,代理(例如,模型)可以在环境中采取行动,并学习最大限度地提高此类行动导致的奖励和/或最小化由此类行动导致的惩罚。强化学习与监督学习问题的不同之处在于,没有提供正确的输入/输出对,也没有明确纠正次优动作。
在一些实施方式中,可以在训练期间执行一种或多种泛化技术以改善机器学习模型300的泛化。泛化技术可以帮助减少机器学习模型300对训练数据的过度拟合。示例泛化技术包括dropout技术、权重衰减技术、批标准化、早停法、子集选择、逐步选择等。
在一些实施方式中,本文描述的机器学习模型300可以包括许多超参数或受许多超参数影响,该超参数为,例如,学习率、层数、每层中的节点数、树中的叶数、集群数量等。超参数会影响模型性能。可以手动选择超参数,也可以通过应用诸如网格搜索,黑盒优化技术(例如贝叶斯优化,随机搜索等),基于梯度的优化等的技术来自动选择超参数。用于执行自动超参数优化的示例技术和/或工具包括Hyperopt,Auto-WEKA,Spearmint,度量优化引擎(MOE)等。
在一些实施方式中,当训练模型时,可以使用各种技术来优化和/或调整学习率。用于执行学习率优化或调整的示例技术和/或工具包括Adagrad,自适应矩估计(ADAM),Adadelta,RMSprop等。
在一些实施方式中,转移学习技术可以用于提供初始模型,从该初始模型开始训练本文所述的机器学习模型300。
在一些实施方式中,本文描述的机器学习模型300可以被包括在计算设备上的计算机可读代码的不同部分中。在一个示例中,机器学习模型300可以被包括在特定的应用或程序中,并且被该特定的应用或程序使用(例如,排他地使用)。因此,在一个示例中,计算设备可以包括多个应用,并且这些应用中的一个或多个可以包含其自身的各自的机器学习库和机器学习模型。
在另一示例中,本文描述的机器学习模型300可以被包括在计算设备的操作系统中(例如,在操作系统的中央智能层中),并且可以由与操作系统交互的一个或多个应用调用或以其他方式使用。在一些实施方式中,每个应用可以使用应用程序编程接口(API)(例如,跨所有应用的通用的公共API)与中央智能层(以及存储在其中的模型)通信。
在一些实施方式中,中央智能层可以与中央设备数据层通信。中央设备数据层可以是用于计算设备的数据的集中式存储库。中央设备数据层可以与计算设备的许多其他组件通信,例如,与一个或多个传感器、情境管理器、设备状态组件和/或其他组件通信。在一些实施方式中,中央设备数据层可以使用API(例如,私有API)与每个设备组件进行通信。
本文讨论的技术参考了服务器、数据库、软件应用和其他基于计算机的系统,以及采取的行动以及发送到和发送自此类系统的信息。以计算机为基础的系统固有的灵活性,允许在各组件之间进行各种可能的配置、组合和任务分工以及功能划分。例如,本文讨论的过程可以使用单个设备或组件或组合工作的多个设备或组件来实现。
数据库和应用可以在单个系统上实现,也可以分布在多个系统上。分布式组件可以顺序或并行运行。
另外,本文描述的机器学习技术容易互换和组合。尽管已经描述了某些示例技术,但是存在许多其他技术并且可以结合本公开的各方面使用。
本公开已经提供了示例机器学习模型和相关技术的简要概述。有关其他详细信息,读者应阅读以下参考资料:Machine Learning A Probabilistic Perspective(Murphy);Rules of Machine Learning:Best Practices for ML Engineering(Zinkevich);Deep Learning(Goodfellow);Reinforcement Learning:An Introduction(Sutton);and Artificial Intelligence:AModern Approach(Norvig)。
除了以上的描述之外,还可以向用户提供控件,允许用户就本文所述的系统、程序或特征是否以及何时可以启用收集用户信息(例如,关于用户的社交网络、社交行为或活动、职业、用户的偏好或用户的当前位置的信息),以及是否从服务器向用户发送内容或与用户通信作出选择。另外,某些数据可以在存储或使用之前以一种或多种方式处理,从而去除个人可识别信息。例如,可以处理用户的身份,使得有关该用户的个人可识别信息无法被确定,或者可以在获得位置信息(例如城市、邮政编码或州级)的情况下将用户的地理位置概括化,从而使用户的特定位置无法被确定。因此,用户可以控制收集哪些关于用户的信息、如何使用这些信息、以及向用户提供哪些信息。
图4是根据本公开的示例性实施方式的可用于确定要从正在被编辑的文档链接的一个或多个候选文档的示例性机器学习模型的概念图。如图4所示,文本编码器模型402、文档编码器模型404和点积模型406可以各自是包括在图2的机器学习模型238和图3的机器学习模型300中的机器学习模型的示例,因此文本编码器模型402、文档编码器模型404和点积模型406可以实施上述与图2的机器学习模型238和图3的机器学习模型300有关的任何技术。
可以训练文本编码器模型402以确定是否将文档正文内的词或一个或多个词的序列分类为链接到文档的候选超链接。可以训练文本编码器模型402以接收文档正文内的一个或多个词的序列的指示以及与文档相关联的情境的指示,并且可以确定一个或多个词的序列是否为候选词超链接。
文本编码器模型402可以被训练为可以执行以上关于图3A-3E的机器学习模型所描述的分类技术中的一个分类技术的分类器,以便确定是否将一个词或一个或多个词的序列分类为候选超链接。特别地,对于文档正文中的词,可以训练文本编码器模型402以基于一个或多个词的序列以及与包含该一个或多个词的序列的文档相关联的情境来对一个或多个词的序列进行分类。如上所述,可以对文本编码器模型402进行训练以执行以下技术中的一个或多个:链接检测、预触发和后触发,如以上关于图2的机器学习模型238所讨论的。在一些示例中,文本编码器模型402可以包含用于执行链路检测、预触发和后触发中的每一个的单独的机器训练模型。可以使用训练数据来训练文本编码器模型402,该训练数据包括链接到文档的文档,以便将一个或多个词的序列分类为是候选超链接或不是候选超链接。
点积模型406也可以被训练为针对被分类为候选超链接的词确定一个或多个候选文档,该候选文档很可能从被分类为候选超链接的一个或多个词的序列中链接。可以训练文本编码器模型402以接收被分类为候选超链接的一个或多个词的序列的指示以及与包含候选超链接的文档相关联的情境的指示,并且作为响应,至少部分地基于一个或多个词的序列和情境,生成与一个或多个词的序列相关联的查询向量。还可以训练文档编码器模型404以接收多个文档的指示,并作为响应,为多个文档中的每个文档生成文档向量。通过针对多个文档中的每个文档执行查询向量和与相应文档相关联的文档向量的点积,可以训练点积模型406来确定多个文档中的每个文档的点积得分。可以训练点积模型406,以基于多个文档的点积得分,从多个文档中确定要从文本的一部分中链接的一个或多个候选文档。将文档和词之间的语义匹配质量计算为分别与一个或多个词的序列相关联的查询向量和与文档相关联的文档向量之间的点积,其中点积得分越高表示语义匹配质量越高。这种方法可能是有利的,因为可以对模型进行端到端训练,甚至可以根据客户特定的数据进行微调。可以通过快速最近邻搜索来检索最匹配的文档(即,其所具有的相关联的文档向量和与一个或多个词的序列相关联的查询向量产生最高的点积得分),来确定向量空间中最接近查询向量的一个或多个文档向量。
文本编码器模型402可以接收文本412的指示,该指示包括分类为候选超链接的一个或多个词的序列的指示,以及与包含一个或多个词的序列的文档相关联的情境(例如与一个或多个词的序列相关联的文本情境)的指示,并生成与文本412相关联的查询向量408。类似地,文档编码器模型404可以接收文档414的指示,并生成与文档414相关联的文档向量410。查询向量408和文档向量410可以是多维实向量。可以训练点积模型406以执行查询向量408与文档向量410的点积,以产生与文档414相关联的点积得分,并至少部分地基于点积得分来确定要从候选超链接链接的一个或多个候选文档。
可以训练文本编码器模型402以从文本412生成捕获文本412的语义的查询向量408,例如,通过在一个或多个词的序列的词嵌入上生成一个或多个层,以捕获与一个或多个词的序列相关联的情境,从而查询向量408是文本412的向量表示。因此,当文本编码器模型402从具有相似语义含义的文本生成向量时,所生成的向量可以位于向量空间中彼此紧邻的位置。换句话说,文本编码器模型402可以从具有相似语义含义的文本中生成相似的向量(例如,具有高余弦相似度的向量)。在一些示例中,文本编码器模型402可以实施用于计算词的向量表示的任何合适的技术,诸如word2vec等。
文本编码器模型402可以至少部分地基于从包括会话数据的训练数据的机器学习来隐式地学习文本之间的语义相似性,以便生成查询向量。例如,可以使用来自在线讨论网站的评论和答复的数据集,通过无监督学习来训练文本编码器模型402以预测对文本输入的响应(即,下一消息预测),以用于一般语言理解。文本编码器模型402也可以被训练为使用消息的数据集和来自组织特定(例如,公司特定)的消息系统(例如,公司电子邮件系统),组织特定的协作工具等的答复的数据集来预测对文本输入的响应,以用于组织特定的语言理解,如果将机器学习模型400用于组织内的沟通,这可能很有用。文本编码器模型402也可以被训练以预测要从消息和文档链接的文档以及要附加到消息的文档。文本编码器模型402可以通过使用训练数据(例如,文档语料库,例如,字处理文档、电子表格和演示文稿文档)的无监督学习,以及通过使用诸如文档和链接的文档对的标签数据,诸如电子邮件和附件对、网页链接、以及网页的标签数据的监督训练来进行训练。
因为引起相同响应的文本输入很可能具有相同或相似的语义,所以训练文本编码器模型402来预测对文本输入的响应,也训练文本编码器模型402使之如果对各个不同的文本片段预测出相同的响应,确定不同的文本输入具有相同的语义。以此方式,可以训练文本编码器模型402以从具有相似语义含义的不同文本输入生成相似的查询向量(即,在向量空间中彼此紧邻的向量)。应当理解,文本编码器模型402也可以通过任何其他合适的机器学习技术来训练,以从具有相似语义的文本输入中生成相似的向量。
文档编码器模型404可以从文档414生成文档向量410。特别地,可以训练文档编码器模型404以从文档414生成文档向量410作为文档嵌入以表示文档414的特征。文档编码器模型404可以被训练成以这样的方式生成文档向量410,即如果文本412内的候选超链接相对更有可能链接到文档414,则点积模型406执行文档向量410和查询向量408的点积的点积得分相对较大,而如果文本412内的候选超链接相对更不可能链接到文档414,则点积得分相对较小。
文档编码器模型404可以至少部分地基于文档414的一个或多个特征来生成文档向量410,使得文档向量410表示文档414的特征。由文档编码器模型404用来生成文档向量410的文档414的一个或多个特征可以包括以下中的一个或多个:文档的主题、文档的标题、文档的内容、文档的类型、用户最后一次打开文档的时间、用户打开文档的频率、用户编辑文档的频率、用户共享文档的频率、文档的使用期限、创建文档的时间、上次编辑文档的时间、文档的共享设置、文档的作者、文档的合作者、用户提供的文档元数据等。
文档414的主题和文档414的标题可以包括文档414的文件名和/或文档抬头(heading)或在文档414的内容中的文档标题。文档类型的示例可以包括文字处理文档、电子表格文档、演示文档、视频文件、图片等,并且文档414的类型可以由与文档414相关联的媒体类型(例如,多用途互联网邮件扩展名)指示。创建文档414的时间、上次打开文档414的时间、上次编辑文档414的时间、文档414的使用期限、文档414的打开频率、文档414的编辑频率、文档414的共享频率、文档414的共享设置、文档414的作者和/或文档414的合作者可以是指示撰写文档414的用户如何与文档414交互的特征。用户为文档414提供的元数据可以包括用户已将文档414添加到用户的书签或收藏夹列表(例如,通过用户对文档414标星)的指示。
可以使用训练数据通过机器学习来训练文档编码器模型404,该训练数据包括消息和从消息链接的文档对,以基于训练为文档生成文档向量。例如,可以通过对训练数据执行机器学习来训练文本编码器模型402以预测将要从消息链接的文档,该训练数据包含消息和从消息链接的文档对。消息和从消息链接的文档对可以来自多种来源。例如,数据集可以包括来自特定组织(例如,公司)内的消息-链接文档对。来自特定组织内的这种消息-链接文档对可以用于训练关于特定组织内的文档链接行为的文档编码器模型404。在另一个示例中,数据集可以包括来自已明确表示同意将其消息用于机器学习的用户的消息-链接文档对。这些消息-链接文档对可以例如来自消费者消息传递服务(例如,电子邮件服务)的用户,这些用户已明确选择加入他们的消息以用于机器学习。通过使用包括消息-链接文档对的训练数据来训练文档编码器模型404,文档编码器模型404可能能够推理出文档和消息之间的关联,尤其是消息特征与从消息链接的文档特征之间的关联。
类似于文本编码器模型402,文档编码器模型404可以至少部分地基于从会话数据的机器学习来隐式地学习文本之间的语义相似性。例如,可以使用来自在线讨论网站的评论和答复的数据集,通过无监督学习来训练文档编码器模型404以预测对文本输入的响应(即,下一消息预测),以用于一般语言理解。文档编码器模型404也可以被训练为使用消息的数据集和来自组织特定(例如,公司特定)的消息系统(例如,公司电子邮件系统),组织特定的协作工具等的答复的数据集来预测对文本输入的响应,以用于组织特定的语言理解,如果将机器学习模型300用于组织内的内部沟通,这可能很有用。
因为引起相同响应的文本输入很可能具有相同或相似的语义,所以训练文档编码器模型404来预测对文本输入的响应,也训练文档编码器模型404使之如果对各个不同的文本和消息预测出相同的响应,确定不同的文本输入和消息具有相似的语义。以此方式,可以至少部分地基于文档的内容的语义来训练文档编码器模型404以编码文档向量。
还可以训练文档编码器模型404以推理一个文档是否类似于另一个文档。如果文档编码器模型404推理出文档可能从特定文本或消息链接,则文档编码器模型404还可以推理出与该文档相似的其他文档也可能从相似的特定文本或消息链接。当文档编码器模型404生成用于相似文档的向量时,所生成的向量可能在向量空间中彼此紧邻(例如,具有高余弦相似度)。换句话说,文档编码器模型404可以从相似的文档生成相似的向量。
可以训练文档编码器模型404以至少部分地基于各个文档的特征来推理文档是否相似。可用于确定文档相似性的文档特征可以包括以下中的一个或多个:文档的主题、文档的标题、文档的结构、文档的类型、文档的内容、文档的语义含义、文档上次打开的时间、文档的打开频率、文档的编辑频率或文档的共享频率。
通过经由机器学习进行训练以执行下一段落预测、文档开头预测和/或随机段落预测,文档编码器模型404可以基于文档的特征确定文档的文档向量,该文档向量可以包括文档的标题或主题以及文档的结构。下一段落预测是基于文档的一个或多个先前段落的文档的下一段落的预测。文档开头预测是基于文档的一个或多个后续部分对文档的开头部分(例如,文档的标题或主题)的预测。随机段落预测是将文档的随机段落作为输入,并根据输入预测文档的标题,以及预测文档的另一个随机段落。通过在文档上训练文档编码器模型404以进行下一段落预测、文档开头预测和/或随机段落预测,文档编码器模型404可以推理文档的结构、文档的书写方式以及文档标题的构成方式。通过训练以推理关于文档的此类信息,文档编码器模型404能够确定文档的标题或主题是否与另一文档的标题或主题相似,或者文档的结构是否与另一文档的结构相似,目的是基于文档的特征(例如标题和/或主题)生成文档向量。
以这种方式,可以训练文本编码器模型402以将词及其文本情境转换成表示一个或多个词的序列及其文本情境的语义的多维实值向量。类似地,可以训练文档编码器模型404以将文档转换成表示其文本情境的语义含义的多维实值向量。因此,确定查询向量和文档向量的点积得分,从而确定查询向量所表示的一个或多个词的序列和文本情境与文档向量所表示的文档之间的语义匹配,其中查询向量和文档向量之间的点积得分表示查询向量和文档向量之间的语义匹配质量。
在一些示例中,文本编码器模型402和文档编码器模型404可以被定制用于特定的组织、公司等。可以基于信息的一般语料训练文本编码器模型402和文档编码器模型404,例如使用来自一般在线讨论网站的评论和答复的数据集、电子邮件消息的一般语料等的输入来产生一般文本编码器和文档编码器模型。然后可以在组织特定的训练数据上训练文本编码器模型402和文档编码器模型404,以针对特定组织定制文本编码器模型402和文档编码器模型404。
图5是示出根据本公开的一个或多个方面的用于选择性地向正在被编辑的文档提供预测文档建议的计算系统的示例操作的流程图。仅为了说明的目的,下面在图1-4的范围内描述图5的示例操作。
在图5的示例中,文档系统230可以使用机器学习模型238确定,是否至少部分地基于正在编辑的第一文档(例如,文档112)内的一个或多个词的序列和与第一文档相关联的情境,将该一个或多个词的序列分类为候选超链接(502)。文档系统230可以响应于将一个或多个词的序列分类为候选超链接,使用机器学习模型238并至少部分地基于一个或多个词的序列和情境,从多个文档中确定要从一个或多个词的序列中超链接的一个或多个候选文档(504)。文档系统230可以响应于接收到从一个或多个候选文档中选择第二文档的指示,修改第一文档以将一个或多个词的序列与到第二文档的超链接相关联(506)。
在一些示例中,第一文档可以包括电子消息(例如,电子邮件消息),其中,与第一文档相关联的情境可以包括与一个或多个词的序列相关联的文本情境,并且其中,从多个文档中确定要从一个或多个词的序列超链接的一个或多个候选文档可以进一步包括:使用机器学习模型238,并且至少部分地基于一个或多个词的序列以及与该一个或多个词的序列相关联的文本情境,来从多个文档中确定要从一个或多个词的序列超链接的一个或多个候选文档,并将包括到第二文档的超链接的电子消息发送到接收者。
在一些示例中,从多个文档中确定要从一个或多个词的序列超链接的一个或多个候选文档可以进一步包括:文档系统230使用机器学习的模型238至少部分地基于一个或多个词的序列和与第一文档相关联的情境来生成与一个或多个词的序列相关联的查询向量。文档系统230还可以使用机器学习模型238来生成与多个文档相关联的多个文档向量。文档系统230还可通过使用查询向量与多个文档向量中的每个文档向量的点积,使用机器学习模型238来确定与多个文档相关联的多个点积得分。文档系统230还可以使用机器学习模型238,至少部分地基于与一个或多个候选文档相关联的一个或多个点积得分,从多个文档中确定要从一个或多个词的序列超链接的一个或多个候选文档。
在一些示例中,查询向量和多个文档向量分别是多维实值嵌入向量。在一些示例中,使用机器学习来训练机器学习模型238,使得查询向量和与第二文档相关联的文档向量的点积得分表示与查询向量相关联的一个或多个词的序列链接到与文档向量相关联的第二文档的可能度。
在一些示例中,文档系统230还可以使用机器学习模型238至少部分地基于以下中的一个或多个来生成与第二文档相关联的文档向量:第二文档的主题、第二文档的标题、第二文档的内容、第二文档的类型、第二文档创建的时间、第二文档最后打开的时间、第二文档最后编辑的时间、第二文档被打开的频率、第二文档被编辑的频率、第二文档被共享的频率、第二文档的一个或多个作者、第二文档的一个或多个合作者、第二文档的共享设置、或与第二文档相关联的用户提供的元数据。
在一些示例中,通过下一消息预测来进一步训练机器学习模型。在一些示例中,通过以下中的一个或多个来进一步训练机器学习模型:下一段落预测、文档开头预测或随机段落预测以确定与第二文档相关联的文档向量。在一些示例中,使用训练数据来进一步训练机器学习模型,该训练数据包括第一文档和链接或附加到该第一文档的第二文档的对。在一些示例中,与第一文档相关联的情境包括以下中的一个或多个:与一个或多个词的序列相关联的文本情境、第一文档的作者、第一文档的接收者、第一文档的标题、第一文档的内容、与第一文档相关联的活动、最后一次编辑第一文档的时间或包含第一文档的消息线程中的先前消息。
在一些示例中,机器学习模型238可以包括机器训练的分类器,该分类器至少部分地基于一个或多个词的序列和与第一文档相关联的情境来将一个或多个词的序列分类为候选超链接。
图6A和6B是示出根据本公开中描述的自动文档超链接技术的各个方面的查询向量分类器和模式识别的示例应用的图。机器学习模型238可以包括点积模型406、文本编码器模型402(也可以称为“输入编码器402”)和文档编码器模型404(可以称为“响应编码器404”),其中,输入编码器402和响应编码器406可以在所谓的“步骤I”期间接受如上所述的训练。在一些情况下,术语“点积模型”可以指点积模型406、输入编码器402和响应编码器404的集合。
如在图6A的示例中进一步示出的,机器学习模型238可以在第二步骤(示为“步骤II”)期间复制输入编码器402并添加浅分类器600,从而得到输入编码器602。作为训练的结果,输入编码器402可以被配置为表示关于输入文本的语义信息,当训练浅分类器600时可以利用该语义信息(因为经训练的输入编码器402可以使得在训练浅分类器600时只需较少的训练和数据)。
这样,输入编码器602可以包括处理输入编码器402的结果的浅分类器600。浅分类器600可以预测输入文本是否正在引用链接锚。浅分类器600的输入(在一些示例中,是唯一的输入)是在对输入进行编码时获得的查询向量。因为查询向量已经表示了学习的语义信息,所以浅分类器600可以利用该学习的语义信息。浅分类器600对(“句子”,“有链接”)标记的示例进行训练,其中“句子”值是指样本输入文本,而“有链接”是指相应的样本输入文本是具有超链接还是不具有超链接。浅分类器600一旦被训练,就可以被配置为预测句子是否应该包含链接。
在图6B的示例中,机器学习模型238在两个阶段中检测输入文本650内的链接锚(例如,与超级链接相关联的输入文本的一个或多个词的可能的候选)。在第一阶段,机器学习模型238被配置为应用输入编码器402以获得查询向量652,接下来,机器学习模型238被配置为应用分类器600。分类器600预测查询向量652是否应包括链接(654)。
当分类器600预测查询向量652不应包括链接时(“否”654),机器学习模型238可以抑制添加链接(656)。然而,当分类器600预测查询向量652应该包括链接时(“是”654),机器学习模型238被配置为参考频繁链接锚的数据库,以确定输入文本650内最可能的链接锚(就用于链接锚而言)。
为了识别最可能的链接锚,分类器600可以提供一个或多个可能度得分,以识别该序列的一个或多个词(例如,输入文本650)将是到第二文档的超链接的锚点的可能度。出于说明的目的,假设分类器600生成以下可能度得分(这是引用置信度得分的另一种方式),例如输入文本650–“请参阅这里的设计文档。”
模式 | 链接可能度 |
“这里” | 0.3 |
“设计文档” | 0.8 |
“幻灯片” | 0.7 |
“文档” | 0.6 |
在该示例中,机器学习模型238可以选择模式“设计文档”,因为“设计文档”模式具有0.8的最高可能度得分。机器学习模型238可以将可能度得分与一个或多个频繁的链接锚模式组合,以确定用于超链接的锚中的最可能的锚。换句话说,机器学习模型238可以识别最高得分模式(以可能得分为例,658),并将最高得分模式(例如"设计文档")表示为建议的链接锚(660)。
机器学习模型238可以应用上述的两阶段方法,因为分类器无法预测确切的锚文本,因此应训练机器学习模型238以在分类后检测锚文本。此外,仅使用模式(无分类)训练的机器学习模型可能会导致性能不佳(例如,预测词“这里”的所有的出现作为链接候选),因误报使终端用户感到沮丧,从而导致糟糕的用户体验,并且浪费计算资源(例如处理周期、功耗、带宽–可能同时占用内存和网络带宽等)。因此,通过减少误报、促进更好的用户体验和避免可能消耗计算能力的处理周期、功率和带宽的不必要操作,上述技术可以改善计算系统本身的操作。
图7是示出根据本公开中描述的自动文档超链接技术的各个方面的序列到序列模型的示例应用的图。作为向量分类器和模式识别的替代或组合,机器学习模型238可以包括序列到序列模型700(作为一个示例,其可以包括上述变换器)。序列到序列模型700可以表示被配置为接收字、字符和/或字节嵌入的可变长度序列(如e1-e6所示)并输出另一个预测序列(如p1-p6所示)的模型。
训练序列到序列模型700以直接接收输入文本650和输出链接锚预测p1-p6。尽管围绕六个嵌入(也可以更普遍地称为“令牌”)进行描述,但是可以针对任何数量的令牌(例如,“N”个令牌)来实现该技术。序列到序列模型700可以输出与向量相近数量的预测,机器学习模型700可以聚合到矩阵(Pnxl)中,其中l表示嵌入的最大尺寸跨度。对于每个位置0,1,…,n,矩阵P表示尺寸为0,1,…,l的跨度的可能度。矩阵Pi,j中的项表示从尺寸为j位置为i开始的链接锚的可能度。作为例子,对于P15,10例如输入文本650,序列到序列模型700可以预测跨度“设计文档”具有0.8的可能度得分(或者80%的概率是链接锚)。在这方面,机器学习模型238被配置为将可能度得分与一个或多个频繁的链接锚模式(使用序列到序列模型700)组合以确定超链接的锚中的最可能的锚。
以下编号的示例可以说明本公开的一个或多个方面。
示例1、一种方法,包括:由至少一个处理器使用机器学习模型,至少部分地基于正在编辑的第一文档内的一个或多个词的序列和与第一文档相关的情境,确定是否将该一个或多个词的序列分类为候选超链接,响应于将一个或多个词的序列分类为候选超链接,使用机器学习模型,并且至少部分地基于一个或多个词的序列和情境,由至少一个处理器从多个文档中确定要从一个或多个词的序列中超链接的一个或多个候选文档,并且响应于接收到从一个或多个候选文档中选取第二文档的指示,由至少一个处理器修改第一文档以将一个或多个词的序列与到第二文档的超链接相关联。
示例2、示例1的方法,其中,第一文档包括电子消息,其中,与第一文档相关联的情境包括与一个或多个词的序列相关联的文本情境,并且其中,从多个文档中确定要从一个或多个词的序列超链接的一个或多个候选文档进一步包括:由至少一个处理器使用机器学习模型,并且至少部分地基于一个或多个词的序列以及与该一个或多个词的序列相关联的文本情境,来从多个文档中确定要从一个或多个词的序列超链接的一个或多个候选文档,并由至少一个处理器将包括到第二文档的超链接的电子消息发送到接收者。
示例3、示例1和2中任一项所述的方法,其中,从多个文档中确定要从一个或多个词的序列超链接的一个或多个候选文档进一步包括:由至少一个处理器并使用机器学习模型,至少部分地基于一个或多个词的序列和与第一文档相关联的情境,生成与一个或多个词的序列相关联的查询向量;由至少一个处理器并使用机器学习模型来生成与多个文档相关联的多个文档向量;由至少一个处理器并使用机器学习模型通过使用查询向量与多个文档向量中的每个文档向量的点积,来确定与多个文档相关联的多个点积得分;由至少一个处理器并使用机器学习模型,至少部分地基于与一个或多个候选文档相关联的一个或多个点积得分,从多个文档中确定要从一个或多个词的序列超链接的一个或多个候选文档。
示例4、示例3的方法,其中,查询向量和多个文档向量分别是多维实值嵌入向量。
示例5、示例3和4中任一项所述的方法,其中,使用机器学习来训练机器学习模型,使得查询向量和与第二文档相关联的文档向量的点积得分表示与查询向量相关联的一个或多个词的序列链接到与文档向量相关联的第二文档的可能度。
示例6、示例3到5中任一项所述的方法,还包括:由至少一个处理器并使用机器学习模型,至少部分地基于以下中的一个或多个来生成与第二文档相关联的文档向量:第二文档的主题、第二文档的标题、第二文档的内容、第二文档的类型、第二文档创建的时间、第二文档最后打开的时间、第二文档最后编辑的时间、第二文档被打开的频率、第二文档被编辑的频率、第二文档被共享的频率、第二文档的一个或多个作者、第二文档的一个或多个合作者、第二文档的共享设置、或与第二文档相关联的用户提供的元数据。
示例7、示例3到6中任一项所述的方法,其中,通过中的一个或多个来进一步训练机器学习模型:下一段落预测、文档开头预测或随机段落预测以确定与第二文档相关联的文档向量。
示例8、示例3到7中任一项所述的方法,其中,通过下一消息预测来进一步训练机器学习模型。
示例9、示例3到8中任一项所述的方法,其中,使用训练数据来进一步训练机器学习模型,该训练数据包括第一文档和链接到或附加到该第一文档的第二文档的对。
示例10、示例3到9中任一项所述的方法,其中,机器学习模型包括分类器,该分类器被配置为提供一个或多个可能度评分,该一个或多个可能度评分标识序列的一个或多个词将成为到第二文档的超链接的锚的可能度,并且其中,机器学习模型被配置为将可能度得分与一个或多个频繁链接锚模式组合,以确定超链接的锚中的最可能的锚。
示例11、示例3到9中任一项所述的方法,其中,机器学习模型包括序列到序列模型,该分类器配置为预测一个或多个可能度评分,以标识该序列的一个或多个词将成为到第二文档的超链接的锚的可能度,并且其中,机器学习模型被配置为将可能度得分与一个或多个频繁链接锚模式组合,以确定用于超链接的锚中的最可能的锚。
示例12、示例1到11中任一项所述的方法,其中,机器学习模型包括机器训练的分类器,该机器训练的分类器至少部分地基于一个或多个词的序列和与第一文档相关联的情境来将一个或多个词的序列分类为候选超链接。
示例13、示例1到12中任一项所述的方法,其中,与第一文档相关联的情境包括以下中的一个或多个:与一个或多个词的序列相关联的文本情境、第一文档的作者、第一文档的接收者、第一文档的标题、第一文档的内容、与第一文档相关联的活动、最后一次编辑第一文档的时间或包含第一文档的消息线程中的先前消息。
示例14、一种计算系统,包括:被配置为存储机器学习模型的存储器;和一个或多个处理器,被配置为:使用机器学习模型,至少部分地基于正在编辑的第一文档内的一个或多个词的序列和与第一文档相关的情境,确定是否将该一个或多个词的序列分类为候选超链接,响应于将一个或多个词的序列分类为候选超链接,使用机器学习的模型,并且至少部分地基于一个或多个词的序列和情境,从多个文档中确定要从一个或多个词的序列中超链接的一个或多个候选文档;并且响应于接收到从一个或多个候选文档中选取第二文档的指示,修改第一文档以将一个或多个词的序列与到第二文档的超链接相关联。
示例15、示例14的计算系统,其中,一个或多个处理器还被配置为:使用机器学习模型,至少部分地基于一个或多个词的序列和与第一文档相关联的情境,生成与一个或多个词的序列相关联的查询向量;使用机器学习模型来生成与多个文档相关联的多个文档向量;使用机器学习模型通过使用查询向量与多个文档向量中的每个文档向量的点积,来确定与多个文档相关联的多个点积得分;使用机器学习模型,至少部分地基于与一个或多个候选文档相关联的一个或多个点积得分,从多个文档中确定要从一个或多个词的序列超链接的一个或多个候选文档。
示例16、示例15所述的计算系统,其中,查询向量和多个文档向量分别是多维实值嵌入向量。
示例17、示例15和16中任一项所述的计算系统,其中,使用机器学习来训练机器学习模型,使得查询向量和与文档相关联的文档向量的点积得分表示与查询向量相关联的一个或多个词的序列链接到与文档向量相关联的第二文档的可能度。
示例18、示例15到17中任一项所述的计算系统,其中,机器学习模型包括分类器,该分类器被配置为提供一个或多个可能度评分,该一个或多个可能度评分标识序列的一个或多个词将成为到第二文档的超链接的锚的可能度,并且其中,机器学习模型被配置为将可能度得分与一个或多个频繁链接锚模式组合,以确定超链接的锚中的最可能的锚。
示例19、示例15到17中任一项所述的计算系统,其中,机器学习模型包括序列到序列模型,该分类器配置为预测一个或多个可能度评分,以标识该序列的一个或多个词将成为到第二文档的超链接的锚的可能度,并且其中,机器学习模型被配置为将可能度得分与一个或多个频繁链接锚模式组合,以确定用于超链接的锚的最可能的锚。
示例20、示例12到19中任一项所述的计算系统,其中,机器学习模型包括机器训练的分类器,该机器训练的分类器至少部分地基于一个或多个词的序列和与第一文档相关联的情境来将一个或多个词的序列分类为候选超链接。
示例21、一种计算机可读存储介质,该计算机可读存储介质包括指令,该指令在由至少一个处理器执行时使至少一个处理器:使用机器学习模型,至少部分地基于正在编辑的第一文档内的一个或多个词的序列和与第一文档相关的情境,确定是否将该一个或多个词的序列分类为候选超链接,响应于将一个或多个词的序列分类为候选超链接,使用机器学习模型,并且至少部分地基于一个或多个词的序列和情境,从多个文档中确定要从一个或多个词的序列中超链接的一个或多个候选文档,并且响应于接收到从一个或多个候选文档中选取第二文档的指示,修改第一文档以将一个或多个词的序列与到第二文档的超链接相关联。
示例22、示例21所述的计算机可读存储介质,其中,指令在由至少一个处理器执行时,进一步使至少一个处理器:使用机器学习模型,至少部分地基于一个或多个词的序列和情境,生成与一个或多个词的序列相关联的查询向量;使用机器学习模型,至少部分地基于多个文档向量,来生成与多个文档相关联的多个文档向量;使用机器学习模型通过执行查询向量与多个文档向量中的每个文档向量的点积,来确定与多个文档相关联的多个点积得分;使用机器学习模型,至少部分地基于与一个或多个候选文档相关联的一个或多个点积得分,从多个文档中确定要从一个或多个词的序列超链接的一个或多个候选文档。
示例23、示例22的计算机可读存储介质,其中,查询向量和多个文档向量分别是多维实值嵌入向量。
示例24、根据示例22和23中任一项所述的计算机可读存储介质,其中,使用机器学习来训练机器学习模型,使得查询向量和与第二文档相关联的文档向量的点积得分表示与查询向量相关联的一个或多个词的序列链接到与文档向量相关联的第二文档的可能度。
示例25、示例21-24中任一所述的计算机可读存储介质,其中,机器学习模型包括机器训练的分类器,该机器训练的分类器至少部分地基于一个或多个词的序列和与第一文档相关联的情境来将一个或多个词的序列分类为候选超链接。
示例25、一种计算系统,包括:至少一个处理器,被配置为执行示例1-13中的任一个的方法。
示例26、一种装置,包括用于执行示例1-13中的任一个的方法的单元。
在一个或多个示例中,可以以硬件、软件、固件或其任何组合来实现所描述的功能。如果以软件实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质在其上传输,并且可以由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,计算机可读存储介质对应于数据存储介质等有形介质,或通信介质,其包括便于将计算机程序从一个地方传输到另一个地方(例如,根据通信协议)的任何介质。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质,或者(2)诸如信号或载波的通信介质。数据存储介质可以是可由一台或多台计算机或一个或多个处理器访问以检索指令、代码和/或数据结构以实现本公开中描述的技术的任何可用介质。计算机程序产品可以包括计算机可读存储介质。
作为示例而非限制,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁性存储设备、闪存或任何其他介质,这些介质可用于存储以指令或数据结构形式存在的所需程序代码,并且可由计算机访问。而且,任何连接都适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(例如红外、无线电和微波)从网站、服务器或其他远程源发送指令,则介质的定义包括同轴电缆、光纤电缆、双绞线、DSL或诸如红外、无线电和微波的无线技术。但是,应该理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬态介质,而是针对非瞬态的有形存储介质。本文所用的磁盘和光盘包括紧致光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软式磁盘和蓝光光盘,其中磁盘通常以磁力方式再现数据,而光盘则以激光方式再现数据。上述的组合也应包括在计算机可读介质的范围内。
指令可由一个或多个处理器执行,例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或离散逻辑电路。因此,如本文所使用的,术语“处理器”可以指任何前述结构或适合于实现本文描述的技术的任何其他结构。另外,在一些方面,可以在专用硬件和/或软件模块内提供本文描述的功能。同样,该技术可以在一个或多个电路或逻辑元件中完全实现。
本公开的技术可以在包括无线手持机、集成电路(IC)或一组IC(例如,芯片组)的多种设备或装置中实现。在本发明中描述各种组件、模块或单元以强调经配置以执行所公开技术的设备的功能方面,而不一定需要由不同硬件单元来实现。相反,如上所述,各种单元可以结合在一个硬件单元中,或者由互操作的硬件单元集合提供,包括如上所述的一个或多个处理器,与合适的软件和/或固件结合。
已经描述了各种示例。这些和其他示例在所附权利要求的范围内。
Claims (15)
1.一种方法,其特征在于,包括:
由至少一个处理器使用机器学习模型,至少部分地基于正在被编辑的电子消息内的词和与所述词相关联的文本情境,确定是否将所述电子消息内的所述词分类为候选超链接;
响应于将所述词分类为所述候选超链接,由所述至少一个处理器使用所述机器学习模型并且至少部分地基于所述词和与所述词相关联的所述文本情境,从多个文档中确定要从所述词超链接的一个或多个候选文档;
响应于接收从所述一个或多个候选文档中选择文档的指示,由所述至少一个处理器修改所述电子消息以将所述词与到所述文档的超链接相关联;和
由所述至少一个处理器向接收者发送包括到所述文档的所述超链接的所述电子消息。
2.根据权利要求1所述的方法,其特征在于,从所述多个文档中确定要从所述词超链接的所述一个或多个候选文档还包括:
由所述至少一个处理器并使用所述机器学习模型,至少部分地基于所述词和所述文本情境,生成与所述词相关联的查询向量;
由所述至少一个处理器并使用所述机器学习模型,至少部分地基于多个文档向量,生成与所述多个文档相关联的多个文档向量;
由所述至少一个处理器并使用所述机器学习模型,通过执行所述查询向量与所述多个文档向量中的每个文档向量的点积,来确定与所述多个文档相关联的多个点积得分;和
由所述至少一个处理器并使用所述机器学习模型,至少部分地基于与所述一个或多个候选文档相关联的一个或多个点积得分,从所述多个文档中确定要从所述词超链接的所述一个或多个候选文档。
3.根据权利要求2所述的方法,其特征在于,所述查询向量和所述多个文档向量分别是嵌入向量。
4.根据权利要求2和3中任一项所述的方法,其特征在于,使用机器学习来训练所述机器学习模型,以使得所述查询向量和与所述文档相关联的文档向量的点积的所述点积得分对应于所述文档从与所述查询向量相关联的所述词超链接的可能度。
5.根据权利要求4所述的方法,其特征在于,与所述一个或多个候选文档相关联的所述一个或多个点积得分分别高于与所述多个文档中的剩余文档相关联的剩余点积得分。
6.根据权利要求4和5中任一项所述的方法,其特征在于,还包括:
由至少一个处理器使用机器学习模型,至少部分地基于以下中的一个或多个来生成与所述文档相关联的所述文档向量:所述文档的主题、所述文档的标题、所述文档的类型、上次打开所述文档的时间、打开所述文档的频率、编辑所述文档的频率、或共享所述文档的频率。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述机器学习模型包括机器训练的分类器,所述机器训练的分类器至少部分地基于所述电子消息内的所述词和与所述词相关联的文本情境来将所述词分类为所述候选超链接。
8.一种系统,其特征在于,包括:
被配置为存储机器学习模型的存储器;和
一个或多个处理器,被配置为:
使用所述机器学习模型,至少部分地基于正在被编辑的电子消息内的词和与所述词相关联的文本情境,确定是否将所述电子消息中的所述词分类为候选超链接;
响应于将所述词分类为所述候选超链接,使用所述机器学习模型并且至少部分地基于所述词和与所述词相关联的所述文本情境,从多个文档中确定要从所述词超链接的一个或多个候选文档;
响应于接收从所述一个或多个候选文档中选择文档的指示,修改所述电子消息以将所述词与到所述文档的超链接相关联;和
向接收者发送包括链接到所述文档的所述超链接的所述电子消息。
9.根据权利要求8所述的计算系统,其特征在于,所述一个或多个处理器进一步被配置为:
使用所述机器学习模型,至少部分地基于所述词和所述文本情境,生成与所述词相关联的查询向量;
使用所述机器学习模型,至少部分地基于多个文档向量,生成与所述多个文档相关联的多个文档向量;
使用所述机器学习模型,通过执行所述查询向量与所述多个文档向量中的每个文档向量的点积,来确定与所述多个文档相关联的多个点积得分;和
使用所述机器学习模型,至少部分地基于与所述一个或多个候选文档相关联的一个或多个点积得分,从所述多个文档中确定要从所述词超链接的所述一个或多个候选文档。
10.根据权利要求9所述的计算系统,其特征在于,所述查询向量和所述多个文档向量分别是嵌入向量。
11.根据权利要求9和10中的任一项所述的计算系统,其特征在于,使用机器学习来训练所述机器学习模型,以使得所述查询向量和与所述文档相关联的文档向量的点积的所述点积得分对应于所述文档从与所述查询向量相关联的所述词超链接的可能度。
12.根据权利要求11所述的系统,其特征在于,与所述一个或多个候选文档相关联的所述一个或多个点积得分分别高于与所述多个文档中的剩余文档相关联的剩余点积得分。
13.根据权利要求11和12中任一项所述的计算系统,其特征在于,所述一个或多个处理器进一步被配置为:
使用机器学习模型,至少部分地基于以下中的一个或多个来生成与所述文档相关联的所述文档向量:所述文档的主题、所述文档的标题、所述文档的类型、上次打开所述文档的时间、打开所述文档的频率、编辑所述文档的频率、或共享所述文档的频率。
14.根据权利要求8至13中任一项所述的计算系统,其特征在于,所述机器学习模型包括机器训练的分类器,所述机器训练的分类器至少部分地基于所述电子消息内的所述词和与所述词相关联的文本情境来将所述词分类为所述候选超链接。
15.一种计算机可读存储介质,其特征在于,包括指令,当所述指令由至少一个处理器执行时,所述指令使所述至少一个处理器执行权利要求1至7的任意组合所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862752621P | 2018-10-30 | 2018-10-30 | |
US62/752,621 | 2018-10-30 | ||
PCT/US2019/022327 WO2020091829A1 (en) | 2018-10-30 | 2019-03-14 | Automatic hyperlinking of documents |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112955893A true CN112955893A (zh) | 2021-06-11 |
Family
ID=65952161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980071944.9A Pending CN112955893A (zh) | 2018-10-30 | 2019-03-14 | 文档的自动超链接 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11238211B2 (zh) |
EP (1) | EP3857431A1 (zh) |
CN (1) | CN112955893A (zh) |
WO (1) | WO2020091829A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541705A (zh) * | 2023-05-06 | 2023-08-04 | 石家庄铁道大学 | 文本分类模型的训练方法及文本分类方法 |
CN116541705B (zh) * | 2023-05-06 | 2024-06-11 | 石家庄铁道大学 | 文本分类模型的训练方法及文本分类方法 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10021051B2 (en) * | 2016-01-01 | 2018-07-10 | Google Llc | Methods and apparatus for determining non-textual reply content for inclusion in a reply to an electronic communication |
US11948159B2 (en) * | 2019-04-08 | 2024-04-02 | Google Llc | Scalable matrix factorization in a database |
WO2020220369A1 (en) | 2019-05-01 | 2020-11-05 | Microsoft Technology Licensing, Llc | Method and system of utilizing unsupervised learning to improve text to content suggestions |
EP3948590A4 (en) * | 2019-05-01 | 2022-11-16 | Microsoft Technology Licensing, LLC | METHOD AND SYSTEM FOR USING UNSUPERVISED LEARNING TO IMPROVE CONTENT TEXT SUGGESTIONS |
US11222286B2 (en) * | 2019-06-14 | 2022-01-11 | The Toronto-Dominion Bank | Target document template generation |
US11544333B2 (en) * | 2019-08-26 | 2023-01-03 | Adobe Inc. | Analytics system onboarding of web content |
US11604966B1 (en) * | 2019-09-19 | 2023-03-14 | Cognizant Technology Solutions U.S. Corporation | Generative adversarial network optimization |
US11495210B2 (en) * | 2019-10-18 | 2022-11-08 | Microsoft Technology Licensing, Llc | Acoustic based speech analysis using deep learning models |
US11379671B2 (en) * | 2019-11-18 | 2022-07-05 | Salesforce, Inc. | Identification of response list |
US20210158161A1 (en) * | 2019-11-22 | 2021-05-27 | Fraud.net, Inc. | Methods and Systems for Detecting Spurious Data Patterns |
JP7456137B2 (ja) * | 2019-12-05 | 2024-03-27 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
EP4091063A4 (en) * | 2020-01-17 | 2024-02-21 | Nference Inc | SYSTEMS AND METHODS FOR MAPPING A TERM TO A VECTOR REPRESENTATION IN A SEMANTIC SPACE |
US11567981B2 (en) * | 2020-04-15 | 2023-01-31 | Adobe Inc. | Model-based semantic text searching |
US11734374B2 (en) * | 2021-01-31 | 2023-08-22 | Walmart Apollo, Llc | Systems and methods for inserting links |
CN113255780B (zh) * | 2021-05-28 | 2024-05-03 | 润联智能科技股份有限公司 | 一种减速箱故障预测方法、装置、计算机设备及存储介质 |
US11443114B1 (en) * | 2021-06-21 | 2022-09-13 | Microsoft Technology Licensing, Llc | Computing system for entity disambiguation and not-in-list entity detection in a knowledge graph |
CN114925660B (zh) * | 2022-05-23 | 2023-07-28 | 马上消费金融股份有限公司 | 文本处理模型训练方法及装置、文本处理方法及装置 |
US20240152561A1 (en) * | 2022-11-03 | 2024-05-09 | Home Depot Product Authority, Llc | Computer-based systems and methods for training and using a machine learning model for improved processing of user queries based on inferred user intent |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1549983A (zh) * | 2001-11-13 | 2004-11-24 | �Ҵ���˾ | 用于从物理文档选择电子文档并将所述电子文档显示在所述物理文档上面的系统和方法 |
CN101031915A (zh) * | 2004-06-30 | 2007-09-05 | Google公司 | 利用基于用户信息和情境自动生成的链接的增强的文档浏览 |
CN101388021A (zh) * | 2008-05-30 | 2009-03-18 | 索意互动(北京)信息技术有限公司 | 基于内容与关键词相关度给其添加附加信息的方法和系统 |
US7509573B1 (en) * | 2004-02-17 | 2009-03-24 | Microsoft Corporation | Anti-virus security information in an extensible markup language document |
EP2246793A1 (en) * | 2009-04-29 | 2010-11-03 | Research In Motion Limited | System and method for linking an address |
CN102193964A (zh) * | 2010-02-24 | 2011-09-21 | 微软公司 | 文档中的显式和非显式链接 |
CN102612689A (zh) * | 2009-10-28 | 2012-07-25 | 雅虎公司 | 用于将来自搜索的内容增加到文档或消息的机制 |
CN102682389A (zh) * | 2007-10-15 | 2012-09-19 | 谷歌公司 | 用于将信息从外部源提供到基于web的文档的方法和系统 |
US20130158981A1 (en) * | 2011-12-20 | 2013-06-20 | Yahoo! Inc. | Linking newsworthy events to published content |
US20140026048A1 (en) * | 2012-07-16 | 2014-01-23 | Questionmine, LLC | Apparatus, method, and computer program product for synchronizing interactive content with multimedia |
CN105637507A (zh) * | 2013-10-07 | 2016-06-01 | 微软技术许可有限责任公司 | 文本跨度的智能选择 |
US20170102845A1 (en) * | 2015-10-07 | 2017-04-13 | Google Inc. | Integration of content in non-browser applications |
US20180159804A1 (en) * | 2015-05-29 | 2018-06-07 | Microsoft Technology Licensing, Llc | Systems and methods for providing a comment-centered news reader |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7117432B1 (en) * | 2001-08-13 | 2006-10-03 | Xerox Corporation | Meta-document management system with transit triggered enrichment |
US8341095B2 (en) * | 2009-01-12 | 2012-12-25 | Nec Laboratories America, Inc. | Supervised semantic indexing and its extensions |
US20100251086A1 (en) | 2009-03-27 | 2010-09-30 | Serge Rene Haumont | Method and apparatus for providing hyperlinking in text editing |
US8775467B2 (en) * | 2009-04-29 | 2014-07-08 | Blackberry Limited | System and method for linking an address |
KR101038087B1 (ko) | 2009-11-30 | 2011-06-01 | 전남대학교산학협력단 | 이동통신 단말기에서의 하이퍼텍스트 제공 방법 |
US8255786B1 (en) * | 2010-04-09 | 2012-08-28 | Wal-Mart Stores, Inc. | Including hyperlinks in a document |
US8315849B1 (en) * | 2010-04-09 | 2012-11-20 | Wal-Mart Stores, Inc. | Selecting terms in a document |
US9141715B2 (en) * | 2012-01-03 | 2015-09-22 | International Business Machines Corporation | Automated hyperlinking in electronic communication |
US20170185596A1 (en) * | 2012-07-16 | 2017-06-29 | Gary Spirer | Trigger-based content presentation |
US10701014B2 (en) * | 2013-03-15 | 2020-06-30 | Companyons, Inc. | Contextual messaging systems and methods |
US10169453B2 (en) * | 2016-03-28 | 2019-01-01 | Microsoft Technology Licensing, Llc | Automatic document summarization using search engine intelligence |
US10255269B2 (en) * | 2016-12-30 | 2019-04-09 | Microsoft Technology Licensing, Llc | Graph long short term memory for syntactic relationship discovery |
US11210508B2 (en) * | 2020-01-07 | 2021-12-28 | International Business Machines Corporation | Aligning unlabeled images to surrounding text |
-
2019
- 2019-03-14 EP EP19714011.4A patent/EP3857431A1/en active Pending
- 2019-03-14 WO PCT/US2019/022327 patent/WO2020091829A1/en unknown
- 2019-03-14 US US16/978,658 patent/US11238211B2/en active Active
- 2019-03-14 CN CN201980071944.9A patent/CN112955893A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1549983A (zh) * | 2001-11-13 | 2004-11-24 | �Ҵ���˾ | 用于从物理文档选择电子文档并将所述电子文档显示在所述物理文档上面的系统和方法 |
US7509573B1 (en) * | 2004-02-17 | 2009-03-24 | Microsoft Corporation | Anti-virus security information in an extensible markup language document |
CN101031915A (zh) * | 2004-06-30 | 2007-09-05 | Google公司 | 利用基于用户信息和情境自动生成的链接的增强的文档浏览 |
CN102682389A (zh) * | 2007-10-15 | 2012-09-19 | 谷歌公司 | 用于将信息从外部源提供到基于web的文档的方法和系统 |
CN101388021A (zh) * | 2008-05-30 | 2009-03-18 | 索意互动(北京)信息技术有限公司 | 基于内容与关键词相关度给其添加附加信息的方法和系统 |
EP2246793A1 (en) * | 2009-04-29 | 2010-11-03 | Research In Motion Limited | System and method for linking an address |
CN102612689A (zh) * | 2009-10-28 | 2012-07-25 | 雅虎公司 | 用于将来自搜索的内容增加到文档或消息的机制 |
CN102193964A (zh) * | 2010-02-24 | 2011-09-21 | 微软公司 | 文档中的显式和非显式链接 |
US20130158981A1 (en) * | 2011-12-20 | 2013-06-20 | Yahoo! Inc. | Linking newsworthy events to published content |
US20140026048A1 (en) * | 2012-07-16 | 2014-01-23 | Questionmine, LLC | Apparatus, method, and computer program product for synchronizing interactive content with multimedia |
CN105637507A (zh) * | 2013-10-07 | 2016-06-01 | 微软技术许可有限责任公司 | 文本跨度的智能选择 |
US20180159804A1 (en) * | 2015-05-29 | 2018-06-07 | Microsoft Technology Licensing, Llc | Systems and methods for providing a comment-centered news reader |
US20170102845A1 (en) * | 2015-10-07 | 2017-04-13 | Google Inc. | Integration of content in non-browser applications |
Non-Patent Citations (1)
Title |
---|
董克: "数字文献资源多元深度聚合研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 6, 15 June 2017 (2017-06-15), pages 143 - 4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541705A (zh) * | 2023-05-06 | 2023-08-04 | 石家庄铁道大学 | 文本分类模型的训练方法及文本分类方法 |
CN116541705B (zh) * | 2023-05-06 | 2024-06-11 | 石家庄铁道大学 | 文本分类模型的训练方法及文本分类方法 |
Also Published As
Publication number | Publication date |
---|---|
US11238211B2 (en) | 2022-02-01 |
WO2020091829A1 (en) | 2020-05-07 |
US20200410157A1 (en) | 2020-12-31 |
EP3857431A1 (en) | 2021-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11238211B2 (en) | Automatic hyperlinking of documents | |
Rehman et al. | A hybrid CNN-LSTM model for improving accuracy of movie reviews sentiment analysis | |
Thangaraj et al. | Text classification techniques: A literature review | |
AU2016256753B2 (en) | Image captioning using weak supervision and semantic natural language vector space | |
GB2547068B (en) | Semantic natural language vector space | |
US9792534B2 (en) | Semantic natural language vector space | |
US20210004682A1 (en) | Adapting a sequence model for use in predicting future device interactions with a computing system | |
US20210174020A1 (en) | Recipient based text prediction for electronic messaging | |
US10937417B2 (en) | Systems and methods for automatically categorizing unstructured data and improving a machine learning-based dialogue system | |
US11183175B2 (en) | Systems and methods implementing data query language and utterance corpus implements for handling slot-filling and dialogue intent classification data in a machine learning task-oriented dialogue system | |
Qin et al. | Machine learning basics | |
Youpeng et al. | Amvae: Asymmetric multimodal variational autoencoder for multi-view representation | |
CA3066337A1 (en) | Method of and server for training a machine learning algorithm for estimating uncertainty of a sequence of models | |
US11442963B1 (en) | Method of and system for ranking subgraphs as potential explanations for graph classification | |
US12002276B2 (en) | Document distinguishing based on page sequence learning | |
US11983228B1 (en) | Apparatus and a method for the generation of electronic media | |
US20220300735A1 (en) | Document distinguishing based on page sequence learning | |
Venkatesh | Accelerating Information Retrieval using Natural Language Processing | |
US20230036737A1 (en) | Determining available memory on a mobile platform | |
Jai Arul Jose et al. | Aspect based hotel recommendation system using dilated multichannel CNN and BiGRU with hyperbolic linear unit | |
Feuz et al. | Ranking and automatic selection of machine learning models Abstract | |
Cărbune et al. | Incremental sharing using machine learning | |
WO2023224672A1 (en) | Deep learning system for navigating feedback | |
Price et al. | Machine Learning to Select Input Language on a Software Keyboard | |
WO2021137100A1 (en) | Method of and server for training a machine learning algorithm for estimating uncertainty of a sequence of models |
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 |