当前位置:文档之家› 句法结构中的语义分析

句法结构中的语义分析

句法结构中的语义分析
句法结构中的语义分析

句法结构中的语义分析

学习要点:掌握句法结构分析中运用语义关系、语义指向、语义特征三种语义分析方法,并且能够运用这些分析法解释一些常见的语言现象。

句法结构是句法形式和语义内容的统一体。对句法结构不仅要做形式分析,如句法层次分析、句法关系分析、以及句型分析等,还要做种种语义分析。句法结构中的语义分析主要指语义关系、语义指向、语义特征三种分析法。

一、语义关系

(一)句法关系和语义关系

在句法结构中,词语与词语之间不仅发生种种语法关系,主谓、述补、述宾、偏正、联合等,而且发生种种语义关系。语义关系,语义学中指语言成分所表示的客观对象之间的关系,我们所说的语义关系是指动作和动作者、动作和受动者、动作和工具、动作和处所、事物和事物之间的关系等。句法关系和语义关系可能一致,也可能不一致。

⑴吃面条。/削苹果。(句法、语义关系一致。)

⑵我吃完了。/饼干吃完了。/文章写好了。(句法、语义关系不一致)

前者“我”与“吃”是动作者(施事)和动作的关系,后者“饼干”和“吃”是受动者(受事)和动作的关系,结果和动作的关系。

一种句法结构关系,可能包含着多种语义关系,如:修理家具。/挖了一个坑。/来了一个客人。/写毛笔。(述宾关系,受事、结果、施事、工具。)反之,一种语义关系也可能构成多种句法结构关系。

⑶沙发上坐着一个人。

⑷那个人坐在沙发上。

⑸那个人在沙发上坐着。

这几个句法结构的语义关系基本相同,“人”“沙发上”与“坐”之间都是“施事”“处所”与“动作”的关系;但句法结构关系却不一样。

(二)动词和名词语义关系的类别

汉语句法结构中的语义关系是多种多样的,句法分析的重点是动词跟名词性词语之间的语义关系。在各种语义关系中,名词性成分担任了一定的语义角色,如“受事、结果、施事、工具”等,这实际上也就是揭示了名词性成分跟动词之间的关系。名词性词语经常担任的语义角色主要有:

1、施事:指动作的发出者(可用介词“被、叫、让、给”引进)

他在看书。/小狗啃完了骨头。/敌人被我们打败了。

2、受事:指动作行为的承受者(可用介词“把、将”引进)。

小牛吃草。/张三修桌子。/毛把花瓶打碎了。

3、系事:指连系动词联接的对象(?)

我们是教师。/小王成了大学生。

4、与事:指动作行为的间接的承受者(送、还?)(可用介词“给”引进)。

张三还李四一支笔。/我给兰兰送去一些巧克力。

5、结果:指动作行为产生的结果。

编草帽。/烙饼。/做烟斗。/打毛衣。/盖大楼。

6、工具:只动作行为的凭借物(可用介词“用、拿”引进)

写毛笔。/喝小杯。/用烟斗抽。

7、方式:指动作行为的方法、形式。

讲普通话。/游蛙泳。/寄航空。

8、处所;指动作发生的处所或起点、终点(可用介词“在、从、到”引进)。

离开车站。/回南方。/定居美国。/去十三楼。

9、时间;(可用介词“在、从、到”引进)。

过国庆。/混日子。

10、目的:(为、为了)

赶火车。/准备考试。

11、原因:(因为)

计较报酬。/养病。

12、材料:(用)

浇水。/窗户糊上纸

13、致使:指动作行为使动的对象(使)

端正学习态度。/麻烦你。/震惊全国。

14、对象:指动作的对象(对、向)

鼓励学生。/祝贺张三。/同意他的意见。

(三)语义关系的解释力(分析的作用)

建立起语义关系的类型,就可以合理解释句法结构内部的复杂情况。动词同名词性词语的语义关系是由它们双方共同决定的,同一个动词,与不同的名词性词语搭配就可能产生不同的语义关系;同一个名词性词语,与不同的谓词搭配也可能产生不同的语义关系。

考语文(范围)。/考满分(结果)。/考笔试(方式)。/考大学(目的)。/考学生(受事)。

吃苹果(受事)。/吃父母(依据)。/吃包月(方式)。吃食堂(处所)。

糊窗户(受事)。/糊白纸(工具)。

买烟斗(对象)、抽烟斗(工具)、做烟斗(结果)

送花篮(受事)。/编花篮(结果)。

(四)名词和名词的语义关系

语义关系还包括名词和名词的关系。

1、领属关系:他的电脑/我的衣服

2、处属:窗外的景色/教室的温度

3、时属:今天的形势/明天的事情

4、从属:师大的学生/部长的助理

5、隶属:狐狸的眼睛/老虎的尾巴

6、含属:妈妈的性格/水的颜色

7、质料关系:柳木的家具/塑料的凉鞋

8、来源关系:美国的来访者/石家庄的学生

9、种属关系:四化的目标/200百元的罚金

10、相关关系:研讨会的通知/足球的消息

11、类属关系:高大的楼房/白色的鞋子

12、比喻关系:感情的潮水/希望的肥皂泡/幻想的翅膀

二、语义指向

㈠句法结构和语义指向

语义指向是指句法结构中的某一成分跟其他成分之间在语义上的联系。这种语义联系同句法关系有时一致,有时不一致。

⑴小华慢慢地走上领奖台。

⑵小华羞愧地走上领奖台。

⑴中的状语“慢慢”在语法功能上修饰谓语中心语“走上”,在语义作用上描写“走上”的速度,“慢慢”与“走上”在语法关系和语义关系上是一致的。

⑵“羞愧”……但在语义作用上却指向主语,描写小华在走上领奖台时的心情,“羞愧”的语法功能和语义指向是不一致的。

⑶他洗衣服洗得干干净净。

⑷他看小说看得着了迷。

“第⑶⑷两句的格式相同 ,都是‘主---谓---宾---谓 (重用 )---补’。但是表达的语义关系不完全一样,第⑶句的补语是指向宾语的 ,而第⑷句的补语是指向主语的。

语义指向分析的重点是句法关系和语法关系不一致的语法现象 ,即非直接成分之间的语义联系。

㈡语义指向的类型

1、补语的语义指向

⑴指向动词

我们打完了球。(=我们打球+打完了)

你吃快了,慢点。(你吃+吃快了)

⑵指向主语

我们打赢了球。(我们打球+我们赢了)

我学会了游泳。(我学游泳+我会了)/我砍累了。

⑶指向宾语

我们打破了球。(我们打球+球破了)

洗干净了碗。(洗碗+碗干净了)/砍倒了树。

⑷指向“把”的宾语

把刀砍钝了。(用刀砍+刀钝了)

三顿饭把他吃厌了。

把菜吃光了。(吃菜+菜光了)

一句话把他说火了。(说他+他火了)

2、状语的语义指向

⑴后指中心语

他慢慢地倒了。/事业刚刚开始。

⑵前指主语

小李沮丧地说。(小李沮丧)

他脸色阴沉地走了进来。(他脸色阴沉)

⑶后指宾语

圆圆地画了一个圈。(画了一个圆圆圈)

矮墙上乱蓬蓬地长着狗尾草。(狗尾草乱蓬蓬的)。

