网络社区中类自然语言的服务驱动机制.docx
- 文档编号:5289489
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:43
- 大小:812.74KB
网络社区中类自然语言的服务驱动机制.docx
《网络社区中类自然语言的服务驱动机制.docx》由会员分享,可在线阅读,更多相关《网络社区中类自然语言的服务驱动机制.docx(43页珍藏版)》请在冰豆网上搜索。
网络社区中类自然语言的服务驱动机制
网络社区中类自然语言的服务驱动机制
摘要
网络社区(OnlineSocialNetworks,OSN)是一个由大量的具有相同兴趣、爱好或者关注共同话题的用户组成的虚拟在线社区。
网络社区与现实社会的社区类似,均是以人为服务主体。
用户在网络社区中使用社区基础应用和第三方接入应用完成在网络社区中的活动。
这些应用以服务的形式注册在网络社区的后台系统中,用户在网页前端对服务的调用一般采用网络社区提供的应用程序接口(ApplicationProgrammingInterface,API)。
由于普通用户无法像程序员一样利用编程的手段完成API的调用,他们在网络社区中的活动受到了严重的限制。
针对这一问题,本文摒弃了网络社区中现有的通过编写程序完成的服务调用方式,而是试图让普通用户以更接近日常生活用语的语言,网络社区的后台服务进行调用,并以此驱动服务发现、服务组合以及服务评价过程。
这种驱动网络社区服务调度的语言,即类自然语言。
为了达到网络社区用户使用类自然语言完成服务的驱动过程,网络社区系统需要理解用户的类自然语言服务请求的语义信息,并将这些信息与社区中已注册服务的描述进行匹配,以发现符合用户意愿的网络社区服务。
本文的目标,是为网络社区已有的服务方式,设计类自然语言的服务驱动机制。
为了达到这一目标,本文通过对网络社区中的类自然语言接口进行了详细设计。
本文设计的类自然语言接口主要包括了类自然语言处理、语义推理和服务匹配等功能。
类自然语言接口的设计使用了自然语言处理技术,作为类自然语言处理的工具,同时,该设计引用了基于语义的Web服务组合的思想,针对网络社区中已注册的服务构建了领域本体,使网络社区系统能正确地通过类自然语言的理解,完成对服务调度的驱动。
本文搭建了类自然语言的服务驱动系统,验证了本文设计的类自然语言接口对服务调用的可行性和准确性,证明了使用类自然语言作为网络社区的服务驱动是可行和有效的。
关键词:
网络社区;自然语言处理;Web服务;领域本体
ABSTRACT
OnlineSocialNetworks(OSN)isavirtualonlinecommunity,consistsofalargenumberofuserswiththesameinterests,hobbiesorcommontopicofconcern.OSNissimilartotherealsocialcommunity,inwhichtherelevantservicesarebasedonhumanbeings.Usersutilizethebasicapplicationsandthird-partyapplicationstoaccomplishtheiractivitiesinOSN.Theseapplicationsareregisteredasaserviceinthebackgroundsystem,usersgetaccesstotheWebservicesinfront-endbycallingApplicationProgrammingInterface(API).SincetypicaluserscannotprogramasprofessionalprogrammerstocallAPIs,theiractivitiesinOSNareseverelyrestricted.Tosolvethisproblem,weabandonthecurrentapproachofwritingprogramstoachievetheWebservices,buttrytogetuserscapableofutilizingcertainlanguage,whichisclosertothedailylifelanguage,tocallbackgroundservices,andthusdrivingtheprocessofservicediscovery,servicecompositionandserviceevaluation.ThiskindoflanguagewhichdrivestheOSNserviceschedulingisquasi-naturallanguage.InordertoachievethedrivingprocessthatusersinOSNusethequasi-naturallanguagetocompletetheservice,OSNsystemneedstounderstandthesemanticsofquasi-naturallanguageinformationo-fusers’servicerequest,andmatchestheseinformationwiththedescriptionwhichhavebeenregisteredinthecommunitytofindoutOSNservicesthatmeetusers’desires.
Thegoalofthispaperistodesignservice-drivenmechanismofquasi-naturallanguagefortheexistingservicesinOSN.Toachievethisgoal,thispaperhavedesignedthequasi-naturalinterfaceinOSNindetail.Thequasi-naturallanguageinterfacedesignedinthispaperincludesaseriesoffunctionssuchasquasi-naturallanguageprocessing,semanticreasoningandservicematching.Themechanismofquasi-naturallanguageinterfaceemploysnaturallanguageprocessingtechnologyastheprocessingtoolsofquasi-naturallanguage.Meanwhile,thedesignalsoassimilatestheideaofsemantic-basedWebservicecomposition,whichbuildsadomainontologyfortheregisteredserviceinOSNtomaketheOSNsystemabletocorrectlyunderstandquasi-naturallanguage,asaresult,completingthedrivingprocessofcallingservices.
Inthispaper,aservice-drivensystemofquasi-naturallanguageisbuilt,andthefeasibilityandaccuracyofthedesignofquasi-naturallanguageinterfaceforservicecallsaredemonstrated,andtheresultshowsthatutilizingquasi-naturallanguageasadrivenofOSNisfeasibleandeffective.
Keywords:
OnlineCommunity;NaturalLanguageProcessing;WebService;DomainOntology
1.绪论
1.1研究背景
1.1.1网络社区中类自然语言的服务驱动需求
网络社区是指为具有相同兴趣、爱好或者关注共同话题的一组用户建立起来的一组网页或站点[1]。
网络社区为这些用户搭建了大量应用,包括基础应用和第三方接入应用,它们以服务的方式注册在网络社区后台系统中,服务的调用过程中,包括了服务发现、服务组合以及服务评价等任务,服务请求者通过网络社区的应用程序接口(ApplicationProgrammingInterface,API)实现服务调用的驱动[2]。
由于网络社区主体是普通大众用户,他们大多数不具备通过编写程序调用社区服务API的能力。
为了能让普通用户能用非程序的方式调用网络社区的诸多服务,势必要给用户的服务请求添加能被计算机系统理解的语义信息,该语义的表达接近日常生活用语,即类自然语言[3]。
1.1.2网络社区中类自然语言需求的关键问题
网络社区中的服务请求由用户发起,其语义除了要被用户理解,更要被计算机系统理解,所以用户的日常用语在计算机系统中需要借用结构化的文档进行语义表示。
用户的请求被机器理解后,其语义信息将陆续驱动服务发现、服务组合及服务评价等服务调用过程,服务被正确调用的基础是服务请求语义与服务描述能正确匹配,这样,服务描述也必须添加相应的语义信息。
网络社区的服务一旦被发布,其服务功能、名称和分类的属性信息被注册到网络社区后台系统中,这些服务属性的语义描述,也将一同在注册过程中完成。
经过上文的分析,网络社区中类自然语言需求需要解决以下三个问题:
1)用户服务请求的类自然语言如何被机器理解;
2)服务注册过程中如何添加服务属性的语义描述;
3)用户请求的类自然语言如何与服务描述相匹配。
本文将就以上三个问题,对网络社区中类自然语言的服务驱动机制进行设计。
1.2国内外研究现状
通过对上述关键问题的分析,笔者对国内外相关研究进行了调研,并发现论文提出的类自然语言的服务驱动机制与基于语义的Web服务调用相类似,其基本思想都是通过为服务请求和服务描述增加被机器理解的语义信息驱动服务的调用过程,它们的区别在于应用环境分别是网络社区和Web服务,语义载体分别是类自然语言和标准Web服务描述语言。
1.2.1基于语义驱动的Web服务调用
基于语义驱动的服务调用的基本思想,是通过为Web服务描述和服务请求描述添加能被计算机系统所理解的语义,使服务调度方案(服务发现方案和服务组合方案)通过推理自动生成[4]。
服务描述对于语义驱动的服务调用十分重要,最基本的服务语义包括四元组:
{I(数据输入),O(数据输出),P(条件输入),E(输出影响)}[5]。
常见的服务描述有OWL-S、WSDL和自定义语义。
由于Web服务描述语言(WebServicesDescriptionLanguage,WSDL)[6]仅通过“端口”规约了服务的功能特性,必须扩充增加{P,E}和服务质量(QualityofService,QoS)语义才能支持服务调度方案推理[7]。
调度方案的推理就是在服务组合图上的反向搜索过程[8]:
以用户需求为起点,首先寻找输出与用户需求目标一致的Web服务;再寻找输出与该服务输入匹配的上一个服务;如此类推直到找到输入描述与用户提供输入一致的服务为止。
如果搜索获得多个满足用户需求的组合方案,则需要通过评价选择一条最优的方案执行。
在服务组合图上,最优组合方案表现为从起点到终点相邻服务语义关联程度总和最大的一条路径,“最短路径”及其改进算法是方案选择使用的普遍方法。
Paolucci[9]等人提出了第一种通过匹配服务概述(ServiceProfile,SP)的基于语义的服务发现算法。
Bansal[10]和Vidal[11]提出了第一种通过分析服务模型(ServiceModel,SM)的服务发现算法。
由于语义的引入,本体的推理能力在服务发现中得到了灵活应用。
Klusch[12]等人将OWL作为接口描述方法研究了服务动态选择的方法。
史忠植[13]等人提出了基于描述逻辑的主体服务匹配算法。
柯昌博[14]等人提出了使用分布式描述逻辑扩展描述异构本体,并用优先分布式知识库描述本体的进化和更新,以适应语义Web服务的动态发现。
文献[15]研究在普适计算环境下QoS和上下文支持的语义服务发现的方法,该方法首先设计了一种面向灵活的、语义的、QoS和上下文感知的语义服务描述语言,用它来描述功能性和非功能性需求。
陈俊亮[16]院士领导的实验室在对语义网(SemanticWeb)的本体语言的推理能力进行研究以后,提出了一种基于知识推理的二阶本体相似技术,解决了循环计算的问题。
DeVettoP[17]等人采用基于上下文的调度(Mediation)方法解决不同服务组合方案的语义异构问题。
1.2.1类自然语言的语义表示
类自然语言的语义表示[18]实际上就是对自然语言的一种约定,一种能让计算机可以接受的用于描述语义的数据体系。
对语义进行表示的过程实质上就是把语义编码成某种数据结构的一种过程。
目前常用的语义基本表示方法有规则表示法和语义框架方法[19],下面就介绍两种表示方式。
规则表示法亦称之为产生式表示方法。
它的一般形式是:
if<前提>then<动作>(或<结论>),它的推理机制是依靠演绎推理为基础进行表达的。
产生式表示[20]方法最初是由Post于1943年提出的一种计算机制,在1965年由Simon和Newell[21]引入到基于语义的系统表示中去。
现在此表示法已是专家系统中使用最广泛的一种表示方法,一般将用这种表示方法的系统称为基于规则的系统[22]。
产生式规则优点:
模块化,提供了高粒度的事实和规则,信息可以很容易地添加、更新和删除,易于表示启发式语义,尤其允许更多的直接演绎处理特殊领域的信息。
产生式规则缺点:
在大系统中,规则难以保持模块化,对规则之间相互作用的限制可能导致降低效率;程序执行效率低,非透明性,不可理解性,难以跟踪求解问题的控制流,当处理的语义量很大时,语义和控制区分不明显,尚未解决一致性和完整性问题,缺乏形式化描述能力。
框架理论是美国著名人工智能专家M.L.Minsky[23]提出的一种语义表示法。
框架理论认为世界上的各类事物的状态、属性、发展过程和相互关系往往有一定的规律性,人们对事物的认识是以一种框架的表示形态存储在大脑中,当面临一个新事物时,人类最初用脑中已有的框架与之相匹配,若成功则得到对新事物认识反之另外找其他框架与其再次匹配、修改补充现有的框架形成新的系统语义[24]。
框架由框架名和一组“槽”所组成。
框架名位于最顶层,用于制成某个概念、对象或事件,其下层的槽是由槽名和槽值来进行组成。
框架表示法的优点:
结构性强,框架是一种经过组织的结构化语义表示方法,适合于表示某一类型的概念、事件和行为;继承性强,框架之间可以形成层次的和更复杂的关系,组成一种框架网络。
框架表示法的缺点:
首先,不善于表达过程性的语义;其次,多重继承可能产生多义性。
如何解决继承过程中概念属性的歧义,目前还没有一种统一的方法。
1.2.2研究现状总结
综上对基于语义驱动的Web服务调用方法的相关研究现状的介绍,目前对服务组合方法的研究主要着眼于Web服务组合的内部实现过程[25],即如何利用现有的若干Web服务资源,将其集成为一个应用系统。
但是对于业务需求或者需求变化,首先必须由设计开发人员进行需求分析,利用相关建模方法构建满足需求的服务组合模型或制定需求任务目标[26],然后才能利用Web服务应用架构,对业务系统进行创建或演变。
Web服务的调用和组合对需求提出用户是透明的,必须通过系统设计开发人员参与,才能对应用系统进行创建或变更。
如果存在一种Web服务组合方法,可以直接根据自然语言需求描述,自动的完成Web服务发现和调用组合,集成相应的业务系统。
那么该方法可以自由地调用和组合互联网中海量的Web服务资源,完成任意的服务需求,这种服务调度的思想正是网络社区的服务目标[27]。
并且,这一过程不需要专业的设计开发人员参与,降低Web服务应用的复杂度,提高了服务的应用灵活性,普通用户都可以通过该服务调度方法,运用自然语言描述自身个性化的业务需求调用和组合Web服务,使Web服务的应用具有普适性,进行一步提升了Web服务的价值。
目前已经有一些方法提出了以自然语言为接口,调用和组合Web服务的应用架构。
A.Bosca[28]提出了将自然语言请求处理为抽象工作流。
F.Xie[29]提出的方法是首先将自然语言请求转化成SOBL(SemanticObjectBehaviorLanguage),SOBL是一种类T-SQL的形式化语言,然后通过SOBL在UDDI(UniversalDescription,Discovery,andIntegration)中选取适当的服务。
M.J.Al-Muhammed[30]提出了基于本体的Web服务(Ontology-BasedWebServices,OBWS)模型,以及与该模型对应的面向请求框架(Request-OrientedArchitecture,ROA),以解决利用自然语言请求和调用Web服务。
JongHyunLim[31]提出了自然语言处理结合本体的Web服务选择和基于平衡的抽象工作流析取方法。
然而上述的方法中,只是提出将自然语言处理技术和Web服务调用组合相结合的想法,或者是简单描述了这个系统构架,以及处理简单自然需求描述方法。
他们都没有系统详尽的阐述如何应用自然语言处理技术,让普通用户在网络社区环境中完成服务的调用过程实现方法。
本文综合了相关研究,提出网络社区中类自然语言的服务驱动机制,该机制详细地描述了,如何将自然语言处理运用于网络社区环境下的服务调用过程。
1.3选题来源
本人在攻读硕士学位期间,参与了实验室许多项目的研发工作,包括武汉大学教学互动管理平台、大学生实名制网络社区信息分享平台、昆明市保障性住房信息管理系统以及863海底观测网故障诊断与远程维护平台,并在基于工作流的外交部签证代办办公系统项目中担任项目负责人。
我们以上述项目为基础,开发了一个大型网络社区,上述项目中的应用将以服务的形式注册在该网络社区后台系统中,社区系统定义了API接口供开发人员调用这些服务。
在项目实践中,由于程序员水平有高有低,开发人员在进行服务组合和调用过程中,使用服务API进行服务调用的编码能力也参差不齐。
在这种情况下,我们希望提供具有普适性的服务调用方式,供程序员以简单的、接近日常用语的类自然语言语言调用后台服务,于是我在网络社区中引入类自然语言的服务驱动机制。
在这种驱动机制中,能使用类自然语言在网络社区中完成服务调用任务的人不需要具备高级程序语言的相关开发技术,开发成本得以降低,网络社区的开发周期得以缩短,开发效率也将稳步提升。
1.4研究目标及方法
论文的研究目标,是设计出满足网络社区中用户使用类自然语言即能完成服务调度过程的服务驱动机制,达到降低网络社区服务组合和调用的开发成本,提高服务调度效率。
针对这一目标,论文使用了基于语义的Web服务调度技术作为基本设计思想,将类自然语言作为网络社区中服务请求和服务描述的语言载体,并设计出类自然语言接口和服务匹配方式,使网络社区用户通过该接口完成社区服务的调用和匹配。
1.5本文组织结构
本文的共分为六大章节,它们的组织结构如下:
第一章,绪论。
本章主要阐述了本文提出的类自然语言的服务驱动机制的研究背景和选题来源,并介绍了本文对国内外相关研究现状的调研工作。
第二章,基于自然语言处理的服务匹配与网络社区服务架构。
本章主要介绍了论文使用的应用环境与主要技术,包括自然语言处理技术和服务匹配技术。
本文的自然语言语义分析指标包括了词性标注和句法分析。
服务匹配的过程包括了领域本体的构建,匹配方式从基于OWL-S、WSDL的匹配到语义相似度的匹配,也作为本章的介绍内容所呈现。
第三章,网络社区中类自然语言的服务驱动机制需求分析。
本章对网络社区为什么引入类自然语言的服务驱动机制做出了需求分析,并针对具体的需求,分析了达到本文研究目标的关键问题。
第四章,网络社区中类自然语言的服务驱动机制的设计。
本章首先设计网络社区类自然语言的服务驱动的整体逻辑架构和具体模块。
其中论文主要阐述了针对处理类自然语言服务请求描述所需要的类自然语言处理模块构架,模块中包括的词库模型、本体模型和自然语言处理的推理方法的扩展。
第五章,实验及评估。
本章主要介绍实验环境和各个系统模块的设计与部署,最后根据实验结果,分析了其中出现的问题和对方法中效率做出看简单评估。
第六章,总结与展望。
对本文的研究工作进行总结,并提出了本文方法中诸多不足和需要改进的地方,最后对本文所提出方法最终研究与应用的发展做出了一定的设想和展望。
2.基于自然语言处理的服务匹配
2.1自然语言处理方法
2.1.1语义分析
语义分析就是要清楚一句话所表达的含义。
语义分析是自然语言处理中的一个重要分支,其目的是为了确定每个词语在具体句子中的确切意义,之后根据句子结构和各词词义推导出这个句子的具体语义,并用形式化的方式进行表达,从而使计算机能够根据这一表示进行相对应的推理研究[32]。
从语言的角度来说,语义是客观世界在一个语言团体的集体意识中的概括的反应。
目前下现代自然语言理解领域内来说,语义分析方法是一个十分重要的处理自然语言理解的手段。
语义分析揭示了自然语言的本质。
语义分析的作用,概括起来大致有如下三个方面:
1)整理句子的语义结构关系;
2)组合句子的各个构成成分的意义使其成为一个完整的句子的意义,并转化为一个由严格定义的形式语言来刻画的语义表达式;
3)说明句子中在词语搭配上存在的各种语义限制条件。
通过语义分析介绍,我们可以知道计算机在理解一句话的含义之前,必须要具备相关客观世界的知识。
如果机器已具备了这些知识,那么它就可以进行语分析。
2.1.2词性标注
词性(POS)是语言学家按照典型的语义类型和相似的语法结构[33],聚合而成的不同集合,包括名词、动词、形容词、副词、介词等。
自然语言处理的一个重要的中间任务就是词性标注,其目标是确定句子中的每一个单词的词性。
在自然语言中单词的语法范畴往往不是单一的,某个词可能存在多个词性。
因此词性标注是一种有限语法消歧过程,是限定范围的问题,即确定特定的语句环境中单词最有可能的语法类别。
虽然词性标注所得到的信息是有限的,但是用途非常广泛,在浅层句法分析、信息抽取和问题回答方面都有应用。
词性标注中信息源主要来源于两方面:
上下文中其他单词的词性和单词本身提供的信息。
自然语言中很多词性序列出现的概率很大,但是某些词性几乎不可能出现,所以通过上下文中其他单词的词性可以排除标注单词的歧义。
每个单词自身在运用中,被当作一类词性的出现概率远大于作为其他词性出现,单词的自身信息在标注中起到很大作用。
目前的大部分词性标注器是结合这两方面进行工作的。
词性标注包括基于规则和基于概率统计的两大类方法。
基于规则的方法是计算机通过人工研究分析自然语言,而得出的一系列文法规则,根据语句中的上下文结构自动的标注词性。
基于概率统计的方法依赖于大量的统计数据和概率模型,进行词性标注,包括马尔可夫和隐马尔可夫方法[34]等。
本文介绍基于隐马尔可夫模型的词性标注器。
隐马尔可夫词性标注器有两种标注方法:
Jelinek方法和Kupiec方法[35]。
1)Jelinek方法:
该方法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 社区 自然语言 服务 驱动 机制