当前位置:   article > 正文

NLPChina_ansj_seg JAVA 实现热词及分词统计_java 分词 热

java 分词 热

前言:

笔者最近遇到一个需求:将文章输入后输出文章中的高频词,这是个简短的需求,但细分下便会出现许多细节重点。笔者细化需求后确定了这几个步骤:1. 文章分词(包括中英文混词)——> 2. 分词统计——>3. 推荐热词。

根据上述的简单需求,我就想用原生JAVA通过某些数据结构实现,由于知识面有限且笔者目前是名在校的学生,实现了英文下的分词、中文下的分词。但是遇到中英文混排的怎么也合并不了。经过两天的各种思考各种分析结果以失败告终。在查阅资料的时候发现了阿帕奇的OpenNLP 工具,然后仔细的看了看源码。。看的也是云里雾里的,但基本思想也了解了。虽然阿帕奇的OpenNLP很牛逼,但是我还是选择了一个国人自产基于n-Gram+CRF+HMM的分词JAVA实现。具体开发文档和源码可以访问GITHUB

废话不多说上源码。

工具类:

  1. package com.sim;
  2. import org.ansj.splitWord.analysis.ToAnalysis;
  3. import java.io.*;
  4. import java.util.*;
  5. public class NLPTools {
  6. public static Map<String,String> wordFrequency(String article) {
  7. Map<String, Integer> map = new HashMap<String, Integer>();
  8. Map<String,String > info = new HashMap<String, String>();
  9. String result = ToAnalysis.parse(article).toStringWithOutNature();
  10. System.out.println(result);
  11. String[] words = result.split(",");
  12. for(String word: words){
  13. String str = word.trim();
  14. // 过滤空白字符
  15. if (str.equals(""))
  16. continue;
  17. //
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/360575?site
推荐阅读
相关标签
  

闽ICP备14008679号