CN106776556B - 一种文本模式生成方法、装置和计算设备 - Google Patents

一种文本模式生成方法、装置和计算设备 Download PDF

Info

Publication number
CN106776556B
CN106776556B CN201611139530.XA CN201611139530A CN106776556B CN 106776556 B CN106776556 B CN 106776556B CN 201611139530 A CN201611139530 A CN 201611139530A CN 106776556 B CN106776556 B CN 106776556B
Authority
CN
China
Prior art keywords
high frequency
text
frequency words
data
mode
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
CN201611139530.XA
Other languages
English (en)
Other versions
CN106776556A (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.)
Beijing Oneapm Communication Technology Co Ltd
Original Assignee
Beijing Oneapm Communication Technology Co Ltd
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 Beijing Oneapm Communication Technology Co Ltd filed Critical Beijing Oneapm Communication Technology Co Ltd
Priority to CN201611139530.XA priority Critical patent/CN106776556B/zh
Publication of CN106776556A publication Critical patent/CN106776556A/zh
Application granted granted Critical
Publication of CN106776556B publication Critical patent/CN106776556B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • 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/237Lexical tools
    • G06F40/242Dictionaries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文本模式生成方法,适于在计算设备中执行,该方法包括:获取包括多条文本数据的文本库,并对其中每行文本数据进行分词处理;从文本数据中统计出每个单词的出现次数,并筛选出其中的高频词,将高频词及其出现次数进行关联存储;筛选出每行文本数据中的高频词,构成该行文本数据对应的高频词元组;根据各高频词在文本数据中的出现次数,计算任意两个高频词之间的依赖度;根据文本数据对应的高频词元组,生成每行文本数据的预选文本模式;根据高频词之间的依赖度,对预选文本模式进行修正,得到文本数据的修正文本模式;以及对修正文本模式进行相似度合并,得到文本模式库。本发明还公开了对应的文本模式生成装置和计算设备。

Description

