#NLP-1 最大匹配算法(MM)
最大匹配算法(Maximum Matching)被用于对一个文段进行词语划分(Word Segmentation)。
注意
这是词元化(Tokenization)算法
此方法不适用于无分隔符的字母语言(e.g.:德语、使用假名替代汉字的日语、被取消分词符的英文等)
但是对汉语这类无词间分隔符但不依赖字母的语言效果拔群
输入输出
graph LR
input1(文段P)
input2(单词表W)
processor(MM)
output(词元表T)
input1--输入-->processor
input2--输入-->processor
processor--输出-->output
算法内容
人话版本(自然描述)
输入:文段$\small P$,单词表$\small W$
过程:对于给定的$\small P$和$\small W$:
令指针$\small i$从$\small P$的起点开始
每当找到最长匹配于$\small i$引领文段的单词$\small w$,则将$\small w$加入词元分析表$\small T$(一个顺序表结构)中
$\small i$向后移动$\small w$长度个位置
回到2,直至$\small i$无法向后移动为止
输出:词元分析表$\small T$
说明
最长匹配??
这个概念用定义去描述其实很不容易理解,这里直接上例子,比如,有一个字符串
The