⑷前指介词把的宾语

他们把木头和钢筋纵横交错地堆放在一起。(木头和钢筋纵横交错)

我把张三满意地打发走了。(张三满意)

3、定语的语义指向

⑴后指中心语

她有一双大眼睛。/这是一件干净的衣服。/我了解这种变化。

⑵前指主语。

他过着幸福的生活。(他过生活+他幸福)/我度过了一个痛苦的假期。

⑶前指述语。

他干了一整天的活。(他干活+干了一整天)/他想了一上午的心事。

4、谓语动词的语义指向

⑴、我找个老师问。(谓语中的后一个动词“问”的语义指向主语“我” )

⑵、我找个老师教。(谓语中的后一个动词“教”的语义指向谓语中的前一个动词的宾语“老师”)

⑶、我找个人一起去。(谓语中的后一个动词“去”的语义指向主语“我”和前一个动词的宾语“人”)

⑷、三顿饭就把他吃厌了。(谓语动词“吃”的语义指向介词宾语“他”)

⑸、一句话就把小张说火了。(谓语动词“说”的语义指向并不是指向主语“一句话” ,而是指向句外某个表施事的成分。)

㈢语义指向的解释力

有些句法结构的情况比较复杂,语义指向可以合理地解释句子成份之间的关系。例如:

⑴王冕死了父亲。(王的父亲死了。“死”的是父亲,而“父亲”是“王”的。)

⑵奶奶哭瞎了眼睛。(奶奶跟眼睛有整体与部分的领属关系,所以奶奶瞎,也就是他的眼睛瞎了。)

语义指向的分析可以帮助我们解释某些歧义现象。例如:

⑶你别锯坏了。这个句子有歧义 ,既可以表示为 (a)“你别把木头 (或者其他被锯的东西 )锯坏了” ,也可以表示 (b)“你别把锯锯坏了”。无论从层次构造、句法关系上 ,还是从句式变换上看 ,在表示这两种意思的时候 ,都是一样的 ,其格式都是“NP +别 +V +A +了”。分化这种歧义结构 ,就可以用语义指向分析法。这个格式的补语A(坏 )的语义指向不同。表示 (a)的意义时 ,补语A(坏 )语义上指向V(锯 )的受事 ,如木头等。表示 (b)的意义时 ,补语A(坏 )语义上指向V(锯 )的工具 ,如锯。这样就分化了“你别锯坏了”这一歧义结构。

⑷我借了他100元钱。

⑸我租了他一间房。(动词“借、租”在语义指向上指向主语和间接宾语是两可的。)

有时某些歧义结构运用语义指向分析法来加以分化 ,比较简单方便。例如:

⑹他只给了十元钱。

这个句子有歧义 ,既可以理解为 (a)他光给了十元钱 ,(没有给别的什么 )。也可以理解为(b)他仅给了十元钱 ,(没有多给一点儿 )。这个格式的歧义是由限定副词“只”具有两个不同的义项造成的 :①表示限定范围 ,②表示数量少。“只”表示①的意义时 ,理解为 (a)义 ;“只”表示②的意义时 ,理解为 (b)义。用说明词义虽然能分化歧义 ,但是比较复杂 ,不如用语义指向分析法来分化 ,比较简单方便。只需要指出“只”不同的语义指向就可以了。当句式表示(a)义时,“只”在语义上指向“钱” ;当句式表示(b)义

时 ,“只”在语义上指向“十元”。

三、语义特征

语义特征分析法是利用某类或某次类词的语义特征来进行句法分析的方法。语义特征是个语义学术语,指义素分析得到的最小语义成分。例如“男人”具有[+人][+男性][+成年]的语义特征。义素分析目的在于找出一组词语的共同义素和区别义素,进而把词义差异形式化。语法分析中的语义特征指的是与词的语法功能相关的语义特征。也就是说,词义的语义特征不一定都与词的功能有关。

“躺”“坐”在是不是表示“身体倒在某处”的意义上是对立的,“躺”具有这种意义,“做”不具有这种意义。这种意义差别并不对这两个词的结构功能产生影响。如,可以说,“躺下,躺着,躺床上,躺一会儿,”;也可以说“坐下”。名词“椅子”和“凳子”,二者都具有[+坐具]这一语义特征,但在[+靠背]的特征上有区别,“椅子”具有[+靠背]的特征,“凳子”具有[-靠背]的特征,这种语义特征的区别,对这两个名词的功能没有影响。但有些语义特征是会对词的功能产生影响的。语法研究所关心的是与结构功能相关的语义特征。

㈠词语搭配和语义特征

词与词搭配既有一定的语法限制,也有一定的语义限制,这种语义限制实际上就是语义特征的限制.词语中符合某种组合选择的有区别性特征的最小语义成分就是语义特征。

“懊悔”“空虚”“荒唐”这些形容词具有[-褒义]的特征,可以进入[有点儿+形容词]的格式,可以说………但具有[+褒义]特征的形容词一般不能进入这一格式,不能说“有点儿慈祥、美丽、典雅、健康”

“跑”“念”“去”这些具有[+自主]特征的动词,后边一般可以跟由动量词趟”“遍”“下”等构成的动量补语;而“怕”“发抖”“误解”这些具有[-自主]特征的动词,一般不具有这种功能。(行为活动可以由行为活动者主观决定和自由支配--自主)

㈡句式构成和语义特征

不仅词与词的组合涉及到语义特征的限制问题,某些句式的使用也涉及到语义特征的限制问题。

“A(一)点儿!”祈使句,它要求A必须具有[+可控性]特征,换句话说,只有具有[+可控性]的形容词才能进入“A(一)点儿!”祈使句,如:客气点儿!主动一点儿!细心一点儿!高一点儿!大一点儿!粗一点儿!这些句子都能成立。不具有[+可控性]的形容词除非在特殊语用中,不能进入“A(一)点儿!”祈使句。如:肥胖,多心,矮小,孤独、伟大、崇高。

(方位短语+“动词”(跑)+趋向动词+施事宾语)句式。动词须有“位移”的语义特征,才能进入这个句式。“跑”、有“位移”的语义特征,可以进入该句式,例如:草丛里跑出一只兔子。“坐”不具有“位移”的语义特征。“坐”,不能进如这个句式。

㈢语义特征的解释力

有些结构形式相同的句子却有不同的变换式,这种现象可以从语义特征上加以解释。

A、台上坐着主席团。

B、台上唱着梆子戏。

这两组句子词语序列相同,内部的结构层次、结构关系也相同,都是“名(处所)+ 动 + 着 + 名(人或事物)”,但A组句子与B组句子的变换式却不相同。A组句子都可以变换成“名(人或事物)+动+在+名(处所)”,B组句子不能做这种变换。“主席团坐在台上”可以说,“梆子戏唱在台上”不能说。B组句子可以变换为“名(处所)+ 正在 + 动 +着 + 名(人或事物)”,A组句子不能做这种变换。“台上正在唱着梆子戏”可以说,“台上正在坐着主席团”不能说。A组句子和B组句子的变换式不同反映出这两组句子具有不同的语法意义,A组句子表示“存在”,说明事物的位置,着眼点是空间,B组句子表示动作行为的持续,着眼点是时间。造成这两组句子具有不同的语法意义和不同的变换方式的主要原因,在于这两组句子中的动词具有不同的语义特征: A组句子的动词都具有[+附着]这一语义特征,即都含有“附着于某物”的意思;B组句子的动词都不具有[+附着]这一语义特征。正是具有[+附着]这一语义特征的动词使得A组句子表示“存在”的意义。语义特征的分析,不仅可以较好地说明词语对词语、句式对词语的选择关系,而且可以解释某些同形结构产生歧义的原因。

