结构化文档

2024-08-06

结构化文档(精选8篇)

结构化文档 篇1

一般, 非结构化文档管理的生命周期包括非结构化文档的获取、标记、组织、存储和应用等环节本文是在获取非结构化文档并统一转化为txt格式之后, 进行下一步标记分析的。本文构建的非结构化文档的标记方法着重从外表特征和内容特征两方面来做分析讨论。

1 基于Dublin Core的外表特征标记

本文参考了DC (Dublin Core, 都柏林核心集) 的15个核心元素, 剔除若干不需要的元素, 保留了其中的主要元素:标题Title、作者Author、日期Date、标识符Identifier和格式Format, 同时结合企业环境需要增加了3个元素:

Document Department:与文档相关的部门。企业是一个按职能划分的系统, 文档可来自不同的部门, 且会带有明显的部门特征, 增加这个元素, 可以更好地对文档进行归类管理。

Document ID:文档编号, 对文档按照统一的编码方式进行编码。

Access Control:权限控制。企业中对于权限的设置十分严格, 查看、修改、删除都必须有相应的权限, 增加权限控制项可满足企业安全管理需要。

2 基于语义标注的内容特征标记

要对文档进行内容标记必须对文档进行全面的内容理解, 这种理解是通过语义标注来实现的。语义标注, 就是利用本体中定义的词汇来显示揭示和表达文档中的内容, 主要可分为命名实体识别和实体关系识别。

经过语义标注之后, 即可形成关于源文档的标注文档。标注文档中的词汇能在一定程度上表达文档的内容, 但其没有对这些表达文档内容的词汇进行排序, 所以无法判断哪些词汇更能表达主题。本文采取的方法是:通过词汇之间存在的语义关系来计算词汇的语义加权值, 来表示词汇所能反映主题的程度, 下面先介绍下计算语义权重值过程中涉及到的几个定义:

上位词:同一本体中, 父概念是其子概念和实例的上位词, 父属性是子属性的上位词

词频:将词汇i在文档中出现的频数为词汇i的词频, 一般可记为frei。

影响值:文档中的两个词i和j, 若i是j的上位词, 那么称对i有影响, 否则无影响, 并j对i的影响程度称为影响值, 记作

具体语义加权值计算方法如下:首先将文档中包含的领域词汇的权重值weight[i]初始化为相应词汇的词频frei, 然后再按照词汇之间存在的上下位关系, 对权重值进行更新和叠加, 若在文档中存在该词汇的上位词, 则直接将影响值加到上位词的权重中;若不存在, 则将上位词加进来, 并初始化其权重值为该词汇对其的影响值, 具体计算公式如下:

经过加权语义标注后再综合考虑, 内容标记元素包括:分类Class、主题Subject、相关主题Related Subject、带权值的特征词汇Weighted Key Words、特征词汇所在的句子的摘录Key Sentences。

3 标记语言Schema设计

前面已经通过DC和语义标注完成了对非结构化文档在外表特征标记和内容特征标记两方面的研究, 接下来就是分析如何对这些标记进行完整的描述并形成一个完整的XML Schema规范, 并按照此Schema来填充和校验非结构化文档标记。

本文设计的标记Schema结构如下:MarkupLanguage为根元素, 以下再包含Head、Body及Foot三个子元素, 各子元素再往下细分。Head包含的是关于标记文档本身的一些管理控制元素, 以实现对标记文档自身的有效管理和应用, 具体元素有:作者、日期、语言、版本信息、权限控制、生成工具及所用的本体等;body元素是标记文档的主体, 包括外表特征和内容特征两个元素, 具体子元素前面已说明;Foot则包含了一些补充信息, 如版权和联系方式等。

文中的Schema文件、结构图和具体的XML标记文档, 都可以通过XML SPY工具软件来编写, 本文所采用版本为XML SPY2006企业版中文破解版。

4 小结

本文构建的非结构化文档标记方法重点是两方面:基于DC的外表特征元素和基于语义标注的内容特征元素, 之后添加了一些管理控制元素, 形成完整的Schema规范。对于文档的标记都按照Schema设计的元素规范来填充, 形成统一结构化的描述, 实现非结构化向结构化的转换, 以便进行下一步组织/存储, 实现更高层次的应用。

参考文献

[1]张德政, 张萍萍.非结构化信息管理[J].微计算机信息, 2006, 22 (9) .

[2]张晓艳, 王挺, 陈火旺.命名实体识别研究[J].计算机科学, 2005 (4) .

[3]刘建华, 张智雄.基于Stanford Parser的实体间关系识别[J].现代图书情报技术, 2009 (5) .

[4]荆涛, 左万利, 孙吉贵, 等.中文网页语义标注:由句子到RDF表示[J].计算机研究与发展, 2008, 45 (7) .

结构化文档 篇2

表说明

T_Condition 报表条件

T_ConditionDetail 报表条件详细值 T_DatacenterUser 基层用户信息 T_FadeBespeak 调查退订表

T_fieldItem 调查项目表输入项信息

T_fieldItemDetail 调查项目表输入项信息详细 T_InceptForm 调查总表

T_InputReport 输入报表信息

T_InputReportConfirm 输入报表确认 T_InputReportCrm 可录入基层单位 T_InputReportItem 输入项信息

T_InputReportItemClose 输入项锁定 T_InputReportItemtype 输入项信息种类 T_OutReport 输出报表信息

T_OutReportCondition 输出报表条件项 T_OutReportItem 输出报表项定义

T_OutReportItemCondition 输出报表项中的条件信息 T_OutReportItemCoordinate

T_OutReportItemRow 输出报表项中的行展开循环信息

T_OutReportItemRowGroup 输出报表项中第一列指定的客户信息 T_OutReportItemTable 输出报表项中的表名信息 T_OutReportShare 输出报表共享信息

T_OutReportStatitem 明细报表报表统计项 T_ReportStatitemTable 明细报表数据库表信息 T_ResearchTable 调查表 T_ Statitem 统计项维护 T_SurveyItem 调查项目表 SMS_Message 短信信息表

HrmRoleMembers 人力资源角色成员表 HrmRoles 人力资源角色表 Prj_Cpt 项目资产表

Prj_ProjectInfo 项目基本信息表 Prj_ProjectStatus 项目状态表 Prj_ProjectType 项目类型表

Prj_T_ShareInfo 项目类型共享信息表 Prj_Task_NeedDoc 项目任务所需文档表 Prj_Task_NeedWf 项目任务所需流程表 Prj_Task_ReferDoc 项目任务参考文档表 Prj_TaskProcess 项目任务信息表 Prj_Template 项目模板信息表

Prj_TemplateTask 项目任务模板信息表

Prj_TaskTemplet_NeedDoc 项目任务模板所需文档表 Prj_TempletTask_NeedWf 项目任务模板所需流程表 Prj_TempletTask_ReferDoc 项目任务模板参考文档表 Prj_WorkType 项目工作类型表 PrjShareDetail 项目共享明细表 ProjTemplateMaint 模板审批设置表 codedetail 项目、文档编码明细表 codemain 项目、文档编码主表 cus_fielddata 文档自定义字段 cus_formdict cus_formfield cus_selectitem cus_treeform

DirAccessControlList 文档目录访问权限列表 DirAccessPermission 文档资源访问权限表 DocApproveRemark 文档审批信息表 DocApproveWf 文档审批工作流表 DocDetail 文档信息表

DocDetailLog 文档操作日志表

DocDocumentSignature 文档签章信息表 DocDummyDetail 虚拟目录与文档对照表 DocFrontpage 新闻页设置表 DocImageFile 文档附件图片表

DocInstancyLevel 收文发文——紧急程度表 DocMailMould 邮件模板表

DocMainCategory 文档主目录表 DocMark 文档打分表

DocMould 文档显示模板表

DocMouldBookMark 文档模板书签表 DocMouldFile 文档编辑模板表 DocPicUpload 上传图片信息表 docReadTag 文档阅读日志表 DocReceiveUnit 收文单位

DocReplySeq 文档回复流水号信息保存表 DocSearchDefine 文档搜索自定义信息表 DocSearchMould 文档搜索模板表 DocSecCategory 文档子目录表

DocSecCategoryApproveWfDetail 文档子目录审批工作流明细表 DocSecCategoryCoderSeq 子目录文档编码流水号信息保存表 DocSearchMould 文档搜索模板表

DocSecCategoryMould 子目录模版设置表

DocSecCategoryMouldBookMark 子目录模版设置详细表 DocSecCategoryShare 文档子目录默认共享表 DocSecCategoryTemplate 目录模版表 DocSecCategoryType 文档子目录元素表 DocSecretLevel 收文发文秘密等级表 DocSendDocDefaultValue 收文的默认值 DocSendDocDetail 收文信息表

DocSendDocKind 收文发文——公文种类表 DocSendDocNumber 收文发文——发文字号表 DocShare 文档共享信息表

DocShareDetail 文档共享信息详细表 DocSignature 签章信息表

DocSubCategory 文档分目录表 DocSubscribe 知识订阅表

DocSysDefault 文档系统设置表 DocTreeDocField 树状文档字段表 DocType 文档种类表

DocUserCategory 用户新建目录自定义信息表 DocUserDefault 用户自定义信息表 DocUserselfCategory 个人文档目录表 DocUserselfDocs 个人文档表 DocUserView

DownloadLog 下载日志表 ImageFile 文件存放信息表

modulecondition 输出报表搜索条件模板条件值 MouldBookMark 模板书签表

VotingViewer 调查结果查看范围表

VotingViewerDetail 调查结果查看范围详细表 WebMagazine 期刊信息表

WebMagazineDetail 期刊详细情况表 WebMagazineType 期刊类型

BudgetAuditMapping 预算审批工作流映射表 FnaAccount 财务收支表

FnaAccountCostcenter 成本中心表

FnaAccountDepartment 部门总帐统计表 FnaAccountList 总帐明细表 FnaAccountLog 总帐日志表 FnaBudget 预算表

FnaBudgetCheckDetail 预算审批明细表 FnaBudgetCostcenter 成本中心预算表 FnaBudgetDepartment 部门预算统计表 FnaBudgetDetail 预算明细表

FnaBudgetfeeType 预算收支种类表

FnaBudgetfeeTypeMaintScope 预算科目维护范围表 FnaBudgetfeeTypeMSDetail 预算客户维护范围明细表 FnaBudgetInfo 部门预算信息表

FnaBudgetInfoDetail 部门预算信息明细表 FnaBudgetLevel 预算级别表

FnaBudgetLevelDetail 预算级别明细表 FnaBudgetList FnaBudgetModule

FnaBudgetRight 预算权限表 FnaCurrency 币种表

