当前位置:首页 > 论诗 > 详情
木刀 男  72岁
  • 注册日期:2014-04-25
  • 最近登录:2024-04-23
  • 粉丝人数:267
»个人空间    »留言板

最新帖子

【原创】宋词句型的一种数字编码方案

木刀 发布于2022-03-01 07:00   点击:833   评论:6  

木刀:宋词句型的一种数字编码方案

    把句型数字化,是可以让计算机技术在诗词检测领域大有作为的一项基础性工作。这有助于让计算机在句型软件分析、声律检测方面一展身手,并有可能提供判别词牌差别的一种直观而便捷的途径。

    这里就提出一种方案。

    首先,我们只用一个数字来表示句子的长度。之所以能够这样作,是因为如果把叹格,即标示有顿号(、)的句子视为两句,则最长的句子长度不超过九个字。

    其次,我们把句子首尾的声律(即平仄)与数字对应起来。令平声对应数字0,仄声对应1。然后将句子首字的声律编码放在末字的前面,就得到了一个二进制的两位数。即:

    00(十进制0),表示平起平收。
    01(十进制1),表示平起仄收。
    10(十进制2),表示仄起平收。
    11(十进制3),表示仄起仄收。
   
    对于奇数长度的句子,这样的编码完全可以表示出标准律句的各种构成,并且没有冗余。

    下面举个例子,来看看如何从编码推导出具体的句子声律。

    对于编码73,从第一个数字,我们知道句子长度为七。从第二个数字3,也就是二进制11,我们知道这个句子的首字声律为仄声,末字也是仄声。由此,根据音步长度的规定,我们可以推断第一个音步是【仄仄】,根据律句规定中关于声律在何时反声的规定,可以推断第二个音步是【平平】。末字自然是仄声,这样,我们就有了如下的声律【仄仄平平??仄】。要使句子满足律句的规定,第五字的声律就必须是“跟”前面的声律相同,第六字就必须“转”声即反声,从而得到完整的句子声律为【仄仄平平跟仄仄】。这里不用惯常的表示法,在“跟”字处用“平”字表示,是为了让大家看清楚,“跟”字处是一个单字组,而惯常的表示法,对于“单字组在哪”的表达是不明晰的。单字组为什么要标出来?是因为单字组是不可宽限的。

    上面的音步双字组里,两个字的声律是相同的。然而,律句还有另外一种表达形式,就是双字组里,两个字的声律是不相同的。以上面的七字句为例,其另一种律句形式就是【平仄仄平跟平仄】。这种句式如何表达呢?我们可以在编码的后一个数字(即标示声律的那个数字编码)前,再加一个二进位,并令0,表示标准律句;1,表示非标准律句。与律绝不同,由于宋词中主旋律的存在,这样的标记是必不可少的。

    这样,相对于编码为73的句子而言,其非标准律句(歌律)的编码就是75而不是77,因为首字改为了平声。

    附带说一句,在73的这个例子中,它有可能造成一种情况,就是句子在宽限后,并没有超出律句宽限的规定,但却出现四连平这样的不合律句音步长度要求的句子,即【仄仄平平跟平仄】。为了使这样句子不合理声律处得到改善,有人提出,用【仄仄平平转平仄】这样的构造来解决这个问题,并称其为准律句。这个所谓的准律句与77的表达【平仄仄平跟平仄】只差两个字位的声律不同,其中第一个字位,它是不计平仄的,可以不管它,另一个是单字组的字位,即位于第五个字的位置。可以看出,这个准律句是符合律句的跟转约定的,唯一的缺陷是第六字的位置上必须用平声字,否则就会出现三连仄。因此,75这个编码,更合适的赋予对象不是【平仄仄平跟平仄】,而是【仄仄平平转平仄】。这似乎可以说明准律句何以可以称为准律句

    对于偶数长度的句子,由于不存在单字组,所以,标准句句末的声律就完全无标记的必要,只需要有标记首字声律的标记就可以了。

    此外,为了能给【仄平平仄】这样的歌律标记,用与长度为奇数句子的同样办法,在声律编码前用一个二进位来标记,令0标记标准律句,1标记歌律。

    但是,我们看到,在宋词里,长度为偶数的句子还有【平仄平仄】、【仄平仄平】这样的连续同声句子存在。由于句子末字的声律不再需要加入编码,我们就可以将这个位置用来标记这种特殊的句子。可令正常句标记为0,后面这种特殊句可标记为1。如【仄仄平仄】可标记为43,而【仄仄平平】标记为42,【平平仄仄】为40,【平平仄平】为41。当然,特殊标记所标记的,是指最后一个音步与前音步同声。那么,其它位置上的音步与前音步同声该如何标记呢?所幸这样的情况不多,只有六言句,由于编码空间已经用完,我们可以把用作歌律的标记位置用来标记它。如,有一个六言句【仄仄平仄平平】,它实际是【仄仄-仄仄平平】,我们这样标记它的编码:长度为6,前一个编码就是6。首字仄声,编码1,在二进位的中间位,有特殊音步,二进位的后位编码1,特殊音步在前,二进位的前位编码也是1,最后编码是67。而【仄仄平平仄仄】,编码为62,【平仄仄平平仄】编码为64,【仄仄平平仄平】编码为63,前面说过,【仄仄平仄平平】编码为67。相应的,【平平仄仄平平】编码为60,【仄平平仄仄平】编码为66,【平平仄仄平仄】编码为61,【平平仄平平仄】编码为65。这样,在有特殊音步的句子里,句子的歌律形式也就不可能再标示出来了。

    然而,这种特殊句的处理办法并不好,因为它打乱了编码的规律性,同时,这个处理办法不能处理长度为奇数的特殊句。

    因为,词格里有一种句型叫拚格。前面提到的特殊句,也可以用拚格的形式来表述,即使将它们视为两个子句,分别表达后的编码也采用直接拼合的办法来表示。如前面提到的【平仄平仄】,它的表达方式就是2121了。

    这里举个例子:

沁园春

仄仄平平;仄仄平平;仄平仄平。
领平仄平平;平平仄仄;平平仄仄;仄仄平平。
仄仄平平;平平仄仄,仄仄平平仄仄平。
平平仄、领平平仄仄;仄仄平平。

平平仄仄平平。领仄仄平平仄仄平。
领平仄平平;平平仄仄;平平仄仄;仄仄平平。
仄仄平平;平平仄仄,仄仄平平仄仄平。
平平仄、领平平仄仄;仄仄平平。

它的数字谱就是:

42;42;2222。
L42;40;40;42。
42;40,72。
31、L40;42。

60。L72。
L42;40;40;42。
42;40,72。
31、L40;42。

其中:
1、L:领字标志
2、逗号(,):句标志
3、句号(。):韵脚标志
4、顿号(、):叹格标志
5、分号(;):骈格标志
6、2222:拚格的直接拼合

关于其他句型的表示法,还有待于进一步的探讨。


推到展厅 礼物 打赏 赞(8) 查看   收藏(0)    

最近访客

发表评论

网名: 未登录网友 请先登录
呼朋唤友 (@好友)   【表情】
(严禁发布涉政敏感内容 《用户条例》

评论列表



沪公网安备 31010102002004号

用户登录...
查询邮箱...

请输入您的网名:   


请输入飘红理由

1、飘红的版主达到两位,标题会变红;
2、加精的版主达到三位,才能显示“精”字图标。
3、飘红鼓舞士气,加精保证水平。请各位版主把好质量关。
填写举报原因
请简要说明为何举报


  
移动贴子
将贴子移到
说明:因缓存的关系,贴子移动后,列表可能不会实时更新,请等待片刻。