|
前言
最近不知道哪来的想法,突然拿到一个句子就开始分析它的结构和语义。然后连可行性什么的都没有考虑就开始研究需要定义哪些东西。。。再然后在思考的时候还感觉有点心得。
只是,现在想想,好像没有什么实质性的内容。主要还是自己一开始就没有考虑好就开始着手研究,然后就像瞎扯一样做出了一点现在在我看来没有什么意义的东西。我实现不了,也不知道能否实现。如果有哪位大侠能够把它程序话,那想必也是极好的。只是我就没有那个能力了。
鉴于我水平太差,只能把想法贴上来,后续的研究可能也不会进行了。如果我真的有能力把它程序话的话,我会坚持把这个想法形成一个体系。现在,就只是叹息了。。。
废话好多。接下来就把我胡思乱想的内容贴上来,总共有三部分内容,每部分在做的时候想法也有些不同,因此对语句的语义解析程度也不同。大虾们看到下面的瞎扯(应该不会看到滴)请勿喷。。。
Warning:下方纯属瞎扯,慎入。
Part 1
从几个例子开始:
1. 今天 你 订阅 ...报纸 了吗?
=>时间 主语 事情 /问题
=>@today 自己 是不是订阅...了?/有没有订阅...?
=> @today ,@ask(@myself 有没有@do(订阅...))?
本例子属于咨询、提问类。
2. 你 觉得 他说的 是对 的吗?
=>主语 表看法 看法类问题
=>@myself 看法/观点 问题主语 是不是对的 ?
=>@myself , @comment(@say(他), @state(对)) ?
本例子属于看法、观点类。
3. 大四了 , 旅行 还是 实习 ?
=> 时间 主语缺省 选择类问题
=>@time(大四) 默认为@myself @do(旅行) 还是/or @do(实习) ?
=> @time(大四) , @myself @do(旅行) 还是/or @do(实习) ?
本例子属于选择类。
注:上面的例子的表示形式还不够规范!比如有必要定义@say(),@comment(),@ask()吗?还是将它们设计为一个大类里面的一个子类(继承),还是有更加规范统一的定义?需要好好考虑一下。
Part 2
考虑到一般的事件都涉及到“时间”,“地点”,“人物”,“事情”,在语义分析上,一个事件能表达一个完整的语义。因此,我们至少需要设计以下几个函数/类/方法(系统预定义):
@time() -------> @now() ; @today()
@people() -------> @myself() ; @speaker()
@place() -------> @here() ; @everywhere()
@do() -------> @doNothing() ; @nowDoing()
@reason() -------> @noReason()
......
此外,还应该预定义一些常量:
UNKNOWN -------未知,适用于上面各种类型
......
还应该有一些常用的介词、否定词、疑问词、谓语动词等:
还是/or
是不是/is or not
有没有/do @people() ... have?
不是/not
没有/do not have
却、但是/but
是/is
有/has、have
还、仍然/still
......
除此之外,还应该有什么?远不止现在所想到的。
Part 3
再举几个例子分析一下:
下面的例子说明了有必要定义@consensus()、@comment()来表达一类观点、判断。
1. 当局集团 当年 是 吃卢布奶 长大的。
=> 主语 时间 表判断 事 情
=> @abstractPeople(当局集团) @time(当年) 是 @do(吃卢布奶)--->@do(长大)
=>@consensus(@time(当年), @abstractPeople(当局集团) , @do(长大, @reason(@do(吃卢布奶))))
·
在@consensus()方法中,一般不包含表示判断的谓语动词,如:是/不是/有/没有
@consensus()和@comment()方法的不同之处在于,@comment()表示自己需要就某个问题给出评论、观点,而 @consensus()则表示语句块中的主语的观点。
2. 如何 看待 台湾媒体 因 柯震东 被捕 事件 认为 中国法制 还 停留 在古代?
=> 提出疑问 主语 表 示 原 因 事 情 /观 点
=>给出看法 @abstractPeople(台湾媒体) @reason(@people(柯震东), @do(被捕)) @consensus(@abstractPeople(中国法制), still @do(停留) @abstractPlace(@time(古代)))
=>@comment(@abstractPeople(台湾媒体),@consensus(@abstractPeople(中国法制), still @do(停留, @abstractPlace(@time(古代))),@reason(@people(柯震东), @do(被捕))))
·
这里还可以考虑将被动句改为主动句,不过修改过程中涉及到主语的寻找问题,在句子中未必会给出主语,因此保留被动句也是可行的,只是机器始终不了解被动句改为主动句之后主语是谁,可能需要一个学习的过程,让机器认识、学习一些基本常识,比如“被捕”意味着一般是警察去逮捕...。
这里出现了一个新的表达,@abstractPlace(@time())在这里应该表示一个特定的时空。是否需要增加一种新的方法(@space_time())还需要再讨论,目前来说,用抽象地点(@abstractPlace())嵌套时间(@time())可以表示常见的时空。
这个句子设计到了@consensus()方法和@comment()方法,表现了两个方法的不同之处。
由此,考虑增加一些方法:
@comment()
@consensus()
@people() -------> @abstractPeople()
@place() -------> @abstractPlace()
这个东西有作用吗?现在想想,我真的没想到!不过看到这些内容还是有点激动。不过大概过些时日就会觉得这个一无是处了。把这些瞎扯的内容搬上博客来,希望不会被投诉!
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-27 11:55
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社