FnaCurrencyExchange 币种汇率表

FnaDptToKingdee 金蝶接口部门编号表 Base_FreeField 系统中所有自定义字段表 Base_FreeField

FnaExpenseInfo 费用表 FnaIndicator 财务统计项表

FnaIndicatordetail 财务统计项明细表 FnaLedger

FnaLedgerCategory

FnaLoanInfo 借款信息表

FnaLoanLog 财务借款销帐信息表 FnaTransaction 财务收支表

FnaTransactionDetail 财务收支明细表 FnaYearsPeriods 会计表 FnaYearsPeriodsList 会计期间表

bill_Approve 工作流单据表(审批流转单)bill_ApproveCustomer 工作流单据表(客户审批流转单)Bill_ApproveProj 工作流单据表(项目审批单据)bill_Contacter 工作流单据表(客户联系人审批流转单)bill_CptAdjustDetail 工作流单据表(资产调拨明细表)bill_CptAdjustMain 工作流单据表(资产调拨主表)bill_CptApplyDetail 工作流单据表(资产申购单明细表)bill_CptApplyMain 工作流单据表(资产申购主表)

bill_CptFetchDetail 工作流单据表(资产领用单明细表)bill_CptFetchMain 工作流单据表(资产领用单主表)bill_CptFetchMain 工作流单据表(资产领用单主表)bill_CptRequireDetail 工作流单据表(资产需求明细表)bill_CptRequireMain 工作流单据表(资产需求主表)Bill_crmcontract 工作流单据表(业务合同)bill_Discuss 工作流单据表(讨论交流)

Bill_ExpenseDetail 工作流单据表(费用报销单明细表)bill_FnaBudget 预算审批单据表

Bill_FnaBudgetChgApply 预算变更单据表

Bill_FnaBudgetChgApplyDetail 预算变更单据明细表 Bill_FnaLoanApply 借款单据表

Bill_FnaLoanApplyDetail 借款单据明细表 Bill_FnaPayApply 付款单据表

Bill_FnaPayApplyDetail 付款单据明细表 Bill_FnaWipeApply 费用报销单据表

Bill_FnaBudgetChgApplyDetail 预算变更单据明细表 bill_HireResource 工作流单据表(录用通知单)Bill_HolidayApply 工作流单据表(请假单据)Bill_HrmAwardInfo 工作流单据表(奖惩申请)Bill_HrmDismiss 工作流单据表(离职申请)

bill_HrmFinance 工作流单据表(私人借款还款单)Bill_HrmHire 工作流单据表(转正申请)

Bill_HrmOvertimeSapa 工作流单据表(加班申请单据)Bill_HrmRedeploy 工作流单据表(职位调动)

Bill_HrmScheduleDetail 工作流单据表(多行请假单)Bill_HrmScheduleHoliday 工作流单据表(请假)

Bill_HrmScheduleMain 工作流单据表(多行请假单主表)Bill_HrmScheduleOvertime 工作流单据表(加班)bill_HrmTime 工作流单据表

Bill_HrmTrainplan 工作流单据表(培训申请)Bill_HrmUseDemand 工作流单据表(用工需求)bill_InnerSendDoc 工作流单据表(系统内部发文流转单)bill_LeaveJob 工作流单据表(离职通知单)bill_MailboxApply 工作流单据表(邮箱申请)Bill_Meeting 工作流单据表(会议审批单)bill_monthinfodetail 工作流单据表(月工作总结计划详细)bill_onlineRegist 工作流单据表(在线注册)bill_SendDoc 工作流单据表(收发文流转单)bill_weekinfodetail 工作流单据表(周工作计划详细)bill_workinfo 工作流单据表(一周工作情况单)PlanDetailBill 建工单据明细信息表

WFOpinionField 工作流签字字段意见基本信息表 WFOpinionNodeField 工作流签字字段节点信息表 workflow_addinoperate 节点/出口附加操作 Workflow_Agent 代理设置信息

workflow_agentpersons 存放当前节点未操作的,并且是依次会签的操作人 workflow_base 工作流基本信息表 workflow_bill 工作流单据信息表 workflow_billfield 工作流单据字段表

workflow_browserurl 工作流浏览窗口信息表 workflow_code 流程字段自动编码

workflow_codeDetail 流程字段自动编码

workflow_codeSeq 流程编号流水号信息保存表 workflow_codeSet 流程字段自动编码基础信息 workflow_createdoc 工作流流程创建文档表 workflow_createrlist 工作流创建人权限表

workflow_currentoperator 工作流请求节点操作人信息表 workflow_custom 流程自定义查询表 workflow_custom 流程自定义查询明细表

Workflow_datainput_entry 工作流字段联动设置表 WorkFlow_DocShow 公文管理详细设置信息 workflow_fieldlable 工作流表单字段显示标题表 workflow_flownode

workflow_form 工作流请求信息表 workflow_formbase 工作流表单信息表 workflow_formdict 工作流字段字典表 workflow_formfield 工作流表单字段表

workflow_function_manage 工作流功能管理表

workflow_groupdetail 节点操作者组操作者类型信息表 workflow_modeview 工作流模板模式字段显示记录 workflow_nodebase 工作流节点基本信息表 workflow_nodeform 工作流节点字段表

workflow_nodegroup 工作流节点操作者组信息表 workflow_nodelink 工作流节点出口信息表 Workflow_Report 工作流报表设置表

Workflow_ReportDspField 工作流报表字段设置表 Workflow_ReportType 工作流报表种类表

workflow_requestbase 工作流请求基本信息表 workflow_requestLog 工作流请求签字日志表 workflow_requestmark 工作流序列信息表 workflow_requestsequence 工作流序列信息表 workflow_RequestUserDefault 流程自定义表 workflow_requestViewLog 工作流请求查看日志 Workflow_SubwfSet 子流程设置表

Workflow_SubwfSetDetail 子流程设置明细表 workflow_sysworkflow 系统工作流设定表 workflow_titleSet 流程标题字段信息设置 workflow_type 工作流种类表

WorkFlowPlanDetail 工作流周期性建立日志表 WorkFlowPlanDetail 工作流周期性建立日志表 WorkflowReportShare 工作流报表共享表

WorkflowReportShareDetail 工作流报表共享明细表 WorkflowRptCondMould 工作流报表条件模板表

WorkflowRptCondMouldDetail 工作流报表条件模板明细表 WorkPlanBill 建工单据信息表 HrmTrain 人力资源培训表

HrmTrainActor 人力资源培训参与人表 HrmTrainAssess 人力资源培训考评表

HrmTrainBeforeWork 人力资源培训信息表(入职前)HrmTrainDay 人力资源培训活动日程安排表 HrmTrainLayout 人力资源培训活动表

HrmTrainLayoutAssess 人力资源培训活动评价表 HrmTrainPlan 人力资源培训计划表

HrmTrainPlanDay 人力资源培训计划日程安排表 HrmTrainPlanRange 人力资源培训规划表 HrmTrainRecord 人力资源培训记录表 HrmTrainResource 人力资源培训资源表 HrmTrainTest 人力资源培训考核表 HrmTrainType 人力资源培训类型 cowork_discuss 协作区讨论记录表 cowork_items 协作事项表

cowork_maintypes 协作区类别表 cowork_types 协作区类型表 SysPoppupInfo 提醒类型表

SysPoppupRemindInfo 提醒信息表 CptAssortmentShare 资产种类共享表 CptBorrowBuffer 资产借用的缓存表 CptCapital 资产表

CptCapitalAssortment 资产种类表 CptCapitalGroup 资产组表

CptCapitalModify 资产信息变更主表

CptCapitalModifyField 资产信息变更字段内容表 CptCapitalShareInfo 资产共享表 CptCapitalState 资产状态表 CptCapitalType 资产种类表

CptCheckStock 资产验收入库主表

CptCheckStockList 资产验收入库明细表 CptDepreMethod1 资产折旧方法1表

CptDepreMethod2 资产折旧方法2表 CptRelateWorkflow 资产关联工作流表 CptSearchMould 资产搜索模板表 CptShareDetail 资产共享信息明细表 CptStockInDetail 资产入库申请明细表 CptStockInMain 资产入库申请主表 CptUseLog 资产流转日志表

LeftMenuConfig 个人功能区菜单配置表 LeftMenuInfo 个人功能区菜单信息表 MainMenuConfig 主菜单配置表 MainMenuInfo 主菜单信息表 Meeting 会议管理表详细信息

Meeting_Type 会议类型表详细信息

Meeting_View_Status 标识会议参与人查看情况 MeetingRoom 会议室详细信息表 AlbumPhotos 相册图片表 UREACaseDetail 案例明细表

UREACaseDownloadLog 案例管理下载日志表 UREACaseDynamic 案例动态情况表 UREACaseImageFile 案例附件图片表 UREACaseMaintenanceLog 案例操作日志表 UREACaseMould 案例模板表

UREACaseMouldImageFile 案例模板附件图片表 UREACaseReport 案例管理报表设置表

UREACaseReportDspField 案例管理报表字段设置表 UREACaseReportField 案例管理报表字段表 UREACaseRightUser 案例权限用户对应表 UREACaseRole 案例角色表

UREACaseRoleMember 案例角色成员表 UREACaseRoleRight 案例角色权限对应表 UREACaseSequence 案例管理次序表 WorkplanRevision 目标计划变更记录表

WorkplanRevisionLog 目标计划变更记录日志表

WorkPlanVisitSet 工作计划访问权限映射表(映射两个实体之间的访问权限)

WorkPlanVisitSetDetail 工作计划访问权限映射明细表(映射两个实体之间的访问权限)Base_FreeField 系统中所有自定义字段表 ErrorMsgIndex 错误信息索引表 ErrorMsgInfo 错误信息详细表 HtmlLabelIndex 页面标签索引表 HtmlLabelInfo 页面标签信息表 HtmlNoteIndex 操作提示索引表 HtmlNoteInfo 操作提示信息表 license license授权表 SysFavourite 收藏表

SysMaintenanceLog 系统操作日志表 SystemSet 系统设置表

SystemTemplate 系统模板信息表

SystemTemplateSubComp 分部指定模板信息表 SystemTemplateUser 系统模板用户表

HrmSalaryCalBench 计算类型及福利计算类型工资项级数表 HrmSalaryCalScope 计算类型及福利计算类型工资项级数明细表 HrmSalaryCalScope 计算类型及福利计算类型工资项范围表 HrmSalaryChange 人力资源薪资调整表 HrmSalaryComponent

HrmSalaryComponentDetail HrmSalaryComponentTypes