一种文本模式生成方法、装置和计算设备
技术领域
本发明涉及计算机与互联网技术领域,尤其涉及一种文本模式生成方法、装置和计算设备。
背景技术
随着互联网技术的蓬勃发展,计算机已经成为人们日常办公或交流必不可少的工具。用户在使用计算设备时,网络设备会生成log、url和trace等各种文本数据,这些文本数据中记载着日期、时间、使用者及动作等相关操作的描述。通过分析这些文本数据,运维人员可以实时监控系统和网络的健康状况,以及用户的使用情况等。
但是这些文本数据通常数量巨大,且较难读懂,因此,对日志数据进行数据挖掘,并从中提取有用的知识是非常有必要的。其中,可以根据这些文本数据生成文本模式,文本模式即在一段文本中经常出现的频繁信息或消息序列,在生产系统中,由于很多操作都是固定、可重复的,导致从这些网络行为中产生的文本数据存在很多规律性的文本结构。
现有技术中,可以从源码中获得文本模式,但一般源码比较难以获得。也可以通过词频和反向词频(TF-IDF)之类的自然语言特征对日志文本进行聚类。但在在每个类别中,难以保证只存在确切的一个或两个模式,从而导致生成的文本模式不够精准。
因此,需要提供一种更便捷且精确的文本模式生成方法。
发明内容
鉴于上述问题,本发明提出了一种文本模式生成方法、装置和计算设备,以力图解决或者至少解决上面存在的问题。
根据本发明的一个方面,提供一种文本模式生成方法,适于在计算设备中执行,该方法包括:获取包括多条文本数据的文本库,并对其中每行文本数据进行分词处理;对文本库中的文本数据进行第一次遍历,统计出所有文本数据中每个单词的出现次数,并从中筛选出出现次数大于第一阈值的单词作为高频词,将高频词与该高频词的出现次数相关联的存储为高频词词典;分别从文本库中的每行文本数据中筛选出高频词,构成该行文本数据对应的高频词元组;根据各高频词在文本数据中的出现次数,计算任意两个高频词之间的依赖度;对文本库中的文本数据进行第二次遍历,根据文本数据对应的高频词元组,生成每行文本数据的预选文本模式;根据高频词之间的依赖度,对文本数据的预选文本模式进行修正,得到文本数据的修正文本模式;以及对文本数据的修正文本模式进行相似度合并,得到文本模式库。
可选地,在根据本发明的方法中,在对每行文本数据进行分词处理前,还包括步骤:将每行文本数据中的预定类型的关键词替换为预定词,其中预定类型的关键词包括时间、日期、ip地址和数字中的至少一个。
可选地,在根据本发明的方法中,任意两个高频词wi和wj之间的依赖度包括wi出现时wj出现的第一条件概率p(wj|wi),以及wj出现时wi出现的第二条件概率p(wi|wj),统计任意两个高频词之间的依赖度的步骤包括:统计任意两个高频词wi和wj在同一行文本数据中出现的次数n(wi,wj);根据p(wj|wi)=n(wi,wj)/n(wi)计算第一条件概率,以及根据p(wi|wj)=n(wi,wj)/n(wj)计算的第二条件概率;其中,n(wi)和n(wj)分别是高频词wi和wj在所有文本数据中出现的次数。
可选地,在根据本发明的方法中,对文本库中的文本数据进行第二次遍历,根据文本数据对应的高频词元组,生成每行文本数据的预选文本模式的步骤包括:根据文本数据对应的高频词元组,统计每行文本数据中相邻两个高频词wi和wi+1之间的非高频词的数目m(wi,wi+1);如果m(wi,wi+1)≠0,则将统计到的数目m(wi,wi+1)以第一通配符的形式插入到高频词元组中的高频词wi和wi+1之间,从而得到该行文本数据的预选文本模式。
可选地,在根据本发明的方法中,在对文本数据的预选文本模式进行修正之前,还包括:如果有多行文本数据的对应高频词元组相同,则将这多行文本数据的所对应的多个预选文本模式按照如下方式进行合并:对该多个预选文本模式进行一次遍历,确定其中每个预选文本模式中任意两个相邻的高频词wi和wi+1之间的非高频词数目m(wi,wi+1),并从中选出最小值mmin(wi,wi+1)和最大值mmax(wi,wi+1);以及对于其中任意一个预选文本模式,将该预选文本模式中任意两个相邻的高频词wi和wi+1之间的内容修改为用最小值mmin(wi,wi+1)和最大值mmax(wi,wi+1)表示的第二通配符。
可选地,在根据本发明的方法中,第一通配符的表示方法为:*{m(wi,wi+1),m(wi,wi+1)},代表某行文本数据中相邻的两个高频词wi和wi+1之间有m(wi,wi+1)个非高频词;第二通配符的表示方法为:*{mmin(wi,wi+1),mmax(wi,wi+1)},代表在多行文本数据中相邻的两个高频词wi和wi+1之间的非高频词数目,最少有mmin(wi,wi+1)个,最多有mmax(wi,wi+1)个。
可选地,在根据本发明的方法中,根据高频词之间的依赖度,对文本数据的预选文本模式进行修正的步骤包括:计算预选文本模式中任意一个高频词wi与同行的其他高频词的加权依赖度p(wi)=[p(wi|w1)+p(wi|w2)+…+p(wi|wn))]/(n-1),其中n代表该行文本的高频词数目,且n≠i;如果该加权依赖度小于第二阈值,则将该高频词wi作为高频词wi-1和wi+1之间的一个非高频词而删除,并相应的修改wi-1和wi+1之间的通配符;其中,wi-1和wi+1分别是该预选文本模式中高频词wi前后相邻的两个高频词。
可选地,在根据本发明的方法中,对文本数据的修正文本模式进行相似度合并的步骤包括:对于任意两个修正文本模式,分别计算其序列总长度l1和l2,并从中选出最大值max(l1,l2),其中,修正文本模式的序列长度为其所包括的高频词的数目;确定这两个修正文本模式之间的最长公共子串,并计算该最长公共子序列的长度l3;以及计算最长公共子序列的长度l3与序列长度的最大值的比值;如果该比值不小于第三阈值,则将这两个修正文本模式进行合并。
可选地,在根据本发明的方法中,将两个修正文本模式进行合并的步骤包括:任选其中一个修正文本模式中,确定该修正文本模式中未计入最长公共子序列中的高频词;将该高频词作为该修正文本模式中的一个非高频词而删除,并相应地修改其前后相邻的两个高频词之间的通配符,从而得到相似度合并后的文本模式。
可选地,在根据本发明的方法中,文本库为日志文本库、url文本库或trace文本库;第一阈值的取值为max(支持度×文本数据行数,第四阈值)
可选地,在根据本发明的方法中,文本数据为半结构化文本数据;将每行文本数据中的预定类型的关键词替换为预定词的步骤包括:将时间类关键词替换为DATE,日期类关键词替换为TIME,数字类关键词替换为NUM,以及将ip地址类关键词替换为IP。
可选地,在根据本发明的方法中,支持度为0.05‰-0.15‰,第二阈值为0.3-0.5,第三阈值为0.6-0.9,第四阈值为4-6。
根据本发明的另一个方面,提供一种文本模式生成装置,适于在计算设备中执行,该装置包括:分词单元,适于获取包括多条文本数据的文本库,并对其中每行文本数据进行分词处理;词典生成单元,适于对文本库中的文本数据进行第一次遍历,统计出所有文本数据中每个单词的出现次数,并从中筛选出出现次数大于第一阈值的单词作为高频词,将高频词与该高频词的出现次数相关联的存储为高频词词典;元组生成单元,适于分别从文本库中的每行文本数据中筛选出高频词,构成该行文本数据对应的高频词元组;依赖度计算单元,适于根据各高频词在文本数据中的出现次数,计算任意两个高频词之间的依赖度;预模式生成单元,适于对文本库中的文本数据进行第二次遍历,根据文本数据对应的高频词元组,生成每行文本数据的预选文本模式;预模式修正单元,适于根据高频词之间的依赖度,对文本数据的预选文本模式进行修正,得到文本数据的修正文本模式;以及模式库生成单元,适于对文本数据的修正文本模式进行相似度合并,得到文本模式库。
根据本发明的又一方面,提供一种计算设备,包括如上所述的文本模式生成装置。
根据本发明的技术方案,通过对文本库中的文本数据进行遍历,得到其中每个单词的出现次数,并从中筛选出其中的高频词。之后,再进一步筛选出每行文本数据中的高频词,构成该行文本数据的高频词元组。根据各高频词在文本数据中的出现次数,计算任意两个高频词之间的依赖度。根据文本数据对应的高频词元组,生成该行文本数据的预选文本模式。根据计算得到的高频词的依赖度,对预选文本模式进行修正,从而进一步文本模式的精度。最后,根据最长公共子序列的算法,将比较相似的修正文本模式进行合并,从而得到最终的文本模式库。通过这种方法生成的文本模式的匹配度很高,能最大限度的覆盖大多数的文本数据。
另外,本发明还可以将其中的时间、日期、数字、IP等预定类型的词正则替换为其他预定词,这样可以将其作为普通词进行处理,进一步精简了文本模式的数据量,也提高了其对文本数据的覆盖度。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的结构框图;
图2示出了根据本发明一个实施例的文本模式生成方法200的流程图;
图3a和3b分别示出了根据本发明一个实施例的日志文本的部分数据,以及由该日志文本的完整数据所生成的文本模式;
图4a和4b分别示出了根据本发明另一个实施例的url文本的部分数据,以及由该url文本的完整数据所生成的文本模式;
图5示出了根据本发明又一个实施例的由trace文本数据生成的文本模式;
图6示出了根据本发明一个实施例的文本模式生成装置300的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1为布置为实现根据本发明的文本模式生成装置300的示例计算设备100的结构框图。如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。在一些实施例中,计算设备100被配置为执行根据本发明的文本模式生成方法200,其中应用122包括根据本发明的文本模式生成装置300。
图2示出了根据本发明一个实施例的文本模式生成方法200,适于在计算设备100中执行,如图2所示,该方法始于步骤S210。
在步骤S210中,获取包括多条文本数据的文本库,并对其中每行文本数据进行分词处理。其中,文本库为日志文本库、url文本库或trace文本库;文本数据为非结构化文本或半结构化文本。其中,非结构化文本和普通纯文本相比,其具有一定的结构性,但和具有严格理论模型的关系数据库的数据相比,其结构性又稍微弱一些。
具体地,分词方法可以采用自定义的分词规则进行处理,如w1w2w3是一行文本,则可以将其分词为[w1][w2][w3]。当然,也可以采用其他现有的分词方法,本发明对此不作限制。
根据一个实施例,在步骤S210之前,还可以包括步骤:将每行文本数据中的预定类型的关键词替换为预定词。其中,预定类型的关键词可以为时间、日期、ip地址或数字类等关键词。具体地,可以将将时间类关键词替换为DATE,日期类关键词替换为TIME,数字类关键词替换为NUM,以及将ip地址类关键词替换为IP。这些替换后的字符在后续处理中当作普通词来处理。当然,也可以替换为其他特定词,本发明对替换词的形式不做限制。其中,对预定类型的关键词判断可以采用正则匹配方法。
随后,在步骤S220中,对文本库中的文本数据进行第一次遍历,统计出每个单词的出现次数,并从中筛选出出现次数大于第一阈值的单词作为高频词,将高频词与该高频词的出现次数相关联的存储为高频词词典,如存储为为词典D。
根据一个实施例,第一阈值的取值为max(支持度×文本数据行数,第四阈值),其中,支持度可以为0.05‰-0.15‰,具体可以为0.01%;第四阈值可以取值为4-6,具体可以为5。
随后,在步骤S230中,从文本库的每行文本数据中筛选出高频词,构成该行文本数据对应的高频词元组。也就是,每行文本数据对应一个高频词元组。
随后,在步骤S240中,根据各高频词在文本数据中的出现次数,计算任意两个高频词之间的依赖度。其中,任意两个高频词wi和wj之间的依赖度包括wi出现时wj出现的第一条件概率p(wj|wi),以及wj出现时wi出现的第二条件概率p(wi|wj)。
具体地,计算任意两个高频词之间的依赖度可以首先统计任意两个高频词wi和wj在同一行文本数据中出现的次数n(wi,wj)。例如,如果w1和w2这两个单词在第1行、第2-3行,第5-10行都出现了,则n(w1,w2)=9;如果对w1和w3这两个单词在第1行、第3行,第4-8行都出现了,则其计数为7。之后,再根据p(wj|wi)=n(wi,wj)/n(wi)计算第一条件概率,以及根据p(wi|wj)=n(wi,wj)/n(wj)计算的第二条件概率。其中,n(wi)和n(wj)分别是高频词wi和wj在所有文本数据中出现的次数。
随后,在步骤S250中,对文本库中的文本数据进行第二次遍历,根据文本数据对应的高频词元组,生成每行文本数据的预选文本模式。
具体地,可以根据文本数据对应的高频词元组,统计每行文本数据中相邻两个高频词wi和wi+1之间的非高频词的数目m(wi,wi+1)。如果m(wi,wi+1)≠0,则将统计到的数目m(wi,wi+1)以第一通配符的形式插入到高频词元组中的高频词wi和wi+1之间,从而得到该行文本数据的预选文本模式。其中,第一通配符的表示方法可以为:*{m(wi,wi+1),m(wi,wi+1)},代表某行文本数据中相邻的两个高频词wi和wi+1之间有m(wi,wi+1)个非高频词。当然这只是一个示例性的说明,也可以用其他方式进行表示,本发明对此不作限制。
例如,若某行文本数据为:w1 A B C w2 D E w3 F w4,其中,用大写表示的为非高频词,则该行文本对应的高频词元组为w1 w2 w3和w4,且相邻两个高频词之间的非高频词数目分别为3、2、1,则该行文本数据的预选文本模式为:w1 *{3,3} w2 *{2,2} w3 *{1,1} w4,记为预模式一。
之后,以类似的方法对其他行的文本数据进行处理,若某行文本数据为:w1 F Gw2H I F w3 J K w4,则其生成的预选文本模式为w1 *{2,2} w2 *{3,3} w3{2,2} w4,记为预模式二。
可以看到,预模式一和预模式二中的高频词元组是相同的,只是两个高频词之间的通配符不同,即文本数据中两个高频词之间的非高频词数目不同,这两个预模式实际上可以作为一种模式进行记录,以进一步浓缩文本库中的文本数据。
因此,根据本发明的一个实施例,如果有多行文本数据的对应高频词元组相同,则可以将这多行文本数据的所对应的多个预选文本模式按照如下方式进行合并:对多个预选文本模式进行一次遍历,确定其中每个预选文本模式中任意两个相邻的高频词wi和wi+1之间的非高频词数目m(wi,wi+1),并从中选出最小值mmin(wi,wi+1)和最大值mmax(wi,wi+1);以及对于其中任意一个预选文本模式,将该预选文本模式中任意两个相邻的高频词wi和wi+1之间的内容修改为用最小值mmin(wi,wi+1)和最大值mmax(wi,wi+1)表示的第二通配符,从而得到合并后的预选文本模式。
具体地,第二通配符的表示方法可以为:*{mmin(wi,wi+1),mmax(wi,wi+1)},代表在多行文本数据中相邻的两个高频词wi和wi+1之间的非高频词数目,最少有mmin(wi,wi+1)个,最多有mmax(wi,wi+1)个。当然这只是一个示例性的说明,也可以用其他方式进行表示,本发明对此不作限制。
按照上述例子将预模式一和预模式二进行合并,w1和w2之间的的高频词,最少为2个,最多为3个;w2和w3之间的高频词,也是最少为2个,最多为3个;w3和w4之间则分别是1个和2个。因此,将这两个预模式为w1 *{2,3}w2 *{2,3} w3 *{1,2} w4
这里,若有k行文本数据都满足预定结构格式,并将其进行合并为预模式三,则认为与预模式三匹对的文本数据共有k行。
随后,在步骤S260中,根据高频词之间的依赖度,对文本数据的预选文本模式进行修正,得到文本数据的修正文本模式。
具体地,对预选文本模式进行修正步骤可以包括:计算预选文本模式中任意一个高频词wi与同行的其他高频词的加权依赖度p(wi)=[p(wi|w1)+p(wi|w2)+…+p(wi|wn))]/(n-1),其中n代表该行文本的高频词数目,且n≠i。如果该加权依赖度小于第二阈值,则将该高频词wi作为高频词wi-1和wi+1之间的一个非高频词从该预选文本模式中删除,并相应的修改wi-1和wi+1之间的通配符。其中,wi-1和wi+1分别是该预选文本模式中高频词wi前后相邻的两个高频词,第二阈值可以取0.3-0.5,具体可以取0.4。
另外,对于预选文本模式中同行的高频词w1、w2…wn,如果i=1,则最后在修改通配符时,需要修改的是w2左侧的通配符;如果i=n,则最后需要修改的是wn-1右侧的通配符。
例如,对于将预模式一和预模式二合并后的预模式三w1 *{2,3}w2 *{2,3}w3 *{1,2}w4,对于其中的高频词w2,因为已在步骤S240中计算得到w2出现时w1出现的条件概率p(w2|w1),w3出现时w1出现的条件概率p(w3|w1),以及w4出现时w1出现的条件概率p(w4|w1),因此该预选文本模式中w1与同行的其他高频词的加权依赖度p(w1)=[p(w1|w2)+p(w1|w3)+p(w1|w4))]/3。如果其值为0.2,小于0.4,则可以认为w1不应该是该行的常用词,将其作为非高频词进行处理,即将其在预选文本模式中删掉。相应地,也要修改w2左侧的通配符,将该通配符的最小值和最大值都加1,得到修正文本模式*{3,4} w2 *{2,3} w3 *{1,2} w4,记为预模式四。
当然,如果是w2与同行的其他高频词的加权依赖较低,则将w2删掉后需要相应修改w1和w3之间的通配符,得到的修正文本模式为w1 *{5,7} w3 *{1,2} w4
这里,在对文本模式进行修订时,同时考虑到了wi对wj的依赖度,以及wj对wi的依赖度,两个依赖度都比较高时,才将其保留在文本模式的同一行中,而不是只要有一个高就可以都保留,这样做可避免因单方面依赖度过低而影响整个文本模式的确定,以及生成的文本模式匹配度低的问题。
应当理解,对预选文本模式的修正,可以对合并后的预选文本模式的进行加权依赖度计算,并根据计算结果对该合并后的预选文本模式进行修正。当然,也可以对合并前的预选文本模式的进行加权依赖度计算计算,根据计算结果对预选文本模式进行更新后再进行合并的操作。而且,将预模式三修正为预模式四的过程中,其所匹对的文本数据并未改变,因此与预模式四匹对的文本行数依然为有k行。
随后,在步骤S270中,对文本数据的修正文本模式进行相似度合并,得到文本模式库。
具体地,对于任意两个修正文本模式,分别计算其序列长度l1和l2,并从中选出最大值max(l1,l2),其中,修正文本模式的序列长度为其所包括的高频词的数目,也就是通配符不计算到序列长度中。之后,确定这两个修正文本模式之间的最长公共子序列,并计算该最长公共子序列的长度l3。其中,最长公共子序列(Longest Common Subsequence,LCS),是指若一个序列S分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则S称为已知序列的最长公共子序列。之后,计算该最长公共子序列的长度l3与序列长度的最大值的比值。如果该比值不小于第三阈值,则将这两个修正文本模式进行合并。其中,第三阈值可以取0.6-0.9,具体可以取0.8。
进一步地,将两个修正文本模式进行合并的步骤包括:任选其中一个修正文本模式,确定该修正文本模式中未计入最长公共子序列中的高频词wi;将该高频词wj作为该修正文本模式中的一个非高频词而删除,并相应地修改其前后相邻的两个高频词wj-1和wj+1之间的通配符,从而得到相似度合并后的文本模式。其中,高频词wj-1和wj+1是最长公共子序列中与wj最相近的两个高频词。例如,若w2和w3都未计入到最长公共子序列中,而w1和w4计入其中,则需要将w2和w3作为w1和w4之间的非高频词,并相应地修改w1和w4之间的通配符。另外,对于修正文本模式中同行的高频词w1、w2…wn,若j=1,则最后修改通配符时,需要相应地修改w2左侧的通配符;若j=n,则相应地修改wn-1右侧的通配符。
这里,在统计最长公共子序列时,需要在考虑高频词出现顺序的前提下计算任意两个修正文本模式的相似文本长度。相似度合并后得到的文本模式,从结构上看是保留了构成最长公共子序列的高频词部分,并将保留的高频词中任两个高频词之间的内容都作为非高频词进行处理。通过统计保留后的任两个高频词之间非高频词数目的最小值和最大值,来相应地修改这两个高频词之间的通配符。
若有预模式五:w1{1,3} w2 {4,4} w3 {1,1} w4 {2,2} w5
预模式六:w1{2,3} w2 {2,2} w6 {1,1} w4 {1,3} w5
在两个预模式中,其序列长度均为5;w1、w2、w4和w5的单词和顺序相同,这两个预模式的最长公共子序列为4,而4/5=0.8,因此可以进行合并。统计得到w1和w2之间的非高频词数目,最小值为1,最大值为3。将w3和w6都作为非高频词,统计得到w2和w4之间的非高频词数目,最小值为4,最大值为6。而w4和w5之间的两个值分别是1和3。因此,最后合并后得到的文本模式为:w1{1,3} w2 {4,6} w4 {1,3} w5
这里,若与预模式五匹对的文本数据共有k1行,与预模式六匹对的文本数据共有k2行,则将这两个预模式合并后的文本模式所匹对的文本数据共有有k1+k2行。
图3a和3b分别示出了根据本发明一个实施例的日志文本的部分数据,以及由该完整的日志文本数据所生成的文本模式。在该日志文本中共有1997条日志数据,将这些日志数据进行分析统计后,生成的文本模式只有两个,图3b中的第一个文本模式匹对的文本数据有1373条,第一个文本模式匹对的文本数据有624条,这两个文本模式的匹配度与覆盖率非常高。
图4a和4b分别示出了根据本发明一个实施例的url文本数据,以及由该url文本数据生成的文本模式。其中,该url文本中共有63034条url数据,其生成的文本模式只有十几种,这些文本模式可以覆盖到99.9%的文本数据。
图5示出了根据本发明一个实施例的由trace文本数据生成的文本模式。这里,共有14298条trace数据,其生成的文本模式只有7种,基本覆盖了97.3%的文本数据。
可见,用本发明中的方法所生成的文本模式,能够精准又广泛的覆盖大部分文本数据,极大地方便了后续的数据处理与分析过程,如故障定位、文本关联分析等。
图6示出了根据本发明一个实施例的文本模式生成装置300的结构框图。如图6所示,该应用包括:分词单元310、词典生成单元320、元组生成单元330、依赖度计算单元340、预模式生成单元350、预模式修正单元360和模式库生成单元370。
分词单元310适于获取包括多条文本数据的文本库,并对其中每行文本数据进行分词处理。其中,文本库包括日志文本库、url文本库或trace文本库;文本数据为半结构化文本数据或非结构化文本数据。
词典生成单元320适于对文本库中的文本数据进行第一次遍历,统计出所有文本数据中每个单词的出现次数,并从中筛选出出现次数大于第一阈值的单词作为高频词,将高频词与该高频词的出现次数相关联的存储为高频词词典。
元组生成单元330适于分别从文本库中的每行文本数据中筛选出高频词,构成该行文本数据对应的高频词元组。
依赖度计算单元340适于根据各高频词在文本数据中的出现次数,计算任意两个高频词之间的依赖度。其计算过程已在方法200中详细说明,在此不再赘述。
预模式生成单元350适于对文本库中的文本数据进行第二次遍历,根据文本数据对应的高频词元组,生成每行文本数据的预选文本模式。具体地,预模式生成单元350可以统计每行高频词元组中相邻两个高频词wi和wi+1之间的非高频词的数目m(wi,wi+1)。如果m(wi,wi+1)≠0,则将统计到的数目m(wi,wi+1)以第一通配符的形式插入到高频词wi和wi+1之间,从而得到该行文本数据的预选文本模式。
预模式修正单元360适于根据高频词之间的依赖度,对文本数据的预选文本模式进行修正,得到文本数据的修正文本模式。具体地,预模式修正单元360适于计算预选文本模式中任意一个高频词wi与同行的其他高频词的加权依赖度p(wi)=[p(wi|w1)+p(wi|w2)+…+p(wi|wn))]/(n-1),其中n代表该行文本的高频词数目,且n≠i。如果加权依赖度小于第二阈值,则将该高频词wi设置为高频词wi-1和wi+1之间的一个非高频词,并相应的修改wi-1和wi+1之间的通配符。
模式库生成单元370适于对文本数据的修正文本模式进行相似度合并,得到文本模式库。具体地,模式库生成单元370适于对于任意两个修正文本模式,分别计算其字序列长度l1和l2,并从中选出最大值max(l1,l2);确定这两个修正文本模式之间的最长公共子序列,并计算该最长公共子序列的长度l3,以及该最长公共子序列的长度l3与序列长度的最大值的比值。如果该比值不小于第三阈值,则将这两个修正文本模式进行合并。
根据一个实施例,装置300还可以包括文本替换单元(图中未示出),适于在对每行文本数据进行分词处理前,将每行文本数据中的预定类型的关键词替换为预定词。其中,预定类型的关键词包括时间、日期、ip、数字和端口中的至少一个。
根据另一个实施例,装置300还可以包括预模式合并单元(图中未示出),适于当有多行文本数据的对应高频词元组相同时,将这多行文本数据的所对应的多个预选文本模式按照如下方式进行合并:对多个预选文本模式进行一次遍历,确定其中每行预选文本模式中任意两个相邻的高频词wi和wi+1之间的非高频词数目m(wi,wi+1),并从中选出最小值mmin(wi,wi+1)和最大值mmax(wi,wi+1)。对于其中任意一个预选文本模式,将该预选文本模式中任意两个相邻的高频词wi和wi+1之间的内容修改为用最小值mmin(wi,wi+1)和最大值mmax(wi,wi+1)表示的第二通配符。
根据本发明的文本模式生成装置300,其具体细节已在基于图1-图5的描述中详细公开,在此不再赘述。
根据本发明的技术方案,通过统计单词出现次数,得到文本数据中的高频词;根据每行文本数据的高频词元组中单词之间的依赖度,对生成的预选文本模式进行修正;通过合并相似度较高的修正文本模式,既能够更好地保留文本模式的语义,也不会过分合并而消除太多语义。这样生成的文本模式匹配度很高,能最大限度的覆盖大多数的文本数据。另外,本发明还将文本数据中的的时间、日期、数字、IP等预定类型的词正则替换为其他预定词,这样。可以将其作为普通词进行处理,进一步精简了文本模式的数据量,也提高了其对文本数据的覆盖度。
A9、如A1或A8所述的方法,将两个修正文本模式进行合并的步骤包括:任选其中一个修正文本模式,确定该修正文本模式中未计入最长公共子序列中的高频词;将该高频词作为该修正文本模式中的一个非高频词而删除,并相应地修改其前后相邻的两个高频词之间的通配符,从而得到相似度合并后的文本模式。
A10、如A1所述的方法,其中,所述文本库为日志文本库、url文本库或trace文本库;所述第一阈值的取值为max(支持度×文本数据行数,第四阈值)。
A11、如A1-A10中任一项所述的方法,其中,所述文本数据为半结构化文本数据;所述将每行文本数据中的预定类型的关键词替换为预定词的步骤包括:将时间类关键词替换为DATE,日期类关键词替换为TIME,数字类关键词替换为NUM,以及将ip地址类关键词替换为IP。
A12、如A1-A10中任一项所述的方法,其中,所述支持度为0.05‰-0.15‰,所述第二阈值为0.3-0.5,所述第三阈值为0.6-0.9,所述第四阈值为4-6。
B14、如B13所述的装置,还包括文本替换单元,适于:在对每行文本数据进行分词处理前,将每行文本数据中的预定类型的关键词替换为预定词;其中,所述预定类型的关键词包括时间、日期、ip和数字中的至少一个。
B15、如B13所述的装置,其中,任意两个高频词wi和wj之间的依赖度包括wi出现时wj出现的第一条件概率p(wj|wi),以及wj出现时wi出现的第二条件概率p(wi|wj),所述依赖度计算单元适于:统计任意两个高频词wi和wj在同一行文本数据中出现的次数n(wi,wj);根据p(wj|wi)=n(wi,wj)/n(wi)计算第一条件概率,以及根据p(wi|wj)=n(wi,wj)/n(wj)计算的第二条件概率;其中,n(wi)和n(wj)分别是高频词wi和wj在所有文本数据中出现的次数。
B16、如B13所述的装置,其中,所述预模式生成单元适于:根据文本数据对应的高频词元组,统计每行文本数据中相邻两个高频词wi和wi+1之间的非高频词的数目m(wi,wi+1);如果m(wi,wi+1)≠0,则将统计到的数目m(wi,wi+1)以第一通配符的形式插入到高频词wi和wi+1之间,从而得到该行文本数据的预选文本模式。
B17、如B16所述的装置,还包括预模式合并单元,适于:当有多行文本数据的对应高频词元组相同时,则将这多行文本数据的所对应的多个预选文本模式按照如下方式进行合并:对所述多个预选文本模式进行一次遍历,确定其中每行预选文本模式中任意两个相邻的高频词wi和wi+1之间的非高频词数目m(wi,wi+1),并从中选出最小值mmin(wi,wi+1)和最大值mmax(wi,wi+1);以及对于其中任意一个预选文本模式,将该预选文本模式中任意两个相邻的高频词wi和wi+1之间的内容修改为用最小值mmin(wi,wi+1)和最大值mmax(wi,wi+1)表示的第二通配符。
B18、如B17所述的装置,其中,所述第一通配符的表示方法为:*{m(wi,wi+1),m(wi,wi+1)},代表某行文本数据中相邻的两个高频词wi和wi+1之间有m(wi,wi+1)个非高频词;所述第二通配符的表示方法为:*{mmin(wi,wi+1),mmax(wi,wi+1)},代表在所述多行文本数据中相邻的两个高频词wi和wi+1之间的非高频词数目,最少有mmin(wi,wi+1)个,最多有mmax(wi,wi+1)个。
B19、如B13-B18中任一项所述的装置,其中,所述预模式修正适于:计算所述预选文本模式的任意一个高频词wi与同行的其他高频词的加权依赖度p(wi)=[p(wi|w1)+p(wi|w2)+…+p(wi|wn))]/(n-1),其中n代表该行文本的高频词数目,且n≠i;如果所述加权依赖度小于第二阈值,则将该高频词wi作为高频词wi-1和wi+1之间的一个非高频词而删除,并相应的修改wi-1和wi+1之间的通配符;其中,wi-1和wi+1分别是该预选文本模式中高频词wi前后相邻的两个高频词。
B20、如B13所述的装置,其中,所述模式库生成单元适于:对于任意两个修正文本模式,分别计算其序列长度l1和l2,并从中选出最大值max(l1,l2),其中,修正文本模式的序列长度为其所包括的高频词的数目;确定这两个修正文本模式之间的最长公共子序列,并计算该最长公共子串的长度l3;以及计算所述最长公共子序列的长度l3与序列长度的最大值的比值;如果该比值不小于第三阈值,则将这两个修正文本模式进行合并。
B21、如B13或B20所述的装置,其中,所述模式库生成单元适于根据以下方法两个修正文本模式进行合并:任选其中一个修正文本模式,确定该修正文本模式中未计入最长公共子序列中的高频词;将该高频词作为该修正文本模式中的一个非高频词而删除,并相应地修改其前后相邻的两个高频词之间的通配符,从而得到相似度合并后的文本模式。
B22、如B13所述的装置,其中,所述文本库为日志文本库、url文本库或trace文本库;所述第一阈值的取值为max(支持度×文本数据行数,第四阈值)。
B23、如B13-B22中任一项所述的装置,其中,所述文本数据为半结构化文本数据;所述文本替换单元适于:将时间类关键词替换为DATE,日期类关键词替换为TIME,数字类关键词替换为NUM,以及将ip地址类关键词替换为IP。
B24、如B13-B22中任一项所述的装置,其中,所述支持度为0.05‰-0.15‰,所述第二阈值为0.3-0.5,所述第三阈值为0.6-0.9,所述第四阈值为4-6。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (25)

