CN112580691B - 一种元数据字段的术语匹配方法、匹配***和存储介质 - Google Patents
一种元数据字段的术语匹配方法、匹配***和存储介质 Download PDFInfo
- Publication number
- CN112580691B CN112580691B CN202011342621.XA CN202011342621A CN112580691B CN 112580691 B CN112580691 B CN 112580691B CN 202011342621 A CN202011342621 A CN 202011342621A CN 112580691 B CN112580691 B CN 112580691B
- Authority
- CN
- China
- Prior art keywords
- matching
- trained
- word
- words
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000011218 segmentation Effects 0.000 claims abstract description 60
- 238000007781 pre-processing Methods 0.000 claims abstract description 14
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000004140 cleaning Methods 0.000 claims description 5
- 239000000203 mixture Substances 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 241001482311 Trionychidae Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- VLKZOEOYAKHREP-UHFFFAOYSA-N n-Hexane Chemical group CCCCCC VLKZOEOYAKHREP-UHFFFAOYSA-N 0.000 description 1
- 235000011962 puddings Nutrition 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/28—Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Library & Information Science (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种元数据字段的术语匹配方法、匹配***和存储介质,包括:对元数据训练集中的第一检索词进行预处理,得到第二检索词;对第二检索词进行判断,与待训练词汇表数据库中的待训练词汇进行匹配,获取匹配不成功的待检索词;使用条件随机场分词算法对待检索词进行分词,得到每个待检索词的多个第三检索词,与待训练词汇进行匹配,确定匹配词;根据匹配词对待训练词汇表数据库进行更新,对条件随机场分词算法进行训练,得到训练好的分类器和训词汇表;使用训练好的分类器和词汇表,对待匹配的元数据字段中的待匹配词进行匹配。使用条件随机场分词算法对待检索词进行分词,确定匹配词,能够在自动匹配的前提下提高待检索词的匹配准确度。
Description
技术领域
本申请涉及数据识别技术领域,尤其涉及一种元数据字段的术语匹配方法、匹配***和存储介质。
背景技术
大多数企业需要花费大量的时间和精力,处理杂乱无章且疏于整合的数据。他们的员工要么无法找到合适的数据,要么不信任所找到的数据。最重要的是,各式各样的行业法规制约了自助服务和数据自主化进程。因此,企业尝试通过各种劳动密集型任务(包括编写自定义的程序,开发全局替换功能等)以修复数据,这严重影响数据分析师和数据科学家的生产力。大企业尤其如此,多年的并购云集了各色***和数据库,导致数据环境极其复杂。虽然维护这些遗留数据环境已令企业感到疲惫不堪,但新数据仍以无法想象的速度不断产生。
综上所述,需要提供一种自动且准确性高的元数据字段的术语匹配方法、匹配***和存储介质。
发明内容
为解决以上问题,本申请提出了一种元数据字段的术语匹配方法、匹配***和存储介质。
第一方面,本申请提出了一种元数据字段的术语匹配方法,包括:
对元数据训练集中的第一检索词进行预处理,得到第二检索词;
对所述第二检索词进行判断,与待训练词汇表数据库中的待训练词汇进行匹配,获取匹配不成功的待检索词;
使用条件随机场分词算法对所述待检索词进行分词,得到每个所述待检索词的多个第三检索词,与所述待训练词汇进行匹配,确定匹配词;
根据所述匹配词对待训练词汇表数据库进行更新,对所述条件随机场分词算法进行训练,得到训练好的分类器和训练好的词汇表;
使用训练好的分类器和训练好的所述词汇表,对待匹配的元数据字段进行匹配。
优选地,在所述对元数据训练集中的第一检索词进行预处理,得到第二检索词之前,还包括:
收集表数据并清洗所述表数据中的非法字符,建立待训练词汇表;
使用待训练词汇表建立待训练词汇表数据库。
优选地,所述对元数据训练集中的第一检索词进行预处理,得到第二检索词,包括:
获取元数据训练集中元数据中的所有第一检索词;
去除每个所述第一检索词中的非法字符,得到每个所述第一检索词对应的第二检索词。
优选地,所述对所述第二检索词进行判断,与待训练词汇表数据库中的待训练词汇进行匹配,得到待检索词,包括:
对所述第二检索词进行判断,得到中文第二检索词和非中文第二检索词;
在待训练词汇表数据库中对所述中文第二检索词进行直接匹配,确定匹配不到匹配词的所述中文第二检索词;
将所述非中文第二检索词和匹配不到匹配词的所述中文第二检索词作为待检索词。
优选地,所述使用条件随机场分词算法对所述待检索词进行分词,得到每个所述待检索词的多个第三检索词,与所述待训练词汇进行匹配,确定匹配词,包括:
使用条件随机场分词算法对较长的所述待检索词进行分词,生成所述待检索词的每个分词的多个第三检索词,所述第三检索词包括:全拼码、简拼码、英文名和/或中文名;
对每个所述待检索词的所有所述第三检索词与所述待训练词汇进行字符匹配,计算每个所述待检索词对应的每个所述第三检索词的匹配度;
根据所述匹配度和匹配阈值,确定所述待检索词的匹配词。
优选地,所述使用训练好的所述分类器和训练好的词汇表,对待匹配的元数据字段进行匹配,包括:
分类器和训练好的对待匹配的元数据字段中进行匹配,获取匹配不成功的元数据字段作为待匹配词;
使用训练好的条件随机场分词算法作为训练好的分类器,对每个所述待匹配词进行分词,得到每个所述待匹配词对应的多个第三检索词;
对多个所述第三检索词在训练好的所述词汇表中进行字符匹配,计算每个第三检索词的匹配度;
根据匹配度和匹配阈值,确定每个所述待匹配词应的的匹配词,所述匹配词为所述待匹配词的匹配术语。
优选地,所述表数据包括:
客户术语表、行业标准字段解释映射表、业务***定版审核过的元数据字段和解释对照表,其中,每种表均包括:中文名、英文名、全拼码和简拼码。
优选地,所述第一检索词和所述第二检索词的类型均包括:中文、全拼、简拼、英文、英文缩写和/或混合。
第二方面,本申请提出了一种元数据字段的术语匹配***,包括:
训练模块,用于对元数据训练集中的第一检索词进行预处理,得到第二检索词;对所述第二检索词进行判断,与待训练词汇表数据库中的待训练词汇进行匹配,获取匹配不成功的待检索词;使用条件随机场分词算法对所述待检索词进行分词,得到每个所述待检索词的多个第三检索词,与所述待训练词汇进行匹配,确定匹配词;根据所述匹配词对待训练词汇表数据库进行更新,对所述条件随机场分词算法进行训练,得到训练好的分类器和训练好的词汇表;
匹配模块,用于使用训练好的所述分类器和训练好的词汇表,对待匹配的元数据字段中的待匹配词进行匹配。
第三方面,本申请提出了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上所述的元数据字段的术语匹配方法。
本申请的优点在于:通过对所述第二检索词进行判断,与训练好的词汇表数据库中的词汇进行匹配,得到匹配不成功的待检索词,再使用条件随机场分词算法对待检索词进行分词并使用训练好的分类器进行分类,得到多个第三检索词,与训练好的词汇表进行匹配,计算匹配度,根据匹配阈值确定匹配词,能够在自动匹配的前提下提高待检索词的匹配准确度。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选事实方案的目的,而并不认为是对本申请的限制。而且在整个附图中,用同样的参考符号表示相同的部件。在附图中:
图1是本申请提供的一种元数据字段的术语匹配方法的步骤示意图;
图2是本申请提供的一种元数据字段的术语匹配方法的流程示意图;
图3是本申请提供的一种元数据字段的术语匹配方法的Aho-Corasick算法将模式串预处理为有限状态自动机的示意图;
图4是本申请提供的一种元数据字段的术语匹配方法的邻接矩阵数据结构示意图;
图5是本申请提供的一种元数据字段的术语匹配方的Viterbi算法求解所用邻接表数据结构的示意图;
图6是本申请提供的一种元数据字段的术语匹配***的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
第一方面,根据本申请的实施方式,提出一种元数据字段的术语匹配方法,如图1所示,包括:
S101,对元数据训练集中的第一检索词进行预处理,得到第二检索词;
S102,对第二检索词进行判断,与待训练词汇表数据库中的待训练词汇进行匹配,获取匹配不成功的待检索词;
S103,使用条件随机场分词算法对待检索词进行分词,得到每个待检索词的多个第三检索词,与待训练词汇进行匹配,确定匹配词;
S104,根据匹配词对待训练词汇表数据库进行更新,对所述条件随机场分词算法进行训练,得到训练好的分类器和训练好的词汇表;
S105,使用训练好的分类器和训练好的词汇表,对待匹配的元数据字段进行匹配。
优选地,在对元数据训练集中的第一检索词进行预处理,得到第二检索词之前,还包括:收集表数据并清洗表数据中的非法字符,建立待训练词汇表;使用待训练词汇表建立待训练词汇表数据库。
其中,待训练词汇表数据库为词汇和词汇的分词,以及与词汇和/或分词对应的中文,简拼码,全拼码,英文,英文缩写或混合的查找表形成词汇表数据库。
收集的表数据包括:客户术语表、行业标准字段解释映射表、业务***定版审核过的元数据字段和解释对照表等。其中,每种表均包括:中文名、英文名、全拼码和简拼码等。
对元数据训练集中的第一检索词进行预处理,得到第二检索词,包括:获取元数据训练集中元数据中的所有第一检索词;去除每个第一检索词中的非法字符,得到每个第一检索词对应的第二检索词。
其中,元数据训练集中的第一检索词均为有标签(已经确定好匹配词)的词。第一检索词和第二检索词的类型均包括:中文、全拼、简拼、英文、英文缩写和/或混合。
对第二检索词进行判断,与待训练词汇表数据库中的待训练词汇进行匹配,得到待检索词,包括:
对第二检索词进行判断,得到中文第二检索词和非中文第二检索词;在待训练词汇表数据库中对中文第二检索词进行直接匹配,确定匹配不到匹配词的中文第二检索词;将非中文第二检索词和匹配不到匹配词的中文第二检索词作为待检索词。直接匹配即直接检索匹配。
使用条件随机场分词算法对待检索词进行分词,得到每个待检索词的多个第三检索词,与待训练词汇进行匹配,确定匹配词,包括:使用条件随机场分词算法对较长的待检索词进行分词,生成待检索词的每个分词的多个第三检索词,第三检索词包括:全拼码、简拼码、英文名和/或中文名;对每个待检索词的所有第三检索词与待训练词汇进行字符匹配,计算每个待检索词对应的每个第三检索词的匹配度;根据匹配度和匹配阈值,确定待检索词的匹配词。其中,得到每个待检索词的多个第三检索词的方法还包括:直接生成待检索词的多个第三检索词。若第二检索词为中文词,则可以直接生成与第二检索词对应的多个第三检索词。
第三检索词为第二检索词的中文,简拼,英文,英文缩写和/或前述几种的混合词。
字符匹配是根据第三检索词中的字符与待训练词汇中对应项(词)字符的匹配个数与它们中的最长的字符串长度的比值来度量的,其匹配度CD定义为:
其中,IC表示匹配的字符个数,LMAX表示据第三检索词中的字符个数与待训练词汇中对应项字符中对应项的字符个数的最大值。
使用训练好的分类器和训练好的词汇表,对待匹配的元数据字段进行匹配,包括:使用训练好的词汇表对待匹配的元数据字段进行匹配,获取匹配不成功的元数据字段作为待匹配词;使用训练好的条件随机场(Conditional Random Field,CRF)分词算法作为训练好的分类器,对每个待匹配词进行分词,得到每个待匹配词对应的多个第三检索词;对多个第三检索词在训练好的词汇表中进行字符匹配,计算每个第三检索词的匹配度;根据匹配度和匹配阈值,确定每个待匹配词对应的匹配词,匹配词为待匹配词的匹配术语。使用匹配词对训练好的词汇表数据库进行更新时,保存匹配词和与此匹配词对应的第一检索词、第二检索词和/或第三检索词。词汇表数据库中包括多个词汇表。在进行匹配时,还根据决策建议以及匹配度排序,决策建议即为选择匹配度最大的作为待匹配词的匹配词(匹配术语);匹配度排序即为,若匹配度最大的分类结果由多个,即有多个分类结果的匹配度相同且最大,则选择其中排在最前面或其中最先计算出匹配度的作为待匹配词的匹配词。
下面,对本申请实施例进行进一步说明。
如图2所示,首先,需要建立待训练词汇表,用于与元数据训练集中的词汇进行匹配,因此,需要收集至少包括:中文名、英文名、全拼码和/或简拼码等的客户术语表,行业标准字段解释映射表和业务***定版审核过的元数据字段与解释对照表等表数据。之后根据已有面向行业的数据集和标签对模型进行预先训练,形成基于机器学习的分类器来提供决策建议和术语分配规则。通过建立0-1的术语匹配度确定置信度评分,按照关键字中的字母顺序与匹配个数进行建模。
待训练词汇表的建立过程,首先需要对收集到的表数据进行清洗,去除表数据中的非法字符,建立词汇和词汇的分词,以及与词汇和/或分词对应的中文(中文名),简拼码,全拼码,英文(英文名),英文缩写或混合的查找表形成的待训练词汇表;使用待训练词汇表建立待训练词汇表数据库。
获取包括确定意义的检索词(第一检索词)的元数据,组成元数据训练集,去除每个第一检索词中的非法字符,得到每个第一检索词的第二检索词。
对第二检索词的类型进行判断,确定第二检索词中的中文词和非中文词,得到中文第二检索词和非中文第二检索词。第二检索词的类型包括:全拼,简拼,英文,英文缩写和/或混合。在待训练词汇表数据库中对中文第二检索词进行直接检索的匹配,确定匹配不到匹配词的中文第二检索词,将非中文第二检索词和匹配不到匹配词的中文第二检索词作为待检索词。匹配到匹配词的中文检索词,其对应的匹配词直接用于待训练词汇表数据库的更新。
使用条件随机场分词算法对待检索词进行分词,得到每个待检索词的多个第三检索词,与待训练词汇进行匹配,确定匹配词。具体地,可以直接生成待检索词的多个第三检索词,或使用条件随机场分词算法对较长的待检索词进行分词,生成待检索词的每个分词的多个第三检索词,第三检索词包括:全拼码、简拼码、英文名和/或中文名。待检索词的中文根据拼音规则可以得到全拼码、和简拼码、通过汉英词典词库进行检索得到英文名,再根据英文和英文简写对照表可以获取英文简写码。
假设待检索词为name,则直接生成待检索词的第三检索词,包括:姓名、xingming和/或xm等。假设待检索词为xing_ming,则使用条件随机场分词算法对待检索词进行分词后去除每个分词中的非法字符,得到xing和ming这两个分词,再对生成第三检索词,其中,分词xing对应的第三检索词包括:姓、surname、family name、last name和x等;分词ming对应的第三检索词包括:名、given name、first name和m等。
遍历待训练词汇表中的待训练词汇,对每个待检索词的所有第三检索词进行字符匹配,计算每个待检索词对应的每个第三检索词与待训练词汇的匹配度;根据匹配度和设定好的匹配阈值,确定待检索词的匹配词。选择各项匹配度之和最高而且大于匹配阈值的词汇的中文名作为新的检索词。对第三检索词为英文的检索词,若全拼码和简拼码相同,全拼码没有匹配度为1而简拼码有匹配度为1,则选择所有简拼码匹配度为1的词汇的中文名。
假设以一个较长的中文检索词“甲乙丙丁”为例,对其进行分词后,分别得到“甲”、“乙”、“丙”、“丁”这4个分词,获取“甲”、“乙”、“丙”、“丁”这四个字对应的中文名、英文名、全拼码和简拼码等作为第三检索词。
使用字符匹配对每个分词对应的第三检索词进行匹配。以对“甲”、“乙”、“丙”、“丁”的中文名进行字符匹配为例,假设匹配到的分别为“甲鱼”、“孔乙己”、“二丙”和“布丁,则那么他们的匹配度分别为1/2;1/3;1/2;1/2。假设继续对“甲”、“乙”、“丙”、“丁”的全拼码进行字符匹配,且得到的匹配度分别为1;2/3;4/5;0,并且匹配阈值为1,假设则“甲”、“乙”和“丙”的全拼码以及“丁”的中文名的匹配度之和最高,约等于2.967,则使用“甲”、“乙”和“丙”的全拼码以及“丁”的中文名的的中文名作为此待检索词的匹配词。
对于每第三检索词的每个候选匹配词进行置信度评分,用于辅助选择正确的匹配词,如果匹配置信度达到90%这将术语自动分配给元数据。若匹配不成功,则进行人工匹配,并使用人工匹配结果对待训练词汇表进行更新。
待检索词分类,包括:中文检索词、英文检索词、混合检索词、简拼检索词和英文缩写检索词。其中,中文检索词中仅包括中文字符,英文检索词中仅包括英文字符,其余为混合检索词。中文检索词的中文名为检索词自身,英文名为空字符串;英文检索词的英文名为检索词自身,中文名为空字符串;混合检索词的中文名、英文名为检索词自身。
在字符匹配第三检索词的过程中,待训练词汇表中待训练词汇的对应项的字符串从左向右,在第三检索词中,逐字符匹配,计算其匹配个数,忽略字符出现的先后顺序,对英文字符不区分大小写。
遍历词待训练词汇表中待训练词汇时,对中文待检索词依次遍历全拼码、中文名、简拼码等并计算匹配度;对英文待检索词,依次遍历英文名、全拼码、简拼码等并计算其匹配度;对混合待检索词,依次遍历全拼码、英文名、简拼码和中文名等并计算其匹配度。若在遍历计算过程中,在待训练词汇表中查找到全拼码或者英文名与待检索词的全拼码或者英文名匹配度为1的词汇,则确定该条待训练词汇的中文名为新的检索词,结束遍历,完成此待检索词的匹配,并对待训练词汇表进行更新。
对元数据训练集中的所有第一词汇进行匹配后,根据元数据训练集中的所有第一词汇真正对应的匹配词和实际匹配到的匹配词,对条件随机场分词算法进行训练和更新,将训练好条件随机场分词算法作为训练好的分类器,最终得到训练好的分类器和训练好并更新好的词汇表。之后使用上述训练中的方法和此训练好的分类器以及训练好的词汇表,对待匹配的元数据字段进行匹配。
通过对匹配不成功的待检索词使用条件随机场分词算法进行分词,再使用训练好的分类器进行分类,得到每个第三检索词的分类结果,与训练好的词汇表进行匹配,计算匹配度,根据匹配阈值确定匹配词,能够在自动匹配的前提下提高待检索词的匹配准确度。
对于待训练的词汇表和训练好的词汇表,由于其词典存储数据结构中包括:中文有7000多个常用字,56000多个常用词,因此,虽然要将这些数据加载到内存很容易,但进行高并发毫秒级运算就很困难,在此,采用双数组Trie(Double-Array Trie)结构,仅用两个线性数组来表示Trie树,该结构有效结合了数字搜索树(Digital Search Tree)检索时间高效的特点和链式表示的Trie空间结构紧凑的特点,可以在O(n)时间完成单模式匹配。
双数组Trie的本质是一个确定有限状态自动机(DFA),每个节点代表自动机的一个状态,根据变量不同,进行状态转移,当到达结束状态或无法转移时,完成一次查询操作。在双数组所有键中包含的字符之间的联系都是通过简单的数学加法运算表示,不仅提高了检索速度,而且省去了链式结构中使用的大量指针,节省了存储空间。
如果要在O(n)时间完成多模式匹配,构建词图,就需要用Aho-Corasick算法将模式串预处理为有限状态自动机,如图3所示,如模式串是he/she/his/hers,文本为“ushers”。这样,在第一次到叶节点5时,下一步的匹配可以直接从节点2开始,一次遍历就可以识别出所有的模式串。
条件随机场分词算法为一种基于字的分词,基于字的分词事先不对句子进行词的匹配,而是将分词看成序列标注问题,把一个字标记成B(Begin),I(Inside),O(Outside),E(End),S(Single)。因此也可以看成是每个字的分类问题,输入为每个字及其前后字所构成的特征,输出为分类标记。对于分类问题,用统计机器学习的方法求解。条件随机场是一种判别式无向图模型,能够对多个变量基于给定观测值后的条件概率进行建模,对于给定的标注序列Y和观测序列X,对条件概率P(Y|X)进行定义,而不是对联合概率建模。条件随机场分分词算法可以说是目前最常用的分词、词性标注和实体识别算法,它对未登陆词有很好的识别能力。本申请的实施方式中,使用统计机器学习方法中的条件随机场分词算法,通过一系列算法对问题进行抽象,进而得到模型,再用得到的模型去解决相似的问题。也可以将模型看成一个函数,将输入的字作为X,得到每个字的标注f(X)=Y。另外,机器学习中一般将模型分为两类:生成式模型和判别式模型,两者的本质区别在于X和Y的生成关系。生成式模型以“输出Y按照一定的规律生成输入X”为假设对P(X,Y)联合概率进行建模;判别式模型认为Y由X决定,直接对后验概率P(Y|X)进行建模。两者各有利弊,生成模型对变量的关系描述更加清晰,而判别式模型容易建立和学习。
本申请的实施方式使用邻接矩阵存储待检索词、第三检索词和待训练词汇的匹配度以及在对待匹配的元数据字段中的待匹配词进行匹配时,存储对待匹配词与训练好的词汇表中的匹配词的匹配度。使用邻接矩阵存储单单词之间的关系以及词与词之间的关系。使用邻接表存储匹配计算的结果,待检索词与匹配到的匹配词的结果权重。在计算匹配度的过程中使用的数据结构存储权重以及存储检索词和匹配词的之间的权重。
如图4所示,邻接矩阵用数组下标代表节点,值代表边的权重,即d[i][j]=v代表节点i和节点j间的边权重为v。
邻接表对图中的每个节点建立一个单链表,对于稀疏图可以极大地节省存储空间。第i个单链表中的节点表示依附于顶点i的边,如图5所示。在实际应用中,尤其是用Viterbi算法求解最优路径时,由于是按照广度优先的策略对图进行遍历,最好是使用邻接表对图进行存储,便于访问某个节点下的所有节点。
第二方面,本申请提出了一种元数据字段的术语匹配***,如图6所示,包括:
训练模块101,用于对元数据训练集中的第一检索词进行预处理,得到第二检索词;对第二检索词进行判断,与待训练词汇表数据库中的待训练词汇进行匹配,获取匹配不成功的待检索词;使用条件随机场分词算法对待检索词进行分词,得到每个待检索词的多个第三检索词,与待训练词汇进行匹配,确定匹配词;根据匹配词对待训练词汇表数据库进行更新,对条件随机场分词算法进行训练,得到训练好的分类器和训练好的词汇表;
匹配模块102,用于使用训练好的分类器和训练好的词汇表,对待匹配的元数据字段进行匹配。
第三方面,本申请提出了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述的元数据字段的术语匹配方法。
本申请的方法中,通过对所述第二检索词进行判断,与训练好的词汇表数据库中的词汇进行匹配,得到匹配不成功的待检索词,再使用条件随机场分词算法对所述待检索词进行分词,得到多个待检索词的多个第三检索词,与训练好的词汇表进行匹配,计算匹配度,根据匹配阈值确定匹配词,能够在自动匹配的前提下提高待检索词的匹配准确度。采用双数组Trie(Double-Array Trie)结构,提高了检索速度,节省了存储空间。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种元数据字段的术语匹配方法,其特征在于,包括:
对元数据训练集中的第一检索词进行预处理,得到第二检索词;
对所述第二检索词进行判断,与待训练词汇表数据库中的待训练词汇进行匹配,获取匹配不成功的待检索词;
使用条件随机场分词算法对所述待检索词进行分词,得到每个所述待检索词的多个第三检索词,与所述待训练词汇进行匹配,确定匹配词;
根据所述匹配词对待训练词汇表数据库进行更新,对所述条件随机场分词算法进行训练,得到训练好的分类器和训练好的词汇表;
使用训练好的所述分类器和训练好的所述词汇表,对待匹配的元数据字段进行匹配;
在所述对元数据训练集中的第一检索词进行预处理,得到第二检索词之前,还包括:
收集表数据并清洗所述表数据中的非法字符,建立待训练词汇表;
使用待训练词汇表建立待训练词汇表数据库;
待训练词汇表和训练好的所述词汇表采用双数组Trie结构;使用Aho-Corasick算法将模式串预处理为有限状态自动机;
使用邻接矩阵存储所述待检索词、所述第三检索词和匹配度。
2.根据权利要求1所述的元数据字段的术语匹配方法,其特征在于,所述对元数据训练集中的第一检索词进行预处理,得到第二检索词,包括:
获取元数据训练集中元数据中的所有第一检索词;
去除每个所述第一检索词中的非法字符,得到每个所述第一检索词对应的第二检索词。
3.根据权利要求1所述的元数据字段的术语匹配方法,其特征在于,所述对所述第二检索词进行判断,与待训练词汇表数据库中的待训练词汇进行匹配,得到待检索词,包括:
对所述第二检索词进行判断,得到中文第二检索词和非中文第二检索词;
在待训练词汇表数据库中对所述中文第二检索词进行直接匹配,确定匹配不到匹配词的所述中文第二检索词;
将所述非中文第二检索词和匹配不到匹配词的所述中文第二检索词作为待检索词。
4.根据权利要求1所述的元数据字段的术语匹配方法,其特征在于,所述使用条件随机场分词算法对所述待检索词进行分词,得到每个所述待检索词的多个第三检索词,与所述待训练词汇进行匹配,确定匹配词,包括:
使用条件随机场分词算法对较长的所述待检索词进行分词,生成所述待检索词的每个分词的多个第三检索词,所述第三检索词包括:全拼码、简拼码、英文名和/或中文名;
对每个所述待检索词的所有所述第三检索词与所述待训练词汇进行字符匹配,计算每个所述待检索词对应的每个所述第三检索词的匹配度;
根据所述匹配度和匹配阈值,确定所述待检索词的匹配词。
5.根据权利要求1所述的元数据字段的术语匹配方法,其特征在于,所述使用训练好的所述分类器和训练好的所述词汇表,对待匹配的元数据字段进行匹配,包括:
使用训练好的词汇表对待匹配的元数据字段进行匹配,获取匹配不成功的元数据字段作为待匹配词;
使用训练好的条件随机场分词算法作为训练好的分类器,对每个所述待匹配词进行分词,得到每个所述待匹配词对应的多个第三检索词;
对多个所述第三检索词在训练好的所述词汇表中进行字符匹配,计算每个第三检索词的匹配度;
根据匹配度和匹配阈值,确定每个所述待匹配词对应的匹配词,所述匹配词为所述待匹配词的匹配术语。
6.根据权利要求2所述的元数据字段的术语匹配方法,其特征在于,所述表数据包括:
客户术语表、行业标准字段解释映射表、业务***定版审核过的元数据字段和解释对照表,其中,每种表均包括:中文名、英文名、全拼码和简拼码。
7.根据权利要求2所述的元数据字段的术语匹配方法,其特征在于,所述第一检索词和所述第二检索词的类型均包括:中文、全拼、简拼、英文、英文缩写和/或混合。
8.一种元数据字段的术语匹配***,其特征在于,包括:
训练模块,用于收集表数据并清洗所述表数据中的非法字符,建立待训练词汇表;使用待训练词汇表建立待训练词汇表数据库;待训练词汇表和训练好的所述词汇表采用双数组Trie结构;使用Aho-Corasick算法将模式串预处理为有限状态自动机;对元数据训练集中的第一检索词进行预处理,得到第二检索词;对所述第二检索词进行判断,与待训练词汇表数据库中的待训练词汇进行匹配,获取匹配不成功的待检索词;使用条件随机场分词算法对所述待检索词进行分词,得到每个所述待检索词的多个第三检索词,与所述待训练词汇进行匹配,确定匹配词;根据所述匹配词对待训练词汇表数据库进行更新,对所述条件随机场分词算法进行训练,得到训练好的分类器和训练好的词汇表;使用邻接矩阵存储所述待检索词、所述第三检索词和匹配度;
匹配模块,用于使用训练好的所述分类器和训练好的所述词汇表,对待匹配的元数据字段进行匹配。
9.一种存储有计算机可读指令的存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述的元数据字段的术语匹配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011342621.XA CN112580691B (zh) | 2020-11-25 | 2020-11-25 | 一种元数据字段的术语匹配方法、匹配***和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011342621.XA CN112580691B (zh) | 2020-11-25 | 2020-11-25 | 一种元数据字段的术语匹配方法、匹配***和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112580691A CN112580691A (zh) | 2021-03-30 |
CN112580691B true CN112580691B (zh) | 2024-05-14 |
Family
ID=75123569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011342621.XA Active CN112580691B (zh) | 2020-11-25 | 2020-11-25 | 一种元数据字段的术语匹配方法、匹配***和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112580691B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114969001B (zh) * | 2022-05-24 | 2024-05-10 | 浪潮卓数大数据产业发展有限公司 | 一种数据库元数据字段匹配方法、装置、设备及介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751430A (zh) * | 2008-12-12 | 2010-06-23 | 汉王科技股份有限公司 | 电子词典模糊检索方法 |
CN103336850A (zh) * | 2013-07-24 | 2013-10-02 | 昆明理工大学 | 一种数据库检索***中确定检索词的方法及装置 |
CN103412858A (zh) * | 2012-07-02 | 2013-11-27 | 清华大学 | 用于文本或网络内容分析的大规模特征匹配的方法 |
CN103810168A (zh) * | 2012-11-06 | 2014-05-21 | 深圳市世纪光速信息技术有限公司 | 检索应用的方法、装置及终端 |
CN106933883A (zh) * | 2015-12-31 | 2017-07-07 | 中移(苏州)软件技术有限公司 | 基于检索日志的兴趣点常用检索词分类方法、装置 |
CN108255813A (zh) * | 2018-01-23 | 2018-07-06 | 重庆邮电大学 | 一种基于词频-逆文档与crf的文本匹配方法 |
CN108304375A (zh) * | 2017-11-13 | 2018-07-20 | 广州腾讯科技有限公司 | 一种信息识别方法及其设备、存储介质、终端 |
US10242320B1 (en) * | 2018-04-19 | 2019-03-26 | Maana, Inc. | Machine assisted learning of entities |
CN110309368A (zh) * | 2018-03-26 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 数据地址的确定方法、装置、存储介质和电子装置 |
CN110931137A (zh) * | 2018-09-19 | 2020-03-27 | 京东方科技集团股份有限公司 | 机器辅助对话***、方法及装置 |
CN111291195A (zh) * | 2020-01-21 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、终端及可读存储介质 |
CN111310456A (zh) * | 2020-02-13 | 2020-06-19 | 支付宝(杭州)信息技术有限公司 | 一种实体名称匹配方法、装置及设备 |
CN111899829A (zh) * | 2020-07-31 | 2020-11-06 | 青岛百洋智能科技股份有限公司 | 一种基于icd9/10分词词库的全文检索匹配引擎 |
CN111967242A (zh) * | 2020-08-17 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | 一种文本信息的抽取方法、装置及设备 |
CN112148885A (zh) * | 2020-09-04 | 2020-12-29 | 上海晏鼠计算机技术股份有限公司 | 一种基于知识图谱的智能搜索方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180232443A1 (en) * | 2017-02-16 | 2018-08-16 | Globality, Inc. | Intelligent matching system with ontology-aided relation extraction |
-
2020
- 2020-11-25 CN CN202011342621.XA patent/CN112580691B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751430A (zh) * | 2008-12-12 | 2010-06-23 | 汉王科技股份有限公司 | 电子词典模糊检索方法 |
CN103412858A (zh) * | 2012-07-02 | 2013-11-27 | 清华大学 | 用于文本或网络内容分析的大规模特征匹配的方法 |
CN103810168A (zh) * | 2012-11-06 | 2014-05-21 | 深圳市世纪光速信息技术有限公司 | 检索应用的方法、装置及终端 |
CN103336850A (zh) * | 2013-07-24 | 2013-10-02 | 昆明理工大学 | 一种数据库检索***中确定检索词的方法及装置 |
CN106933883A (zh) * | 2015-12-31 | 2017-07-07 | 中移(苏州)软件技术有限公司 | 基于检索日志的兴趣点常用检索词分类方法、装置 |
CN108304375A (zh) * | 2017-11-13 | 2018-07-20 | 广州腾讯科技有限公司 | 一种信息识别方法及其设备、存储介质、终端 |
CN108255813A (zh) * | 2018-01-23 | 2018-07-06 | 重庆邮电大学 | 一种基于词频-逆文档与crf的文本匹配方法 |
CN110309368A (zh) * | 2018-03-26 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 数据地址的确定方法、装置、存储介质和电子装置 |
US10242320B1 (en) * | 2018-04-19 | 2019-03-26 | Maana, Inc. | Machine assisted learning of entities |
CN110931137A (zh) * | 2018-09-19 | 2020-03-27 | 京东方科技集团股份有限公司 | 机器辅助对话***、方法及装置 |
CN111291195A (zh) * | 2020-01-21 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、终端及可读存储介质 |
CN111310456A (zh) * | 2020-02-13 | 2020-06-19 | 支付宝(杭州)信息技术有限公司 | 一种实体名称匹配方法、装置及设备 |
CN111899829A (zh) * | 2020-07-31 | 2020-11-06 | 青岛百洋智能科技股份有限公司 | 一种基于icd9/10分词词库的全文检索匹配引擎 |
CN111967242A (zh) * | 2020-08-17 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | 一种文本信息的抽取方法、装置及设备 |
CN112148885A (zh) * | 2020-09-04 | 2020-12-29 | 上海晏鼠计算机技术股份有限公司 | 一种基于知识图谱的智能搜索方法及*** |
Non-Patent Citations (2)
Title |
---|
Improved Chinese Word Segmentation Disambiguation Model Based on Conditional Random Fields;Fanjin Mai 等;《Proceedings of the 4th International Conference on Computer Engineering and Networks 》;20151231;第355卷;全文 * |
学科领域本体学习及学术资源语义标注研究;蒋婷;《中国博士学位论文全文数据库 信息科技辑》;20180615;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112580691A (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9971974B2 (en) | Methods and systems for knowledge discovery | |
US9672205B2 (en) | Methods and systems related to information extraction | |
EP3020006B1 (en) | Interactive segment extraction in computer-human interactive learning | |
Cohen et al. | Exploiting dictionaries in named entity extraction: combining semi-markov extraction processes and data integration methods | |
US20040107189A1 (en) | System for identifying similarities in record fields | |
US20040107205A1 (en) | Boolean rule-based system for clustering similar records | |
CN112328800A (zh) | 自动生成编程规范问题答案的***及方法 | |
CN112966079A (zh) | 一种用于对话***的面向事件画像的文本分析方法 | |
CN112036178A (zh) | 一种配网实体相关的语义搜索方法 | |
CN115982338A (zh) | 一种基于查询路径排序的领域知识图谱问答方法及*** | |
CN116737967A (zh) | 一种基于自然语言的知识图谱构建和完善***及方法 | |
CN112580691B (zh) | 一种元数据字段的术语匹配方法、匹配***和存储介质 | |
CN112862569B (zh) | 基于图像和文本多模态数据的产品外观风格评价方法和*** | |
CN114493783A (zh) | 一种基于双重检索机制的商品匹配方法 | |
CN114239828A (zh) | 一种基于因果关系的供应链事理图谱构建方法 | |
CN111767733A (zh) | 一种基于统计分词的文献密级甄别方法 | |
CN117150006A (zh) | 一种融合知识图谱的进出口商品智能归类方法 | |
US11995110B2 (en) | Systems and methods for candidate database querying | |
CN112949287B (zh) | 热词挖掘方法、***、计算机设备和存储介质 | |
Liu et al. | A Financial Advertisement Recognition Algorithm Model Based on Text | |
Ghavimi et al. | EXmatcher: Combining Features Based on Reference Strings and Segments to Enhance Citation Matching | |
Giner Pérez de Lucía | Named entity recognition in handwritten text images from the k best transcripts | |
Cherkassky et al. | Conventional and associative memory-based spelling checkers | |
Xiao | Research on classification of educational digital resources based on KNN algorithm | |
Justnes | Using Word Embeddings to Determine Concepts of Values In Insurance Claim Spreadsheets |
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 |