C厂里有三辆卡车。

所以产生歧义,因为“有”的语义不确定:存在/拥有。另外,主语“厂里”也有两种语义:表示处所,表示机构。如果主语名词的语义是确定的,就能制约动词“有”的语义。小张有三辆卡车。操场上有三辆卡车。都是单义的。

(四)名词、动词、形容词语义特征的确定

目前常见的鉴别词的语义特征的方法大致是这样的:先设置一种或几种格式,用这(几)种格式作为某种语义特征的鉴别式。能进入这(几)种格式的词就被认定具有某种语义特征。有时也附加别的条件。例如:确定名词的[处所]的语义特征,可以设置下边的格式:

在……

到/上……去

从……来

能进入这几种格式当中的一种格式,并且能用“哪儿”提问或替代的名词,就可以看作具有[处所]的语义特征。如“广州、月球、银行、南面、门前、梦里”等都有[处所]的语义特征。

[时间]:在……

等到……

能进入这两种格式当中的一种格式,并且能用“什么时候”提问或替代的名词,可以看作具有[处所]的语义特征。如“今儿、明年、冬季、古时候、后来”。

[抽象]:一般看是否只能与“种、类、点儿、些”等量词配合,不能与其他个体量词、度量衡量词配合。

[人]:大体可以根据这个名词是否能用“谁”或“什么人”提问或替代来确定。

动词可以用“处所词+动词+来/去+名词”格式确定是否具有[位移]语义特征;用“形容词+一点儿!”确定是否具有[可控]语义特征;用“别+动词!”确定是否有[自主]语义特征。例如:

形容词+一点儿!(祈使句)

可以说胆大一点儿!认真一点儿!放松一点儿!谨慎一点!客气一点!热情一点儿!不能说伟大一点儿!崇高一点儿!骄傲一点儿!“胆大、认真、放松、谨慎、客气、热情……”是自控形容词,“伟大、崇高、骄傲……”非自控形容

词。非自控形容词不能进入上面的格式。

别+动!,

可以说别吃!别买!别唱!不能说别醒!别醉!别烂!“吃、买、唱……”是自主动词,“醒、醉、、烂……”是非自主动词。非自主动词不能进入这个格式。“丢”有二义,一是“遗失”,一是“扔掉”,是“遗失”义时具有[-自主]语义特征,不能进入这个格式;是“扔掉”义时具有[自主]语义特征,可以进入这个格式。

语法研究中如何提取词的语义特征以及提取什么样的语义特征,还有不少问题需要深入研究。

语义分析

语义分析 1.语义分析? 机器机和人不一样的地方是人可以直接理解词的意思,文章的意思,机器机不能理解。 人看到苹果这两个字就知道指的是那个圆圆的,挺好吃的东西,搜索引擎却不能从感性上理解。但搜索引擎可以掌握词之间的关系,这就牵扯到语义分析。 可参考:https://www.doczj.com/doc/0f8842459.html,/dispbbs.asp?boardID=2&ID=74541 2.为什么要使用语义分析? 我国中文自然语言处理普遍采用西基于拉丁语系的“关键词”技术,以此来分析理解中文。然而,中文本身的特点决定它与西语之间巨大的区别,所以从汉语信息处理的需要看,当前急迫需要突破的是语义问题。 可参考: https://www.doczj.com/doc/0f8842459.html,/dicksong2008/blog/item/88fb751e9ac9501a4134 17f4.html 2.1中文与西语不同决定我们无法采用西语的架构体系来处理中文,具体区别在于: 西语词间有间隔,汉语词间无间隔。众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。 例如,英文句子I am a student,用中文则为:“我是一个学生”。计算机可以很简单通过空格知道student是一个单词,但是不能很容易明白“学”、“生”两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词,就是中文分词,有些人也称为切词。 “我是一个学生”,分词的结果是:“我是一个学生”。中文分词就成了计算机处理的难题。 汉语形态不发达,句尾没有形态标记。英语动词、名词很清楚,加上词尾可以是副词;西语有时态,过去式、现在式等等非常清楚,中文则依靠词语或者依靠自己的判断来确定时态。 同音字多增加了机器识别的难度。 汉语语义灵活,由于形态不发达,所以语序无规律。在一次学术会议上,一位著名的人工智能专家说:“按…主-谓-宾?或…名-动-名?这一规则,计算机可显出…牛吃草?,也可显出…草吃牛?。从语法格式上看,…草吃牛?也不错,但这句话是说不通的。 人依靠自己的经验可以判断,机器如何来判断呢?

句法结构中的语义分析

句法结构中的语义分析 学习要点:掌握句法结构分析中运用语义关系、语义指向、语义特征三种语义分析方法,并且能够运用这些分析法解释一些常见的语言现象。 句法结构是句法形式和语义内容的统一体。对句法结构不仅要做形式分析,如句法层次分析、句法关系分析、以及句型分析等,还要做种种语义分析。句法结构中的语义分析主要指语义关系、语义指向、语义特征三种分析法。 一、语义关系 (一)句法关系和语义关系 在句法结构中,词语与词语之间不仅发生种种语法关系,主谓、述补、述宾、偏正、联合等,而且发生种种语义关系。语义关系,语义学中指语言成分所表示的客观对象之间的关系,我们所说的语义关系是指动作和动作者、动作和受动者、动作和工具、动作和处所、事物和事物之间的关系等。句法关系和语义关系可能一致,也可能不一致。 ⑴吃面条。/削苹果。(句法、语义关系一致。) ⑵我吃完了。/饼干吃完了。/文章写好了。(句法、语义关系不一致) 前者“我”与“吃”是动作者(施事)和动作的关系,后者“饼干”和“吃”是受动者(受事)和动作的关系,结果和动作的关系。 一种句法结构关系,可能包含着多种语义关系,如:修理家具。/挖了一个坑。/来了一个客人。/写毛笔。(述宾关系,受事、结果、施事、工具。)反之,一种语义关系也可能构成多种句法结构关系。 ⑶沙发上坐着一个人。 ⑷那个人坐在沙发上。 ⑸那个人在沙发上坐着。 这几个句法结构的语义关系基本相同,“人”“沙发上”与“坐”之间都是“施事”“处所”与“动作”的关系;但句法结构关系却不一样。 (二)动词和名词语义关系的类别 汉语句法结构中的语义关系是多种多样的,句法分析的重点是动词跟名词性词语之间的语义关系。在各种语义关系中,名词性成分担任了一定的语义角色,如“受事、结果、施事、工具”等,这实际上也就是揭示了名词性成分跟动词之间的关系。名词性词语经常担任的语义角色主要有: 1、施事:指动作的发出者(可用介词“被、叫、让、给”引进) 他在看书。/小狗啃完了骨头。/敌人被我们打败了。 2、受事:指动作行为的承受者(可用介词“把、将”引进)。 小牛吃草。/张三修桌子。/毛把花瓶打碎了。 3、系事:指连系动词联接的对象(?) 我们是教师。/小王成了大学生。 4、与事:指动作行为的间接的承受者(送、还?)(可用介词“给”引进)。 张三还李四一支笔。/我给兰兰送去一些巧克力。 5、结果:指动作行为产生的结果。 编草帽。/烙饼。/做烟斗。/打毛衣。/盖大楼。

