正向最大匹配

中文分词算法 之 基于词典的正向最大匹配算法

ぃ、小莉子 提交于 2019-12-10 06:29:15
基于词典的正向最大匹配算法 ( 最长词优先匹配 ) ,算法会根据词典文件自动调整最大长度,分词的好坏完全取决于词典。 算法流程图如下: Java实现代码如下: /** * 基于词典的正向最大匹配算法 * @author 杨尚川 */ public class WordSeg { private static final List<String> DIC = new ArrayList<>(); private static final int MAX_LENGTH; static{ try { System.out.println("开始初始化词典"); int max=1; int count=0; List<String> lines = Files.readAllLines(Paths.get("D:/dic.txt"), Charset.forName("utf-8")); for(String line : lines){ DIC.add(line); count++; if(line.length()>max){ max=line.length(); } } MAX_LENGTH = max; System.out.println("完成初始化词典,词数目:"+count); System.out.println("最大分词长度:"+MAX_LENGTH); }