HrmSalaryCreateInfo 薪酬创建信息表 Base_FreeField 系统中所有自定义字段表 HrmSalaryHistory 人力资源工资历史表 HrmSalaryItem 人力资源工资项目表 HrmSalaryPay 人力资源月工资总表

HrmSalaryPaydetail 人力资源月工资明细表 HRMSalaryPayLog 薪酬管理更改记录表 HrmSalaryPersonality 人力资源工资基准表 HrmSalaryRank 人力资源工资项目岗位金额表 HrmSalaryRateBase 系统中所有自定义字段表 Base_FreeField 系统中所有自定义字段表 HrmSalaryTaxbench 人力资源工资税收城市表 HrmSalaryTaxrate 人力资源工资税率表

HrmSalaryTaxscope 税收类型工资项应用范围表 HrmSalaryWelfarerate 人力资源工资城市福利表 WZHTArchivesBorrow 档案借阅表 WZHTArchivesDetail 档案明细表

WZHTArchivesDownloadLog 档案管理下载日志表 WZHTArchivesEnum 档案管理枚举表

WZHTArchivesEnumDetail 档案管理枚举项表 WZHTArchivesImageFile 档案管理附件图片表 WZHTArchivesSequence 档案管理最大号表 WZHTArchivesShare 档案管理共享表 CarDriverBasicinfo 司机工资参数表 CarDriverData 出车记录表

CarDriverDataPara 出车记录参数表 CarParameter 评估参数表 CarType 车辆类型表

CheckDate 系统每日检查日志表 HomePageDesign 首页项目信息表 hpBaseElement 元素基本信息表 hpBaseLayout 布局基本信息表

hpcurrentuse 首页当前用户使用首页信息表 hpElement 元素表

hpElementSettingDetail 元素设置明细表 hpExtElement 首页扩展元素信息表 hpFieldElement 元素显示字段表 hpfieldlength 每列字数长度表 hpinfo 首页信息表 hpLayout 布局信息表

hpSqlElement 元素SQL生成 原则表 hpstyle 元素样式表

hpsubcompanyappiont 首页分部指定表 hpuserselect 用户选择首页表 hpWhereElement 元素显示条件表 shareinnerhp 首页共享信息表 AlbumPhotos 相册图片表 MailAccount 邮件帐户

MailAccountReceivedInfo 邮件帐户接收信息表 MailContacterGroup 联系人组 MailInboxFolder 收件箱文件夹 MailPassword 用户邮件密码表 MailResource 用户邮件信息表

MailResourceFile 用户邮件附件信息表 MailRule 邮件规则

MailRuleAction 邮件规则动作 MailRuleCondition 邮件规则条件 MailSetting 邮件自定义设置表

MailShare 用户邮件组共享信息详细表 MailTemplate 邮件模板

MailTemplateUser 用户邮件模板表 MailUser 邮件组用户表

MailUserAddress 邮件组用户地址表 MailUserGroup 用户邮件组表 MailUserShare 用户邮件组共享表 contactinfo 联系情况

Contract_ShareInfo 联系共享信息表 ContractShareDetail 联系共享详细表

CRM_AddressType 客户地址类型表(邮寄、发票等)CRM_ContacterLog_Remind 客户联系日志提醒表 CRM_ContacterTitle 联系人称呼表 CRM_ContactLog 客户联系日志 CRM_ContactWay 客户联系方法表 CRM_Contract 客户合同信息表

CRM_Contract_Exchange 客户合同交易信息表 CRM_ContractPayMethod 客户合同付款方式表 CRM_ContractProduct 客户合同产品目录表 CRM_ContractProInfo 客户合同产品信息表 CRM_ContractType 客户合同种类表 CRM_CreditInfo 客户信用等级表 CRM_CustomerAddress 客户地址表

CRM_CustomerContacter 客户联系人信息表 CRM_CustomerCredit 客户信用等级表 CRM_CustomerDesc 客户描述表 CRM_CustomerInfo 客户信息表 CRM_CustomerRating 客户级别表 CRM_CustomerSize 客户规模表 CRM_CustomerStatus 客户状态表 CRM_CustomerType 客户类型表

CRM_Customize 客户查询结果显示定制表

CRM_CustomizeOption 客户显示自定义选项信息表 CRM_DeliveryType 客户送货类型表 CRM_Evaluation 客户价值评估表

CRM_Evaluation_Level 客户价值等级表 CRM_Failfactor 客户失败关键因素表 CRM_ledgerinfo 客户财务信息表 CRM_Log 客户联系日志表

CRM_LoginLog 客户登陆日志表 CRM_Modify 客户更改日志表 CRM_PayInfo 客户支付情况表

CRM_PaymentTerm 客户付款周期表 CRM_ProductTable 产品信息表 CRM_SectorInfo 客户区域信息表

CRM_SellChance 客户销售机会信息表 CRM_SellStatus 客户销售状态表 CRM_SelltimeSpan 客户销售时间表 CRM_ShareInfo 客户共享信息表

CRM_Successfactor 客户成功关键因素表 CRM_T_ShareInfo 客户交易共享信息表

CRM_TradeInfo 交易情况(合同累计金额)表 CRM_ViewLog1 客户门户查看日志表 CRM_ViewLog2 客户经理变更日志 CRM_ViewLog 客户查看日志表 CRMRegion 区域维护表

CrmShareDetail 客户共享详细表 LgcAsset 产品信息表

LgcAssetAssortment 产品种类 LgcAssetCountry 产品国家信息 LgcAssetCrm 产品供应商信息

LgcAssetCrmlevel 产品代理级别信息 LgcAssetModule 产品组件信息 LgcAssetPrice 产品价格信息

LgcAssetSale 产品代理商,级别关系信息表 LgcAssetUnit 产品单位信息表

bill_Approve 工作流单据表(审批流转单)bill_ApproveCustomer 工作流单据表(客户审批流转单)Bill_ApproveProj 工作流单据表(项目审批单据)bill_Contacter 工作流单据表(客户联系人审批流转单)bill_CptAdjustDetail 工作流单据表(资产调拨明细表)bill_CptAdjustMain 工作流单据表(资产调拨主表)bill_CptApplyDetail 工作流单据表(资产申购单明细表)bill_CptApplyMain 工作流单据表(资产申购主表)

bill_CptFetchDetail 工作流单据表(资产领用单明细表)bill_CptFetchMain 工作流单据表(资产领用单主表)bill_CptRequireDetail 工作流单据表(资产需求明细表)bill_CptRequireMain 工作流单据表(资产需求主表)Bill_crmcontract 工作流单据表(业务合同)bill_Discuss 工作流单据表(讨论交流)

Bill_ExpenseDetail 工作流单据表(费用报销单明细表)bill_FnaBudget 预算审批单据表 Bill_FnaBudgetChgApply 预算变更单据表

Bill_FnaBudgetChgApplyDetail 预算变更单据明细表 Bill_FnaLoanApply 借款单据表

Bill_FnaLoanApplyDetail 借款单据明细表 Bill_FnaPayApply 付款单据表

Bill_FnaPayApplyDetail 付款单据明细表 Bill_FnaWipeApply 费用报销单据表

Bill_FnaBudgetChgApplyDetail 预算变更单据明细表 bill_HireResource 工作流单据表(录用通知单)Bill_HolidayApply 工作流单据表(请假单据)Bill_HrmAwardInfo 工作流单据表(奖惩申请)Bill_HrmDismiss 工作流单据表(离职申请)

bill_HrmFinance 工作流单据表(私人借款还款单)Bill_HrmHire 工作流单据表(转正申请)

Bill_HrmOvertimeSapa 工作流单据表(加班申请单据)Bill_HrmRedeploy 工作流单据表(职位调动)

Bill_HrmScheduleDetail 工作流单据表(多行请假单)Bill_HrmScheduleHoliday 工作流单据表(请假)

Bill_HrmScheduleMain 工作流单据表(多行请假单主表)Bill_HrmScheduleOvertime 工作流单据表(加班)bill_HrmTime 工作流单据表

Bill_HrmTrainplan 工作流单据表(培训申请)Bill_HrmUseDemand 工作流单据表(用工需求)bill_InnerSendDoc 工作流单据表(系统内部发文流转单)bill_LeaveJob 工作流单据表(离职通知单)bill_MailboxApply 工作流单据表(邮箱申请)Bill_Meeting 工作流单据表(会议审批单)bill_monthinfodetail 工作流单据表(月工作总结计划详细)bill_monthinfodetail 工作流单据表(月工作总结计划详细)bill_onlineRegist 工作流单据表(在线注册)bill_SendDoc 工作流单据表(收发文流转单)bill_weekinfodetail 工作流单据表(周工作计划详细)bill_workinfo 工作流单据表(一周工作情况单)PlanDetailBill 建工单据明细信息表

WFOpinionField 工作流签字字段意见基本信息表 WFOpinionNodeField 工作流签字字段节点信息表 workflow_addinoperate 节点/出口附加操作 Workflow_Agent 代理设置信息

workflow_agentpersons 存放当前节点未操作的,并且是依次会签的操作人 workflow_base 工作流基本信息表 workflow_bill 工作流单据信息表 workflow_billfield 工作流单据字段表

workflow_browserurl 工作流浏览窗口信息表 workflow_code 流程字段自动编码 workflow_codeDetail 流程字段自动编码

workflow_codeSeq 流程编号流水号信息保存表 workflow_codeSet 流程字段自动编码基础信息 workflow_createdoc 工作流流程创建文档表 workflow_createrlist 工作流创建人权限表

workflow_currentoperator 工作流请求节点操作人信息表 workflow_custom 流程自定义查询表 workflow_custom 流程自定义查询明细表

Workflow_datainput_entry 工作流字段联动设置表 WorkFlow_DocShow 公文管理详细设置信息 workflow_fieldlable 工作流表单字段显示标题表 workflow_flownode

workflow_form 工作流请求信息表 workflow_formbase 工作流表单信息表 workflow_formdict 工作流字段字典表 workflow_formfield 工作流表单字段表

workflow_function_manage 工作流功能管理表

workflow_groupdetail 节点操作者组操作者类型信息表 workflow_modeview 工作流模板模式字段显示记录 workflow_nodebase 工作流节点基本信息表 workflow_nodeform 工作流节点字段表

workflow_nodegroup 工作流节点操作者组信息表 workflow_nodelink 工作流节点出口信息表 Workflow_Report 工作流报表设置表

Workflow_ReportDspField 工作流报表字段设置表 Workflow_ReportType 工作流报表种类表

workflow_requestbase 工作流请求基本信息表 workflow_requestLog 工作流请求签字日志表 workflow_requestmark 工作流序列信息表 workflow_requestsequence 工作流序列信息表 workflow_RequestUserDefault 流程自定义表 workflow_requestViewLog 工作流请求查看日志 Workflow_SubwfSet 子流程设置表

