有c语言十个数排序要求输出最大的数,用自然语言

C语言题目 传统流程图求解依次将十个数输入,要求输出其中最大的数C语言题目传统流程图求解依次将十个数输入,要求输出其中最大的-知识宝库
你可能对下面的信息感兴趣第十一章 自然语言理解
第十一章 自然语言理解
教学内容:自然语言理解的一般概念、句法和语法的自动分析原理、句子的自动理解方法和语言的自动生成等。
教学重点:句法模式匹配、语义的分析、句子的自动理解和语言的自动生成。
教学难点:转移网络、词汇功能语法(LFG)。
教学方法:课堂教学为主。注意结合学生已学的内容,及时提问、收集学生学习的情况。并充分利用网络课程中的多媒体素材来表示比较抽象的概念。
教学要求:掌握句法分析方法,掌握句子的自动理解,初步了解语言的自动生成,一般了解自然语言理解系统的应用实例。
11.1 语言及其理解的一般问题
教学内容:本小节主要讨论自然语言理解的概念、发展简史以及系统组成与模型等。
教学重点:语言和语言理解的概念、自然语言理解系统的模型。
教学难点:自然语言理解与人类智能的关系、理解自然语言的计算机系统的组成方式。
教学方法:课堂教学为主,结合网络课程中的多媒体素材来讲述。
教学要求:掌握语言和语言理解的概念、自然语言理解过程的四个层次;一般了解自然语言理解研究的国内外进展。
11.1.1 语言与语言理解
1、语言的构成
  语言是人类进行通信的自然媒介,它包括口语、书面语以及动作语(如哑语和旗语)等。语言由语句组成,每个语句又由单词组成;组成语句和语言时,应遵循一定的语法与语义规则。
  语言是音义结合的词汇和语法体系,是实现思维活动的物质形式。
  语言是以词为基本单位的,词汇又受到语法的支配才可构成有意义的和可理解的句子,句子按一定的形式再构成篇章等。
  语法是语言的组织规律。语法规则制约着如何把词素构成词,词构成词组和句子。语言正是在这种严密的制约关系中构成的。用词素构成词的规则叫构词规则。语法中的另一部分就是句法。句法也可分成两部分:词组构造法和造句法。词组构造法是词搭配成词组的规则。造句法则是用词或词组造句的规则。
  图11.1就是上述构造的一个完整的图解。
图11.1 语言的构成
  另一方面,语言是音义结合的,每个词汇有其语音形式。自然语言中所涉及的音素并不多,一种语言一般只有几十个音素。由一个发音动作所构成的最小的语音单位就是音素。
提问:构成词的最小的有意义的单位是什么?
举例:列举几个由词素构成词的例子,“教师”、“teacher”等。
2、语言的理解
  从微观上讲,语言理解是指从自然语言到机器(计算机系统)内部之间的一种映射。从宏观上看,语言理解是指机器能够执行人类所期望的某些语言功能。这些功能包括:
(1) 回答有关提问;
(2) 提取材料摘要;
(3) 不同词语叙述;
(4) 不同语言翻译。
  对自然语言的理解却是一个十分艰难的任务。自然语言不仅有语义、语法和语音问题,而且还存在模糊性等问题。
  具体地说,自然语言理解的困难是由下列3个因素引起的:
(1) 目标表示的复杂性;
(2) 映射类型的多样性;
(3) 源表达中各元素间交互程度的差异性。
  自然语言理解是语言学、逻辑学、生理学、心理学、计算机科学和数学等相关学科发展和结合而形成的一门交叉学科;它能够理解口头语言或书面语言。
  语言理解包括下列几个方面的内容:
  (1) 能够理解句子的正确词序规则和概念,又能理解不含规则的句子。
  (2) 知道词的确切含义、形式、词类及构词法。
  (3) 了解词的语义分类以及词的多义性和歧义性。
  (4) 指定和不定特性及所有(隶属)特性。
  (5) 问题领域的结构知识和时间概念。
  (6) 语言的语气信息和韵律表现。
  (7) 有关语言表达形式的文学知识。
  (8) 论域的背景知识。
