一种拼音分词器的JAVA实现

本文介绍了一种基于JAVA的全拼分词器实现,能够将输入的字符串正确地分词,例如将'woaibeijintiananmen'分词为'wo ai bei jin tian an men',以及'sousuozhongdefenciqiyouhenduozhong'分词为'sou suo zhong de fen ci qi you hen duo zhong'。
摘要由CSDN通过智能技术生成
搜索中的分词器有很多种,包括中文、英文,一般的网站都会有站内搜索功能,也就是对用户输入的内容进行处理,本文对中文的全拼实现了一

个分词器,原理很简单,就是模式匹配。根据中文全拼的特点,即声母和韵母配对,首先列举出所有的声母,再分别列举出所有声母对应的韵母

集,分词的过程就是遍历匹配的过程。具体代码如下:

import java.util.ArrayList;

public class SpellTool {

	static String result = "";// 最后要显示的结果
	private static ArrayList<ArrayList<String>> ym = new ArrayList<ArrayList<String>>();// 单字集合
	private static ArrayList<String> sm = new ArrayList<String>();// 声母集合
	private static ArrayList<String> yy = new ArrayList<String>();// 单字集合
	private static ArrayList<String> ym_b = new ArrayList<String>();// 声母b的韵母集合
	private static ArrayList<String> ym_c = new ArrayList<String>();// 声母c的韵母集合
	private static ArrayList<String> ym_d = new ArrayList<String>();// 声母d的韵母集合
	private static ArrayList<String> ym_f = new ArrayList<String>();// 声母f的韵母集合
	private static ArrayList<String> ym_g = new ArrayList<String>();// 声母g的韵母集合
	private static ArrayList<String> ym_h = new ArrayList<String>();// 声母h的韵母集合
	private static ArrayList<String> ym_j = new ArrayList<String>();// 声母j的韵母集合
	private static ArrayList<String> ym_k = new ArrayList<String>();// 声母k的韵母集合
	private static ArrayList<String> ym_l = new ArrayList<String>();// 声母l的韵母集合
	private static ArrayList<String> ym_m = new ArrayList<String>();// 声母m的韵母集合
	private static ArrayList<String> ym_n = new ArrayList<String>();// 声母n的韵母集合
	private static ArrayList<String> ym_p = new ArrayList<String>();// 声母p的韵母集合
	private static ArrayList<String> ym_q = new ArrayList<String>();// 声母q的韵母集合
	private static ArrayList<String> ym_r = new ArrayList<String>();// 声母r的韵母集合
	private static ArrayList<String> ym_s = new ArrayList<String>();// 声母s的韵母集合
	private static ArrayList<String> ym_t = new ArrayList<String>();// 声母t的韵母集合
	private static ArrayList<String> ym_w = new ArrayList<String>();// 声母w的韵母集合
	private static ArrayList<String> ym_x = new ArrayList<String>();// 声母x的韵母集合
	private static ArrayList<String> ym_y = new ArrayList<String>();// 声母y的韵母集合
	private static ArrayList<String> ym_z = new ArrayList<String>();// 声母z的韵母集合
	private static ArrayList<String> ym_sh = new ArrayList<String>();// 声母sh的韵母集合
	private static ArrayList<String> ym_zh = new ArrayList<String>();// 声母zh的韵母集合
	private static ArrayList<String> ym_ch = new ArrayList<String>();// 声母ch的韵母集合

	static {
		sm.add("b");//
		sm.add("c");
		sm.add("d");
		sm.add("f");
		sm.add("g");
		sm.add("h");
		sm.add("j");
		sm.add("k");
		sm.add("l");
		sm.add("m");
		sm.add("n");
		sm.add("p");
		sm.add("q");
		sm.add("r");
		sm.add("s");
		sm.add("t");
		sm.add("w");
		sm.add("x");
		sm.add("y");
		sm.add("z");
		sm.add("sh");
		sm.add("zh");
		sm.add("ch");

		yy.add("
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值