Workflow_SubwfSetDetail 子流程设置明细表 workflow_sysworkflow 系统工作流设定表 workflow_titleSet 流程标题字段信息设置 workflow_type 工作流种类表

WorkFlowPlanDetail 工作流周期性建立日志表 WorkFlowPlanDetail 工作流周期性建立日志表 WorkflowReportShare 工作流报表共享表

WorkflowReportShareDetail 工作流报表共享明细表 WorkflowRptCondMould 工作流报表条件模板表

结构化文档 篇3

随着信息技术的普及与发展,纸质病历早已不能适应现代医学的需求,电子病历开始在医院管理和医疗工作中出现[1]。初期,由于缺乏临床信息系统支持,我国电子病历[2]首先是从病程记录编辑器开始发展的,期间经历了Word、半结构化或结构化等编辑器的演变过程。近年来,检查、检验、心电、手术麻醉等各类临床信息系统的大力应用,完整的临床数据集成、展现及智能化应用已成为电子病历发展的方向[3]。不过,早期日积月累形成的大量非结构化电子病历文档(Word格式)却给医生检索带来了不便。虽然他们可以通过数据库指定一些查询条件来进行,但受限的检索词汇根本无法满足医疗科研[4]的需要,因为这些条件都是事先定义好的信息。设想一下,如果有一种工具,它可以根据医生输入的任意条件对电子病历内容进行全文检索,这样就可满足医生查询的需求。Lucene为我们提供了一种实现途径。

1 Lucene全文检索引擎

1.1 Lucene简介

Lucene是一款以Java实现的成熟、自由、开源的软件项目,也是Apache软件基金(Apache Software Foundation)中的一个项目,并且基于Apache软件许可协议授权。它是一类强大的Java搜索库,是一类高性能的、可扩展的信息检索(IR)工具,目的是为软件开发人员提供简单、易用的索引和搜索API,使之很方便地为应用程序添加搜索功能[5]。

Lucene专注于文本索引和搜索,它并不关心数据来源、格式,甚至不关心数据的语种,只要能把它转换为文本格式即可。也就是说,它可以索引和搜索存储在文件中的如下数据:远程Web服务器上的网页、本地文件系统中的文档、简单的文本文件、Word文档、XML文档、HTML文档或者PDF文档,或者其他能够从中提取文本信息的数据格式。同样,也可以利用Lucene来索引存储在数据库中的数据,以提供一些其他数据库所不具备的全文搜索功能[5]。

1.2 Lucene工作原理

Lucene的API接口设计得比较通用,输入、输出结构都很像数据库的表→记录→字段。很多传统的应用文件、数据库都可以很方便地映射到Lucene的存储结构和接口中。总体上可以认为Lucene是一个支持全文索引的数据库系统,其索引/检索原理,见图1。在Lucene中,待索引的文件对应一个文档(Document)数据结构,每个Document包含多个字段(Field)。Lucene根据Document对象中的字段属性和数据输出的要求,为字段选择不同的索引/存储字段规则[6]。

2 非结构化电子病历文档的解析实现

2.1 非结构化文本概述

非结构化文本通常具有一定的格式,其格式化文件一般结构较复杂,通常由多家厂商的不同系统生成,这些格式化文件使得普通程序读取时无从下手,如电子病历文档保存的Word格式。不过,开源代码却为开发者处理格式化的非结构化文本处理提供了可能,当正确解析了文档格式之后,开发者就可以像解析其他普通纯文本文件一样来索引和检索文档。

2.2 非结构化文本检索

面对丰富的非结构化文本,用户要求能通过关键词检索的方式快速获得相关资料,再根据文档的格式处理。搜索引擎或者全文检索系统需要针对文本内容进行处理,必须提前解析文本格式、然后分析文本、最后将分析好的文本保存至索引中,只有这样才能在其基础上实现搜索功能[7]。其处理过程,见图2。

2.3 非结构化文档解析

Microsoft的Office格式非常复杂,包含了各种文档属性信息、文档内的格式信息,甚至包含了复合文档。文档属性信息主要包括文档的标题、主题、摘要、类别、关键词等;文档内部的格式信息包括了文档的字体、字号、表格、图表,其他对象嵌入与链接(OLE2)的正文元素等。

POI(Office文档的Java处理包)项目就是通过OLE2模式访问Office文档的,可读取和修改Office的复杂文档格式。POI提供的编程接口比较简单,开发者可以使用POIFS以流的形式创建或打开文档,然后将其连接到适当的数据访问API,交互访问文档内容,而HWPF是针对Microsoft Word格式文件的读取接口,包括用来提取简单文本内容的WordExtractor、提取复杂文本内容的HWPFDocument以及针对文档的修改方法接口。

2.3.1 使用HWPFDocument提取电子病历文档内容

HWPFDocument访问Word文档非常灵活,可以非常方便地访问文档内容的各个部分,包括段落、内部的表格等。本系统是通过File Input Stream对象,获得对电子病历文档的流式访问接口。进一步调用get Range()方法得到文档内的Range对象名柄。Range对象提供了直接获取所有文档内容的text()方法,也提供了进一步访问每一段落的get Paragraph()后分别获得文档内容的方法。其实现代码如下:

2.3.2 建立电子病历文档的索引

使用POI对电子病历文档分析后的结果,进一步分析处理可以非常方便地完成Lucene索引的创建和检索。每个文档的内容可以整体作为一个索引域添加到Lucene中,也可以把标题、属性等信息分别建立索引域,完成整个索引,其实现代码如下:

名称:DocIndexBuilder

功能:构造电子病历磁盘索引,添加内容到指定目录,为后续检索查询做好准备。

3 讨论

从建立电子病历文档索引过程可以看出,如果电子病历文档还存在着其他的数据格式,只要我们能够对其进行解析,从中提取文本信息,就可通过Lucene搜索引擎实现全文检索功能。如:PDF格式,可以利用PDFBox开发包完成PDF文档到纯文本的转换;XML[8]格式,其经常使用的开源分析器就有5种之多,包括DOM、SAX、JDOM、Xerces和DOM4J等。

4 结束语

本文对基于Lucene的非结构化电子病历文档的解析方法进行了探讨,并编程实现了对Word格式电子病历文档文本数据的提取与索引[9]。程序的不足之处在于,还未对索引后的电子病历文档如何进行检索加以描述,下一步将设计实现非结构化电子病历文档的全文检索功能,以方便临床医生查询[10]。

参考文献

[1]王晓,罗二平,张健.基于语义的电子病历智能全文检索[J].医疗卫生装备,2008,29(4):45-46.

[2]尤丽珏.区域性电子病历信息共享的探索和研究[J].中国医疗设备,2009,24(2):84-85.

[3]陈金雄.电子病历建设与发展[J].中国数字医学,2011,6(5):53-55.

[4]于建国,毛玉明.基于因特网的电子病历系统的设计与安全技术[J].中国医疗设备,2009,24(2):48-50.

[5]Michael McCandless,Erik Hatcher,Otis Gospodnetic.Lucene实战[M].2版.北京:人民邮电出版社,2011:6-7.

[6]孙西全,马瑞芳,李燕灵.基于Lucene的信息检索的研究与应用[J].情报理论与实践,2006,29(1):125-128.

[7]王学松.Lucene+nutch搜索引擎开发[M].牛长流,译.北京:人民邮电出版社,2008:185-186.

[8]夏立新,王忠义.基于XML的全文检索原型系统的设计与实现[J].现代图书情报技术,2007,(8):67-70.

[9]申兵一,巩青歌.基于Lucene的PDF文档文本解析的实现[J].信息与电脑,2009,(11):66.

结构化文档 篇4

关于文档结构图的具体使用方法和作用我就不再这里给大家罗嗦介绍了,只想把自己在使用WPS文档结构图的过程中发现的几个快捷操作和大家共同分享一下。

增加关闭按钮—打开关闭更方便

使用Word文档结构图的时候,要打开关闭它,经常会重复这样的工作“视图—文档结构图”,很是麻烦,现在不用烦恼了,WPS在文档结构图窗口的右上角为我们提供了关闭按钮,不需要的时候我们只需一个鼠标点击就可以让它从窗口中消失。而且打开文档结构图时还可以自主选择把它放在界面的左边或者右边,

真的是“我的地盘我做主”。

增加显示大纲级别功能—显示隐藏更自如

在WPS的文档结构图中,可以显示一至九级的标题样式,只要我们在编辑文档的时候,设置好标题的大纲级别,在阅读时就可以根据需要选择显示几级标题,增加这个功能后文档结构图的标题级别就能自如地伸缩,我们想显示几级就显示几级,不需要的一些标题就可以让它暂时隐藏起来了。

增加显示书签功能—定位书签更快捷

众所周知,书签是阅读时在文档中添加的一种标识,可以方便日后阅读或者引用等。在文档中添加“书签”,下次打开就无需在文档中上下滚动来定位该文本。而WPS把显示书签功能嵌入到文档结构图中,免去了我们每次要定位非标题的文本时才执行“插入—书签”这样重复的操作,我们想查看上次插入的书签,无需关闭文档结构图,直接单击显示级别就会出现“书签”字样,选择它,插入的所有书签就出现了,需要哪一个,鼠标在书签名称上轻轻一点,光标就自动跳到文档中对应的地方,怎么样,很方便吧?

★ 幼儿园岗位职责结构图

★ 翅膀特殊符号图案

★ qc工作职责结构图

★ 极品五笔输入法怎么打特殊符号?

★ 输血科工作总结

★ 人生旅途不怕输

★ 输血科计划范文

★ WPS的问题

★ 化学教案-原子核外电子排布

结构化文档 篇5

编排Word长文档关键是要合理组织文字、图形、表格的结构和框架,统一格式,顺序编号,前后一致。

一、应用“样式”规范文字格式

样式是一组用于编辑的格式命令,它把字体、段落、边框、语言、制表位、图文框和编号等格式的设定整合为一体,便于用户直接应用。应用样式既可以保持文档的一致性,如同级别的各个标题的字体、字号、字形、行距等完全一致;又可以大幅度减少编辑工作量,如当将某个段落样式应用到一个段落后,该段落即具备了该样式所规定的各项格式,而不必进行单项格式的设置,如果要对排版格式做调整,只需一次性修改相关样式即可。

应用样式是建立长文档框架结构的关键。在Word长文档编排过程中,除正文外,一般标题需直接应用Word提供的标题样式,这样才可以由Word自动生成各种目录。当然,用户可根据需要修改样式和自定义样式。

