基于词典的最大匹配分词算法集合,包含:
- FMM — 正向最大匹配(Forward Maximum Matching)
- BMM — 逆向最大匹配(Backward Maximum Matching)
- BiMM — 双向最大匹配(Bidirectional Maximum Matching),取切分歧义较少者
这类算法实现简单、效率高,适合作为基线分词器或与统计模型结合使用。
基于词典的最大匹配分词算法集合,包含:
这类算法实现简单、效率高,适合作为基线分词器或与统计模型结合使用。
01 Syntax
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| ForwardMaxMatch | 1 | 正向最大匹配:从左到右扫描文本,每次取词典中存在的最长词。 时间复杂度 O(n * L),其中 n 为文本长度,L 为词典最长词长度。 |
| BackwardMaxMatch | 1 | 逆向最大匹配:从右到左扫描文本,每次取词典中存在的最长词。 在中文中通常比 FMM 略优,因为中文重心常后置。 |
| BidirectionalMaxMatch | 1 | 双向最大匹配:同时执行 FMM 与 BMM,按以下规则选择结果: 1. |
| IsChineseChar | 1 | 判断字符是否为中文字符(CJK 统一表意文字基本区 + 扩展 A 区)。 |
03 Members
String)正向最大匹配:从左到右扫描文本,每次取词典中存在的最长词。 时间复杂度 O(n * L),其中 n 为文本长度,L 为词典最长词长度。
String)逆向最大匹配:从右到左扫描文本,每次取词典中存在的最长词。 在中文中通常比 FMM 略优,因为中文重心常后置。
String)双向最大匹配:同时执行 FMM 与 BMM,按以下规则选择结果:
该方法能有效减少切分歧义。
Char)判断字符是否为中文字符(CJK 统一表意文字基本区 + 扩展 A 区)。