语义分析与中间代码生成程序的设计原理与实现技术__实验报告与源代码_北京交通大学

语义分析及中间代码生成程序设计原理与实现技术 XXX 1028XXX2 计科1XXX班 1.程序功能描述 完成以下描述赋值语句和算术表达式文法的语法制导生成中间代码四元式的过 程。 G[A]:A→V:=E E→E+T∣E-T∣ T→T*F∣T/F∣F F→(E)∣i V→i 说明:终结符号i 为用户定义的简单变量,即标识符的定义。 2. 设计要求 (1)给出每一产生式对应的语义动作;(2)设计中间代码四元式的结构(暂不与符号表有关)。(3)输入串应是词法分析的输出二元式序列,即某算术表达式“实验项目一”的输出结果。输出为输入串的四元式序列中间文件。(4)设计两个测试用例(尽可能完备),并给出程序执行结果四元式序列。 3.主要数据结构描述: 本程序采用的是算符优先文法,文法以及算符优先矩阵是根据第四次实验来修改的,所以主要的数据结构也跟第四次差不多,主要为文法的表示,FirstVT集和LastVT 集以及算符优先矩阵:

算符优先矩阵采用二维字符数组表示的: char mtr[9][9]; //算符优先矩阵 4.程序结构描述: 本程序一共有8功能函数: void get(); //获取文法 void print(); //打印文法 void fun(); //求FirstVT 和LastVT void matrix(); //求算符优先矩阵 void test(); //测试文法 int cmp(char a,char b); 比较两个运算符的优先级 1 0 -1 void out(char now,int avg1,int avg2); //打印四元式 int ope(char op,int a,int b); //定义四元式计算方法 5.实验代码 详见附件 6.程序测试 6.1 功能测试 程序运行显示如下功能菜单:

从视频到语义:基于知识图谱的 视频语义分析技术

Computer Science and Application 计算机科学与应用, 2019, 9(8), 1584-1590 Published Online August 2019 in Hans. https://www.doczj.com/doc/0f8842459.html,/journal/csa https://https://www.doczj.com/doc/0f8842459.html,/10.12677/csa.2019.98178 From Video to Semantic: Video Semantic Analysis Technology Based on Knowledge Graph Liqiong Deng*, Jixiang Wu, Li Zhang Air Force Communication NCO Academy, Dalian Liaoning Received: Aug. 6th, 2019; accepted: Aug. 19th, 2019; published: Aug. 26th, 2019 Abstract Video understanding has attracted much research attention especially since the recent availability of large-scale video benchmarks. In order to fill up the semantic gap between video features and understanding, this paper puts forward a video semantic analysis process based on knowledge graph, and adopts random walk to quantify semantic consistency between semantic labels. Then video semantic reasoning based-on knowledge graph is studied. The experimental results prove that knowledge graph can improve semantic understanding effectively. Finally, a constructed mul-tilevel video semantic model supports applications in video classifying, video labeling and video abstract, which has some guiding significance for information organization and knowledge man-agement of media semantic. Keywords Knowledge Graph, Video, Classify, Semantic Analysis 从视频到语义:基于知识图谱的 视频语义分析技术 邓莉琼*,吴吉祥,张丽 空军通信士官学校,辽宁大连 收稿日期:2019年8月6日;录用日期:2019年8月19日;发布日期:2019年8月26日 *通讯作者。

现代汉语语法的五种分析方法

现代汉语语法的五种分析方法

现代汉语语法的五种分析方法 很有用,请好好学习之。 北语之声论坛专业精华转贴 现代汉语语法的五种分析方法是语法学基础里 很重要的一个内容,老师上课也会讲到,我在这 里把最简略的内容写在下面,希望能对本科生的专业课学习有所帮助 详细阐释中心词分析法、层次分析、变换分析法、语义特征分析法和语义指向分析的具体内涵:一. 中心词分析法: 分析要点: 1.分析的对象是单句; 2.认为句子又六大成分组成——主语、谓语(或述语)、宾语、补足语、形容词附加语(即定语)和副词性附加语(即状语和补语)。 这六种成分分为三个级别:主语、谓语(或述语)是主要成分,宾语、补足语是连 带成分,形容词附加语和副词性附加语是附加成分; 3.作为句子成分的只能是词; 4.分析时,先找出全句的中心词作为主语和谓

语,让其他成分分别依附于它们; 5.分析步骤是,先分清句子的主要成分,再决定有无连带成分,最后指出附加成分。 标记: 一般用║来分隔主语部分和谓语部分,用══标注主语,用——标注谓语,用~~~~~~标注宾语,用()标注定语,用[ ]标注状语,用< >标注补语。 作用: 因其清晰明了得显示了句子的主干,可以一下子把握住一个句子的脉络,适合于中小学语文教学,对于推动汉语教学语法的发展作出了很大贡献。 还可以分化一些歧义句式。比如:我们五个人一组。 (1)我们║五个人一组。(2)我们五个人║一组。 总结:中心词分析法可以分化一些由于某些词或词组在句子中可以做不同的句子成分而造成的歧义关系。 局限性: 1.在一个层面上分析句子,

层次性不强; 2.对于一些否定句和带有修饰成分的句子,往往难以划分; 如:我们不走。≠我们走。 封建思想必须清除。≠思想清除。 3. 一些由于句子的层次关系 不同而造成的歧义句子无法分析; 如:照片放大了一点儿。咬死了猎人的狗。 二. 层次分析: 含义: 在分析一个句子或句法结构时,将句法构造的层次性考虑进来,并按其构造层次逐层进行分析,在分析时,指出每一层面的直接组成成分,这种分析就叫层次分析。 朱德熙先生认为,层次分析不能简单地将其看作是一种分析方法,而是应当看做一种分析原则,是必须遵守的。(可以说说为什么) 层次分析实际包含两部分内容:一是切分,一是定性。切分,是解决一个结构的直接组成成分到底是哪些;而定性,是解决切分所得的直接组成成分之间在句法上是什么关系。

语义分析器

重庆大学课程设计报告课程设计题目:简单编译器的设计与实现 学院:计算机学院 专业班级:计算机科学与技术2班 年级:2010级 姓名:唐允恒,张楠 学号:20105208,20105333 完成时间:2013 年 6 月12 日成绩: 指导教师:张敏 重庆大学教务处制

指导教师评定成绩: 指导教师签名:年月日

指导教师评定成绩: 指导教师签名:年月日

重庆大学本科学生课程设计任务书

简单编译器设计与实现 目录 (一)目录 (1) (二)简单编译器分析与设计 (2) (1)简单编译器需求分析 (3) (2)词法分析器的设计 (3) 1.词法表设计 (3) 2.token串取法简单流程图 (3) (3)语法分析器的设计 (4) 1.算符优先文法设计 (4) 2.符号优先表 (6) (4)语义分析器的设计 (6) 1.简单四元式分析 (6) 2.简单四元式的实现 (6) (三)关键代码以及算法 (7) (1)词法分析器的关键算法 (7) (2)语法分析器的关键算法 (7) (3)四元产生式的关键算法 (8) (四)系统测试 (9) (1)用例测试 (9) (2)差错处理 (10) (3)设计自我评价 (10) (五)运行效果 (11) (六)总结 (13)