1、应用样式

先选定需要运用样式的文字或段落对象,单击格式工具栏左侧的样式下拉列表框,选择定需要的样式,即可应用样式。

2、新建样式

(1)单击“格式”/“样式和格式”菜单,打开“格式和格式”窗格;(2)为了减少工作量,在“格式和格式”窗格中选定中一个与将要新建样式的格式差别不大的样式,单击“新样式”按钮,打开“新建样式”对话框;(3)在名称框中键入新建样式的名字;(4)单击“格式”按钮,再逐个单击需要更改的格式类别,然后进行设置;(5)新建样式若需添加至模板中,则选中“添加到模板”,若需自动更新,则选中“自动更新”,结果如图1所示。

3、修改样式

(1)选择需要修改样式的文字;(2)单击“格式”/“样式和格式”菜单,打开“格式和格式”窗格;(3)单击样式框右侧的下拉列表箭头,单击“修改”命令,打开“修改样式”对话框;(4)单击“格式”按钮,再逐个单击需要更改的格式类别,然后进行设置,其操作过程如新建样式类似。

二、应用“多级符号”自动编号标题

在Word长文档中,章节的顺序号并不是由手工来计数的,而是由Word按照一定的规则自动编号的。自动编号既能保证编号数据不发生错误,章节顺序更改后编号数值也能自动调整;还能为图形、表格等按章节顺序分章编号提供依据。

目前流行的多级标题编号是“1、1.1、1.1.1……”格式,一般来说,符号等级与标题等级是相匹配的。即1对应标题1、1.1对应标题2、1.1.1对应标题3…。如图2所示就是一个多级编号标题的样例,其中,标题1对应的是“第1章”。

多级符号自动编号标题的方法:

(1)在文档中选择一级标题,应用“标题1”样式,选择“格式”/“项目符号和编号”菜单,打开“项目符号和编号”对话框,选择“多级编号”选项卡,选中一种编号方案,再单击“自定义”按钮,打开“自定义多级符号列表”对话框,选中“级别”列表框内的“1”,然后选择编号样式为“1、2、3”,在编号格式框内“1”字符之前输入“第”,之后输入“章”。这样设置表示文档中一级标题段落按“第X章”格式编号;

(2)在文档中选择二级标题,应用“标题2”样式,在“自定义多级符号列表”对话框中选中“级别”列表框内的“2”,先通过“前一级别编号”添加一级标题编号“1”到“编号格式”处,再直接键入分隔符“.”,再选择编号样式为“1、2、3”,就可以把二级标题设置成“1.1”编号格式,如图3所示。

(3)同样的方法可以设置三级标题编号“1.1.1”。

三、应用“题注”和“交叉引用”配对标注图表

长文档中,图形和表格要求按在章节中出现的顺序分章编号,如图1-1,表2-1。同样图、表的编号和引用也不是手工实现的,否则会给文档的修改带来无穷的后患。

图形和表格的编号是通过设置题注的编号来完成,而正文文字中的引用{如“参见第x章、如图x所示”}则是通过使用交叉引用来实现的。当文档插入或删除新的图表以后,所有的编号和引用都将自动更新,无需人力维护,并且可以自动生成图、表目录。

1、插入题注

(1)在Word长文档中,选中插入的图片,单击鼠标右键,在弹出的菜单中选择“题注”命令,打开“题注”对话框,单击“新建标签”按钮,在弹出如图4所示的“新建标签”对话框中输入“图”,“确定”后即可生成图的题注;

(2)在“题注”对话框中,单击“编号”按钮,打开“题注编号”对话框,选择“包含章节号”,选择“章节起始样式”和“使用分隔符”,插入的题注就变成图X-X格式。

2、使用交叉引用

将光标定位在正文文字中需要引用图表说明的位置,执行“插入”/“引用”/“交叉引用”菜单命令,打开“交叉引用”对话框,在“引用类型”下拉列表内选择“图”,在“引用内容”下拉列表内选择“只有标签和编号”,然后在“引用哪一个题注”列表框内选中“图X-X”,确定后,就设置了图X-X的引用说明。

四、应用“目录”自动生成文档框架

目录是文档中各级标题的列表,它通常位于文章扉页之后。目录的作用在于方便阅读者可以快速地检阅或定位到感兴趣的内容,同时比较容易了解文章的纲目结构。

目录一般放在正文的前面。先在正文前插入一新页,光标移到新页的开始,添加“目录”二字,并设置好格式。再新建一个段落,选择“插入”/“引用”/“索引和目录”菜单项,在弹出如图7所示的“索引和目录”对话框选择“目录”选项卡,在“格式”列表框中选择目录的风格,在“显示级别”列表框中选择应用样式的级别,单击“确定”按钮,就可以生成目录。

五、应用“节”任意调整页码

长文档中间需要调整页码时,在该页或前一页插入一个“分节符”,就可以任意设置该页的页码数字。

1、插入分节符

单击“插入”菜单中的“分隔符”命令,出现一个如图8所示的“分隔符”的对话框,插入分节符。

2、插入页码

光标定位到需要调整页码的页面,执行“视图”/“页眉页脚”菜单命令,光标出现在该页的页眉处,并自动弹出“页眉页脚”工具栏,单击“页眉和页脚”工具栏上的“在页眉和页脚间切换”按钮,将光标切换到页脚处,单击“页眉页脚”工具栏上的“与上一节相同”按钮。

单击工具栏上的“插入页码”按钮,把页码插入到页脚上。

单击“页眉页脚”工具栏上的“设置页码格式”按钮,弹出如图9所示的“页码格式”对话框,将“起始页码”设为“1”,当前页

六、应用“大纲视图”组织文档

制作长文档要养成良好的工作理念,先建立好文档的纲目结构,然后再进行具体内容的填充。这样不仅有利于指导自己快速地完成实际内容的写作,而且也方便了阅读者的理解。

1、在大纲视图下进行工作

建立Word空白文档后,单击“大纲视图”按钮,切换到大纲视图。

2、建立纲目结构

直接在页面输入一级标题、二级标题文字,设置文档纲目结构。可通过大纲工具栏上的“提升”、“降低”、“降为正文文本”按钮来更改标题级别,还通过大纲工具栏上的“上移”或“下移”按钮来改变标题位置。

3、合理创建子文档

主控文档是子文档的一个“容器”。每一个子文档都是独立存在于磁盘中的文档,它们可以在主控文档中打开,受主控文档控制;也可以单独打开。

选定要拆分为子文档的标题和文本,直接用鼠标单击标题前的空心十字符号即可。再单击大纲工具栏中的“创建子文档”按钮,选定内容将创建为子文档。

摘要:本文通过详细讲解如何灵活运用Word的各种命令来编排Word文字、图形、表格混合的长文档,使人们在日常的Word办公应用中的排版更简单直接,且达到更好的图文效果。

关键词:Word长文档,命令,灵活运用,编排

参考文献

[1]万德年.计算机应用基础[M]人民邮电出版社2006.

结构化文档 篇6

WSDL(Web Services Description Language,Web服务描述语言)是一种XML Application,用来描述Web服务及Web服务通信过程的XML语言。Web服务相当于一组服务访问点,通过这些服务访问点,客户端可以直接访问调用那些面向文档信息或面向过程调用的服务。WSDL首先对访问时的具体操作和访问时使用的请求/响应消息信息进行抽象描述,然后将此绑定到具体的传输协议和消息格式上,用来定义具体部署的服务访问点。相关的具体部署的服务访问点进行组合成为抽象的整体Web服务。

WSDL是用来精确描述Web服务的文档,WSDL文档一般遵循WSDL XML模式的XML文档,将Web服务定义为服务访问点或端口的集合。在WSDL中,由于已从具体的服务部署或数据格式绑定中分离出服务访问点和消息的抽象定义,因此可以再次应用抽象定义。交换数据的抽象描述即为消息;而端口类型指的是操作的抽象集合。

1 WSDL文档元素

一个WSDL文档通常包含7个重要的元素,即Type、Import、Message、Port Type、Operation、Binding、Service元素。这些元素嵌套在definitions元素中,definitions是WSDL文档的根元素。

1、Types:消息类型,即数据类型定义的容器,一般使用XML Schema中的类型系统。

2、Message:消息,即通信消息的数据结构的抽象类型化定义。使用Types所定义的类型来定义整个消息的数据结构。

3、Operation:操作,即对服务中所支持的操作的抽象描述,一般单个Operation描述了一个访问入口的请求/响应消息对。

4、Port Type:端口类型,即对于某个访问入口点类型所支持的操作的抽象集合,这些操作可以由一个或多个服务访问点来支持。

5、Binding:特定端口类型的具体协议和数据格式规范的绑定。

6、Port:定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问点。

7、Service:相关服务访问点的集合。

WSDL文档分为上下两部分,即由抽象定义和具体描述。抽象定义部分一般独立于平台和语言来定义SOAP消息,其中不包括任何随机器或语言而变的元素。在WSDL文档元素中,属于抽象定义层,属于具体定义层。所有的抽象可以是单独存在于别的文件中,也可以从主文档中导入。

2 WSDL文档结构

一个简单的Web Service的WSDL文档,该服务支持名为say Hi的唯一操作,该操作通过在http上运行SOAP协议来实现的。使用XML语言编写十分繁琐。

1、definitions元素

WSDL文档的根元素为definitions元素,将整个文档封装其中,如下代码所示。

2、types元素

WSDL的基本类型系统采用了W3C XML模式内置类型。types元素相当于一个容器,是XML模式内置类型中没有描述的各种数据类型的定义。当声明消息部分的有效负载时,消息定义并使用了在types元素中定义的数据类型和元素,如下代码所示。

上面是数据定义部分,该部分定义了两个元素,一个是say Hi,一个是say Hi Response。say Hi定义了一个复杂类型,仅仅包含一个简单的字符串,将来用来描述操作的参入传入部分;say Hi Response定义了一个复杂类型,仅仅包含一个简单的字符串,将来用来描述操作的返回值。

3、import元素

import元素使得可以在当前的WSDL文档中使用其他WSDL文档中指定的命名空间中的定义元素。这里没有使用import元素。通常在用户希望模块化WSDL文档的时候,该功能是非常有效果的。一般必须有namespace属性和location属性,namespace属性表示值必须与正导入的WSDL文档中声明的target Namespace相匹配;location属性表示必须指向一个实际的WSDL文档,并且该文档不能为空。

4、message元素

message元素描述了Web服务使用消息的有效负载。message元素可以描述输出或者接受消息的有效负载;还可以描述SOAP文件头和错误detail元素的内容。定义message元素的方式取决于使用RPC样式还是文档样式的消息传递。