思考题:什么是语言和语言理解?
11.1.2 自然语言理解研究的进展
  随着计算机技术和人工智能总体技术的发展,自然语言理解不断取得进展。
  机器翻译是自然语言理解最早的研究领域。由于早期研究中理论和技术的局限,所开发的机译系统的技术水平较低,不能满足实际应用的要求。
  到了70年代初期,对语言理解对话系统的研究取得进展。伍兹(Woods)的LUNAR系统、威诺甘德(Winogand)的SHRDLU系统和香克(Schank)的MARGIE系统等是语言理解对话系统的典型实例。
  进入80年代之后,自然语言理解的应用研究广泛开展,机器学习研究又十分活跃,并出现了许多具有较高水平的实用化系统。这些系统是自然语言理解研究的重要成果,表明自然语言理解在理论上和应用上取得了突破性进展。
  自然语言是表示知识最为直接的方法。因此,自然语言理解的研究也为专家系统的知识获取提供了新的途径。此外,自然语言理解的研究已促进计算机辅助语言教学(CALI)和计算机语言设计(CLD)等的发展。
11.1.3 自然语言理解过程的层次
  语言的分析和理解过程是一个层次化的过程。现代语言学家把这一过程分为3个层次:词法分析、句法分析和语义分析。如果接收到的是语音流,那么在上述3个层次之前还应当加入一个语音分析层。虽然这种层次之间并非是完全隔离的,但是这种层次化的划分的确有助于更好地体现语言本身的构成。
1、语音分析
  语音分析则是根据音位规则,从语音流中区分出一个个独立的音素,再根据音位形态规则找出一个个音节及其对应的词素或词。
2、词法分析
  词法分析的主要目的是找出词汇的各个词素,从中获得语言学信息。
3、句法分析
  句法分析是对句子和短语的结构进行分析。自动句法分析的方法很多,有短语结构语法、格语法、扩充转移网络、功能语法等等。句法分析的最大单位就是一个句子。分析的目的就是找出词、短语等的相互关系以及各自在句子中的作用等,并以一种层次结构来加以表达。
4、语义分析
  语义分析就是通过分析找出词义、结构意义及其结合意义,从而确定语言所表达的真正含义或概念。在语言自动理解中,语义愈来愈成为一个重要的研究内容。
思考题:自然语言理解过程有哪些层次,各层次的功能如何?
11.2 句法和语义的自动分析
教学内容:本小节主要讨论句法和语义的自动分析问题。它们是理解自然语言的基础。
教学重点:句法分析的方法和语义分析的步骤。
教学难点:转移网络的实现、词汇功能语法(LFG)的理解。
教学方法:课堂教学为主,结合网络课程中的多媒体素材来讲述。
教学要求:重点掌握句法分析的方法和语义分析的步骤,了解转移网络的概念和用LFG语法对句子进行分析的过程。
11.2.1 句法模式匹配和转移网络
1、用转移网络表示句法模式
  句法模式匹配就是采用句法模式来对语言的句子进行匹配从而进行句法分析。但是自然语言是非常多样化的,因而需要有许多模式。这些模式可用状态转移图来表示,这种用状态转移图来表示的表达方式称之为转移网络(TN,transition
network)。如图11.2所示,图中,q0,q1,…,qT是状态,q0是初态,qT是终态。弧上给出了状态转移的条件以及转移的方向。该网络可用于分析句子也可用于生成句子。
图11.2 转移网络(TN)
  用TN来识别句子The
little orange ducks swallow flies 的过程如表11.1。
表11.1 句子识别过程
  这里忽略了词法分析,网络如图11.3所示
图11.3 转移网络实例
2、网络识别算法
  识别过程到达f状态(终态),所以该句子被成功地识别了。分析结果如图11.4所示。从上述过程中可以看出,这个句子还可以在网络中走其他弧,如词ducks也可以走弧,但接下来的swallow就找不到合适的弧了。此时对应于这个路径,该句子就被拒识了。由此看出,网络识别的过程中应找出各种可能的路径,因此算法要采用并行或回溯机制。
