• Anjs分词器以及关键词抓取使用的方法


    首先介绍一下这个网址非常有用本文所有的关于Anjs起源来自这里请先查看一下
    在本次测试使用的是
     
     
    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Map.Entry;
     
    import org.ansj.splitWord.analysis.BaseAnalysis;
    import org.ansj.splitWord.analysis.DicAnalysis;
    import org.ansj.splitWord.analysis.IndexAnalysis;
    import org.ansj.splitWord.analysis.NlpAnalysis;
    import org.ansj.splitWord.analysis.ToAnalysis;
    import org.ansj.app.keyword.KeyWordComputer;
    import org.ansj.app.keyword.Keyword;
    import org.apache.hadoop.io.Text;
     
    import com.sun.javafx.collections.MapAdapterChange;
    public static void main(String[] args) {
    // 分词
    String str = "洁面仪配合洁面深层清洁毛孔 清洁鼻孔面膜碎觉使劲挤才能出一点点皱纹 脸颊毛孔修复的看不见啦 草莓鼻历史遗留问题没辙 脸和脖子差不多颜色的皮肤才是健康的 长期使用安全健康的比同龄人显小五到十岁 28岁的妹子看看你们的鱼尾纹" ;
     
    System.out.println(BaseAnalysis.parse(str));
    System.out.println(ToAnalysis.parse(str));
    System.out.println(DicAnalysis.parse(str));
    System.out.println(IndexAnalysis.parse(str));
    System.out.println(NlpAnalysis.parse(str));
    }
    结果
     
    抓取关键词
    //抓取关键词 并转换成String类型
    public static String zhuaqu(String content){
    KeyWordComputer key=new KeyWordComputer(10);
    Iterator it = key.computeArticleTfidf(content).iterator() ;
    StringBuffer value = new StringBuffer();
    while(it.hasNext()) {
    Keyword key2=(Keyword)it.next();
    value.append(key2.getName()+"="+key2.getFreq()+" ");
    }
    String out = value.toString();
    String OutValue = out.substring(0, out.length()-1);
    System.out.println(OutValue);
    return OutValue;
    }
    调用
    String tt2 ="咖啡什么味道的比较hao";
    String pp = zhuaqu(tt2);
    结果
    //抓取关键字并返回map
    public static HashMap<String, Integer> TestMap(String content){
    KeyWordComputer key=new KeyWordComputer(10);
    Iterator it = key.computeArticleTfidf(content).iterator() ;
    HashMap<String,Integer> valuemap = new HashMap<String,Integer>();
    while(it.hasNext()) {
    Keyword key2=(Keyword)it.next();
    valuemap.put(key2.getName(), key2.getFreq());
    }
     
    return valuemap;
    }
    结果
     
    以下两个放法仅做参考自己看情况使用切分
    //字符串转换成map
    public static HashMap<String, Integer> StringToMap(String value){
    String[] cc = value.toString().split(" ");
    String[] bb =null;
    HashMap<String, Integer> tmpMap = new HashMap<String, Integer>();
    for (int i = 0; i < cc.length; i++) {
    bb = cc[i].toString().split("=");
    tmpMap.put(bb[0], Integer.parseInt(bb[1]));
    bb=null;
    }
    return tmpMap;
    }
     
    //map转换成字符串
    private String MapToString(HashMap<String, Integer> map1) {
    // TODO Auto-generated method stub
    StringBuffer OutValue = new StringBuffer();
    String outString = "";
    for (Entry<String, Integer> entry : map1.entrySet()) {
    OutValue.append(entry.getKey() + " " + entry.getValue());
    }
    outString = OutValue.toString();
    return outString;
    }
     
    本文章有很多不足之处,希望大家多多指正。欢迎大家转载,请注明出处!码农打字不易,敬请谅解,谢谢!
  • 相关阅读:
    python- 如何return返回多个值
    python基础之 list和 tuple(元组)
    tomcat日志分析详解
    【转】Mac下升级python2.7到python3.6
    jmeter大神博客笔记
    Charles安装包及破解包下载地址
    【转】测试管理一点点建议
    【转】优秀PMP项目经理必备的8个要素
    【这特么是个坑。。。】iOS 10.3下解决Charles抓包ssl证书信任问题
    【转】快捷支付详解--比较详细
  • 原文地址:https://www.cnblogs.com/baierfa/p/6169246.html
Copyright © 2020-2023  润新知