今天敲代码了吗?   

ansj分词器使用记录

//最简单实例

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());//词组的权重

    }
}

 

以上是根据标题将内容分为与标题相关的词组,即关键词

 

 

数据包

 

posted on 2019-03-25 20:19  今天学算法了吗?  阅读(795)  评论(0编辑  收藏  举报

导航