图11.4 TN分析树
  (1) 并行算法
  关键是在任何一个状态都要选择所有可以到达下一个状态的弧,同时进行试验。
  (2) 回溯算法
  在所有可以通过的弧中选出一条往下走,并保留其他的可能性,以便必要时可回过来选择之。
思考题:画出下列上下文无关语法所对应的转移网络:
NP→Adjective
NP→Determiner
NP→Determiner
PP→Proposition
11.2.2 扩充转移网络
1、扩充转移网络的构成
  扩充转移网络ATN是由伍兹(Woods)在1970年提出的。ATN是由一组网络所构成的,每个网络都有一个网络名,每条弧上的条件扩展为条件加上操作。这种条件和操作采用寄存器的方法来实现,在分析树的各个成分结构上都放上寄存器,用来存放句法功能和句法特征,条件和操作将对它们不断地进行访问和设置。
  ATN的每个寄存器由两部分构成:句法特征寄存器和句法功能寄存器。在特征寄存器中,每一维特征都有一个特征名和一组特征值,以及一个缺省值来表示。功能寄存器则反映了句法成分之间的关系和功能。
  分析树的每个节点都有一个寄存器,寄存器的上半部分是特征寄存器,下半部分是功能寄存器。
图11.5所示是一个简单的名词短语(NP)的扩充转移网络,网络中弧上的条件和操作如下:
图11.5 名词短语(NP)的扩充转移网络
2、扩充转移网络示例
  该网络主要是用来检查NP中的数的一致值问题。图11.6是一个句子的ATN,主要用来识别主、被动态的句子,从中可以看到功能寄存器的应用。
图11.6 句子的扩充转移网络
  网络描述如下:
  A:Subject←?/FONT&*.
  A:Main-Verb←?/FONT&*.
  C:Main-Verb.Type=Be,Do,Have
  A:Auxs&=Main-Verb,Main-Verb←?/FONT&*.
  D:*.Form=Past-part
and Main-Verb.Type=Be
  A:Voice←?/FONT&Passive,Auxs&=Main-Verb,
  Main-Verb←?/FONT&*.Direct-Obj←?/FONT&Subject,
  Subject←?/FONT&dummy-NP.
  A:Direct-Obj←?/FONT&*.
  A:Modifiers&=*.
  C:Voice=Passive
and Subject=dummy-NP and*.Prep=“by”.
  A:Subject←?/FONT&*.Prep-Object.
  S-8:No
Conditions, actions or initializations.
  当然作为一完整的ATN是相当复杂的,在实现过程中还必须解决许多问题,如非确定性分析、弧的顺序、非直接支配关系的处理等等。ATN方法在自然语言理解的研究中得到了广泛的应用。
11.2.3 词汇功能语法
1、词汇功能语法的结构
  词汇功能语法(LFG)是由卡普兰和布鲁斯南(Bresnan)在1982年提出的,它是一种功能语法,但是更加强调词汇的作用。LFG用一种结构来表达特征、功能、词汇和成分的顺序。
  LFG对句子的描述分为两部分:直接成分结构(Constituent
Structure,简称C-Structure)和功能结构(Functional
Structure,简称F-structure),C-structure是由上下文无关语法产生的表层分析结果。在此基础上经一系列代数变换产生F-structure。LFG采用两种规则:加入下标的上下文无关语法规则和词汇规则。表11.2给出了一些词汇功能语法的规则和词条。
表11.2 LFG语法与词典
Grammar rules:
(↑Subject)=↓
NP→Determiner
↑=↓(↑Object)=↓(↑Object-2)=↓
Lexical entries:
A Determiner (↑
Definiteness)=Indefinite
(↑Number)=Singular
baby Noun (↑
Number)=Singular
(↑Predicate)=‘Baby'
girl Noun (↑
Number)=Singular
Predicate)=‘Girl'
handed Verb (↑
Tense)=Past
Predicate)=Hand<(↑Subject),(↑Object),
Object2)>
the Determiner (↑
Definiteness)=Definite
toys Noun (↑
Number)=Plural
Predicate)=‘Toy'
2、词汇功能语法对句子的分析过程
  用LFG语法对句子进行分析的过程如下:
  (1) 用上下文无关语法分析获得C-structure,不考虑语法中的下标;该C-structure就是一棵直接成分树;
  (2) 将各个非叶节点定义为变量,根据词汇规则和语法规则中的下标,建立功能描述(一组方程式);
  (3) 对方程式作代数变换,求出各个变量,获得功能结构F-structure。