消息格式的抽象定义了两个消息say Hi Response和say Hi Request。say Hi Request,say Hi操作的请求消息格式,由一个消息片断组成,名字为parameters;say Hi Response,say Hi操作的响应消息格式,由一个消息片断组成,名字为parameters,元素都是types中的元素;如果采用RPC样式的消息传递,只需要将文档中的element元素应以修改为type即可。

5、port Type元素

port Type元素定义了Web服务的抽象接口。该接口有点类似Java的接口,都是定义了一个抽象类型和方法,没有定义实现。在WSDL中,port Type元素是由binding和service元素来实现的,这两个元素用来说明Web服务实现使用的Internet协议、编码方案以及Internet地址。

6、binding

binding元素将一个抽象port Type映射到一组具体协议(SOAO和HTTP)、消息传递样式、编码样式。通常binding元素与协议专有的元素和在一起使用,如下代码所示。

摘要:解析Web服务中WSDL的具体作用,以及WSDL文档的基本结构,分析每个元素文件的作用。WSDL是Web服务描述语言(Web Services Description Language),由XML语言编写的文档。这种文档用来描述某个Webservice,规定其服务的位置,以及此服务所提供的操作。

关键词:Web服务,WSDL文档,文档元素

参考文献

[1]李盛钢,丁晓明.一种基于扩展WSDL的测试数据自动生成方法[J].西南师范大学学报.2011(07)

[2]陈佳蕊,蔡国永.基于扩展WSDL变异的Web服务测试方法[J].计算机应用.2007(06)

[3]马殿富,葛声,刘旭东.WSDL表示模型与实现方法[J].北京航空航天大学学报.2003(03)

结构化文档 篇7

关键词:图结构XML,关键字检索,层次连接

目前基于关键字的XML信息检索研究大都采用将XML文档建模成树结构, 返回结果采用LCA的思想。当XML文档中出现引用关系时 (包括文档内引用IDREF和文档外引用XLink) , 将引用关系当作一般属性来对待会忽略元素节点之间的隐含关系, 采用LCA的思想得到的结果将有所遗漏。研究表明, 将带有引用关系的XML文档建模成图结构是可取的, 能够改善检索质量。本文的主要贡献可以归纳为如下4点:

(1) 提出从关键字及其类型来分析和预测用户查询语义的模型;

(2) 提出了基于语义的图结构XML文档的返回结果模型———层次连接实体 (HJE) ;

(3) 提出图结构XML文档下高效的双层索引结构;

(4) 设计了基于层次连接实体语义的HJ算法。

1问题描述和相关工作

1.1预备知识

在图结构XML信息检索中, XML文档被定义成有标签的有向图, Q={V, E}, 其中, V是文档的结点集, E是文档的边集。

结点集V是文档的信息存储单位, V={Element, Attribute, AttributeValue, Text}, 其中Element是元素结点集, Attribute是属性结点集, Attribute Value是属性值结点集, Text是文本结点集。元素结点可以嵌套元素结点、属性结点和文本结点, 属性结点可以嵌套属性值结点。

边集E是结点之间联系的桥梁, E={CE, RE}, 其中C是包含边集, R是引用边集。C (u, v) ∈CE, 表示u是v的祖先结点;R (u, v) ∈RE, 表示结点u有一条引用边指向结点v。

为了方便表述, V (n) 表示结点n本身, T (n) 表示以结点n为根节点的子树, Descendant (n) 表示T (n) 的结点集 (包括n本身) , CR (k, V (n) ) 关键字包含在结点n中, RE (n, m) 表示在T (n) 和T (m) 中存在一条引用边, 且引用边从T (n) 指向T (m) 。

1.2相关工作

基于图结构的XML文档信息检索研究包括XRank[1], EASE[2], XKeyword[3]等。XRank提出了ElemRank[1]概念, 对XML文档区别对待引用和属性, 在检索过程采用查找LCA (LowestCommonAncestor) [1]的思想, 以LCA为根节点的子树包含所有关键字为返回结果, 当关键字在两个距离较远的不同片段中, 由于不考虑引用, 其公共的LCA往往返回根结点或高层结点, 这将是冗余的或者无意义的。EASE构造了一个半径为R的Steiner[2]图 (rradiusSteinergraph) , 并认为Steiner图越紧凑, 相关度越大。这种方法采用TF-IDF[2]模型, 而这一模型相对在传统文本检索中比较有效, 处理图结构的XML文档, 引用关系会打乱原有层次结构, 导致最优的结果的相关性反而较低。XKeyword是一种可以在大型XML图数据库上进行关键字近似查询的方法, 但其对子图的划分运用到了文档的schema, 而很多XML是缺失schema的, 因此应用并不广泛

2 关键字的查询语义模型

基于关键字的信息检索中, 用户只输入了若干关键字K= (k1, k2, ..., km) , 因此如何从关键字中推断用户的检索目标将是一个首先要解决的难点。

目前的研究都是在寻找LCA时不区分关键字类型, 而在结果的权重中考虑关键字类型, 本文提出从检索结果之前就加入关键字类型的考虑, 来作为检索时的语义判断, 提出了“关键字语义唯一性”和“关键字语义选择”的理论。

推理依据1 (关键字语义唯一性) 在一个返回结果中, 每个关键字只会在一种类型上有语义。

结合用户输入的关键字与返回的正确结果进行分析发现, 用户输入的每个关键字都是对检索目标的直接体现, 不会存在模糊指向, 因此每个关键字在一个结果中仅会在一种类型上有指导意义;如果一个结果上某个关键字存在多层语义, 那么必然能将此结果拆分为两个独立结果。例如图1中输入检索关键字“open_auciton, Jack”, 那么检索结果将有两个, 第一个是以{T (person (0.1.1) ) }, 语义表示名字叫“Jack”的人感兴趣的“open_auction”列表;第二个结果是T (open_auction (0.0.0) ) ∪T (person (0.1.1) ) ∪R (V (0.0.0) , V (0.1.1) ) , 语义表示有“jack”参与的“open_auction”。第二个中虽然“open_auction”出现了两次, 但仅有{T (person (0.1.1) ) }中的“open_auction”具有语义, 其引用边是联系两个子树的桥梁。

推理依据2 (关键字语义选择) 当一个关键字在一个结果中存在于多个类型中, 关键字的语义在哪个类型上是个“语义选择”问题, 以下进行理论分析。

通过对相关结果的分析发现, 关键字出现在Attribute上时, 往往代表了用户需要查找这个属性上的属性值, 因此作为Attribute的关键字往往语义信息是最明确的。例如图1中, 输入检索关键字“mike, city”, “city”出现在属性上, 那么可以推断用户的信息需求是:名字叫“mike”的所在“city”的值;Element上关键字是对信息的高度凝缩, 拥有很高的信息量, 所以关键字出现在Element上时, 这个元素所代表的主题结点往往是与结果直接相关, 例如“open_auction”、“buyer”、“person”这些关键字出现时, 其结点往往就是检索目标的一部分。关键字出现在属性值, 其代表了用户查找的是属性值对应的属性所在的结点, 例如图1中用户输入“person, jack”, 可以推断用户的检索目标是找到“name”是“jack”的“person”结点的信息;文本结点一般作为其所在的主题结点的描述性信息, 重要性相对较低。

针对以上分析, 本文给出关键字语义选择:Q (Attribute) > Q (Element) > Q (Attribute Value) > Q (Text) , 这里的”>”代表了语义选择顺序。语义选择顺序将作为关键字在一个结果中的类型判断规则。

以上的两个推理依据可对输入的关键字进行语义判断, 从而推断用户需求。

3 查询结果的语义模型及排序方案

3.1 查询结果的语义模型

图结构XML文档中的引用边的出现使得检索过程与检索结果的语义分析都与传统的树结构检索方法有了根本性的改变。如果按照树结构的返回LCA方法来检索, 返回的往往是根结点或高层结点, 冗余度较高, 需要用户在“大”的结果中寻找自己感兴趣的部分, 这样的结果显然是不合理或缺少意义的。本文提出了以下几个语义, 来定义无冗余的、语义正确的结果模型。

定义1 (主题结点 Subject ) 一个可以区别于其他事物的独立信息单元。

主题结点为可返回结果的最小信息单位, S (E) 表示以结点E为根节点的主题结点。

S (root) ={T (root) |∃V (n) ∈Descendant (root) ∧∃kK, CR (k, V (n) ) }。

sS表示s为一个主题结点, S (k) 表示关键字k所在的主题结点。

例如图1中, T (person (0.1.0) ) 可以作为一个主题结点, 但T (watch (0.1.0.2) ) 不可以;T (watch (0.1.0.2) ) 附属于T (person (0.1.0) ) , 不能独立存在。主题结点可以嵌套, 同时主题结点只可能是元素结点。

下面给出是否为主题结点的判别条件:

判别条件1:如果一个结点的子结点包含元素结点, 那么以下几种情况可以判断此结点可以作为主题结点: (1) 子结点中仅有一个元素结点时, 还包含其他结点 (属性结点或者文本结点) ; (2) 子结点包含两个或两个以上元素结点时, 所有元素结点的标签名不完全相同。

判别条件2:如果子结点中不包括元素结点, 那么以下几种情况可以判断此结点可以作为主题结点: (1) 子结点仅有一个属性结点时, 还包含至少一个文本结点; (2) 子结点包含两个或两个以上属性结点。

定义2 (纽扣 Fastener) 连接主题结点的结点集合。F (s, t) ={m|m∈ (path (LCA (p, q) , p) ∪path (LCA (p, q) , q) ) ∧ (∀sS, ∀tS, ∃RE (s, p) ∧RE (t, q) ) }, 其中LCA (p, q) 为V (p) 和V (q) 的最小公共前缀[3], path (s, t) 表示st的路径上的所有结点, 包括st本身, fF表示f为一个纽扣。

纽扣是主题结点之间的关系的桥梁, 形式上不同于主题结点, 为分散的结点集合。

定义3 (层次连接实体 Hierarchical Joined Entity, HJE) 。 一个有完整语义信息的返回结果。层次连接实体HJE是图结构XML文档的检索返回结果模型, 包含一个或多个主题结点, 零个或多个纽扣, 每个关键字至少存在于某一个主题结点中, 如果把纽扣当成一个边的话, HJE是个DAG[2]子图。

HJE (K) ={S, F| (∀kK, ∃sS, CR (k, s) ) ∧ (∀fF, ∃sS, ∃sS, f=F (s, t) ) } (1)

wHJE表示w为一个层次连接实体, S (w) 表示层次连接实体w的主题结点集, F (w) 表示层次连接实体w的纽扣集合。

