大数据中的语义识别【摘要】数据管理是一个在商业和政府中变得越来越重要的课题。
数据质量代表一个很大的挑战,因为数据质量不高所带来的间接损失是非常大的。
大数据是企业决策的基础,但是单纯的数据量的积累不会对企业产生任何益处,只有建立适当的分析模型,并运用相应的技术手段,对大量的数据进行有效地深加工,发现隐含在大量数据中的信息并加以利用,进而指导企业做出相关决策,才能将大数据的真正效用发挥到极致。
高质量的数据是大数据发挥效能的前提和基础,强大、高端的数据分析技术是大数据发挥效能的重要手段。
【关键词】数据量,大数据,数据质量分析,数据词典,正则表达式对大数据进行有效分析的前提是必须要保证数据的质量,专业的数据分析工具只有在高质量的大数据环境中才能提取出隐含的、准确的、有用的信息,否则,即使数据分析工具再先进,在大数据环境中也却只能提取出毫无意义的“垃圾”信息,那大数据的意义又何在?因此数据质量在大数据环境下尤其重要。
为提高数据质量,现在提出为数据添加语义的方法,帮助用户识别大数据的模式。
这种方法的独特性在于利用了数据的语义价值,检测完数据后,通过数据语义分析提出一个数据模型,这样就可以对数据更方便的处理。
1. 数据语义介绍在商业管理中,职业经理人必须有一个统一的视野和有价值较大的信息,从而在恰当的时机做出正确的决策。
数据质量管理在企业中已经非常重要了,目的是通过使用指示器这个易于交流,廉价而又计算方便的技术,来提供高精度,全面而又及时的信息。
在大数据时代包含多种数据源的信息的质量成为了一个巨大的挑战。
数据质量和语义方面很少加入论文文献。
现在的困难是用语义学提高数据质量。
在制定纠正数据中的错误的策略时,对数据模式的误解将是我们成功解决问题的重大障碍。
频繁的使用元数据不足于让我们正确的理解数据的真正含义。
对于一个给定的数据源S,我们的方法是提出一个语义数据分析来得到对数据定义的更好的了解,并且提高对错误数据的检测和纠正。
但是没有可用的模式来理解数据的意义,更别说纠正错误了。
目前很少有数据工具能够将字符串“pekin ”(法语’北京’的意思)识别为“Beijing ”,也不能将“Londres ”(法语‘伦敦’的意思)识别“ Lon don”。
为了解这些代表同个类别和子类别信息的字符串,还需要其他的信息。
另外还有一些相似的情况,如要将167C的语义理解为16摄氏度。
令S为一个非结构化数据集,多个种类数据相结合的结果,S还可以看作是字符串的集合,其中的内容用分号隔开并且由列项表示其包含的内容,每一项记录S的一个数据架构。
我们定义的S并没有明确的结构,这会导致一个语义数据操作问题。
S 可能包含不一致的内容,这种情况下需要回答三个疑问:什么是字符串语义?应当使用什么样的语言?什么样的值是能够使用的,什么样的是不能使用的(即值的有效性和无效性)?图1中给出了一个S的样本图1 :数据源S的样本可以看到数据源S中有几个列项组成,S被记为(Coli, i = 1;7)这种形式。
在S中,观察第四列,“Beijing ”和“London”在语法和语义上都是有效的,但“pekin” 和“Londres”在语法上是有效的,在语义上却是无效的。
COL2列中大多数都是显示的日期信息,因此其中的“ 13”会被认为无效的(语义上的)。
S中不仅有日期信息,还有其他的很多未知信息,这就证明我们需要理解更多的语义并纠正错误的数据。
2. 元信息定义:<meta>元素可提供相关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。
<meta>标签位于文档的头部,不包含任何内容。
<meta>标签的属性定义了与文档相关联的名称/值对。
meta是html语言head区的一个辅助性标签。
<head> <meta http-equiv="content-Type" content="text/html; charset=gb2312" ></head>我们需要深入研究基于语义的新种类的大数据ETL (抽取,转换,加载)这样就能够进行数据分析,数据清理和数据扩充数据分析是数据处理过程的第一步(图2)是数据源用于确定数据质量问题的分析,而且是一种量的分析,包括了叙述性的分析,例如:模式,表,域和数据源的定义。
图2:数据质量管理工具现在的数据分析工具提供了统计数据的分析,并没有解决数据语义方面的分析。
由此这里就介绍一下用于扩充分析过程的语义指示器。
对于语义数据处理,我们提出给每个数据源,一个错误报告,更新的日志和使用元信息的新语义结构。
错误报告包括数据源中的多种异常:同一列中出现一个以上类别和语言, 不一致的数据格式,副本和空值。
更新的日志是一个更新行为的集合,这个集合用于数据源,例如:翻译后的语言,均化后的格式。
这些更新每次覆盖一列。
为了在各列间及时进行更新需要使用函数依赖的概念。
接下来将着重描述语义数据分析过程的细节,尤其是元信息,如图3图:语义的数据分析过程元信息有三个组件组成,Meta-Schema-0ntology (MSO), Meta-Repository (MR) , MR 是由数据词典,正则表达式和指示器列表组成。
2.1 Meta-Schema-O ntology (元模式一体)作为信息集,数据库可以使用不同的方法去描述,这个不同主要是概念和属性。
MSO 是用来存储元结构中所有等价的描述的(图4)图4:MSO统一建模语言类图表MSO是一个能够作为本体进行管理的知识集,本体是一种正式的语言,定义各项内容之间如何结合使用是一种语法。
MSO能够创建很多实例,女口:“person” “organization” 和“Invoice”这三个概念,他们各自都有很多同义词,比方说人的同义词:客户,大人,小孩等,“人”的概念被若干个属性(如:姓名,住址,出生年月)定义,这就暗示人的每个同义词可以用相似的方式定义。
本体使用开放源protege工具来查看的。
(图5)知识可以通过数据库的不同描述而得到演化,可以被表示一个元知识库。
Prenom - synonym Attributes -> FlrstName图5: Proteg e 下的MSO 实例2.2元知识库(MR元知识库包含数据词典,正则表达式和指示器列表。
有效的字符串可以被归为一个类别,这些字符串可以使用多种语言,这样形成的这 些类别的集合可以被视为数据词典。
例如,包含通常描述的机场,大学,餐馆和医院的 名称字符串所组成的的类别,可以成为一个数据词典。
令 catext 为被扩展定义的类别的集合,catext={cati,i=1;n},其中cati 属于{国家,性别,网站,电话 ……},对每个cati ,子类别subcati={catij,j=1;m} 就能够定义了。
我们将数据词典定义为三类(类别,信息,语言)(图6)CnkgonlufulliKithnSmliC 3ih'Si ii|nC;ili=Cilv Intb|i=Landnn Inlbj 2=LonJre25 Ctrl L 产 English Cal|S = French Cat 3=CoiininFriimceFrailicr FrarLkrddi Franck1 II ^I: Ji 1 nil Gcuimi lUkliainCatj-piirslNHme Adaim FrunceCat n _AddieNSStfeet SLAxcnik : RueA VCIUK Pine? Pl. English English English FreiithFrench F ICIK I M图6:数据词典样例+ * EmployeeFt Ouwier+f Guest》Clienle* Femme * Cl ent ■ Customer*n ' f Perwrrii\ ' 4 Honmc「*Persaine jConcepl* * Person* 4 Otgjniidbn'* Invoice• * Product | J —+| Order |SVMCunceplAttribiieSYMAlUibuieN DF TIPre nonSurNamo2.2.2 正则表达式(RE通过使用正则表达式来定义一个类别Kati ,从而起到检查字符串的语法和语义的作用,令K a t i n t为此类别的集合。
则R E可以被定义为一个{类别,R E}的集合。
RE={Catregexi/Catregexi (Kati, Regexij); i = 1...p, j = 1...q} 实例如图图7:正则表达式集合实例2.2.3指示器语义数据分析的研究是基于应用数据源的指示器集合,此集合由三种类型的指示器组成:统计指示器{Istati, i = 1;p} ,语法指示器(ISYN1,2)和语义指示器(ISEM1,2),如图8示:图&指示器集合3. 语义数据分析过程先赋予语义数据分析算法一些符号和定义。
每一个属于数据源S的列Ci,都有一个值Vi(i = 1...n )集合,每一个Vi 有一个数据类型,如{String, Number, Date, Boolean}。
定义1、值V的语法有效性:如果v € RE且v ~ w € DD则v是语义有效的。
定义2、值V的语法无效性:如果v ? RE且v ? DD则v是语义无效的。
定义3、主类:令Cati(v)为一个给定属性的语义正确值的数目,若Cati(v)>Catj(v),则Cati(v)是主类,“ Number of categories ”为检测到的类别数量。
定义4、值V的语义有效性:如果v € Cati,则V是语义有效的,且Cati是主类。
定义5、值V的语义无效性:如果v ? Cati,则V是语义无效的,Cati是主类。
3.1算法分析语义数据分析算法的原理是核查值是否属于元数据库,目的是确定V的语法和语义的有效性。
如图9示.Ugoiitlun Semantic data protiluigInput:S a data sourceRE n set regular expressionsDI> a data diction^t y1 a set of indicatorsOutput:T L,k=l,,7 profiling tables Begin S—u■皿Snmpg) "ST csFor each Cj from S' <!“ i=l ・*nstatislicTnilicatDrsff^)se ii nti c Re* c<»^ni ti< mStiii etn i <\) end ForEnd Semantic data profiling图9:语义数据分析算法输入数据源s和一些元信息,算法返回一些表格(Tk, k = 1,7),这些表格包含指示器结果,无效语义数据,有效语义数据,无效语法数据,有效语法数据和新的语义结构。