11.2.4语义的解析
  建立句法结构只是语言理解模型中的一个步骤,进一步则要求获得语言所表达的意义。
  第一步是要确定每个词在句子中所表达的词义,这涉及到词义和句法结构上的歧义问题;
  第二步是要根据已有的背景知识来确定语义。
  逻辑形式表达是一种框架式的结构,它表达一个特定形式的事例及其一系列附加的事实,如“Jack
kissed Jill”,可以用如下逻辑形式来表达:
  (PAST S1 KISS-ACTION[AGENT(NAME
j1 PERSON“Jack”)][THEM
ENAME(NAME j2 PERSON“Jill”)])
  它表达了一个过去的事例S1。PAST是一个操作符,表示结构的类型是过去的,S1是事例的名,KISS-ACTION是事例的形式,AGENT和THEME是对象的描述,有施事和主位。
举例;已知“张经理开车去了商店”,要回答“张经理是否坐进汽车?”
11.3 句子的自动理解
教学内容:本小节主要讨论简单句和复合句的理解。
教学重点:简单句的理解方法。
教学难点:复合句的理解方法。
教学方法:课堂教学为主,结合网络课程中的多媒体素材来讲述。
教学要求:重点掌握简单句的理解方法,了解复合句的理解方法。
11.3.1 简单句的理解方法
1、简单句理解的内容
  由于简单句是可以独立存在的,因而为了理解一个简单句,即建立起一个和该简单句相对应的机内表达,需要做以下两方面的工作:
  (1) 理解语句中的每一个词。
  (2) 以这些词为基础组成一个可以表达整个语句意义的结构。
  常常将这项工作分成以下3个部分来进行:
    (a) 句法分析将单词之间的线性次序变换成一个显示单词如何与其它单词相关联的结构。
    (b)语义分析各种意义被赋于由句法分析程序所建立的结构,即在句法结构和任务领域内对象之间进行映射变换。
    (c)语用分析为确定真正含义,对表达的结构重新加以解释。
思考:考虑下列句子
The old man′s
glasses were filled with sherry.
选择单词glasses合适的意思需要什么信息?
什么信息意味着不合适的意思?
2、简单句理解方法
关键字匹配法
  关键字匹配法是最简单的自然语言理解方法。该方法简单归纳起来为:在程序中规定匹配和动作两种类型的样本。然后建立一种由匹配样本到动作样本的映射。当输入语句与匹配样本相匹配时,就去执行相应样本所规定的动作,这样从外表看来似乎机器真正实现了能理解用户问话的目的。
句法分析树法
  关于文法的形式,在许多自然语言处理程序中提出过很多各不相同的定义,作为一个例子,下面我们给出一种文法的形式化定义。
  文法G在其形式上为如下的四元组:
G=(V,Σ,P,S)
  其中,V为有穷非空集,称作总词汇表;Σ为V的一个非空子集,称作终结字母表,而N=V-Σ称作非终结字母表;P为如下形式的有穷产生式集:
式中,α∈V*NV*,β∈V*,*表示它前面的字符可以重复出现任意次;S为非终结字母表的一个元素,称为起始符。
  图11.7是使用该文法对语句:
  Joe hit the ball.
  进行句法分析而建立的文法分析树。
示例:一个英语子集的简单文法:
ADJS→∈|ADJ
N→Joe|boy|ball
ADJ→little|dig
V→hit|ran
其中,大写的是非终结符,而小写的是终结符,∈表示空字符串。
图11.7 文法分析树示例
  只是根据词性信息来分析一个语句文法结构,是不能保证其正确性的,这是因为有些句子的文法结构,需要借助于词义信息来确定,也就是要进行语义分析。
  进行语义分析的一种简单方法是使用语义文法。所谓语义文法,是在传统的短语结构文法的基础上,将N(名词)、V(动词)等语法类别的概念,用所讨论领域的专门类别来代替。
