//最简单实例 String ruiec = “分词测试123456100名”; //剔除指定的分词 s.insertStopWords("100名"); //剔除标点符号(w) s.insertStopNatures("w"); //删除指定字 s.insertStopRegexes("请.*?"); String result1=ToAnalysis.parse(ruiec).recognition(s).toStringWithOutNature().replaceAll(","," "); System.out.println(result1);
以上是使用ansj分词器的最简单实例。
import org.ansj.app.keyword.KeyWordComputer; import org.ansj.app.keyword.Keyword; import org.ansj.domain.Result; import org.ansj.domain.Term; import org.ansj.recognition.impl.StopRecognition; import org.ansj.splitWord.analysis.ToAnalysis; import java.util.*; /** * Created by Liu */ public class SplitWordsByAnsj { public Keyword spiltword(String word) { KeyWordComputer<?> kwc = new KeyWordComputer(5); StopRecognition s = new StopRecognition(); List<Keyword> result=kwc.computeArticleTfidf(word); return result.get(0); } public static void main(String[] args) { String word = "政务云是指通过云计算技术,统筹机房、计算、应用支撑、信息资源等,发挥云计算的虚拟化、高可靠性、高通用性、高可扩展性,使其数据处理快速、按需、弹性服务,为政府行业提供基础设施、支撑软件、应用系统、信息资源、运行保障和信息安全等综合服务平台。"; SplitWordsByAnsj ansj= new SplitWordsByAnsj(); System.out.println(ansj.spiltword(word).toString());//词组 System.out.println(ansj.spiltword(word).getScore());//词组的权重 } }
以上是将一个句子分为几个词组,并展示出词组在句子中所占的权重,根据权重大小输出
KeyWordComputer<?> kwc = new KeyWordComputer(5)可以设置
输出词组的个数
public class SplitWordsByAnsj { public Keyword spiltword(String title,String content) { KeyWordComputer<?> kwc = new KeyWordComputer(5); StopRecognition s = new StopRecognition(); //List<Keyword> result=kwc.computeArticleTfidf(word); List<Keyword> result1=kwc.computeArticleTfidf(title, content); return result1.get(0); } public static void main(String[] args) { String title ="政务云是云计算技术"; String content = "政务云(Government Cloud)是指通过云计算技术,统筹机房、计算、应用支撑、信息资源等,发挥云计算的虚拟化、高可靠性、高通用性、高可扩展性,使其数据处理快速、按需、弹性服务,为政府行业提供基础设施、支撑软件、应用系统、信息资源、运行保障和信息安全等综合服务平台。"; SplitWordsByAnsj ansj= new SplitWordsByAnsj(); System.out.println(ansj.spiltword(title,content).toString());//词组 System.out.println(ansj.spiltword(title,content).getScore());//词组的权重 } }
以上是根据标题将内容分为与标题相关的词组,即关键词
数据包