简单编译器分析与设计 简单编译器需求分析 编写目的 《编译原理》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据编译程序的一般原理和基本方法,通过具体语言的编译程序的编写,掌握编译程序的主要实现技术,并养成良好的程序设计技能。 设计背景 此项目是开发一个C++语言编辑器,完成编辑C++语言源程序,对C++语言源程序进行高亮显示、错误处理、代码重排版、显示当前文件的函数列表和跳转、成对括号、语句块标识的功能,同时描述了编译器执行每个步骤流程。 在词法分析,语法分析和语义分析等方面加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。 对一个c++语言的子集编制一个编译程序,主要包括以下步骤: 词法分析 设计、编制并调试简单的C++语言的词法分析程序 语法分析 编制一个语法分析程序,实现对词法分析程序所提供的单词序列进行语法检查和结构分析。 语义分析 采用语法制导翻译原理,将语法分析所识别的语法成分变换成四元式形式的中间代码序列。

语义分析实验报告

云南大学编译原理实验报告 实验题目:语义分析 学院:信息学院 专业:计算机科学与技术 学号:20091060064 姓名:刘继远

目录 一、实验目的 (1) 二、实验内容 (1) 三、源程序分析 (2) 1、程序采用的BNF (2) 2、根据语义要求得到对应的翻译模式 (3) 3、实现原理 (4) 4、文法的属性分析 (4) 5、过程设计 (5) 6、子程序说明 (6) 四、设计的基本思想(包括修改之后的属性文法、属性类型分析、翻译模式) (6) 1、增加除法运算 (6) 2、禁止同名重复声明 (8) 五、结果及分析 (8)

一、实验目的 进一步理解递归下降分析原理和实现方法,理解语义分析的基本机制,掌握语义子程序的构造方法。 二、实验内容 将带变量声明的表达式翻译为四元式序列,其中包括以下要求: ●非终结符号D实现定义两种类型int, real变量的声明; ●非终结符号S实现变量之间的*,+,: =(赋值运算) ●两个关键字int 和real ●变量之间的*,+,: =(赋值) 运算只能使用声明过的变量,所以要检查 使用的变量是否声明过。 ●对每个*,+,: =(赋值) 运算生成一条四元式如(*,A,B,T1),其 中T1是临时变量 ●*优先级别高于+,*满足左结合规则

三、源程序分析 这是一个简单的包含词法、语法、语义分析的程序:语义分析.h和语义分析.cpp。实现的基本原理是自顶向下分析,单遍扫描,以语法分析为核心,调用词法分析,并实现语义分析。 1、程序采用的BNF P→ DS. D→B; D D→ε B→int L | real L L→id | L,id S→ V := E H H→;S | ε E→E+T | T T→T*F|F F→( E ) F→id V→id 消除左递归之后的等价文法 start→ DS. D→B; D D→ε B→int L | real L L→id A A→ ,idA A→ε

义素分析法分析“看的方式”语义场

义素分析法分析“看的方式”语义场 摘要:“看的方式”的语义场可以归为同义语义场。通过义素分析的方法,并写出 每个词的基本义的义素表达式,来分析该语义场内的词之间的异同。词不仅有理 性意义还有感性意义,通过感性意义能更好的区别和运用同义词。 关键字:义素分析法,同义词辨析,看的方式 一、义素分析法在同义词辨析中的运用 同义词辨析一直以来都是语言研究的重要方面,不仅是在语言研究,还是在 语言运用中,甚至在语言的教学中都具有特殊的意义。义素分析法是准确描写和 掌握词义的有效方法。词义并不是一个整体,而是有若干层次的结构,义素是构 成词义的最小意义单位。将义素分析法引入对外汉语词汇教学,可以对词义的微 观层面进行准确有效的分析,把词义分割成若干个义素的组合,不仅有利于准确 掌握同义词之间的大同小异,还能提高人们对语言的运用能力,有利于第二语言 学习者在语言学习中理解两个及两个以上抽象的同义词,加深对汉语词汇的理解 和运用。 本文主要通过义素分析法来分析比较“看的方式”的语义场,来说明义素分析 法在同义词比较中的运用。运用义素分析法的表达式来研究“看的意义相同或相近的词”。本文研究的看的方式词有:看、望、顾、瞪、瞥、瞅、盯、窥、伺、瞟、瞰。 二、“看的方式”的语义场义素分析的方法和步骤 1.确立语义场 语义场是通过不同词之间的对比,根据它们词义的共同特点或关系划分出来 的类。同义语义场相当于一些论著中讲的一组广义的同义词(即不包括等义词),它所包括的各个义位间大同小异。所谓的同,表现为基本义相同或者是基本义有 一部分相同。所谓的异,就是附加义不同,或者是基本义有一部分不同,又或是 不只是基本义有一部分不同附加义也不一样。“看的方式”语义场内的词是眼部动 作描写都有“用眼睛看”这一基本义项,因此,这些看的方式词都可以看作是“看” 这个词的同义词。那么“看的方式”就构成了一个眼部动作的同义语义场。根据义 素分析法的分析并通过表达式的比较,可以准确的辨析出同义语义场内各个词之 间的细微区别,有利于第二语言的学习。 2.通过义素的具体对比分析“看的方式:看、望、顾、瞪、瞥、瞅、盯、窥、伺、瞟、瞰”的异同。 这些字从现代汉语词典第七版中查到“看的方式”词的意义如下所示: (1)看: [动] 使视线接触人或物:~书|~电影|~了他一眼。 [动] 观察并加以判断:我~他是个可靠的人l你~这个办法好不好。 [动] 取决于;决定于:这件事能 不能成功全~你了|飞机能否准时起飞,要~天气如何。 [动] 访问;探望:~望|~朋友。 [动] 对待:~待|另眼相~|别拿我当外人~。 [动] 诊治:王大夫把我的病~好了。照料:照~l衣帽自~。 [动] 用在表示动作或变化的词或词组前面,表示预见到某 种变化趋势,或者提醒对方注意可能发生或将要发生的某种不好的事情或情况: 行情~涨|别跑!~摔着!|~饭快凉了,快吃吧。 [助] 用在动词或动词结构后面, 表示试一试(前面的动词常用重叠式):想想~I找找~|等一等~l评评理~先做几 天~。 (2)望: [动] 向远处看:登山远~|一~无际的稻田。观看;察看:~风!观~|~ 闻问切。探望:拜~|看~。盼望;希望①:~子成龙l~准时到会。盼头;希望②:

一种基于混合分析的汉语文本句法语义分析方法