1.一种文本模式生成方法,适于在计算设备中执行,该方法包括:
获取包括多条文本数据的文本库,并对其中每行文本数据进行分词处理;
对文本库中的文本数据进行第一次遍历,统计出所有文本数据中每个单词的出现次数,并从中筛选出出现次数大于第一阈值的单词作为高频词,将高频词与该高频词的出现次数相关联的存储为高频词词典;
分别从文本库中的每行文本数据中筛选出高频词,构成该行文本数据对应的高频词元组;
根据各高频词在文本数据中的出现次数,计算任意两个高频词之间的依赖度;
对文本库中的文本数据进行第二次遍历,根据文本数据对应的高频词元组,生成每行文本数据的预选文本模式;
根据高频词之间的依赖度,对文本数据的预选文本模式进行修正,得到文本数据的修正文本模式;以及
对文本数据的修正文本模式进行相似度合并,得到文本模式库。
2.如权利要求1所述的方法,其中,在对每行文本数据进行分词处理前,还包括步骤:
将每行文本数据中的预定类型的关键词替换为预定词,所述预定类型的关键词包括时间、日期、ip地址和数字中的至少一个。
3.如权利要求1所述的方法,其中,任意两个高频词wi和wj之间的依赖度包括wi出现时wj出现的第一条件概率p(wj|wi),以及wj出现时wi出现的第二条件概率p(wi|wj),所述计算任意两个高频词之间的依赖度的步骤包括:
计算任意两个高频词wi和wj在同一行文本数据中出现的次数n(wi,wj);
根据p(wj|wi)=n(wi,wj)/n(wi)计算第一条件概率,以及根据p(wi|wj)=n(wi,wj)/n(wj)计算的第二条件概率;
其中,n(wi)和n(wj)分别是高频词wi和wj在所有文本数据中出现的次数。
4.如权利要求1所述的方法,其中,所述对文本库中的文本数据进行第二次遍历,根据文本数据对应的高频词元组,生成每行文本数据的预选文本模式的步骤包括:
根据文本数据对应的高频词元组,统计每行文本数据中相邻两个高频词wi和wi+1之间的非高频词的数目m(wi,wi+1);
如果m(wi,wi+1)≠0,则将统计到的数目m(wi,wi+1)以第一通配符的形式插入到高频词元组中的高频词wi和wi+1之间,从而得到该行文本数据的预选文本模式。
5.如权利要求4所述的方法,其中,在对文本数据的预选文本模式进行修正之前,还包括:
如果有多行文本数据的对应高频词元组相同,则将这多行文本数据的所对应的多个预选文本模式按照如下方式进行合并:
对所述多个预选文本模式进行一次遍历,确定其中每个预选文本模式中任意两个相邻的高频词wi和wi+1之间的非高频词数目m(wi,wi+1),并从中选出最小值mmin(wi,wi+1)和最大值mmax(wi,wi+1);以及
对于其中任意一个预选文本模式,将该预选文本模式中任意两个相邻的高频词wi和wi+1之间的内容修改为用最小值mmin(wi,wi+1)和最大值mmax(wi,wi+1)表示的第二通配符。
6.如权利要求5所述的方法,其中,
所述第一通配符的表示方法为:*{m(wi,wi+1),m(wi,wi+1)},代表某行文本数据中相邻的两个高频词wi和wi+1之间有m(wi,wi+1)个非高频词;
所述第二通配符的表示方法为:*{mmin(wi,wi+1),mmax(wi,wi+1)},代表在所述多行文本数据中相邻的两个高频词wi和wi+1之间的非高频词数目,最少有mmin(wi,wi+1)个,最多有mmax(wi,wi+1)个。
7.如权利要求1-6中任一项所述的方法,所述根据高频词之间的依赖度,对文本数据的预选文本模式进行修正的步骤包括:
计算所述预选文本模式的任意一个高频词wi与同行的其他高频词的加权依赖度p(wi)=[p(wi|w1)+p(wi|w2)+…+p(wi|wn))]/(n-1),其中n代表该行文本的高频词数目,且n≠i;
如果所述加权依赖度小于第二阈值,则将该高频词wi作为高频词wi-1和wi+1之间的一个非高频词而删除,并相应的修改wi-1和wi+1之间的通配符;
其中,wi-1和wi+1分别是该预选文本模式中高频词wi前后相邻的两个高频词。
8.如权利要求7所述的方法,所述对文本数据的修正文本模式进行相似度合并的步骤包括:
对于任意两个修正文本模式,分别计算其序列长度l1和l2,并从中选出最大值max(l1,l2),其中,修正文本模式的序列长度为其所包括的高频词的数目;
确定这两个修正文本模式之间的最长公共子序列,并计算该最长公共子序列的长度l3;以及
计算所述最长公共子序列的长度l3与序列长度的最大值的比值;
如果该比值不小于第三阈值,则将这两个修正文本模式进行合并。
9.如权利要求8所述的方法,将两个修正文本模式进行合并的步骤包括:
任选其中一个修正文本模式,确定该修正文本模式中未计入最长公共子序列中的高频词。
10.如权利要求8所述的方法,其中,
所述文本库为日志文本库、url文本库或trace文本库;
所述第一阈值的取值为max(支持度×文本数据行数,第四阈值)。
11.如权利要求2所述的方法,其中,
所述文本数据为半结构化文本数据;
所述将每行文本数据中的预定类型的关键词替换为预定词的步骤包括:
将时间类关键词替换为DATE,日期类关键词替换为TIME,数字类关键词替换为NUM,以及将ip地址类关键词替换为IP。
12.如权利要求10所述的方法,其中,所述支持度为0.05‰-0.15‰,所述第二阈值为0.3-0.5,所述第三阈值为0.6-0.9,所述第四阈值为4-6。
13.一种文本模式生成装置,适于在计算设备中执行,该装置包括:
分词单元,适于获取包括多条文本数据的文本库,并对其中每行文本数据进行分词处理;
词典生成单元,适于对文本库中的文本数据进行第一次遍历,统计出所有文本数据中每个单词的出现次数,并从中筛选出出现次数大于第一阈值的单词作为高频词,将高频词与该高频词的出现次数相关联的存储为高频词词典;
元组生成单元,适于分别从文本库中的每行文本数据中筛选出高频词,构成该行文本数据对应的高频词元组;
依赖度计算单元,适于根据各高频词在文本数据中的出现次数,计算任意两个高频词之间的依赖度;
预模式生成单元,适于对文本库中的文本数据进行第二次遍历,根据文本数据对应的高频词元组,生成每行文本数据的预选文本模式;
预模式修正单元,适于根据高频词之间的依赖度,对文本数据的预选文本模式进行修正,得到文本数据的修正文本模式;以及
模式库生成单元,适于对文本数据的修正文本模式进行相似度合并,得到文本模式库。
14.如权利要求13所述的装置,还包括文本替换单元,适于:
在对每行文本数据进行分词处理前,将每行文本数据中的预定类型的关键词替换为预定词;其中,所述预定类型的关键词包括时间、日期、ip和数字中的至少一个。
15.如权利要求13所述的装置,其中,任意两个高频词wi和wj之间的依赖度包括wi出现时wj出现的第一条件概率p(wj|wi),以及wj出现时wi出现的第二条件概率p(wi|wj),所述依赖度计算单元适于:
计算任意两个高频词wi和wj在同一行文本数据中出现的次数n(wi,wj);
根据p(wj|wi)=n(wi,wj)/n(wi)计算第一条件概率,以及根据p(wi|wj)=n(wi,wj)/n(wj)计算的第二条件概率;
其中,n(wi)和n(wj)分别是高频词wi和wj在所有文本数据中出现的次数。
16.如权利要求13所述的装置,其中,所述预模式生成单元适于:
根据文本数据对应的高频词元组,统计每行文本数据中相邻两个高频词wi和wi+1之间的非高频词的数目m(wi,wi+1);
如果m(wi,wi+1)≠0,则将统计到的数目m(wi,wi+1)以第一通配符的形式插入到高频词wi和wi+1之间,从而得到该行文本数据的预选文本模式。
17.如权利要求16所述的装置,还包括预模式合并单元,适于:
当有多行文本数据的对应高频词元组相同时,则将这多行文本数据的所对应的多个预选文本模式按照如下方式进行合并:
对所述多个预选文本模式进行一次遍历,确定其中每行预选文本模式中任意两个相邻的高频词wi和wi+1之间的非高频词数目m(wi,wi+1),并从中选出最小值mmin(wi,wi+1)和最大值mmax(wi,wi+1);以及
对于其中任意一个预选文本模式,将该预选文本模式中任意两个相邻的高频词wi和wi+1之间的内容修改为用最小值mmin(wi,wi+1)和最大值mmax(wi,wi+1)表示的第二通配符。
18.如权利要求17所述的装置,其中,
所述第一通配符的表示方法为:*{m(wi,wi+1),m(wi,wi+1)},代表某行文本数据中相邻的两个高频词wi和wi+1之间有m(wi,wi+1)个非高频词;
所述第二通配符的表示方法为:*{mmin(wi,wi+1),mmax(wi,wi+1)},代表在所述多行文本数据中相邻的两个高频词wi和wi+1之间的非高频词数目,最少有mmin(wi,wi+1)个,最多有mmax(wi,wi+1)个。
19.如权利要求13-18中任一项所述的装置,其中,所述预模式修正适于:
计算所述预选文本模式的任意一个高频词wi与同行的其他高频词的加权依赖度p(wi)=[p(wi|w1)+p(wi|w2)+…+p(wi|wn))]/(n-1),其中n代表该行文本的高频词数目,且n≠i;
如果所述加权依赖度小于第二阈值,则将该高频词wi作为高频词wi-1和wi+1之间的一个非高频词而删除,并相应的修改wi-1和wi+1之间的通配符;
其中,wi-1和wi+1分别是该预选文本模式中高频词wi前后相邻的两个高频词。
20.如权利要求19所述的装置,其中,所述模式库生成单元适于:
对于任意两个修正文本模式,分别计算其序列长度l1和l2,并从中选出最大值max(l1,l2),其中,修正文本模式的序列长度为其所包括的高频词的数目;
确定这两个修正文本模式之间的最长公共子序列,并计算该最长公共子串的长度l3;以及
计算所述最长公共子序列的长度l3与序列长度的最大值的比值;
如果该比值不小于第三阈值,则将这两个修正文本模式进行合并。
21.如权利要求20所述的装置,其中,所述模式库生成单元适于根据以下方法两个修正文本模式进行合并:
任选其中一个修正文本模式,确定该修正文本模式中未计入最长公共子序列中的高频词;
将该高频词作为该修正文本模式中的一个非高频词而删除,并相应地修改其前后相邻的两个高频词之间的通配符,从而得到相似度合并后的文本模式。
22.如权利要求20所述的装置,其中,
所述文本库为日志文本库、url文本库或trace文本库;
所述第一阈值的取值为max(支持度×文本数据行数,第四阈值)。
23.如权利要求14所述的装置,其中,
所述文本数据为半结构化文本数据;
所述文本替换单元适于:将时间类关键词替换为DATE,日期类关键词替换为TIME,数字类关键词替换为NUM,以及将ip地址类关键词替换为IP。
24.如权利要求22所述的装置,其中,
所述支持度为0.05‰-0.15‰,所述第二阈值为0.3-0.5,所述第三阈值为0.6-0.9,所述第四阈值为4-6。
25.一种计算设备,包括如权利要求13-18中任一项所述的文本模式生成装置。
CN201611139530.XA 2016-12-12 2016-12-12 一种文本模式生成方法、装置和计算设备 Active CN106776556B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611139530.XA CN106776556B (zh) 2016-12-12 2016-12-12 一种文本模式生成方法、装置和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611139530.XA CN106776556B (zh) 2016-12-12 2016-12-12 一种文本模式生成方法、装置和计算设备

