摘要:
语法树,一个小把戏 author: 辉格 前几天跟Padrick说起句法问题,然后我很无聊的为博客和论坛添加了按语法树输入文本的支持,一方面温习一下句法结构,同时也熟悉一下HTML5的canvas。 现在,我在写博客或你在发帖时,假如碰到容易产生歧义的句子,便可以按通行的方法对句子的语法结构进行标注

语法树,一个小把戏

author: 辉格

前几天跟Padrick说起句法问题,然后我很无聊的为博客和论坛添加了按语法树输入文本的支持,一方面温习一下句法结构,同时也熟悉一下HTML5的canvas。

现在,我在写博客或你在论坛发帖时,假如碰到容易产生歧义的句子,便可以按通行的方法对句子的语法结构进行标注,凡经过标注的句子,读者可以调看直观的语法树图形,具体用法如下:

1)需要标注的句子首先用:{.SNL/<sentence>/.}括起来;

2)语法树的每个节点这样标注:[XX:<content>],其中XX是节点类型,命名采用语言学中的通行方式,常见的有下列几种:

  • S: 句子(sentence),假如有子句,可在S后面加数字以示区别;
  • N: 名词(noun)
  • V: 谓词(verb)
  • A: 形容词(adjective)
  • Adv: 副词(adverb)
  • P: 介词(preposition)
  • Con: 连接词(conjunction)
  • NP: 名词短语(noun phrase)
  • VP: 谓词短语(verb phrase)
  • AP: 形容词短语(adjective phrase)
  • AdvP: 副词短语(adverb phrase)
  • PP: 介词短语(preposition phrase)

3)分叉:因为我实现的功能只是树形数据结构的处理和图形化显示,所以并不涉及语言学知识,不过我觉得按Noam Chomskyphrase structure grammar,好像树的所有分支都应该是二叉的,只有一个例外(对此我不甚确定),就是包含了连接词(Con)子节点的分支,可以是多叉的。

4)移位、复用和踪迹:

4.1)移位:被移位的元素(比如英语疑问句中的前置代词)将成为孤立节点,其“XX”用“#n”标记,n是序数,用于与其它移位元素区分,在图形中,移位节点将以棕色显示;

4.2)复用:在句子其他位置将被其他隐含引用的节点,其“XX”后面加上“(n)”标记,n是序数;

4.3)踪迹:隐含引用了被移位的节点或其他可复用节点的地方,引用处以“(Tn)”标记,n是序数,且与(4.1)和(4.2)中的n相对应;

5)文本显示:在博客文章和论坛帖子中,被标记过的文本将被标上虚线下划线,其右侧将出现一个 图标;

6)图形显示:点击上述图标将弹出语法树窗口,该窗口不仅用于显示,也可在文本框内对文本进行标记,然后点击“解析”查看相应图形;提示:由于弹出窗口经常会被浏览器拦截,故在首次打开时,你需要手工撤销拦截(最好指示它以后不拦截headsalon.org的弹出窗口);

7)示例:我在这篇文章的倒数第二节提供了一个实例,我把它复制在这儿:

这个是原始文本:

不过这里仍需指出一条界线,{.SNL/[S:[NP:[AP:可以被谴责的][N:行为]][VP:[Adv:未必][VP:[V:是][AP:[AP(1):[A:有罪的][Con:或者][AP:[VP:[V:构成][NP:(T2)]][Sfx:了][#2:[A:对既有权利的][N:侵犯]]]][Con:,][AP:[VP:[PP:[AP:(T1)][P:因而]][VP:[V:需要][NP:[N:加以司法矫正][Con:或][N:施以惩罚]]]][Sfx:的]]]]]]/.}。

这是被解析后的文本:

不过这里仍需指出一条界线,可以被谴责的行为未必是有罪的或者构成了对既有权利的侵犯,因而需要加以司法矫正或施以惩罚的)。

创建时间:2024-08-24 14:53:57   最后修改:2026-05-01 04:26:30

关于本站内容
本站文章由原创内容与网络整理内容两部分组成,主要作为个人知识库留存,便于后续查阅与复盘。互联网信息更迭频繁,部分内容原链接可能已失效,故在此存档备份。

版权处理

  • 原创作者:若您发现您的作品被收录,但不希望被转载,请随时联系我,我会第一时间删除并致歉。
  • 转载本站:欢迎转载本站原创内容,转载时请注明原文出处与作者即可。

文章链接:https://yysy.wang/articles/15091.html

随机推荐

正在加载随机推荐...