CN113272799B - 编码信息提取器 - Google Patents

编码信息提取器 Download PDF

Info

Publication number
CN113272799B
CN113272799B CN201880100474.XA CN201880100474A CN113272799B CN 113272799 B CN113272799 B CN 113272799B CN 201880100474 A CN201880100474 A CN 201880100474A CN 113272799 B CN113272799 B CN 113272799B
Authority
CN
China
Prior art keywords
tokens
document
value
generating
computer
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
Application number
CN201880100474.XA
Other languages
English (en)
Other versions
CN113272799A (zh
Inventor
王颖
李敏
陆梦嫣
施晓良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN113272799A publication Critical patent/CN113272799A/zh
Application granted granted Critical
Publication of CN113272799B publication Critical patent/CN113272799B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • G06F3/1298Printer language recognition, e.g. programme control language, page description language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Library & Information Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

本文公开的编码信息提取器使用机器学习方法从文档中提取编码信息。使用各种计算机处理指令来实现编码信息提取器的实现,该各种计算机处理指令包括扫描文档以生成多个令牌,使用术语频率(TF)、逆文档频率(IDF)以及代码类型相似性特征来确定多个令牌的一个或多个特征,并使用命名实体识别(NER)来确定一个或多个令牌的字段类型、字段名称和字段值。

Description

编码信息提取器
背景技术
在信息技术(IT)行业的技术文档中,编程代码被广泛地用作特定技术的描述。为了自动检查这些代码文本,需要信息提取。然而,这些代码文本通常源自各种类型的编程语言,这使得难以直接使用解析器来理解这些代码文本。具体地,为了使用这种代码解析器而需要特定编程语言的专业知识,这很难开发和维护。此外,代码解析器具有固定规则,可能无法处理带有拼写错误的代码文本,并且代码解析器通常无法处理不具有固定语法规则来解析的伪代码。
发明内容
本文公开的编码信息提取器使用机器学习方法从文档中提取编码信息。使用各种计算机处理指令来实现编码信息提取器的实现,包括:扫描文档以生成多个令牌,使用术语频率(TF)、逆文档频率(IDF)以及代码类型相似性特征来确定多个令牌的一个或多个特征,并使用命名实体识别(NER)来确定一个或多个令牌的字段类型、字段名称和字段值。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的概念的选集。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
本文还描述和列举了其他实现。
附图简述
通过参考在说明书的其余部分中描述的附图可以实现对本技术的本质和优点的进一步理解。
图1示出了用于从文档中提取编码信息的系统的示例实现。
图2示出了在其被令牌化之后的输入数据的示例模式。
图3示出了使用术语频率(TF)、逆文档频率(IDF)和N元(N-gram)来提取特征的示例操作。
图4示出了使用分类器来寻找两个命名实体之间的关系的示例操作。
图5示出了可用于实现所描述的用于提取代码的技术的示例计算系统。
详细描述
图1示出了用于从文档中提取编码信息的编码提取器系统100的示例实现。在一个实现中,代码提取器系统100可被部署在云环境上。代码提取器系统100的文档输入模块104可以包括扫描模块106以扫描文档102。例如,文档102可以包括各种技术文档,并且扫描模块106扫描文档102并且可以将来自文档的句子存储在一个或多个数据库中。作为示例,文档102可以包括用诸如C++、Java等编程语言编写的编程代码。或者,文档102可以包括各种伪代码文档。
预处理器112从文档102中标识代码文本部分。例如,文档102之一可以是具有自然语言的IT文档,例如描述或其他注释和一些编码部分。具体地,这样的编码部分可以包括使用C#编写的编程代码。预处理模块112分离这些编码部分并将它们分开存储以供进一步处理。在一个实现中,预处理部分将代码部分的每一行分隔成单独的记录。被分隔成单独记录的此类代码句子的示例可以如下:
·typedef struct{LICENSE license;CERT cert1;CERT cert2;}CERTIFIED_LICENSE;(CodeType:IDF)
·typedef enum{LineJoinTypeMiter=0x00000000,LineJoinTypeBevel=0x00000001,LineJoinTypeRound=0x00000002,LineJoinTypeMiterClipped=0x00000003}LineJoinType;(CodeType:IDF)
·RequireSortIndexHintValue::=SEQUENCE{IndexOnly BOOLEAN}(CodeType:ASN.1)
此外,预处理器112将一些单词分组为单个预先确定的单词。例如,十进制或十六进制数字被分组为单词“NUM(数字)”,而文本及其引号被分组为“STRING(字符串)”。随后,令牌化器模块114对这些代码句子的各个部分进行令牌化。在一个实现中,令牌化器模块114使用各种预定义规则来将已知字符和单词映射到预定义令牌。将已知字符映射到预定义令牌的此类规则的示例如下:
因此,令牌化器模块114可以将句子“typedef struct{LICENSE license;CERTcert1;CERT cert2;}CERTIFIED_LICENSE”从编码文档映射到“TYPEDEF STRUCT L-BRACELICENSE license SEMICOLON CERT cert1SEMICOLON CERT cert2 SEMICOLON R-BRACECERTIFIED_LICENSE SEMICOLON”。
随后,特征提取模块116使用从经令牌化的文档收集的术语频率/逆术语-频率(TF-IDF)统计来从经令牌化的句子中提取各种特征。为了确定TF-IDF统计,首先,特征提取模块116可以生成通常出现在文档中的各种n元,并生成这种n元的字典。例如,对于下面给出的经令牌化的文档数据,最多两(2)个元的术语字典可以被如下给出:
随后,特征提取模块116使用TF-IDF公式基于术语字典生成TF-IDF向量。TF表示术语t的流行度是文档d。TF公式的示例可以是:
·TF(t,d)=raw count of the term t(术语t的原始计数);
·TF(t,d)=(0,1)(1if term t occurs,0otherwise)(如果术语t出现,则为1,否则为0);
·TF(t,d)=log(1+ft,d),其中ft,d=frequency of the term t in thedocument d(术语t在文档d中的频率)。
另一方面,IDF是术语t提供多少信息的量度,即,该术语在各种文档中是常见的还是罕见的。用于IDF的公式可能是:
IDF(t,D)=log(N/|{d∈D:t∈d}|+1),其中N是文档D的语料库中文档的总数
然而,在替代实施方式中,可以使用其他TF-IDF公式。通过使用上面的公式,对于具有术语“TYPEDEF”的代码字符串,(“TYPEDEF STRUCT L-BRACE LICENSE licenseSEMICOLON CERT cert1 SEMICOLON CERT cert2SEMICOLON R-BRACE CERTIFIED_LICENSESEMICOLON”),TF=1且IDF=log(3/2+1)(给定三(3)个代码字符串,其中两(2)个代码字符串具有术语“TYPEDEF”。
一旦针对各种术语计算TF-IDF值,操作118就使用针对文档中的各种术语的术语TF-IDF向量来训练支持向量机(SVM)分类器。SVM分类器可以输出关于“由各种代码串表示的代码类型是什么”的置信度水平的向量。这种输出置信度向量的示例可以如下:
[XML:0.1;IDF:0.8:ASN.1:0.3;…]
随后,命名实体识别(NER)操作120将代码字符串中的术语标记为一个或多个命名实体。例如,这样的命名实体可以将术语命名为“Field Name(字段名称)”,“Field Value(字段值)”等。例如,对于代码字符串“typedef enum{LineJoinTypeMiter=0x00000000,LineJoinTypeBevel=0x00000001,LineJoinTypeRound=0x00000002,LineJoinTypeMiterClipped=0x00000003}LineJoinType”,一旦将其令牌化为“TYPEDEFENUM L-BRACE LineJoinTypeMiter EQU NUM COMMA LineJoinTypeBevel EQU NUM COMMALineJoinTypeRound EQU NUM COMMA LineJoinTypeMiterClipped EQU NUM R-BRACELineJoinType SEMICOLON”,NER操作120将各种令牌命名为如下:
TYPEDEF ENUM L-BRACE[LineJoinTypeMiter(Field Name)]EQU[NUM(FieldValue)]COMMA LineJoinTypeBevel EQU[NUM(Field Value)]
COMMA[LineJoinTypeRound(Field Name)]EQU[NUM(Field Value)]
COMMA[LineJoinTypeMiterClipped(Field Name)]EQU[NUM(Field Value)]R-BRACE[LineJoinType(Structure Name)]SEMICOLON
实体关系(ER)提取操作122使用分类器(例如SVM分类器)来寻找在操作120中标识的各种命名实体之间的关系。具体而言,来自NER操作的经识别的实体使用不同的关系相互链接,诸如Field Name(字段名称)->Field Type(字段类型),Field(字段)->Parent Field(父字段),Field Value(字段值)->Field Name(字段名称)等。因此,例如,ER提取操作122可以采用具有命名实体的上述字符串并建立以下关系:
[0x00000000NUM(Field Value)]属于[LineJoinTypeMiter(Field Name)]
[LineJoinTypeMiter(Field Name)]是[LineJoinType(Structure Name(结构名称))]的子字段
输出150可以包括由ER提取操作122生成的各种命名实体关系的向量。输出150中的其他信息可以是,例如,诸如LineJoinTypeMiter,[Field Value:0x00000000],LineJoinTypeMiter,[Parent(父):LineJoinType]等的记录。
图2示出了在其被令牌化之后的输入数据的示例模式200。例如,这种令牌化可以使用各种预定义规则来将已知字符和单词映射到预定义令牌。例如,代码字符串210中的单词“typedef”被令牌化为“TYPEDEF”,而字符“{”被令牌化为“L-BRACE”,如经令牌化的输出212中所示。类似地,代码字符串214中的符号“=”在输出字符串216中被令牌化为“EQU”。根据预定义规则与任何令牌不匹配的输入代码字符串的单词保持不变。因此,代码字符串218中的单词“RequireSortIndexHintValue”在输出代码字符串220中保持不变。
图3示出了用于生成标识代码字符串的编码语言的类型的置信度分数的示例操作300。代码字符串302可被输入到令牌化器操作310,该令牌化器操作310生成代码字符串的经令牌化的版本。操作312从经令牌化的代码字符串中标识各种n元。TF-IDF操作314为各种n元生成TF-IDF值以输出TF-IDF向量。这样的TF-IDF向量可被输入到SVM分类器316,SVM分类器316生成具有关于代码字符串302的编码语言类型的置信度分数的输出置信度向量320。
图4示出了本文公开的编码信息提取器的关系提取模型400的示例实现。特别地,关系提取模型400使用长短期记忆(LSTM),其能够利用序列中较长范围的时间依赖性并避免梯度消失或爆炸。关系提取模型400由三层组成,输入层402,LSTM层404和输出层406。输入层402生成从诸如图1中公开的NER操作120之类的先前操作接收到的每个命名实体的表示,诸如FieldName(字段名称),FieldValue(字段值)等。LTSM层表示具有双向LSTM递归神经网络(RNN)的句子的命名实体序列。具体地,每个LTSM单元在时间步骤t接收命名实体嵌入作为输入向量xt,先前隐藏状态ht-1,存储器单元向量ct-1,并使用以下等式产生新向量:
it=σ(Wxixt+Whiht-1+Wcict-1+bi)
ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)
ct=ftct-1+ittanh(Wxcxt+Whcht-1+bc)
ot=σ(Wxoxt+Whoht-1+Wcoct+bo)
ht=ottanh(ct)
其中σ表示逻辑函数,i,f,o,c和h分别是输入门,遗忘门,输出门,单元激活向量和隐藏状态向量。W是权重矩阵,并且b是偏向量。
输出层406使用隐藏层和softmax输出层来使用以下等式获得关系标记:
ht (r)=tanh(Wrh[yt-1;ht]+brh)
yt=softmax(Wryht (r)+by)
其中,b和h分别是权重矩阵,偏向量和隐藏状态。输出层406输出表示当前实体和第一命名实体之间的关系的关系标记序列。当关系提取模型400提取输入中的第一命名实体与当前实体之间的关系时,在一个实现中,命名实体从开始便被移除以便预测与不同输入的若干关系以获得输入代码字符串中的所有关系。
图5示出了可用于实现所描述的用于提供代码信息提取器的技术的示例计算系统500。图5的用于实现所述技术的示例硬件和操作环境包括诸如计算机20形式的通用计算设备之类的计算设备、移动电话、个人数据助理(PDA)、平板、智能手表、游戏控制器或其他类型的计算设备。例如,在图5的实现中,计算机20包括处理单元21、系统存储器22,以及将包括系统存储器的各种系统组件在操作上耦合到处理单元21的系统总线23。可以有只有一个或可以有一个以上的处理单元21,以便计算机20的处理器包括单一中央处理单元(CPU),或常常被称为并行处理环境的多个处理单元。计算机20可以是常规计算机、分布式计算机、或者任何其它类型的计算机;各实现不限于此。
系统总线23可以是若干类型的总线结构中的任何一种,包括使用各种总线体系结构中的任何一种的存储器总线或存储器控制器、外围总线,交换结构、点到点连接,以及局部总线。系统存储器也可以简称为存储器,并包括只读存储器(ROM)24和随机存取存储器(RAM)25。基本输入/输出系统(BIOS)26通常存储在ROM 24中,包含了诸如在启动过程中帮助在计算机20内的元件之间传输信息的基本例程。计算机20还包括用于对硬盘(未示出)进行读写的硬盘驱动器27、用于对可移动磁盘29进行读写的磁盘驱动器28、以及用于对可移动光盘31,如CD-ROM、DVD或其它光介质进行读写的光盘驱动器30。
硬盘驱动器27、磁盘驱动器28,以及光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33,以及光盘驱动器接口34连接到系统总线23。驱动器及其相关联的计算机可读介质为计算机20提供了对计算机可读指令、数据结构、程序模块,及其他数据的非易失性存储。本领域技术人员应该理解,可以在示例操作环境中使用任何类型的有形计算机可读介质。
可以有若干个程序模块存储在硬盘驱动器27、磁盘28、光盘30、ROM 24或RAM 25上,包括操作系统35、一个或多个应用程序36、其他程序模块37、以及程序数据38。用户可以通过诸如键盘40和定向设备42之类的输入设备在个人计算机20上生成提醒。其他输入设备(未示出)可以包括麦克风(例如,用于语音输入)、相机(例如,用于自然用户界面(NUI))、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些及其他输入设备常常通过耦合到系统总线23的串行端口接口46连接到处理单元21,但是,也可以通过其他接口,如并行端口、游戏端口或通用串行总线(USB)端口来进行连接。监视器47或其他类型的显示设备也可经由诸如视频适配器48之类的接口被连接到系统总线23。除了监视器之外,计算机还通常包括其他外围输出设备(未示出),如扬声器和打印机。
计算机20可以使用到一个或多个远程计算机(如远程计算机49)的逻辑连接,在联网环境中操作。这些逻辑连接由耦合至或者作为计算机20一部分的通信设备来实现;本发明不限于特定类型的通信设备。远程计算机49可以是另一计算机、服务器、路由器、网络PC、客户端、对等设备或其他常见的网络节点,并且一般包括上面关于计算机20所述的许多或全部元件。图10中所描绘的逻辑连接包括局域网(LAN)51和广域网(WAN)52。这样的联网环境在办公室网络、企业范围的计算机网络、内部网和因特网(它们都是各种网络)中是普遍现象。
当用于LAN联网环境中时,计算机20通过网络接口或适配器53(这是一种类型的通信设备)连接到局域网51。当用于WAN联网环境中时,计算机20通常包括调制解调器54、网络适配器、一种类型的通信设备,或用于通过广域网52建立通信的任何其他类型的通信设备。或为内置或为外置的调制解调器54经由串行端口接口46连接到系统总线23。在联网环境中,参考个人计算机20所描述的程序引擎,或其某些部分,可以存储在远程存储器存储设备中。可以理解,所示出的网络连接只是示例,也可以使用用于在计算机之间建立通信链路的其他装置和通信设备。
在示例实现中,用于提供可证实和可破坏的设备身份的软件或固件指令可被存储在存储器22和/或存储设备29或31中并由处理单元21处理。本文公开的一个或多个ML,NLP或DLP模型可作为持久数据存储被存储在存储器22和/或存储设备29或31中。例如,代码信息提取器模块502可被实现在计算机20上(或者,代码信息提取器模块502可被实现在服务器上或云环境中)。代码信息提取器模块502可以使用处理单元21、存储器22、系统总线23和个人计算机20的其他组件中的一个或多个。
与有形计算机可读存储介质对比,无形计算机可读通信信号可用诸如载波或其他信号传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据。术语“已调制数据信号”意指使其一个或多个特性以这样的方式被设置或者改变以便在信号中对信息进行编码的信号。作为示例而非限制,无形通信信号包括有线介质(诸如有线网络或直接线路连接),以及无线介质(诸如声学、RF、红外线和其他无线介质)。
本文中所描述的各实现可被实现为一个或多个计算机系统中的逻辑步骤。逻辑操作可被实现为:(1)在一个或多个计算机系统中执行的处理器实现的步骤的序列;以及(2)一个或多个计算机系统内的互连机器或电路模块。该实现是取决于被利用的计算机系统的性能要求的选择问题。相应地,组成本文中所描述的各实现的逻辑操作另外还可被称为操作、步骤、对象、或模块。此外,还应该理解,逻辑操作可以以任何顺序来执行,除非明确地声明,或者权利要求语言固有地要求某特定顺序。
上面的说明、示例和数据提供了对本发明的示例性实施例的结构和使用的完整的描述。因为可以在不背离本发明的精神和范围的情况下做出本发明的许多实现方式,所以本发明落在所附权利要求的范围内。此外,不同实施例的结构特征可以与另一实现方式相组合而不偏离所记载的权利要求书。

Claims (20)

1.一种包括一个或多个有形计算机可读存储介质的物理制品,所述存储介质编码用于在计算机系统上执行计算机过程以提供可证实和可破坏的设备身份的计算机可执行指令,所述计算机过程包括:
扫描代码文档以生成多个令牌;
基于所述多个令牌生成术语频率(TF)值和逆文档频率(IDF)值;
基于所述术语频率(TF)值和所述逆文档频率(IDF)值来从一个或多个令牌的多个不同编程语言类型中生成指示可能的编程语言类型的置信度向量;以及
使用命名实体识别(NER)来确定一个或多个令牌的字段类型、字段名称和字段值中的至少一者。
2.如权利要求1所述的物理制品,其特征在于,所述计算机过程还包括使用实体关系提取模型来生成所述一个或多个令牌之间的链接。
3.如权利要求2所述的物理制品,其特征在于,所述关系提取模型是长短期记忆(LSTM)模型。
4.如权利要求2所述的物理制品,其特征在于,所述置信度向量由支持向量机(SVM)分类器生成。
5.如权利要求1所述的物理制品,其特征在于,所述置信度向量包括与多个编程语言分类器相关的多个置信度分数。
6.如权利要求1所述的物理制品,其特征在于,其中扫描文档以生成多个令牌进一步包括生成表示单词、数字和句子中的除了单词和数字以外的其他符号的每一个的令牌。
7.如权利要求6所述的物理制品,其特征在于,其中扫描文档以生成多个令牌进一步包括使用多个预定义规则来将一个或多个已知字符和单词映射到预定义令牌。
8.如权利要求6所述的物理制品,其特征在于,所述计算机过程进一步包括预处理所述代码文档以将多个不同单词分组到单个预先确定的单词。
9.一种计算环境中的至少部分地在至少一个处理器上执行的方法,所述方法包括:
扫描代码文档以生成多个令牌;
基于所述多个令牌为所述代码文档中的术语生成n元,其中n是自然数;
基于所述n元生成术语频率(TF)值和逆文档频率(IDF)值;
基于所述术语频率(TF)值和所述逆文档频率(IDF)值来从一个或多个令牌的多个不同编程语言类型中生成指示可能的编程语言类型的置信度向量;以及
使用命名实体识别(NER)来确定一个或多个令牌的字段类型、字段名称和字段值中的至少一者。
10.如权利要求9所述的方法,其特征在于,所述方法还包括使用实体关系提取模型来生成所述一个或多个令牌之间的链接。
11.如权利要求10所述的方法,其特征在于,所述关系提取模型是长短期记忆(LSTM)模型。
12.如权利要求10所述的方法,其特征在于,所述置信度向量由支持向量机(SVM)分类器生成。
13.如权利要求9所述的方法,其特征在于,所述置信度向量包括与多个编程语言分类器相关的多个置信度分数。
14.如权利要求9所述的方法,其特征在于,其中扫描文档以生成多个令牌进一步包括使用多个预定义规则来将一个或多个已知字符和单词映射到预定义令牌。
15.如权利要求13所述的方法,其特征在于,所述方法进一步包括预处理所述代码文档以将多个不同单词分组到单个预先确定的单词。
16.一种在计算环境中的系统,包括:
存储器;
一个或多个处理器单元;
存储在所述存储器上并能由所述一个或多个处理器单元执行的文档发起扫描仪系统,所述文档发起扫描仪系统对所述存储器上的计算机可执行指令进行编码以在所述一个或多个处理单元上执行计算机过程,所述计算机过程包括:
扫描代码文档以生成多个令牌;
基于所述多个令牌生成术语频率(TF)值和逆文档频率(IDF)值;
基于所述术语频率(TF)值和所述逆文档频率(IDF)值来从一个或多个令牌的多个不同编程语言类型中生成指示可能的编程语言类型的置信度向量;
使用命名实体识别(NER)来确定一个或多个令牌的字段类型、字段名称和字段值中的至少一者;以及
使用实体关系提取模型来生成一个或多个令牌之间的链接。
17.如权利要求16所述的系统,其特征在于,所述关系提取模型是长短期记忆(LSTM)模型。
18.如权利要求17所述的系统,其特征在于,所述置信度向量由支持向量机(SVM)分类器生成。
19.如权利要求18所述的系统,其特征在于,所述置信度向量包括与多个编程语言分类器相关的多个置信度分数。
20.如权利要求18所述的系统,其特征在于,其中扫描文档以生成多个令牌进一步包括生成表示单词、数字和句子中的除了单词和数字以外的其他符号的每一个的令牌。
CN201880100474.XA 2018-12-25 2018-12-25 编码信息提取器 Active CN113272799B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/123354 WO2020132852A1 (en) 2018-12-25 2018-12-25 Coding information extractor

Publications (2)

Publication Number Publication Date
CN113272799A CN113272799A (zh) 2021-08-17
CN113272799B true CN113272799B (zh) 2024-06-14

Family

ID=71128463

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880100474.XA Active CN113272799B (zh) 2018-12-25 2018-12-25 编码信息提取器

Country Status (4)

Country Link
US (1) US11392772B2 (zh)
EP (1) EP3903207A4 (zh)
CN (1) CN113272799B (zh)
WO (1) WO2020132852A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220947A (zh) * 2021-05-27 2021-08-06 支付宝(杭州)信息技术有限公司 对事件特征进行编码的方法和装置
US11966699B2 (en) * 2021-06-17 2024-04-23 International Business Machines Corporation Intent classification using non-correlated features

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085755B2 (en) 2002-11-07 2006-08-01 Thomson Global Resources Ag Electronic document repository management and access system
US7765212B2 (en) * 2005-12-29 2010-07-27 Microsoft Corporation Automatic organization of documents through email clustering
US8676815B2 (en) * 2008-05-07 2014-03-18 City University Of Hong Kong Suffix tree similarity measure for document clustering
US8214346B2 (en) * 2008-06-27 2012-07-03 Cbs Interactive Inc. Personalization engine for classifying unstructured documents
JP5879260B2 (ja) 2009-06-09 2016-03-08 イービーエイチ エンタープライズィーズ インコーポレイテッド マイクロブログメッセージの内容を分析する方法及び装置
JP2015505082A (ja) 2011-12-12 2015-02-16 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報ドメインに対する自然言語処理モデルの生成
US8881104B2 (en) * 2012-04-09 2014-11-04 Accenture Global Services Limited Component discovery from source code
US9189473B2 (en) * 2012-05-18 2015-11-17 Xerox Corporation System and method for resolving entity coreference
US9092444B2 (en) * 2013-03-11 2015-07-28 International Business Machines Corporation Caching of deep structures for efficient parsing
US9852132B2 (en) * 2014-11-25 2017-12-26 Chegg, Inc. Building a topical learning model in a content management system
US10489463B2 (en) * 2015-02-12 2019-11-26 Microsoft Technology Licensing, Llc Finding documents describing solutions to computing issues
US10769522B2 (en) * 2017-02-17 2020-09-08 Wipro Limited Method and system for determining classification of text
US20180260474A1 (en) * 2017-03-13 2018-09-13 Arizona Board Of Regents On Behalf Of The University Of Arizona Methods for extracting and assessing information from literature documents
US10943583B1 (en) * 2017-07-20 2021-03-09 Amazon Technologies, Inc. Creation of language models for speech recognition
US11288456B2 (en) * 2018-12-11 2022-03-29 American Express Travel Related Services Company, Inc. Identifying data of interest using machine learning

Also Published As

Publication number Publication date
EP3903207A4 (en) 2022-07-20
US11392772B2 (en) 2022-07-19
CN113272799A (zh) 2021-08-17
EP3903207A1 (en) 2021-11-03
WO2020132852A1 (en) 2020-07-02
US20210312132A1 (en) 2021-10-07

Similar Documents

Publication Publication Date Title
US11636264B2 (en) Stylistic text rewriting for a target author
Neal et al. Surveying stylometry techniques and applications
WO2020232861A1 (zh) 命名实体识别方法、电子装置及存储介质
US10095610B2 (en) Testing applications with a defined input format
EP2664997B1 (en) System and method for resolving named entity coreference
CN111626048A (zh) 文本纠错方法、装置、设备及存储介质
WO2020232943A1 (zh) 用于事件预测的知识图构建方法与事件预测方法
EP3343400A1 (en) System and method for dynamically creating a domain ontology
KR102491172B1 (ko) 자연어 질의응답 시스템 및 그 학습 방법
US11636266B2 (en) Systems and methods for unsupervised neologism normalization of electronic content using embedding space mapping
US9208140B2 (en) Rule based apparatus for modifying word annotations
CN112541338A (zh) 相似文本匹配方法、装置、电子设备及计算机存储介质
US20200081978A1 (en) Machine-learning based detection and classification of personally identifiable information
US12073181B2 (en) Systems and methods for natural language processing (NLP) model robustness determination
CN111783471B (zh) 自然语言的语义识别方法、装置、设备及存储介质
US20120110003A1 (en) Conditional execution of regular expressions
KR102560521B1 (ko) 지식 그래프 생성 방법 및 장치
CN113272799B (zh) 编码信息提取器
WO2022228127A1 (zh) 要素文本处理方法、装置、电子设备和存储介质
JP7291181B2 (ja) 業界テキスト増分方法、関連装置、およびコンピュータプログラム製品
CN115017870A (zh) 一种闭环的话术扩写方法、装置、计算机设备及存储介质
WO2020132851A1 (en) Date extractor
US20140372106A1 (en) Assisted Free Form Decision Definition Using Rules Vocabulary
WO2021082570A1 (zh) 基于人工智能的语义识别方法、装置和语义识别设备
US11301633B2 (en) Technical document issues scanner

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