NLPChina_ansj_seg JAVA 实现热词及分词统计

本文介绍了如何使用JAVA实现文章的中英文混排分词和统计高频词,通过ansj_seg库处理朱自清散文《荷塘月色》的部分内容作为示例,最终得到排序后的热词列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

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

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

废话不多说上源码。

工具类:

package com.sim;

import org.ansj.splitWord.analysis.ToAnalysis;

import java.io.*;
import java.util.*;

public class NLPTools {

    public static Map<String,String> wordFrequency(String article) {
        Map<String, Integer> map = new HashMap<String, Integer>();
        Map<String,String > info = new HashMap<String, String>();
        String result 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值