同义字支持

以下是每个定义组的语法:

阅读语法图跳过直观语法图同义字定义的语法

>>-:WORDS--+--------------------------------+--\n--------------->
           +-:SYNONYM-----------------------+
           '-:RELATED--+------------------+-'
                       '- ( --number-- ) -'

   .----------------------------------------------------------------.
   V                                                                |
>----+-member-term--+--------------------+--------------------+--\n-+-><
     |              '- ( --strength-- ) -'                    |
     '-+-.SYNONYM_OF-----------------------+--associated-term-'
       +-.RELATED_TO--+------------------+-+
       |              '- ( --number-- ) -' |
       +-.BROADER--+------------------+----+
       |           '- ( --number-- ) -'    |
       '-.NARROWER--+------------------+---'
                    '- ( --number-- ) -'

注意,\n 不是语法的一部分,而是表示同义字定义文件中一行的结束。

可以在同义字定义文件中插入注释行,如下所示:

# my comment text
:WORDS
开始一组相关单词的关键字。
:SYNONYM,
:RELATED [(number)],
一个关系名。

关系名由关系类型和数字组成。如果省略了数字,则假定它为零,这是系统提供的关系名。:SYNONYM 始终是系统提供的关系名。

以冒号开头的关系名(例如,:SYNONYM)在彼此相关的一系列单词前面添加同一关系。例如:

:WORDS
 :SYNONYM
   air steward
   cabin staff member
   flight attendant
member-term
要包括在同义字典中的一个词条。

如果不想要同义字查找包括与查找的词条关系不大的单词,则此参数就非常有用。强度是 1 到 100 之间的数值。缺省值为 100。

.SYNONYM_OF,
.RELATED_TO [(number)], .BROADER [(number)],
.NARROWER [(number)]
一个关系名。关系名由关系类型和数字组成。如果省略了数字,则假定它为零,这是系统提供的关系名。关系名 .SYNONYM 始终是系统提供的关系名。

以句点开头的关系名(例如,.SYNONYM_OF)定义一个单词与另一个单词之间的关系。例如:

:WORDS
   air steward
 .SYNONYM_OF cabin staff member
 .SYNONYM_OF flight attendant

可选的 number 标识用户定义的关系。这必须是整个同义字定义文件中的唯一数字(当前为 1 到 128)。例如:RELATED_TO(42)

如果想要在应用程序中使用同义字关系的符号名称而不是关系名和数字,则应用程序必须处理名称至数字的映射。例如,如果将关系 opposite_of 定义为 RELATED_TO(1),则应用程序必须将此名称映射至内部关系名 RELATED_TO(1)。

associated-term
必须在每个相关联的词条前面添加关系名。相关联的词条根据指定的关系来与每个成员词条相关。如果所有成员词条都互相相关,则可以使用成员关系来指定此参数。 以下是相关联词条的一个示例:
:WORDS:SYNONYM
  reject
  decline
    RELATED_TO(1) accept