大数据中的语义识别(DOC)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大数据中的语义识别
【摘要】数据管理是一个在商业和政府中变得越来越重要的课题。
数据质量代表一个很大的挑战,因为数据质量不高所带来的间接损失是非常大的。
大数据是企业决策的基础,但是单纯的数据量的积累不会对企业产生任何益处,只有建立适当的分析模型,并运用相应的技术手段,对大量的数据进行有效地深加工,发现隐含在大量数据中的信息并加以利用,进而指导企业做出相关决策,才能将大数据的真正效用发挥到极致。
高质量的数据是大数据发挥效能的前提和基础,强大、高端的数据分析技术是大数据发挥效能的重要手段。
【关键词】数据量,大数据,数据质量分析,数据词典,正则表达式对大数据进行有效分析的前提是必须要保证数据的质量,专业的数据分析工具只有在高质量的大数据环境中才能提取出隐含的、准确的、有用的信息,否则,即使数据分析工具再先进,在大数据环境中也却只能提取出毫无意义的“垃圾”信息,那大数据的意义又何在?因此数据质量在大数据环境下尤其重要。
为提高数据质量,现在提出为数据添加语义的方法,帮助用户识别大数据的模式。
这种方法的独特性在于利用了数据的语义价值,检测完数据后,通过数据语义分析提出一个数据模型,这样就可以对数据更方便的处理。
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)
Cnkgon
lufulliKithn
SmliC 3ih'Si ii|n
C;ili=Cilv Intb|i=Landnn Inlbj 2=LonJre25 Ctrl L 产 English Cal|S = French Cat 3=Coiinin
Friimce
Frailicr FrarLkrddi Franck
1 II ^I: Ji 1 nil Gcuimi lUkliain
Catj-piirslNHme Adaim Frunce
Cat n _AddieNS
Stfeet SL
Axcnik : Rue
A VCIUK Pine? Pl. English English English Freiith
French F ICIK I M
图6:数据词典样例
+ * Employee
F
t Ouwier
+
f Guest
》
Clienle
* Femme * Cl ent ■ Customer
*
n ' f Perwrri
i\ ' 4 Honmc
「*
Persaine j
Concepl
* * Person
* 4 Otgjniidbn
'* Invoice
• * Product | J —
+
| Order |
SVMCuncepl
Attribiie
SYMAlUibuie
N DF TI
Pre non
SurNamo
2.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 protiluig
Input:
S a data source
RE n set regular expressions
DI> a data diction^t y
1 a set of indicators
Output:
T L,k=l,,7 profiling tables Begin S—u■皿Snmpg) "ST cs
For each Cj from S' <!“ i=l ・*n
statislicTnilicatDrsff^)
se ii nti c Re* c<»^ni ti< mStiii etn i <\) end For
End Semantic data profiling
图9:语义数据分析算法
输入数据源s和一些元信息,算法返回一些表格(Tk, k = 1,7),这些表格包含指示器结果,无效语义数据,有效语义数据,无效语法数据,有效语法数据和新的语义结构。
语义识别结构函数为每个正在使用RE或DD的数据找一个类别和语言。
接下来的三个步骤会阐述函数的原理。
第一步:用以上的定义核查v在语义和语法上是否有效。
第二步:分别处理语义无效值和语法无效值。
第三步:用若干方法处理语法正确但语义错误的值,处理方式如:均化,翻译和标
准化
不管在什么情况下,语法无效值都是很容易找到的,可使用正则表达式来进行判断,处理后的结果可以用来丰富数据词典,由于有可能一个列中有多种语言,因此不仅要选择主语言列而且要选择源数据的主语言,在语义语言函数中会展示这个原理。
函数的细节显示如下:
Function statisticIndicators (Column C)
//return statistical indicators results
Begin
For each Id from I do //d=1..18
Add(Id (C), T1c)
//statistic indicators: total number of values, number of null
values …
end for
EndstatisticIndicators
Function semanticLanguage (Data Source S ')
//return the dominant language
Begin
For eachLanguagei from T7 (i=1..n) //T7 is the semantic structure ni:= Count the number of occurrences (Languagei)
End for
DominantLanguage := Language where Max(ni)
End semanticCategories
Function semanticCategories (Column C)
//return syntactic and semantic indicators results and semantic structure Begin For each vjfrom C do //j=1..m (m number of tuples)
Ifvj € RE
thenadd(vj, Catj, Langj) // vj € Catjandvj € Langj elseifvjcheckSpelling=true
//verifies some regular expressi ons for stri ngs
then if vj ~ w € DD 〃w a value from DD
thenadd(vj, Catj ' , Langj ' )//vj € Catj '
andvj € Langj ' ; j '半 j
else add(vj, CatUNKNOWN)
//vj € Unknown Category
add(vj, T3c) //vj is a can didate to en rich DD
end if
else add(vj, T2c)
3.2分析结果
上面提到最终会返回几个表格,第一个表格包含指示器结果,对每一列都有一些统计摘要,无效语法值和有效语法值数量,类和语言的数量。
拼错的值将自动添加到语法无效表中,即第二个表。
第三个表存储不属于元知识库的值,这些值语法正确。
对于数据源中的每一列,都有至少两个类别,为了确定主类,就要选取占比较大的类别。
占比的计算是基于属于这个类别的正确值的数量。
如果两个类占比相同,那么就从数据源中选择另一个样本,并且用语义数据分析。
不属于主类别的值存储在第四个表中,作为语义无效类别值。
将不属于主语言的值存储在第五个表格中作为语义无效语言的值。
S的每一列最初都被视为一个字符串,目的是对它的语义进行认知(图10),主类
别和语言用来为数据源定义一个语义结构。
图10:S的语义结构
S中可能会包含相似的列,比如:第6列的温度-1与第7列的温度-2。
若是两个列不仅属于相同的类别,而且内容也是相同的,则其中一列应该被删掉。
4. 结论
大数据中的元数据少于传统数据库,当数据科学家想要分析这些数据的时候,就会
遇到麻烦,数据质量管理工具的使用会帮助数据科学家识别数据类型((integer, dates, strings )和数据语义((Email, FirstName, Phone )。
当今正在发展的数据质量管理工具,会有助于基于语义的大数据ETL(分别代表提取,转换,加载)的新一代的发展。
帮助用户:
1.理解操作数据的更多定义。
在联合或加入操作的过程中,为完成语义数据合并有必要区分同义词和同音异义词。
现在普遍使用的工具都没有考虑语义方面,而只是考虑到了语法。
例如:在数据结合过程中,用户可以选择加入两列语法等价但语义不同的数据,却并不会报错,说明这些工具是允许同义词和同音异义词的并存的。
(如图11示)
图11:数据源s1和s2的合并
尽管有工具能够令s1和s2进行合并,但这在语义方面是无意义的。
在这种情况下,
本文提到的数据质量管理工具就会向用户提醒这种不兼容的语义结合操作。
2.做清理工作,之前提到的均化和转化会产生一些副本或消除一些相似的元组。
此项研究所提出的方法之独创性是用到了数据本身和MSO的实例来推断数据的
语义。
此外这种方法能够自动清除无结构的数据。
数据分析的结果是:1•产生一个更容易理解的大数据语义内容的数据结构。
2.无效数据被纠正后生成数据更新的集合。
经过处理后的数据如图12所示:
(Adam; 12/11/2001; Oxford street; London;United Kingdom;
16°C6l°F)
(Eve; 29 02 20/2; Fortune Plaza; Beijing; China; 25°C; 77°F)
(Adam; Middle Rd.;China; 25C C; 77J F)
(Jean. 08 09 20/1:■: London; f 'nued I6°C; 61 F)
(Adam; /J; London; United16°C161°F)
图12 :目标数据
参考文献
[1] A?cha Ben Salem1,2, Faouzi Boufaresl, Sebastiao Correia2.Semantic Recognition of a Data Structure in Big-Data[J]. Laboratory LIPN-UMR 7030-CNRS, University Paris 13. 2014
[2] 程国斌.基于指示词语义扩展的词义识别方法的研究[D].哈尔滨工程大学.2014年
[3] 魏来.基于在线词表的folksonomy语义关联识别方法研究[J].图书情报工作处.2011年
[4] 乐小虬,杨崇俊.非受限文本中深层空间语义的识别方法[J].计算机工程.2010年
—11 —
任课教师的评语
1.简要评述论文的学术水平,包括选题意义、文献资料的掌握、所用资料和实验结果和计算数据的可靠性等;
2.分析文章的创新之处;
3.指出论文存在的问题和不足;
4.论文格式是否符合要求,参考文献的引用是否规范。
任课教师签字。