思考:对下列每个语句给出句法分析树:
(1) David wanted to go to the movie with Linda.
(2) David wanted to go to the movie with Georgy William.
(3) He heard the story listening to the radio.
(4) He heard the boys listening to the radio.
11.3.2 复合句的理解方法
1、复合句理解的复杂性
  正像上述介绍的,简单句的理解不涉及句与句之间的关系,它的理解过程是首先赋单词以意义,然后再给整个语句赋以一种结构。而一组语句的理解,无论它是一个文章选段还是一段对话节录,均要求发现句子之间的相互关系。在特定的文章中,这些关系的发现,对于理解起着十分重要的作用。这种关系包括以下几种:
  (1) 相同的事物
  (2) 事物的一部分
  (3) 行动的一部分
  (4) 与行动有关的事物
  (5) 因果关系
  (6) 计划次序
  要能做到理解这些复杂的关系,必须具有相当广泛领域的知识才行,也就是要依赖于大型的知识库,而且知识库的组织形式对能否正确理解这些关系,起着很重要的作用。
  如果知识库的容量较大,则有一点是比较重要的,即如何将问题的焦点集中于知识库的相关部分。第二章介绍的一些知识表示方法,如语义网络和剧本等将有助于这项工作的进行。
2、分区语义网络
  图11.8所示的分区语义网络具有4个分区:S0分区含有一些一般的概念,如美元、兑换和螺栓等;S1分区含有与购买螺栓有关的特殊实体;S2分区含有与把水泵固定在工作台上这一操作有关的特殊实体;S3分区含有与同一固定操作有关的特殊实体等。运用分区语义网络,利用其分区在某些层次上的关联,可以较好地处理集中焦点的问题。当某一分区为焦点时,则某高层分区内的元素即变为可观察的了。对于上例,当第二句被理解时,因其讲的是“将水泵固定在工作台上”这一事件,因而图11.8分区语义网络示例焦点处于S2分区。由于S0分区的层次高于S2分区,所以S0分区是可以观察的。当理解第二句时,显然“螺栓”不能与S2分区的任何元素匹配,因而焦点区由S2变成更低一级的S3分区,并且使得“螺栓”与B1匹配,匹配的结果使得第二句中的“螺栓”必定是第一句中用来进行固定的螺栓,从而使得前后两个句子成为一个前后连贯的文章片断。
图11.8 分区语义网络示例
举例:我们来看一下如下的文章片段:
“接着,把水泵固定到工作台上。螺栓就放在小塑料袋中。”第二句中的螺栓,应该理解为是用来固定水泵的螺栓。因此,如果在理解第全句时,就把需用的螺栓置于“焦点”之中,则全句的理解就不成什么问题了。为此,我们需要表示出和“固定”有关的知识,以便当见到“固定”时,能方便地提取出来。图11.8给出的是一个和固定水泵有关的分区语义网络。所谓分区语义网络,就是将语义网络中的有关弧和节点集中起来,组成一个分区。
11.4 语言的自动生成
教学内容:本小节主要探讨语言的自动生成问题。
教学重点:语言生成的定义和内容。
教学难点:如何把要交流的信息表示为机器内部的一种结构。
教学方法:课堂教学为主,结合网络课程中的多媒体素材来讲述。
教学要求:重点掌握语言生成的过程和处理方法,了解语言生成过程中可能遇到的难题。
  语言生成就是把在计算机内部以某种形式存放的需要交流的信息,以自然语言的形式表达出来。它是自然语言理解的一个逆过程。一般包括以下两部分:
(1)建立一种结构,以表达出需要交流的信息。  
(2)以适当的词汇和一定的句法规则,把要交流的信息以句子形式表达出来。
  同自然语言理解一样,语言生成的处理方法有很多种,这不仅由于它们所采用的内部表达结构不同(如采用语义网络或者概念从属等),而且由于语言生成的目的不同(如有的目的是为了对输入文章作摘要,有的是为了作为问题回答系统的人-机界面等)。
  语言生成也有许多难点,特别是第一部分,显得更加困难一些。有时,要交流的信息由问题回答系统在回答问题时加以估计。在这些系统中,信息的生成过程要受到回答问题的约束。
  在语言生成系统中遇到的许多问题与在自然语言理解系统中所遇到的问题是一样的。其处理方法,也可以使用在自然语言理解中所使用的各种方法。
思考:自然语言理解和语言自动生成的关系为何?
研究这两者时有什么共同点。
11.5 自然语言理解系统应用举例
教学内容:本小节主要介绍2个与自然语言理解有关的应用实例。
教学重点:自然语言自动理解系统的功能和作用。
教学难点:自然语言问答系统的实现。
教学方法:课堂教学为主,结合网络课程中的多媒体素材来讲述。
教学要求:重点掌握自然语言自动理解系统,了解自然语言问答系统。
11.5.1 自然语言自动理解系统
自然语言情报检索系统LUNAR
  LUNAR系统是由伍兹于1972年研制成功的一个自然语言情报检索系统,具有语义分析能力,用于帮助地质学家比较从月球卫星Apollo-11上得到的月球岩石和土壤组成的化学成分数据。这个系统具有一定的实用性,为地质学家们提供了一个有用的工具,也显示了自然语言理解系统对科学和生产的积极作用。
  LUNAR系统的工作过程可分为3个阶段:
  第一阶段:句法分析 采用ATN及语义探索方法产生人提出的问题的推导树。
  第二阶段:语义解析 采用形式化的方法来表示提问语言所包含的语义。
  第三阶段:回答问题 产生对提问的回答。
11.5.2 自然语言问答系统
  简单的自然语言问答系统,至少要做3件事:
  (1) 分析一语句,同时构造它的逻辑表示,检查它的语义正确性。
  (2) 如果可能的话,转换该逻辑形式为Horn子句。
  (3) 如果该语句是陈述句,则在知识库中增加该子句,否则认为该子句为一个问题,并演绎地检索相应的答案。
  此3项功能主要有谓词talk完成,talk的定义是:
  talk(Sentence,Reply):-Parse(Sentence,LF,-Type),
  clausify(LF,Clause,Freevars),!,
  reply(Type,Ereevars,Clause,Reply).
  talk(Sentence,error(‘too
difficult')).
  上述定义中引出 3 个谓词,即parse,clausify,reply分别对应上述
3 项功能。
1、谓词parse表达句法分析能力
2、谓词clausify表达生成子句的能力
  反映语句语义的LF,由clausify谓词转换成Horn子句。能转换Horn子句有下列3种情况:
  (1) 如果表达式的最外层是全称量词,则可以立即去掉此量词并对其余部分继续此转换过程。
  (2) 如果表达式是蕴涵式,并且结论部分只有一个文字,并且前提中不含有蕴涵符。
3、谓词reply表达回答功能
  talk的第3个功能就是回答功能,这分两种情况:其一是针对陈述句的,它将该陈述句的Horn子句形式插入到PROLOG数据库中;其二是针对提问的。
  talk是整个自然语言回答系统的核心谓词。要构造成真正的系统,尚需要一个界面程序,此界程序的功能是给出某一提示符,接受用户的语句,执行talk功能,打印talk返回的结果,这是一个很短的管理程序。
  机器学习研究已获得很大进展,并得到越来越广泛的应用。
  机器学习的方法有机器学习、解释学习、归纳学习、类比学习、神经学习和知识发现等。本章逐一讨论了这些机器学习方法。
  机器学习应用领域涉及图象处理、模式识别、机器人控制、过程控制、自然语言理解、信号处理和专家系统等。
  知识发现和数据挖掘是近年来发展最快的机器学习技术,使机器学习研究和应用进入一个新的发展时期。

我要回帖

更多关于 输入十个数求最大值 的文章

 

随机推荐