词法分析是理解单词的基础,其主要目的是从句子中切分出单词,找出词汇的各个词素,从中获得单词的语言学信息并确定单词的词义,如unchangeable是由un-change-able构成的,其词义由这三个部分构成。不同的语言对词法分析有不同的要求,例如,英语和汉语就有较大的差距。在英语等语言中,因为单词之间是以空格自然分开的,切分一个单词很容易,所以找出句子的一个个词汇就很方便。但是由于英语单词有词性、数时态、派生及变形等变化,要找出各个词素就复杂得多,需要对词尾或词头进行分析。如importable,它可以是im-pot-able或import-able,这是因为im、port、able这三个都是词素。
词法分析可以从词素中获得许多有用的语言学信息。如英语中构成词尾的词素“s”通常表示名词复数或动词第三人称单数,“ly”通常是副词的后缀,而“ed”通常是动词的过去分词等,这些信息对于句法分析也是非常有用的。一个词可有许多种派生变形,如work,可变化出works、worked、working、worker、workable等。这些派生的变形的词,如果全放入词典将是非常庞大的,而它们的词根只有一个。自然语言理解系统中的电子词典一般只放词根,并支持词素分析,这样可以大大压缩电子词典的规模。
下面是一个英语词法分析的算法,它可以对那些按英语语法规则变化的英语单词进行分析:
其中“study”是一个变量,初始值就是当前的单词。(www.xing528.com)
例如,对于单词matches、studies可以做如下分析。
在修改2的时候,就可以找到“match”,在修改3的时候就可以找到“study”。英语词法分析的难度在于词义判断,因为单词往往有多种解释,仅仅依靠查词典常常无法判断。例如,对于单词“diamond”有三种解释:菱形,边长均相等的四边形;棒球场;钻石。要判定单词的词义只能依靠对句子中其他相关单词和词组的分析。例如句子“John saw Slisan′s diamond shining from across the room.”中“diamond”的词义必定是钻石,因为只有钻石才能发光,而菱形和棒球场是不闪光的。
作为对照,汉语中的每个字就是一个词素,所以要找出各个词素相当容易,但要切分出各个词就非常困难,不仅需要构词的知识,还需要解决可能遇到的切分歧义。如“不是人才学人才学”,可以是“不是人才—学人才学”,也可以是“不是人—才学人才学”。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。