中 文 信 息 学 报 第16卷第4期 JOURNAL OF CHINESE INFORMATION PROC ESSING Vol.16No.4一种基于混合分析的汉语文本句法语义分析方法 尹 凌 姚天 张冬茉 李 芳 (上海交通大学计算机科学与工程系 上海 200030) 摘要:本文提出了一种领域相关的汉语文本句法语义分析方法。根据领域文本的特点,该方法将浅层句法分析和深层句法语义分析结合在了一起。其浅层句法分析部分采用有限状态层叠的方法,将文本中的命名实体识别出来,从而大大减轻了深层分析部分的负担。其深层句法语义分析部分将语义分析和语法分析结合起来,主要依靠词汇搭配信息来决定句子的结构。该方法在解决领域相关文本的短语结构歧义方面取得了较好的试验结果。 关键词:浅层句法分析;深层句法分析;有限状态层叠;分语义场 中图分类号:T P391.1 A Hybrid Analysis Based Chinese Text Syntactic and Semantic Analysis Method Yin Ling Y ao T ian fang Zhang Dong mo Li Fang (Department of Computer Science and Engineeri ng Shanghai Jiao Tong University 200030 Shanghai) Abstract:T his paper proposes a Chinese text analysis method on specific domain.A ccording to the texts character, t his met hod combines shallow parsing technolog y w ith deep parsing and semantic analysis technology.Drawing on fi nite state cascades method,its shallow parsing module recognizes named entities in the tex ts.So that it greatly eases t he burden of the deep analysis mo dule.Principally depending on wo rd collocation information,its deep analysis mod ule combines syntactic analysis and semantic analysis to determine sentence structure.It gains goo d effect at resolv ing t he ambiguity of phrase structure in specific do main. Key Words:shallow parsing;deep parsing;finite state cascades;sub semant ic field 一、概述 对于汉语语料库的多级加工,主要分为切词、词类标注、短语结构标注、语义信息标注[1]等。针对后两个阶段,本文以足球比赛报道为试验领域,提出了一种领域相关的汉语文本分析方法。它对已经完成分词和词性标注的中间文本进行处理,借鉴并扩展了C.J.Fillmore的格语法,分析结果力求将句子中各个成分之间的格关系标注清楚。 分析足球比赛报道文本的特点,发现有许多实体名称,如球队名称,比赛名称,人的身份等,对深层句法和语义分析是至关重要的。我们把这些实体名称称为命名实体(named enti 收稿日期:2001-12-24 基金项目:国家自然科学基金(60083003). 作者尹凌,女,1978年生,上海交通大学计算机系研究生,主要研究方向为自然语言处理.姚天,男,上海交通大学副教授,主要研究方向为自然语言处理.张冬茉,女,上海交通大学副教授,主要研究方向为自然语言处理.李芳,女,上海交通大学副教授,主要研究方向为自然语言处理.

语义分析

三、词法、语法、语义分析结合 一、实验目的与要求 在实现词法、语法分析程序的基础上,编写相应的语义子程序,进行语义处理,加深对语法制导翻译原理的理解,进一步掌握将语法分析所识别的语法范畴变换为某种中间代码(四元式)的语义分析方法,并完成相关语义分析器的代码开发。 二、实验内容 语法制导翻译模式是在语法分析的基础上,增加语义操作来实现的。对于给定文法中的每一产生式,编写相应的语义子程序。在语法分析过程中,每当用一个产生式进行推导或归约时,语法分析程序除执行相应的语法分析动作之外,还要调用相应的语义子程序,以便完成生成中间代码、查填有关表格、检查并报告源程序中的语义错误等工作。每个语义子程序需指明相应产生式中各个符号的具体含义,并规定使用该产生式进行分析时所应采取的语义动作。这样,语法制导翻译程序在对源程序从左到右进行的一遍扫描中,既完成语法分析任务,又完成语义分析和中间代码生成方面的工作。 输入:包含测试用例,如由无符号数和+、?、*、/、(、)构成的算术表达式的源程序文件。 输出:将源程序转换为中间代码形式表示,并将中间代码序列输出到文件中。若源程序中有错误,应指出错误信息。 三、实验设计 语法制导翻译模式实际上是对前后文无关文法的一种扩展。一般而言,首先需要根据进行的语义工作,完成对文法的必要拆分和语义动作的编写,从而为每个产生式都配备相应的语义子程序,以便在进行语法分析的同时进行语义解释。要求从编译器的整体设计出发,重点通过对实验二中语法分析程序的扩展,完成一个编译器前端程序的编写、调试和测试工作,形成一个将源程序翻译为中间代码序列的编译系统。 对文法G3[<算术表达式>]中的产生式添加语义处理子程序,完成无符号数的四则运算的计值处理,将输入的四则运算转换为四元式形式的中间代码。本实验只进行了算术表达式四元式的翻译。 四、源代码 1、在.h文件中添加了 //语义分析部分 #define PMAX 5//define 后面不加括号,定义产生式符号属性字符串的长度 int NXQ=0; /*全局变量NXQ用于指示所要产生的下一个四元式的编号*/ int NXTemp=1;//整型变量NXTemp指示临时变量的编号 int SentenceCount=1;//存放文件中句子的个数 struct QUATERNION /*四元式表的结构*/ { char op[PMAX]; /*操作符*/ char arg1[PMAX]; /*第一个操作数*/ char arg2[PMAX]; /*第二个操作数*/ char result[PMAX]; /*运算结果*/ }pQuad[256]; /*存放四元式的数组*/ char EBracket_Place[PMAX];//(E)的语义属性

语义分析的一些方法

语义分析的一些方法 语义分析的一些方法(上篇) 5040 语义分析,本文指运用各种机器学习方法,挖掘与学习文本、图片等的深层次概念。wikipedia上的解释:In machine learning, semantic analysis of a corpus is the task of building structures that approximate concepts from a large set of documents(or images)。 工作这几年,陆陆续续实践过一些项目,有搜索广告,社交广告,微博广告,品牌广告,内容广告等。要使我们广告平台效益最大化,首先需要理解用户,Context(将展示广告的上下文)和广告,才能将最合适的广告展示给用户。而这其中,就离不开对用户,对上下文,对广告的语义分析,由此催生了一些子项目,例如文本语义分析,图片语义理解,语义索引,短串语义关联,用户广告语义匹配等。 接下来我将写一写我所认识的语义分析的一些方法,虽说我们在做的时候,效果导向居多,方法理论理解也许并不深入,不过权当个人知识点总结,有任何不当之处请指正,谢谢。 本文主要由以下四部分组成:文本基本处理,文本语义分析,图片语义分析,语义分析小结。先讲述文本处理的基本方法,这构成了语义分析的基础。接着分文本和图片两节讲述各自语义分析的一些方法,值得注意的是,虽说分为两节,但文本和图片在语义分析方法上有很多共通与关联。最后我们简单介绍下语义分析在广点通“用户广告匹配”上的应用,并展望一下未来的语义分析方法。

1 文本基本处理 在讲文本语义分析之前,我们先说下文本基本处理,因为它构成了语义分析的基础。而文本处理有很多方面,考虑到本文主题,这里只介绍中文分词以及Term Weighting。 1.1 中文分词 拿到一段文本后,通常情况下,首先要做分词。分词的方法一般有如下几种: ?基于字符串匹配的分词方法。此方法按照不同的扫描方式,逐个查找词库进行分词。根据扫描方式可细分为:正向最大匹配,反向最大匹配, 双向最大匹配,最小切分(即最短路径);总之就是各种不同的启发规则。 ?全切分方法。它首先切分出与词库匹配的所有可能的词,再运用统计语言模型决定最优的切分结果。它的优点在于可以解决分词中的歧义问 题。下图是一个示例,对于文本串“南京市长江大桥”,首先进行词条检索(一般用Trie存储),找到匹配的所有词条(南京,市,长江,大桥,南京市,长江大桥,市长,江大桥,江大,桥),以词网格(word lattices)形式表示,接着做路径搜索,基于统计语言模型(例如n-gram)[18]找到最优路径,最后可能还需要命名实体识别。下图中“南京市长江大桥” 的语言模型得分,即P(南京市,长江,大桥)最高,则为最优切分。 图1. “南京市长江大桥”语言模型得分

试论语法分析中句法语义语用的三位一体性

第27卷第6期 唐山师范学院学报 2005年11月 Vol. 27 No.6 Journal of Tangshan Teachers College Nov. 2005 ────────── 收稿日期:2005-05-31 作者简介:刘淑芬(1981-),河北唐山人,广西大学文化与传播学院2004级汉语言文字学研究生。 - 38 - 试论语法分析中句法、语义、语用的三位一体性 刘淑芬 (广西大学 文化与传播学院,广西 南宁 530004) 摘 要:在语法分析中要区分三个平面——句法平面、语义平面和语用平面,这三个平面是相互联系、相互制约、相互影响的,具有三位一体性。对句子进行语法分析时,要注意把握三个平面的三位一体性。从而使句子从静态分析达到动态分析,这也将对对外汉语语法教学有重大的指导意义。 关键词:“三个平面”理论;句法;语义;语用;三位一体性 中图分类号:H043 文献标识码:A 文章编号:1009-9115(2005)06-0038-03 语言是一种极其复杂的交际载体,一种极其复杂的符号体系。语言本身的特点决定了分析语言不可能在一个平面上 进行。 [1] 在进行语法分析和语法研究时既要区分句法、语义、语用三个不同平面,又要将三者有机结合起来的“三个平面理论”,是新时期汉语语法研究的热点之一。一个具体的句子,总是涉及到句法、语义、语用这三个不同的平面,对句子进行语法分析时必须同时进行句法分析、语义分析、语用分析才算最后达到语法分析的目的。如此才能使静态语法分析和动态语法分析相结合,达到全方位的语法分析,体现出三个平面的三位一体性。 语法研究的三个平面的理论,主张自觉地既明确区分又相互兼顾句法、语义、语用三个平面的理论。语法的三个平面都有自己的形式和意义:“句法、语义、语用的形式都是语法形式;句法、语义、语用的意义都是语法意义。”[2]句法平面的语法意义称为句法意义,指的是词语与词语结合组成句法结构后所产生或形成的显层的关系意义。语义平面的语法意义称为语义意义,简称语义,指的是词语和词语相互配合组成语义结构后所产生或形成的隐层的关系意义。语义只有在一定的语义结构中才能形成,因此词汇意义、逻辑意义、语境意义、社会文化意义等,不属于语法范畴的语义。语用平面的语法意义称为语用意义,指的是词语或句法结构体在语言实际使用中所产生或形成的语用价值或信息。语用意义往往体现着说话人的主观表达意向。 三个平面中,句法和语义是表里关系或显层和隐层的关系,这在抽象的句子结构里看得更为明显,句法结构同时也是语义结构的表现形式;而在具体的句子即交际中实际运用的句子中,语用成分或语用因素与句法结构和语义结构的成分之间的关系是信息和载体的关系、内层和外层的关系、客观和主观的关系。至于三者在语法分析中的价值,三个平面 有三种结构,也就会有句法成分、语义成分、语用成分,它们在具体的句子中是同时存在的,共同构成句子的要素,三者互相制约,相辅相成,缺一不可。不过由于着眼点和观察角度不同,研究中会有所侧重:“从说写角度看,句法是核心,是个轴。研究语法,要紧紧扣住句法,以句法为基础,向深层挖掘语义,向外层探求语用。”[2]因此,句子的语法分析应该是多角度、多层面的而不应该是孤立的。 在分析一个句子合法不合法时,一是要看句法上词语间结合得妥当不妥当;二是要看语义上词语搭配得合理不合理;三是要看语用上词语安排得适切不适切。凡符合妥当、合理、适切三个条件的句子,可以说是一个合法的、有效的句子,反之,可能是一个不合法的句子或是一个有语病的句子。由此可知,在对句子进行具体分析时,要求把句子放在交际的过程中观察,看语境对句子的语义和结构产生了什么影响,使句子发生了什么变化等等。采用静态的分析与动态的分析[3]相结合的方法,体现出三个平面的三位一体性。 例如:“门把风吹开。”这句话从句法上看虽符合“主语(门)+状语(把风)+动词(吹)+补语(开)”的格式;但从语义上看,此句违背了“把”字句的主语必须是施事,而介词“把”介引的对象应为受事的原则,同样让人不知所云;再从语用方面看,此句所传达的信息是不真实的,而且由于缺少语气词“了”则不能表达陈述确定的语气,使人觉得一句话没说完,因此是一个不合法的句子。如果转换成:“风吹开了门。”“风把门吹开了。”或“门被风吹开了。”无论从哪个平面上看都是合理合法的。而且,这三句的主语、施动者(或受动者)、主题三者是重合的,也就是说,句子的主语兼有句法、语义、语用三个平面的因素,因而三个平面之间的联系非常密切。但在有些情况下,主语、施事(或受事)、主题并不是等同的,例如:“今天,我们班的同学都

语义分析及中间代码生成程序设计原理与实现技术--实验报告及源代码北京交通大学

语义分析及中间代码生成程序设计原理与实现技术--实验 报告及源代码北京交通大学 语义分析及中间代码生成程序设计原理与实现技术 XXX 1028XXX2 计科1XXX班 1. 程序功能描述 完成以下描述赋值语句和算术表达式文法的语法制导生成中间代码四元式的过程。 G[A]:A?V:=E E?E+T?E-T? T?T*F?T/F?F F?(E)?i V?i 说明:终结符号i 为用户定义的简单变量,即标识符的定义。 2. 设计要求 (1)给出每一产生式对应的语义动作;(2)设计中间代码四元式的结构(暂不与符号表有关)。(3)输入串应是词法分析的输出二元式序列,即某算术表达式“实验项目一”的输出结果。输出为输入串的四元式序列中间文件。(4)设计两个测试用例(尽可能完备),并给出程序执行结果四元式序列。 3. 主要数据结构描述: 本程序采用的是算符优先文法,文法以及算符优先矩阵是根据第四次实验来修改 的,所以主要的数据结构也跟第四次差不多,主要为文法的表示,FirstVT集和LastVT

集以及算符优先矩阵: struct info{ char left; vector right; vector first; vector last; }; 算符优先矩阵采用二维字符数组表示的: char mtr[9][9]; //算符优先矩阵 4. 程序结构描述: 本程序一共有8功能函数: void get(); //获取文法 void print(); //打印文法 void fun(); //求FirstVT 和 LastVT void matrix(); //求算符优先矩阵 void test(); //测试文法 int cmp(char a,char b); 比较两个运算符的优先级 1 0 -1 void out(char now,int avg1,int avg2); //打印四元式 a,int b); //定义四元式计算方法 int ope(char op,int 5. 实验代码详见附件 6. 程序测试 6.1 功能测试 程序运行显示如下功能菜单:

语义分析思路

C.3语义分析 实验目的 通过上机实习,加深对语法制导翻译原理的理解,掌握将语法分析所识别的语法成分变换为中间代码的语义翻译方法. 实验要求 采用递归下降语法制导翻译法,对算术表达式、赋值语句进行语义分析并生成四元式序列。 实验的输入和输出 输入是语法分析提供的正确的单词串,输出为三地址指令形式的四元式序列。例如:对于语句串 begin a:=2+3*4;x:=(a+b)/c end# 输出的三地址指令如下: (1)t1=3*4 (2)t2=2+t1 (3)a=t2 (4)t3=a+b (5)t4=t3/c (6)x=t4 算法思想 1设置语义过程 (1)e mit(char *result,char *arg1,char *op,char *ag2) 该函数功能是生成一个三地址语句送到四元式表中。 四元式表的结构如下: struct {char result[8]; char ag1[8];

char op[8]; char ag2[8]; }quad[20]; (2)char *newtemp() 该函数回送一个新的临时变量名,临时变量名产生的顺序为T1,T2,…. Char *newtemp(void) { char *p; char m[8]; p=(char *)malloc(8); k++; itoa(k,m,10); strcpy(p+1,m); p[0]=?t?; return(p); } (2)主程序示意图如图c.10所示。

