CN101151843B - 一种文本数据挖掘方法 - Google Patents
一种文本数据挖掘方法 Download PDFInfo
- Publication number
- CN101151843B CN101151843B CN2005800493417A CN200580049341A CN101151843B CN 101151843 B CN101151843 B CN 101151843B CN 2005800493417 A CN2005800493417 A CN 2005800493417A CN 200580049341 A CN200580049341 A CN 200580049341A CN 101151843 B CN101151843 B CN 101151843B
- Authority
- CN
- China
- Prior art keywords
- template
- data
- text data
- file
- regular expression
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- 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/31—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文本数据挖掘方法。包括步骤:读取包含有至少一个模板变量规则的预制模板文件;根据所述模板变量规则,将所述模板文件编译为由正则表达式构成的模板对象;根据所述模板对象,扫描待挖掘的文本数据,对其进行数据匹配;根据所述正则表达式,将所述文本数据中匹配的原始信息顺序提取出来;以及根据所述模板变量规则,将所述提取出来的原始信息解析为指定数据名与数据类型的数据值。按照本发明,对不同格式的文本数据只需通过修改模板文件就可以对其进行分析处理,而不需要依靠开发程序代码或使用昂贵的商业化数据挖掘工具,从而降低了电信网管系统的复杂性和成本。
Description
技术领域
本发明涉及数据分析处理技术,具体地说,是涉及一种文本数据挖掘方法。
背景技术
近十几年,电信网络管理技术飞速发展。在电信网络管理领域往往需要实时处理大量的数据,其中以文本数据为主。例如:各种业务运营设备产生大量的告警、性能数据和各种实时话单数据等等。在这些文本数据中包含丰富的业务信息,往往是利润的重要来源。
我们可以看到,这些数据具有以下共同特点:
1.以文本数据为主;
2.海量数据;
3.有一定的实时处理要求;
4.当产生数据的设备或者系统稳定时,数据格式就相对固定;
5.往往面向多种设备或者系统,数据格式非常多。
一般对这些文本数据的处理采用传统的硬编码方式和通过商业化的数据挖掘工具来进行处理。
传统的文本数据分析方法一般采用硬编码的方式,但这种硬编码方式存在以下的问题:
1.灵活性不够,产生数据的设备或者系统的数据格式发生变化,哪怕是一点点改动都可能需要重新编写代码;
2.硬编码的代码量随着数据格式的复杂度和种类增加而急剧增加,往往需要上万行的代码来做数据分析处理,代码的效率和可维护性极差;
3.普遍没有采用数据分析算法,执行效率低下,不适合对海量的、实时的数据进行处理。
商业化的数据挖掘工具来进行处理的情况目前也非常多,但是存在以下的缺点:
1.商业化的数据挖掘工具主要是针对数据库中的数据进行分析处理的,挖掘工具很难脱离数据库系统;
2.使用起来复杂,很难立即集成到现有的应用中;
3.商业化的数据挖掘工具价格是非常昂贵的。
综上所述,如何能够简单、高效的处理这些海量般的数据,并从中得到有价值的信息成了迫切需要解决的问题。
发明内容
本发明所要解决的技术问题是提供一种文本数据挖掘方法。对不同格式的文本数据只需通过修改模板文件就可以对其进行分析处理,而不需要依靠开发程序代码或使用昂贵的商业化数据挖掘工具。
为解决上述技术问题,本发明提供方案如下:
一种文本数据挖掘方法,包括如下步骤:
读取包含有至少一个模板变量规则的预制模板文件;
根据所述模板变量规则,将所述模板文件编译为由正则表达式构成的模板对象;
根据所述模板对象,扫描待挖掘的文本数据,对其进行数据匹配;
根据所述正则表达式,将所述文本数据中匹配的原始信息顺序提取出来;以及
根据所述模板变量规则,将所述提取出来的原始信息解析为指定数据名与数据类型的数据值。
本发明所述的方法,其中,所述预制的模板文件是根据需要挖掘的文本数据结构和模板语言变量规则生成的。
本发明所述的方法,其中,所述模板变量规则包括:变量名属性以及变量类型属性。
本发明所述的方法,其中,每一个所述模板变量规则对应于一个待挖掘的文本数据中需要提取的数据项。
本发明所述的方法,其中,所述将模板文件编译为由正则表达式构成的模板对象,是利用模板编译器来进行编译的。
本发明所述的方法,其中,所述编译器处理步骤如下:
扫描所述模板文件,并记录其中的模板变量规则;
将模板文件中的模板变量规则部分,使用正则表达式进行替换;以及
将生成的正则表达式编译为正则表达式对象。
本发明所述的方法,其中,所述扫描模板文件时,进一步包括:过滤
其中的注释信息,屏蔽所述模板文件中的非模板变量规则部分。
本发明所述的方法,其中,所述屏蔽模板文件中的非模板变量规则部分,是使用正则表达式语法中的引用语将该部分引用起来。
本发明所述的方法,其中,所述将文本数据中匹配的原始信息提取出来,进一步包括:将提取出的原始信息顺序存储于临时存储区中。
本发明所述的方法,其中,所述将提取出来的原始信息解析为指定数据名与数据类型的数据值,是根据所述模板变量规则的属性进行解析的。
与现有技术相比,本发明的优点在于:
本发明所述方法,对于不同格式的文本数据不需要修改代码,只需要按照模板定义语言修改模板文件就可以适应不同的数据格式,大大降低开发花在数据分析上的时间;并且利用正则表达式进行数据匹配的算法来挖掘数据信息,比传统的方法执行效率高很多;而且通过转化为指定格式的数据值,减少了后续处理难度;本发明所述方法适合并发的数据挖掘处理过程,充分利用了计算机的处理能力;并且根据本发明所述方法可以快速应用到使用不同开发工具实现的系统中,实现起来简单,代价低廉。
本发明所要解决的技术问题、技术方案要点及有益效果,将结合实施例,参照附图作进一步的说明。
附图概述
图1为本发明所述的文本数据挖掘方法流程示意图。
图2为本发明所述的模板文件的预制生成示意图。
图3为本发明所述编译器处理过程的流程示意图。
图4为编译模板文件示意图。
图5为文本数据挖掘示意图。
图6、图7为本发明所述的文本数据挖掘方法的实施例流程示意图。
本发明的最佳实施方式
如图1所示,为本发明所述的文本数据挖掘方法流程示意图,首先读取包含有至少一个模板变量规则的预制模板文件(步骤101);这里,所述的模板变量规则可以包括两个属性:变量名以及变量的类型。每一个所述模板变量规则对应于一个待挖掘的文本数据中需要提取的数据项。然后,根据所述模板变量规则,将所述模板文件编译为由正则表达式构成的模板对象(步骤102);这里,所述将模板文件编译为由正则表达式构成的模板对象,是利用模板编译器来进行编译的。再根据所述模板对象,扫描待挖掘的文本数据,对其进行数据匹配(步骤103);然后,根据所述正则表达式,将所述文本数据中匹配的原始信息顺序提取出来(步骤104);这里,所述将文本数据中匹配的原始信息提取出来,可以将提取出的原始信息顺序存储于临时存储区中。最后,根据所述模板变量规则,将所述提取出来的原始信息解析为指定数据名与数据类型的数据值(步骤105);这里,所述将挖掘出的原始文本数据解析成指定类型的数据是根据模板变量规则中变量及变量类型来解析的。
应当说明,本发明所使用的预制模板文件并不局限于任何一种模板语言,其可以根据实际待挖掘的文本数据的类型,定义不同的模板语言而编写生成,对本发明的数据挖掘过程而言,只是使用了该事先生成的模板文件来对文本数据进行挖掘处理。但是,为了更清楚的说明本发明的挖掘过程,下面提供一个模板文件事先编写生成的实例。
首先,模板可以支持注释,便于模板文件的维护。
注释就是在模板编译和使用过程中被忽略,但是对于模板的可读性不可缺少的解释性文字。
注释格式:“#{注释内容}”
注释格式的说明:注释类似于JAVA语言中的多行注释,注释从“#{”开始一直到遇到的第一个“}”都作为注释内容。
其次,可以定义模板变量规则,例如:
对于需要从文本数据中挖掘的一个数据信息,我们定义为一个模板变量,而与这个变量对应的说明成为模板变量规则。模板变量规则至少需要有两个属性,变量名和变量的类型。
例如:模板变量规则格式可以是:“${VAR[;VAR_TYPE]}”
其中,变量名字“VAR”的格式类似计算机语言中的变量定义:必须是字母或者下划线开头,由字母、数字、下划线组成。
其中,变量类型“VAR_TYPE”是枚举类型的值,可以是S、N、D、A等等。分别对应字符串、数字、日期、列表等等类型。
举例:“${USERNAME;S}”表示一个变量名为“USERNAME”,数据类型为字符串的模板变量规则。
这里,一个模板文件中可以定义一个或者多个模板变量规则.如果没有指定变量类型,默认为字符串类型的变量.模板可以自动将文本数据中的原始数据信息转化为指定类型的数据值.
如图2所示,在这个例子中的文本数据是一个真实的某类电信设备上报到网络管理系统的一条告警信息。我们目标是从这个文本数据中提取告警序号、告警位置等等信息。接下来我们根据这个文本文件的样例编写了一个模板文件。模板文件中的每个模板变量对应我们需要提取的一个数据信息。比如,告警序号、告警位置信息的模板变量规则如下:
告警序号:${ALARMID;S}
上述告警序号的变量名是“ALARMID”,变量类型是字符串。
告警位置如下:
机架:${Rack;N}
机框:${Shelf;N}
槽位:${Slot;N}
这里,告警位置由三个模板变量组成,分别是“Rack”,“Shelf”,“Slot”,变量类型都是数字型。
如图3所示,为本发明所述编译器处理过程的流程示意图。首先,扫描所述模板文件,并记录其中的模板变量规则(步骤201);这里,扫描所述模板文件,通过过滤其中的注释信息;再通过使用正则表达式语法中的引用语将非模板变量规则部分引用起来以实现屏蔽所述模板文件中的非模板变量规则部分。然后,将模板文件中的模板变量规则部分,使用正则表达式进行替换(步骤202);最后,将生成的正则表达式编译为正则表达式对象(步骤203)。
如图4所示,为编译模板文件示意图。编译一个模板文件的目的就是扫描根据模板语言编写的模板文件,并编译成正则表达式。图4是我们根据JAVA语言正则表达式引擎的一种实现,对于其它的应用可以根据开发所用的语言和正则表达式引擎做相应的改动便可以使用。
首先,扫描模板注释文件,过滤掉模板文件中的注释信息;
再扫描模板变量规则定义,记录模板变量规则定义的内容;
然后,将模板文件中的非模板变量规则定义的部分,使用正则表达式语法中的引用语引用起来,防止与正则表达式中的关键字发生冲突;
再将模板文件中的模板变量规则定义的部分,使用正则表达式来替换掉;
其中,替换的规则如下:
字符串使用“(.*)”替换;数字使用“(\\d*)”替换;其它类型的模板变量以此类推。
最后,将生成的正则表达式编译为正则表达式对象,这样模板对象就生成好了。编译结果如图4所示。
如图5所示,为文本数据挖掘示意图。描述了使用模板对象将一个文本数据中的数据信息提取、挖掘出来后的示意图。
首先,扫描文本数据,通过模板中的正则表达式对象将文本数据中的原始信息提取出来;
然后,根据模板中的模板变量规则定义,将原始数据信息转化为指定类型的数据值。文本数据挖掘结果如图5所示。
所述数据挖掘的过程支持多线程并发操作,提高了计算机资源的利用率。
如图6、图7所示,为本发明所述的文本数据挖掘方法的实施例流程示意图。首先,读取根据需要挖掘的文本数据结构和模板语言变量规则生成的模板数据文件(步骤301);然后,扫描所述模板文件,过滤模板注释信息,并纪录模板变量规则,通过使用正则表达式语法中的引用语将非模板变量规则部分引用起来以实现屏蔽所述模板文件中的非模板变量规则部分(步骤302);再将模板文件中的模板变量规则部分,使用正则表达式进行替换(步骤303);将生成的正则表达式编译为正则表达式对象(步骤304);然后,根据所述模板对象,扫描待挖掘的文本数据,对其进行数据匹配(步骤305);再根据所述正则表达式,将所述文本数据中匹配的原始信息顺序提取出来(步骤306);然后,根据所述模板变量规则,将所述提取出来的原始信息解析为指定数据名与数据类型的数据值(步骤307)。最后,可以判断一下需要挖掘的文本数据是否已经全部处理完毕,如果是,则直接结束,如果不是,则执行步骤305(步骤308)。
本发明所述的一种文本数据挖掘方法,并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明之领域,对于熟悉本领域的人员而言可容易地实现另外的优点和进行修改,因此在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。
Claims (10)
1.一种文本数据挖掘方法,其特征在于包括如下步骤:
读取包含有至少一个模板变量规则的预制模板文件;
根据所述模板变量规则,将所述模板文件编译为由正则表达式构成的模板对象;
根据所述模板对象,扫描待挖掘的文本数据,对其进行数据匹配;
根据所述正则表达式,将所述文本数据中匹配的原始信息顺序提取出来;以及
根据所述模板变量规则,将所述提取出来的原始信息解析为指定数据名与数据类型的数据值。
2.如权利要求1所述的方法,其特征在于所述预制的模板文件是根据需要挖掘的文本数据结构和模板语言变量规则生成的。
3.如权利要求1所述的方法,其特征在于,所述模板变量规则包括:变量名属性以及变量类型属性。
4.如权利要求1所述的方法,其特征在于,每一个所述模板变量规则对应于一个待挖掘的文本数据中需要提取的数据项。
5.如权利要求1所述的方法,其特征在于,所述将模板文件编译为由正则表达式构成的模板对象,是利用模板编译器来进行编译的。
6.如权利要求5所述的方法,其特征在于,所述编译器处理步骤如下:
扫描所述模板文件,并记录其中的模板变量规则;
将模板文件中的模板变量规则部分,使用正则表达式进行替换;以及将生成的正则表达式编译为正则表达式对象。
7.如权利要求6所述的方法,其特征在于,所述扫描模板文件时,进一步包括:过滤其中的注释信息,屏蔽所述模板文件中的非模板变量规则部分。
8.如权利要求7所述的方法,其特征在于,所述屏蔽模板文件中的非模板变量规则部分,是使用正则表达式语法中的引用语将该部分引用起来。
9.如权利要求1所述的方法,其特征在于,所述将文本数据中匹配的原始信息提取出来,进一步包括:将提取出的原始信息顺序存储于临时存储区中。
10.如权利要求2所述的方法,其特征在于,所述将提取出来的原始信息解析为指定数据名与数据类型的数据值,是根据所述模板变量规则的属性进行解析的。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2005/000894 WO2006136055A1 (fr) | 2005-06-22 | 2005-06-22 | Procédé d'exploration de données texte |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101151843A CN101151843A (zh) | 2008-03-26 |
CN101151843B true CN101151843B (zh) | 2010-05-12 |
Family
ID=37570080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800493417A Active CN101151843B (zh) | 2005-06-22 | 2005-06-22 | 一种文本数据挖掘方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101151843B (zh) |
WO (1) | WO2006136055A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609984B (zh) * | 2008-06-16 | 2012-08-29 | 上海申瑞电力科技股份有限公司 | 用于数据采集与监视控制系统的快速辅助建模方法 |
CN104731555A (zh) * | 2013-12-23 | 2015-06-24 | 中兴通讯股份有限公司 | 一种避免寄存器冲突的方法及装置 |
CN105739947A (zh) * | 2014-12-10 | 2016-07-06 | 中兴通讯股份有限公司 | 一种寄存器冲突的检测方法及装置 |
CN106095745A (zh) * | 2016-05-27 | 2016-11-09 | 厦门市美亚柏科信息股份有限公司 | 基于通讯记录的交易记录提取方法及其系统 |
CN108279883B (zh) * | 2016-12-30 | 2021-11-26 | 北京京东尚科信息技术有限公司 | 一种可配置的特征计算方法及系统 |
CN109726284B (zh) * | 2018-12-07 | 2021-02-02 | 成都品果科技有限公司 | 一种通用性强的数据分析方法 |
CN112580298B (zh) * | 2019-09-29 | 2024-05-07 | 大众问问(北京)信息科技有限公司 | 一种标注数据获取方法、装置及设备 |
CN111291547B (zh) * | 2020-01-20 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 模板生成方法、装置、设备及介质 |
CN111569427B (zh) * | 2020-06-10 | 2023-04-25 | 网易(杭州)网络有限公司 | 资源的处理方法、装置、存储介质和电子装置 |
CN111880838B (zh) * | 2020-08-03 | 2024-04-12 | 北京神舟航天软件技术有限公司 | 一种基于模板匹配技术的数据解析方法 |
CN113449135B (zh) * | 2021-08-31 | 2021-11-19 | 阿里巴巴达摩院(杭州)科技有限公司 | 图像生成系统与方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692107A (en) * | 1994-03-15 | 1997-11-25 | Lockheed Missiles & Space Company, Inc. | Method for generating predictive models in a computer system |
WO2002025564A1 (en) * | 2000-09-25 | 2002-03-28 | Kent Ridge Digital Labs | A system, method and interface for building biological databases using templates |
CN1492336A (zh) * | 2003-09-04 | 2004-04-28 | 上海格尔软件股份有限公司 | 基于数据仓库的信息安全审计方法 |
US20050027710A1 (en) * | 2003-07-30 | 2005-02-03 | International Business Machines Corporation | Methods and apparatus for mining attribute associations |
-
2005
- 2005-06-22 WO PCT/CN2005/000894 patent/WO2006136055A1/zh active Application Filing
- 2005-06-22 CN CN2005800493417A patent/CN101151843B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692107A (en) * | 1994-03-15 | 1997-11-25 | Lockheed Missiles & Space Company, Inc. | Method for generating predictive models in a computer system |
WO2002025564A1 (en) * | 2000-09-25 | 2002-03-28 | Kent Ridge Digital Labs | A system, method and interface for building biological databases using templates |
US20050027710A1 (en) * | 2003-07-30 | 2005-02-03 | International Business Machines Corporation | Methods and apparatus for mining attribute associations |
CN1492336A (zh) * | 2003-09-04 | 2004-04-28 | 上海格尔软件股份有限公司 | 基于数据仓库的信息安全审计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101151843A (zh) | 2008-03-26 |
WO2006136055A1 (fr) | 2006-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101151843B (zh) | 一种文本数据挖掘方法 | |
Cordy et al. | Source transformation in software engineering using the TXL transformation system | |
US7506324B2 (en) | Enhanced compiled representation of transformation formats | |
De Lucia et al. | Design pattern recovery through visual language parsing and source code analysis | |
US20030145310A1 (en) | Computer memory structure for storing original source information and associated interpretative information | |
CN103389895B (zh) | 一种前端页面的生成方法及系统 | |
Dean et al. | Agile parsing in TXL | |
JP2005196291A (ja) | ユーザインタフェースアプリケーション開発プログラム、および開発装置 | |
Costagliola et al. | Design pattern recovery by visual language parsing | |
CN112597353B (zh) | 一种文本信息自动提取方法 | |
CN110362312A (zh) | 一种适用于多种框架的语法转换编译系统及方法 | |
CN108153522B (zh) | 基于模型转换由midcore生成Spark和Hadoop程序代码的方法 | |
CN111831624A (zh) | 数据表创建方法、装置、计算机设备及存储介质 | |
US10360208B2 (en) | Method and system of process reconstruction | |
CN104820587B (zh) | 细粒度的基于频繁项集挖掘产生api替换规则的方法 | |
Leblebici et al. | Multi-amalgamated triple graph grammars: Formal foundation and application to visual language translation | |
CN112506488A (zh) | 一种基于sql创建语句生成编程语言类的方法 | |
CN102486731B (zh) | 增强软件的软件调用栈的可视化的方法、设备和系统 | |
CN106033338A (zh) | 基于fog数据的源代码导入及解析的方法和装置 | |
CN110554860B (zh) | 一种软件项目自然语言编程接口nli的构造方法及代码生成方法 | |
CN112597011A (zh) | 一种基于多语言的算子测试用例生成和优化方法 | |
Akers et al. | Case study: Re-engineering C++ component models via automatic program transformation | |
Rajbhoj et al. | DocToModel: automated authoring of models from diverse requirements specification documents | |
Khalid et al. | Repairing raw metadata for metadata management | |
Bhadauria et al. | Design and Implementation of HSQL: A SQL-like language for Data Analysis in Distributed Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |