问题描述
假设使用某种分词工具对训练样本进行分词.一般根据分词工具的字典将文本分隔并显示出来.我想将文本中与字典中相同的内容去掉,将分词结果剩下的部分添加到原有字典中以达到自动添加新词入词库的目的.不知应如何实现.
解决方案
解决方案二:
importjava.io.*;importjava.util.*;publicclassTokenizer{privatestaticTokenizertok=newTokenizer();publicStringread(Stringpath){StringBuilderstb=newStringBuilder();try{BufferedReaderbuf=newBufferedReader(newFileReader(newFile(path)));Stringsline;while((sline=buf.readLine())!=null){stb.append(sline);}buf.close();}catch(IOExceptione){e.printStackTrace();}returnstb.toString();}publicstaticvoidmain(String[]args){Stringdirecpath="字典的地址";Stringtextpath="文本的地址";String[]text=tok.read(textpath).split("\W+");String[]dire=tok.read(direcpath).split("\W+");Set<String>set1=newHashSet<String>();//文本Set<String>set2=newHashSet<String>();//字典Collections.addAll(set1,text);Collections.addAll(set2,dire);set2.addAll(set1);}}
不知这样是否可以。分别读取字典和文本,将字典和文本的单词分别放到两个set中,通过比较两个set,将文本中存在而字典中不存在的词放到字典中。