置初值 调用scaner 调用lrparser 输出四元组 结束 (2)函数lrparser在原来语法分析的基础上插入相应的语义动作:将输入串翻译成四元式序列。在实验中我们只对表达 式、赋值语句进行翻译。 语义分析程序的C语言程序框架 int lrparser() { int schain=0; kk=0; if(syn=1) { 读下一个单词符号; schain=yucu; /调用语句串分析函数进行分析/ if(syn=6) { 读下一个单词符号; if(syn=0 && (kk==0)) 输出(“success”);

语义特征分析

语义特征分析 一、含义 ?语义特征是语言单位之间相互联系或相互区别的语义要素,它很大程度上制约着语言单位相互组合的可能性以及组合的方式,反映了语言单位的组织形式跟现实世界的对应关系。 ?语义特征分析为进一步分化同形句式,为根据句法研究的需要对同一类实词划分小类,提供了更为可靠的句法、语义依据,因此语义特征分析无疑使语法研究朝着形式和意义相结合的方式迈出了更可喜的一步 二、作用 ?语义特征分析能够促使语法研究的精密化,从而使语法研究更具解释力。20世纪80年代以来,语义特征分析在汉语语法研究中得到了广泛的运用。除朱德熙以外,陆俭明、邢福义、马庆株、邵敬敏等都是积极实践者。概括起来,语义特征分析在以下诸多方面有很强的解释力,具有广泛的实践价值。 ?(一)语义特征分析能够较好的揭示一个句法组合能否成立的原因。“香蕉、苹果、梨子、杨桃”因为共有[+水果]的范畴特征而被认为是有意义的组合,而“香蕉、石子、泉水、黄土”因为缺乏共同的范畴特征而不被理解。“笔墨纸砚”、“桌椅板凳”、“锅碗瓢盆”、“油盐酱醋”都是这种类型的并列。“吃馒头”可说而“喝馒头”不能被接受,同样“喝汤”可说而“吃汤”不能被接受。“吃”和“喝”的这种对立可以用语义特征表示为:吃[+施事;+固体食物;+咀嚼;+吞咽],喝[+施事;-固体食物;-咀嚼;+吞咽]。 ?(二)语义特征分析可以揭示某些词语的比较隐蔽的语义特征。例如“写、搛、留、舀”等动词本身并不包含“给予”的意义。但当说到“写信、搛菜、舀汤、留座位”的时候,就有可能取得“给予”的意义[6]。这时,它们可以跟“卖、送、递、让”等本身包含“给予”意义的动词一样,可以出现在“V+NP(受)+给+NP(与)”或“V+给+NP(与)+NP(受)”格式中。例如:?(2)写一封信给老王? 写给老王一封信 ?舀一瓢水给小张(喝)? 舀给小张一瓢水(喝) ?留一个座位给老大爷? 留给老大爷一个座位 ?“写、搛、留、舀”等的这种特性使它们有别于其他行为动词,如“看、读、撞、拉”等。?(三)语义特征分析可以揭示某些句式能否成立的语义依据。例如,现代汉语里有一种由形容词加“(一)点儿”构成的祈使句:形容词+(一)点儿!可是,并不是所有的形容词都能进入该句式[7]。试比较: ?(3)A. 虚心点儿!积极点儿!坚强点儿! ?主动点儿!灵活点儿!大方点儿! ?B. 粗一点儿!近一点儿!高一点儿! ?浓一点儿!大一点儿!慢一点儿! ?C. *骄傲点儿!*悲观点儿!*罗嗦点儿! ?*胆小点儿!*嘈杂点儿!*蛮横点儿! ?D. *可爱点儿!*健康点儿!*伟大点儿! ?*优秀点儿!*美丽点儿!*高尚点儿! ?(3)中四组格式中的形容词的语义特征可以用矩阵图区别如下: ?(3')形A:[+褒义,-贬义,+可控] ?形B:[-褒义,-贬义,+可控] ?形C:[-褒义,+贬义,±可控] ?形D:[+褒义,-贬义,-可控] ?可见,只有同时具备[-贬义]和[+可控]两项语义特征的形容词才能够进入以上格式。?(四)语义特征分析能够较好地解释某些看似狭义同构的句式的内部差异,同时为词类的进一步细分提供“最可靠的语法、语义依据”[4]。例如:

语义分析与中间代码生成

实验内容: 可选择LL1分析法、算符优先分析法、LR 分析法之一,实现如下表达式文法的语法制导翻译过程。文法G[E]如下所示: E →E+T | E-T | T T →T*F | T/F | F F →P^F | P P →(E) | i 要求构造出符合语义分析要求的属性文法描述,并在完成实验二(语法分析)的基础上,进行语义分析程序设计,最终输出与测试用例等价的四元式中间代码序列。 实验目的: 1.掌握语法制导翻译的基本功能。 2.巩固对语义分析的基本功能和原理的认识。 3.能够基于语法制导翻译的知识进行语义分析。 4.掌握类高级语言中基本语句所对应的语义动作。 5.理解并处理语义分析中的异常和错误。 实验要求: 1.在实验二的基础上,实现语法制导翻译功能,输出翻译后所得四元式序列; 2.要求详细描述所选分析方法进行制导翻译的设计过程; 3.完成对所设计分析器的功能测试,并给出测试数据和实验结果; 4.为增加程序可读性,请在程序中进行适当注释说明; 5.整理上机步骤,总结经验和体会; 6.认真完成并按时提交实验报告。 实验步骤: ---1语义子程序为:(会生成四元式的部分:) (1) P →i (2) E →E+T emit(+,E.place,T.place,E.place); (3) E →E-T emit(-,E.place,T.place,E.place); (4) T →T*F emit(*,T.place,F.place,T.place); (5) T →T/F emit(/,T.place,F.place,T.place); (6) F →P^F emit(^,P.place,F.place,F.place); (7) P →(E) 开始 词法分析 中间代码 语法、语义分析 出错处理 语法、语义分析 中间代码生成 结束

相关主题
文本预览
相关文档 最新文档