Publications (2)

Publication Number Publication Date
CN106776556A CN106776556A (zh) 2017-05-31
CN106776556B true CN106776556B (zh) 2019-10-11

Family

ID=58879988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611139530.XA Active CN106776556B (zh) 2016-12-12 2016-12-12 一种文本模式生成方法、装置和计算设备

Country Status (1)

Country Link
CN (1) CN106776556B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110019068B (zh) * 2017-10-19 2023-04-28 阿里巴巴集团控股有限公司 一种日志文本处理方法和装置
CN109947933B (zh) * 2017-11-29 2023-07-04 阿里巴巴集团控股有限公司 用于对日志进行分类的方法及装置
CN109582964A (zh) * 2018-11-29 2019-04-05 天津工业大学 基于婚姻法司法判决文书大数据的智能法律咨询辅助系统
CN110032496B (zh) * 2019-04-19 2023-10-13 杭州玳数科技有限公司 一种支持多样化日志合并的日志采集方法及系统
CN110472031A (zh) * 2019-08-13 2019-11-19 北京知道创宇信息技术股份有限公司 一种正则表达式获得方法、装置、电子设备及存储介质
CN112528630A (zh) * 2019-09-19 2021-03-19 北京国双科技有限公司 文本相似度确定方法、装置、存储介质和电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221558A (zh) * 2008-01-22 2008-07-16 安徽科大讯飞信息科技股份有限公司 句子模板自动提取的方法
CN103186509B (zh) * 2011-12-29 2016-03-30 北京百度网讯科技有限公司 通配符类模板泛化方法和装置、通用模板泛化方法和系统
CN105512138B (zh) * 2014-09-25 2019-04-19 阿里巴巴集团控股有限公司 文本消息的处理方法及其系统
CN105786964B (zh) * 2016-01-15 2019-08-09 二十一世纪空间技术应用股份有限公司 基于网络挖掘的遥感产品检索限定项语义扩展方法
CN105930509B (zh) * 2016-05-11 2019-05-17 华东师范大学 基于统计与模板匹配的领域概念自动抽取精化方法及系统