定义4 查询结果给定查询关键字K= (k1, k2, …, km) 以及一个XML文档D, 查询结果定义“无冗余的HJE”, Result (K) ={wHJE (K) |∀zHJE (K) , S (w) ⊄S (z) }。

查询结果Result (K) 包含了一系列的主题结点和纽扣, 主题结点集包含了所有的关键字, 并且不存在主题结点集的真子集包含所有关键字。

主题结点作为结果的主要信息载体, 包含了用户感兴趣的信息单元, 纽扣作为连接这些信息单元的“桥梁”, 这样查询结果语义信息完整, 且无冗余。

3.2 基于语义的排序方案

3.2.1 相关度影响因素

结合以上给出的关键字的查询语义分析和查询结果的模型定义, 已经可以对所有的相关结果进行语义描述, 本文接下来将对影响返回结果的相关度因素进行阐述。

(1) 层次嵌套

关键字之间的层次嵌套关系对结果相关度影响最大。

多关键字的“层次嵌套”关系是指“关键字之间的直接嵌套或者间接嵌套”。直接嵌套是两个关键字之间的关系, 指的是在同一个主题结点内两个关键字所在的层次是祖先-子孙关系。间接嵌套是主题结点之间的关系, 关键字所在的主题结点被另一个主题结点引用。

下面给出层次嵌套对一个结果的Rank值计算公式:

Η (Result (Κ) ) =h1 (ki, kj) D1d (ki, kj) +h2 (S (ki) , S (kj) ) Ι1f (S (ki) , S (kj) ) (2)

式 (2) 中ki, kj是关键字, D代表直接嵌套, I代表间接嵌套, d () 函数是关键字所在层次之间的距离, f () 函数是关键字引用的最短距离。h1, h2是参数。

(2) 层次方向

关键字存在层次嵌套时, 层次之间的方向对结果的相关度有影响。

下面给出层次方向对一个结果Rank值的计算公式:

D (u) =p1sS (u) (|Ο (s) -Ι (s) |) +p2sS (u) (Ο (s) +Ι (s) ) (3)

式 (2) 中u为一个查询结果, O (s) 表示主题结点s的出度, I (s) 表示主题结点s的入度。p1, p2为参数。

3.2.2 相关度模型

通过以上分析, 我们给出返回结果的相关度的计算公式

R (u) =αΗ (u) +βD (u) (3)

式 (3) 中u为一个查询结果, R (u) 为相关度。α, β为参数。

4 基于语义的双层索引结构

XML文档的关键字检索方法不同于在原文档上进行查询的结构检索方法, 采用将文档解析后存入数据库中, 检索时从数据库中查询关键字, 来构造结果。目前主流的检索方法的索引结构使用Dewey[4]编码进行构建, 每个关键字有唯一的Dewey码, 另外还包括层次、类型或者其他信息。

本文针对图结构XML文档的独特结构, 不仅构建了基于主题结点的Dewey索引表 (主表) , 还构建了用于记录引用关系的Refer索引表 (副表) , 形成了双层索引结构。

在主表Dewey索引表中, 记录了必要的Dewey码、关键字、类型、所属主题结点Dewey码;在Refer索引表中, 记录了引用主题结点Dewey码、被引用主题结点Dewey码。例如图1中, “mike (0.1.1.1.0) ”结点在Dewey表中存储形式为{0.1.1.1.0, mike, 4, 0.1.1}, 其中第4项为关键字所在的主题结点S (person (0.1.1) ) 的根节点Dewey码。主题结点open_auction (0.0.0) 的子结点seller引用了主题结点person (0.1.1) , 在Refer表中记录为{0.0.0, 0.1.1}。

双层索引结构完整记录了图结构XML文档的信息, 在检索过程中通过调用主表找到关键字的信息, 通过调用副表找到关键字所在主题结点的引用信息及被引用信息, 来为检索提供足够的语义信息。

5 算法实现与实验分析

5.1 层次连接 (HJ) 算法

HJ算法的实现, 是基于用户提供N个检索关键字, 找到所有的相关结果片段, 并按照相关度进行排序。

算法1描述了HJ算法的查询过程, keyword [m]表示用户输入的m个关键字 (Line 1—2) 。invert[m]存储了经预处理的m个关键字对应的主题结点列表 (Line 3—4) 。每一个主题结点列表的组合都可能产生一个结果, 根据关键字的查询语义对一个组合进行语义选择, 产生候选主题结点列表singleList[n] (Line 5—8) 。遍历组合中的任意两个主题结点, 进行层次连接, 寻找产生的DAG子图 (Line 9—14) 。对结果进行清理和筛选是边计算边处理的 (Line 15—20) 。最后根据3.2节的排序方案进行排序输出 (Line 21—25) 。

5.2 实验环境

实验数据:华盛顿大学的XML数据仓库中XMARK以及IMDB数据集, 数据集大小分别为10 MB, 121 MB。手动选择8组Query进行测试。

实验硬件环境:CPU:AMD双核2.8 MHz;内存:2 G;操作系统:Windows 7;数据库:MYSQL 5.2。所有的算法用java语言实现。

5.3 查询质量

图3显示出Top-20的XRank[1]和HJ算法的检索质量比较。由于某类关键字组合涉及较多引用关系, 如QX6、QX7, 在XRank上的结果返回为空。

6 总结与研究展望

基于关键字的图结构XML文档上的检索带来了新的挑战, 本文试图通过对关键字的语义分析, 构建基于语义的结果模型进行探索, 从层次结构上分析结果的相关性。实验表明:与主流模型相比, 本模型在查询质量上有明显的优势。

参考文献

[1] Lin G, Feng S, Chavdar B, et al.XRank:ranked keyword search overXML documents.SIGMOD, 2003:16—27

[2] Guoliang L, Beng C O, Jianhua F, et al.EASE:an effective 3-in-1keyword search method for unstructured, semi-structured and struc-tured data.SIGMOD, 2008:903—914

[3] Vagelis H, Yannis P, Andrey B, et al.Keyword proximity search onXML graphs.ICDE Conference, 2003:367—378

结构化文档 篇8

关键词:XML文档,DOM解析,路径特征,结构相似性,评价指标

0 引言

可扩展标记语言XML作为互联网上一种信息表示和交换的标准,蕴含了大量的信息,对XML文档进行数据挖掘在许多数据应用领域(如信息检索、数据集成、文档分类和查询处理[1]等)起着重要作用并已成为研究热点。相似度计算是XML文档挖掘的关键,其精确程度将直接影响到最终的处理结果。由于XML文档的逻辑结构(元素、边的从属和嵌套关系等)能够在很大程度上体现该文档所蕴含的信息,因此可通过XML文档的结构特征来进行相似度的计算。但在计算过程中如何充分利用这些结构信息,以提高相似度计算的有效性,仍是目前面临的一个主要问题。所以,寻求一种基于结构特征的更加合理有效的相似度计算方法显得十分必要。

现有基于结构的XML文档相似性度量方法主要从元素、边集及路径等来进行考虑。利用XML文档中的最小构件元素进行相似度的计算,是以两个文档中公共元素占所有元素的比值大小[2]来决定相似性的,该方法较少反映XML文档的结构信息,过于简单,因此精确度不高。Lian W[3]等通过结构图来表示XML文档,并以边匹配方式(两个文档中相同边数占其中较大边数的比值)来确定的相似性,该方法同样丢失了较多结构信息,准确度也不高。Zhang K[4]等在Tai K C[5]的基础上通过指定插入删除等部分编辑操作的代价,提高了执行效率,但其编辑操作代价的确定对不同的数据集合缺乏普适性。Joshi S[6]等提出的树路径模型与树编辑距离相比更为简单,利用树路径计算相似度,时间复杂度有了明显降低,但该方法是以完全匹配方式来对路径序列进行匹配,不能在非完全匹配时更精确的描述路径间的相似性。Leung H[7]和杨厚群[8]等通过找出XML文档的频繁路径来对其进行聚类,但其最小支持度大小通常需要通过多次实验得出,难以设定。朴勇[9]等提出了一种带有位置权重的基于树路径的XML文档结构相似度计算方法,对属于不同DTD的XML文档取得了较好的聚类效果,但其没有考虑路径位置和频率对相似度的影响。廖浩伟[10]等提出了一种基于树路径匹配的网页结构相似度算法,该算法对结构差异性较小的文档能够较好地进行区分,但其相似度计算过程未考虑节点位置和路径频率对相似度的影响,同样忽略了部分结构信息。

本文针对上述相似度计算方法的不足,基于扩展的树路径模型,充分利用提取的路径特征,对文献[10]中提到的树路径序列和位置相似度进行了改进,并将路径频率作为路径相似度的一部分,以三者的加权和作为整个路径的相似度,提出了一种更符合实际的基于路径特征的XML文档结构相似性度量方法SSPF。通过K-means算法进行聚类,并与文献[10]及传统路径相似度计算方法进行比较,实验结果验证了该方法的有效性。

1 XML文档预处理

1.1 XML文档解析

XML文档解析是指通过对XML文档按从头到尾的顺序进行分析,以提取其中的结构信息的操作[11]。本文对XML文档的解析采用的是文档对象模型DOM方式,它是将整篇XML文档以树状结构一次性解析并读入内存,保存为一个对象供用户访问,较为灵活。

例如对于图1(a)所示的XML文档,经过DOM解析,在计算机内存中将生成该文档的DOM解析树,如图1(b)所示。

1.2 路径特征提取

本文提出的相似度计算方法涉及到路径的序列、位置和频率信息,因此需要首先根据树路径模型对路径特征进行提取。

定义1(树路径模型)DTPath Model=(f,v1v2…vn,t1t2…tf)。其中(v1,v2,…,vn)为DOM树中某一路径从根节点到叶子节点所经历的所有标签节点的序列,f为该路径在整个DOM树中出现的次数,(t1,t2,…,tf)表示这f次出现的相对位置,也就是将叶子节点从左到右依次进行排序,该序号即为树路径在DOM树中的位置。

基于该树路径模型的路径特征提取可将每个XML文档重新表示为一个树路径的集合。该模型去除了重复路径,在不丢失结构信息的情况下,能够有效减小路径集合的规模。

2 基于路径特征的相似性度量方法SSPF

基于路径特征的XML文档结构相似性度量本质上是路径相似度的计算。为了能更充分地反映文档结构特征,本文提出的SSPF相似度计算方法的路径相似度分为序列相似度、位置相似度和频率相似度三部分。传统路径相似度计算方法中的路径相似性及文献[10]中的序列相似性都仅仅是以最长公共子序列长度与路径间最长路径长度的比值来计算的,而本文序列相似度考虑了节点位置权重对序列相似度的影响,并对计算公式进行了重新定义。而在计算位置相似度时,文献[10]是将位置和频率合在一起考虑,这样不利于真正位置相似度的计算,因此本文将其分离,然后重新定义了新的位置相似度的计算公式,并提出了路径频率相似度,而路径相似度则为三者的加权和。

