现在来看一下基于词典的分词接口(最大匹配法)。先来看一下分词处理的接口SegmentProcessorImpl:
java 代码
-
-
-
-
-
-
- package edu.stu.cn.segment.matching.processor;
-
- import java.util.LinkedList;
-
- import edu.stu.cn.segment.matching.dictionary.DictionaryImpl;
-
-
-
-
-
- public interface SegmentProcessorImpl
- {
-
-
-
-
-
-
-
-
-
- public void fileProcessor(String srcFile, String tagFile);
-
-
-
-
- public DictionaryImpl getDic();
-
-
-
-
-
- public void setDic(DictionaryImpl dic);
-
-
-
-
-
-
-
-
- public LinkedList<string> textProcess(String text); </string>
-
- }
接口中定义了4个方法:设置词典setDic,获取词典getDic,对源文件分词后写入目标文件fileProcessor,对text字符串进行分词后返回结果链表textProcess。
接着是实现了SegmentProcessorImpl接口的抽象类MaxSegmentProcessor:
java 代码
抽象类中实现了具体实现类中相同的操作:设置词典setDic,获取词典getDic,初始化分隔字符(如:逗号,句号等)
initSeperator,文件操作fileProcessor(先从源文件中读入内容构建成为字符串后,调用textProcess操作进行分词,最后将结果输出到目标文件中)。