Also Published As

Publication number Publication date
CN106776556A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106776556B (zh) 一种文本模式生成方法、装置和计算设备
JP6771751B2 (ja) リスク評価方法およびシステム
WO2021027362A1 (zh) 基于数据分析的信息推送方法、装置、计算机设备及存储介质
US8655827B2 (en) Questionnaire generation
TWI556180B (zh) 用以遞迴檢閱網際網路及其他來源以識別、收集、管理、判定及鑑定商業身分與相關資料之系統及方法
CN106682097A (zh) 一种处理日志数据的方法和装置
CN110287325A (zh) 一种基于智能语音分析的电网客服业务推荐方法及装置
CN107220384B (zh) 一种基于相关性的搜索词处理方法、装置及计算设备
CN109804364A (zh) 知识图谱构建系统及方法
CN101038584A (zh) 用于执行计算处理的系统和方法
CN107967359A (zh) 数据可视分析方法、系统、终端和计算机可读存储介质
CN104915717B (zh) 数据处理方法、知识库推理方法及相关装置
Yao et al. R-C4. 5 Decision tree model and its applications to health care dataset
US11226946B2 (en) Systems and methods for automatically determining a performance index
US11269760B2 (en) Systems and methods for automated testing using artificial intelligence techniques
CN106682099A (zh) 一种数据的存储方法和装置
WO2013082718A1 (en) System and method for performing analysis on information, such as social media
JP2022526931A (ja) マスタ・データ管理システムのデータ記録にアクセスするための方法
CN108228808A (zh) 确定热点事件的方法、装置和存储介质以及电子设备
CN109977225A (zh) 舆情分析方法及装置
Constantinescu et al. Towards knowledge capturing and innovative human-system interface in an open-source factory modelling and simulation environment
Dang et al. What is in a rumour: Combined visual analysis of rumour flow and user activity
CN115630433A (zh) 一种基于机器学习和bim技术的建筑设计方法及系统
CN108133009A (zh) 一种信息存储方法及装置
CN110309214A (zh) 一种指令执行方法及其设备、存储介质、服务器

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