定义2(序列相似度)设树路径Pi=(fi,vi1vi2…vim,ti1ti2…tifi),Pj=(fj,vj1vj2…vjn,tj1tj2…tjfj),Pi、Pj的最长公共子序列LCS=(v1,v2,…,vk),LCS中各节点对应于树路径Pi、Pj中的下标序列分别为(l1,l2,…,lk)和(h1,h2,…,hk),则树路径Pi、Pj的序列相似度计算公式为:

式中,k为最长公共子序列的长度,max(m,n)表示取Pi、Pj中路径较长者,wi表示路径序列中相应节点的位置权重,其详细说明参见定义3。

定义3(节点位置权重)设i表示树路径中节点在DOM树中所处的层次位置,则节点位置权重函数定义如下:

从中可以看出,wi随i值的增大而减小,且具有如下性质:

在计算路径序列相似度时,之所以引入节点位置权重,而不是简单的通过最长公共子序列的长度与最长路径长度的比值来计算,是因为处于不同层次的节点对DOM树结构的重要程度不同,高层节点较低层节点对XML文档结构相似性的影响更大。例如,对路径序列P1=(a,b,c,d)、P2=(a,b,x)和P3=(a,y,b),虽然P2、P3同P1的最长公共子序列均为(a,b),但实际P2与P1的相似度较P3与P1的相似度要更高。

定义4(位置相似度)设树路径Pi=(fi,vi1vi2…vim,ti1ti2…tifi),Pj=(fj,vj1vj2…vjn,tj1tj2…tjfj),则Pi、Pj的位置相似度计算公式如下:

式中,d(tik)表示路径Pi在tik位置处同路径Pj间的最近距离,d(tjk)同理,其用公式表示[10]为:

设dni、dnj表示路径Pi、Pj所属DOM树中各自总的叶节点个数,即树路径位置编号的最大值,则dn、dni的计算公式为:

定义5(频率相似度)若树路径Pi和Pj在各自DOM树中的频率(出现次数)分别为fi和fj,则路径Pi和Pj的频率相似度计算公式定义为:

路径频率作为路径特征的一部分,理应对树路径相似度有所贡献。对于属于不同类型的文档,若二者的频率(出现次数)相近,其频率之比反而较大,这种偶然因素有可能违背本文提出频率相似度的初衷。因此式(7)对频率相似度的定义不是单纯的频率之比,而是通过引入文档路径总数dni来尽可能地使频率相似度更加准确,对最终路径相似度的计算有所帮助。而上述定义是基于本文认为属于同一类别文档的路径数目差别不大(相近的可能性更大),而不同类型间文档的路径条数出现较大差异的可能性越大;同时频率相似度能够在一定程度上反映出树路径在DOM树中出现的频次是否一致。频率相似度大(出现次数较接近),说明两条路径更可能属于同一类DOM树;反之,频率相似度小(出现次数差别较大),则说明两条路径归于同一类DOM树的可能性越小。

定义6(路径相似度)基于上述定义,若树路径P1与P2的序列、位置和频率相似度分别为ss、sp和sf,则P1、P2的路径相似度表示为:

其中,系数u、v以及(1-u-v)分别为路径序列、位置和频率相似度的权重,通过动态调节u、v的值,可以改变这三部分在整个路径相似性中的重要程度,系数u、v满足0≤u、v≤1,0≤u+v≤1。

在树路径相似度的基础上,XML文档结构相似度可通过最大路径相似度来计算。

定义7(文档相似度)给定两个XML文档doc1、doc2,其树路径集合XMLDTPS1=(P1,P2,…,Pm)、XMLDTPS2=(P1,P2,…,Pn),且n≤m。将XMLDTPS1和XMLDTPS2中的每条路径两两匹配进行路径相似度的计算,从而得到一个最大路径相似度的集合Smax=(S1,S2,…,Sn),则文档doc1和doc2的结构相似度[9]可表示为:

定义8(相似度矩阵)在对XML文档集进行聚类挖掘时,相似度矩阵将作为度量类间距离的依据。若有n个XML文档需要进行相似度的计算,根据前面定义的相似度计算方法,计算所有XML文档间的相似度,其结果可保存为一个n×n的矩阵,该矩阵即被称为相似度矩阵,表示如下:

其中,aij=simdoc(doci,docj),表示文档i与文档j的相似度值,且aij∈[0,1]。该矩阵是一个对称矩阵,即aij=aji,且主对角线元素均为1。

3 SSPF方法流程及描述

3.1 方法流程

XML文档结构相似度计算的算法流程如图2所示。

3.2 过程描述

输入:XML文档集{doc1,doc2,…,docn}

输出:相似度矩阵similarity matrixn×n

(1)对输入的XML文档集中的元素进行预处理(包括单词大小写统一,根据Word Net同义词集进行语义消岐等),并通过XML文档解析模块将其解析为DOM树模型;

(2)根据DOM树提取XML文档的路径序列、位置和频率特征,构造树路径集合XMLDTPS。//通过DOM树的叶子节点进行提取

(3)根据提取的路径特征求XML文档间的相似度:

4 实验结果与分析

为了验证本文所提SSPF相似度计算方法的有效性,采用C++语言进行了编程实现。实验用的PC机配置为CPU2.1 GHz,2 GB内存,160 GB硬盘,Windows XP操作系统,仿真平台为Visual Studio 2008和matlab 7.11。

实验数据来自两个不同的数据集,其中一个为现实生活中真实的数据集Texas[12],包括automobile、movie、reference和software 4个类别,共有20个不同网站的101个XML文档。其中automobile、movie和software各20个,reference有41个。另外一个数据集为美国威斯康星大学用于XML检索研究的NIAGA-RA[13]数据集,本实验从中选取xml-movies类别的25个XML文档,作为第一个实验数据集的补充。

4.1 相似度比较

好的相似度计算方法应该使属于同一类别文档之间的相似度尽可能大,但同时也能在一定程度上反映出同类型文档间的细微差别。为了验证本文所提相似度计算方法SSPF(u=v=1/3)在改善XML文档相似度计算上的效果,与传统树路径方法和本文所改进的文献[10]中的方法进行比较,相似度计算结果如表1所列。表中C1至C5分别对应实验数据集中的automobile、movie、reference、software和xml-movies这5个类别。其中,每个类别下的相似度为该类别中所有文档间相似度的平均值。

从表1可以看出,对于C1-C4这几个类别,传统树路径方法所得的相似度计算结果均不是很高,而文献[10]中的方法和本文改进的SSPF方法对这4类各自的相似度计算结果均有所提高,其中SSPF方法更甚,这说明本文提出的SSPF方法能在一定程度上使原本属于同一类别文档之间的相似度尽可能的大。同时可以看到,对于C5类别,传统树路径方法的相似度计算结果较大,这与其对C1-C4的计算结果形成了较大的反差。通过对C5类别中XML文档的分析发现,该类别中文档的结构差异性非常之小(路径序列基本一致),其文档间的差异性主要体现在路径位置和频率上,因此采用仅基于路径序列来计算相似度地传统树路径方法,计算出的相似度值自然很高,但却不能很好地体现文档间在路径位置和频率上的差异。正是由于以上原因,文献[10]加入了位置相似度,而本文改进的SSPF方法在优化序列和位置相似度的基础上,又加入了频率相似度的计算,使得相似度计算结果能更加真实地反映XML文档间的实际相似性。

4.2 聚类分析

在相似度计算的基础上,本文采用K-means聚类算法进行聚类,然后以信息检索中常用的准确率、召回率和F1测度来对实验结果进行评价,评价指标的计算公式如下:

其中,A为正确聚类的文档数,B为属于不同类但被聚到一起的文档数,C为属于同一类但未被聚到一起的文档数。

由式(8)可知,当u、v取不同的值时,SSPF方法得到的相似度结果会有所不同,值越大,其所对应的子相似度对整个路径相似度的影响就越大。为了测试每个子相似度在整个路径相似度中所起的作用,下面分别对u、v赋予不同的值,每一种取值都对应一种新的SSPF方法。当u=0.8,v=0.1时,记为方法SSPF-1;当u=v=0.5时,记为方法SSPF-2;当u=v=1/3时,记为方法SPFS-3;当u=0.1,v=0.8时,记为方法SPFS-4;当u=v=0.1时,记为方法SPFS-5。上述方法与文献[10]中的方法在聚类的准确率、召回率和F1测度的比较分别如图3至图5所示。

上述实验结果是通过多次随机选取初始聚类中心,找出效果最好的3次,对这3次聚类的准确率、召回率和F1测度分别求平均值得到的。从中可以看出,方法SSPF-1(u=0.8,v=0.1)和方法SSPF-2(u=v=0.5)在聚类的召回率、准确率和F1测度上均优于文献[10]中的方法。即当为序列相似度、位置相似度和频率相似度赋予合适的权重时,SSPF方法具有较好的聚类效果。这也正验证了SSPF方法与文献[10]的方法相比,因为考虑了节点位置权重,优化了序列、位置相似度的定义,并引入了频率相似度,从而更能反映XML文档的结构特征,使得相似度计算方法更为合理。而方法SSPF-3(u=v=1/3)、方法SSPF-4(u=0.1,v=0.8)和方法SSPF-5(u=v=0.1)的聚类效果较文献[10]中的方法有了明显的降低。分析发现,随着u取值的减小,其对应方法的聚类效果也越来越差。这是因为本文基于路径特征的XML文档结构相似度计算是建立在路径序列基础之上的,路径的位置和频率相似度则是作为路径序列相似度的补充,从而保证相似度的计算结果更为精确合理。因此在相似度计算过程中,必须保证以序列相似度作为整个路径相似度的主体,否则计算出的相似度值将产生较大失真,从而影响聚类效果。另外,从图5中可以看出,在不同方法下某些类别的召回率相对较低(如C4),这是因为同一类XML文档可能来自不同的DTD,对于同一事物的表示可能有多种方法。例如,在C4所代表的software类别中,software和component都用来表示“软件”,但在Word Net中这二者不属于同义词,而本文在对XML文档进行预处理时,是以Word Net所提供的同义词集为基础的,从而导致某些在语义上相似的标签序列无法匹配,使召回率降低。而C5类由于结构形式较统一,因此召回率相对较高。

5 结语

上一篇:语言质朴下一篇:新生代型