语言分类系统的设计
2012-06-23邵泽国
邵泽国
(1.上海师范大学人文传播学院,上海 200234;2.上海电子信息职业技术学院院长办公室,上海 201411)
“汉语方言地理信息系统平台建设”是由潘悟云先生主持的一项教育部哲学社会科学研究重大课题攻关项目,该系统“以地理空间数据库(Geographical Database)和方言数据库(Dialectical Database)为基础,通过程序对方言数据库进行处理,真正实现自动提取方言特征,自动绘制语言地图,真正成为方言地理研究和语言政策制定服务的方言地理信息系统(Geographical Information System of Dialect)[1-6]”。
众所周知,分类是人类认识客观世界的一种基本的方法。人类最初对事物的命名就是一种分类活动。从科学研究的角度说,之所以要研究一种事物,目的是为了认识这种事物,以便可以能动地驾驭和利用这种事物,使之为人类服务。而所要认识、研究的事物往往是纷繁复杂的,群体中的个体从外形到属性,千差万别,各不相同。可以这样说,世界上找不到完全相同的两个个体。因此,要研究、认识事物,必须对所研究的事物进行分类,没有分类就没有科学[7]。
对语言的研究、分析、比较,特别是要将语言特征在电子地图上直观地描绘出来,往往要按照一定规则对语言进行分类。而文中所要讨论的语言分类系统是汉语方言地理信息系统的一个子系统,它可以帮助语言研究者对语言进行有效、快速的分类。
1 系统结构与功能介绍
在汉语方言地理信息系统中,语言特征提取子系统按照用户设置的条件自动提取出各个语言点的语言特征数据。此时的语言特征数据往往是一个个数据集。一般来讲,不会用原始的数据集来作为待分配项,而是将数据集交给特征主体层提取子系统,得到的主体层数据归并后作为待分配项。分类系统通过系统预设的分类规则或用户自设的分类规则自动完成对待分配项进行分类。得到两级三层的分类信息,再加上语言点的地理坐标值一并提交给地理信息系统(Geographic Information System,GIS),以供GIS处理后画出语言分类地图。
图1 分类系统功能流程图
2 设计与实现
系统前台使用Microsoft Visual Studio 2008 C#语言,后台使用Microsoft SQL Server2008系统。
2.1 DB设计与实现
由于之前已经完成了汉语方言地理信息系统的数据库设计,所以这里的DB设计只是涉及到与分类系统相关的几个数据表设计。
2.1.1 主体层特征表lf_mf
该表用来存储主体层提取的结果。在该表上归并mf指段,取唯一值作为待分配项,写入表tb_clas的cf字段。
表1 lf_mf表结构
2.1.2 分类数据表lf_clas
该表中id字段由“0”开始每写入一个cf的值自动加1,字段c1id、c2id的所有值在分类操作前初始化为“00”。字段 ph_type存储分类的结果,其值形如“02-01-01”图标编号。
表2 lf_clas表结构
2.1.3 特征规则表lf_ftype
四是着力加强风险管控。统一组织对大队进行内控制度执行情况审计,平时不定期进行抽样审计和专项审计,加强农业生产风险管控和防范。严格执行《苏垦农发内控制度手册》,建立健全农业生产经营管理责任追溯追究制度。
在自定义分类时系统提供了“条件分类”的快捷方法,即对待分配项按条件自动选择。过滤条件存储在特征规则表lf_ftype中。特征类型指的是语音的发音方法、发音部位或发声态等。如声母特征类型有:鼻音、边近音、边闪音、不送气、擦音、颤音、次清、次浊、近音、清音、全清、全浊、塞擦音、塞音、闪音、送气、响音、浊音、阻音。sql字段中的SQL语句是生成对应的特征类型在元数据表中对应的标记。
表3 lf_ftype表结构
2.2 用户界面设计
通过用户界面用户可以对待分配项划分为两级3层,即对待分配项可分为两个级别,大类和小类;同时为绘制地图提供颜色、图例、图标3层标识信息。
A、B、C为ListBox控件;A用于接收和显示待分配项数据;B(从左向右分别称为B1、B2)用来接收和显示分类命名数据;B1用颜色表示;B2用图例表示;C(从左向右分别称为C1、C2)用来接收和显示对应类别下的已分配项数据。
D为TextBox控件,用于接收和显示分类结果数据。
E、F、G、H为Button控件;E为添加分类名;F为删除分类名;G为添加分配项;H为移除已分配项。
I、J为DropDownList控件。I(从左向右分别称为I1、I2)静态获取Items,第一个为颜色选择序列:褐色、蓝色、红色、绿色、粉色、黑色;第二个为图例选择序列:实心、空心、上实下空、上空下实、左实右空、左空右实、中心实点。
K均为Button控件,“取消”为取消之前所有分类操作,并清空控件B、C、D的显示信息,同时改写表lf_clas。“确定”将分类结果数据写入到表lf_clas,并传值给GIS系统。“返回”为返回到“方言特征提取”页面。
2.3 功能实现
这里仅介绍功能实现的几个核心函数。
2.3.1 分类命名函数
控件E调用。其功能是将用户选择的dr1中的项(text)写入lb2,清除当前lb1的所有项。如做一级分类时,将用户选中的控件I1中的项(褐色、蓝色、红色、绿色、粉色、黑色之一)写入B1,清除C1的内容。
2.3.2 删除分类名函数
控件F调用,其功能是删除一个已经分配的类(大类或小类)。用户选择lb1(对应控件B)一些项,系统将lb1中选中的项清除,并将清除项(作为类名)下的所有分配项从lb3(对应控件C)移入到lb2(C1或A)。如果该分类名下有子类,同时删除子类名(嵌套调用delname)。一个lb1的项的value对应一个cid,这时将数据表lf_clas中值为cid的c1id(或c2id)初始化为“00”。
2.3.3 添加分类项函数
控件G调用,用户先选中lb1中的某一项(对应控件B),再选择lb2(对应控件A或C1)中的一些项,系统将lb2中选中的分配项移入lb3(对应控件C1或C2)中,这些分配项归为一类,用lb1的选中项命名。同时对数据表lf_clas的操作是将cf与lb2选中项匹配的记录的c1id(或c2id)字段值改为lb1的选中项的值。
2.3.4 移出分类项函数
控件H调用,用户选择lb1(对应控件C)中的某些项,系统将选中项移入到lb2中(对应控件C1或A)。如选中项中包含一个类下的所有项,则调用函数delname将这个类名删除。对数据表lf_clas的操作是将cf与lb1选中项匹配的记录的c1id(或c2id)字段初始化。
2.3.5 条件分类函数
用户选择lb1(对应控件J)中的某一项,其值与数据表lf_ftype中的type字段匹配,得到相应的SQL字段的值,即一个SQL语句,系统执行SQL得到一个数据集,让后经lb2(对应控件A或C1)中出现在这个数据集中的项标志为选中状态。
3 结束语
从系统的处理机制看,除了系统开始运行时要装载待分配项数据和分类完成后要输出分类结果,这两个动作要访问数据库,其中间运行过程可以避免系统对数据库的写操作。所以用一个DataTable实例来存储据表lf_clas,同时该系统与其他系统间数据集的传送借助session实现。
[1]JOHN C.Introducing speech and langwage processing[M].北京:北京大学出版社,2010.
[2]曹志耘.汉语方言地图集[M].上海:商务印书馆,2008.
[3]CHRISTIAN N.Professional C#(programmer to programmer)[M].北京:清华大学出版社,2010.
[4]郭郑州.SQL Server 2008完全学习手册[M].北京:清华大学出版社,2011.
[5]陆俭明.现代汉语语法研究教程[M].北京:北京大学出版社,2003.
[6]潘悟云.教育部哲学社会科学研究重大课题攻关项目投标评审书[R].上海:上海师范大学,2009.
[7]林焘.语音学教程[M].北京:北京大学出版社,1992.
[8]PETER L.语音学教程(A course in phonetics)[M].张维佳,译.北京:北京大学出版社,2011.
[9]朱晓农.语音学[M].上海:商务印书馆,2010.
[10]赵秀怡,熊庆文,涂建光.GIS应用数据库设计二阶分析模式[J].武汉大学学报:信息科学版,2003,28(1):98 -101.
[11]雷特.SQL Server 2008 DBA 入门经典[M].张德群,译.北京:清华大学出版社,2010.