`

中文分词

阅读更多
//词典
	private Map<String, String> map = new HashMap<String, String>();
	
	//最大词组
	private final static int MAX_PHRASE = 5;
	
	public static void main(String[] args) throws Exception
	{
		StrUtil su = new StrUtil();
		su.initWordMap();
		su.cent("“标准”输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。");
	}
	
	/**
	 * 分词
	 * @param msg
	 */
	public void cent(String msg)
	{
		String ret = "";
		char[] c = msg.toCharArray();
		int length = c.length;
		go : for(int i = 0; i < length; i++)
		{
			//组成词组,并查看字典中是否包含该词组(词组最大值为MAX_PHRASE)
			String tmp = "";
			for(int j = 0; j < MAX_PHRASE; j++)
			{
				int ij = i + j;
				tmp += c[ij < length ? ij : length - 1];
				
				//查看字典中是否包含该词组
				if(map.containsKey(tmp))
				{
					ret += tmp + " ";
					i = i + j;
					continue go;
				}
			}
			
			ret += c[i] + " ";
		}
		
		System.out.println(ret);
	}
	
	/**
	 * 初始化字典
	 * @throws IOException 
	 * @throws Exception
	 */
	private void initWordMap() throws IOException
	{
		File file = new File("c:/a.txt");
		FileInputStream in = new FileInputStream(file);
		byte[] b = new byte[in.available()];
		in.read(b);
		String str = new String(b);
		String[] word = str.split("\r\n");
		for(int i = 0; i < word.length; i++)
		{
			map.put(word[i], null);
		}
	}
分享到:
评论

相关推荐

    baidu.rar_ baidu_dictionary_中文分词_中文分词 词典_分词词典

    在本篇文章中,我们将围绕“baidu.rar_baidu_dictionary_中文分词_中文分词_词典_分词词典”这一主题,深入探讨百度曾经使用的中文分词词典及其在实际应用中的价值。 首先,让我们了解中文分词词典的重要性。词典是...

    分词词库_中文分词词库最新整理(TXT格式)

    中文分词是自然语言处理中的一个基础任务,它是指将连续的汉字序列切分成具有语义意义的词汇序列的过程。与英文等其他语言相比,中文没有明显的单词界限,因此中文分词是进行后续自然语言处理任务(如文本分类、情感...

    c# 中文分词 LUCENE IKAnalyzer

    标题中的"C# 中文分词 LUCENE IKAnalyzer"是指使用C#语言实现的一个中文分词工具,它基于开源全文检索引擎Lucene,并且采用了IKAnalyzer(智能汉字分词系统)的Java版本进行移植。Lucene是一个强大的、高性能的信息...

    lucene.NET 中文分词

    中文分词是将连续的汉字序列切分成具有语义的词语的过程,是自然语言处理(NLP)中的基础步骤。在Lucene.NET中,为了支持中文分词,通常需要结合第三方分词器,如IK Analyzer、HanLP、jieba.NET等。这些分词器具备...

    百度中文分词词库

    "百度中文分词词库"是一个专门用于分词的资源,它包含了大量的词汇及其组合方式,为精确地将连续的汉字序列分割成具有语义意义的词语提供了基础。 首先,我们要理解什么是中文分词。由于中文句子没有明显的空格来...

    中文分词数据集.zip

    中文分词是自然语言处理(NLP)领域中的基础任务,它是将连续的汉字序列切分成具有语义意义的词语序列。在这个“中文分词数据集.zip”压缩包中,包含了一个专门用于训练中文分词模型的数据集。下面将详细讨论中文...

    中文分词词库整理.7z

    中文分词是自然语言处理(NLP)领域中的基础任务,它是将连续的汉字序列切分成具有语义意义的词语序列。在这个“中文分词词库整理.7z”压缩包中,包含的可能是一个精心整理的中文词汇集合,用于支持各种中文分词算法...

    中文分词词库大全词库

    ### 中文分词词库大全词库解析 #### 标题与描述概述 标题:“中文分词词库大全词库” 描述重复强调了一个词典的来源及其格式(TXT)。这表明该词库是为了中文自然语言处理(NLP)任务中的分词而准备的资源。中文...

    微软亚洲研究院中文分词语料库

    中文分词是中文文本处理的基石,因为中文没有像英文那样的空格来自然地划分单词,所以需要通过分词算法将连续的汉字序列切分成有意义的词汇单元。这一过程对于后续的文本分析、信息检索、机器翻译等任务至关重要。 ...

    简单的中文分词程序(练习)

    标签 "中文分词" 是关键点,中文分词是将连续的汉字序列切分成有意义的词语,这是处理中文文本的基础步骤,对于信息检索、情感分析、机器翻译等任务至关重要。常见的中文分词算法有基于词典的匹配方法、统计模型如隐...

    lucene6.6+拼音分词+ik中文分词包

    《深入理解Lucene 6.6:拼音与IK中文分词技术详解》 在信息检索领域,Lucene作为一款强大的全文搜索引擎库,被广泛应用。在处理中文文本时,分词是至关重要的一步,它决定了搜索的精度和效果。本文将详细讲解如何在...

    C#汉字分词程序

    在IT领域,汉字分词是自然语言处理(NLP)中的关键步骤,它涉及到将连续的汉字序列分割成有意义的词汇单元,以便计算机能够理解和分析文本。本项目名为"C#汉字分词程序",它实现了两种常见的分词算法:正向最大匹配...

    matlab中文分词——最大正向匹配法.rar

    在IT领域,中文分词是自然语言处理(NLP)中的关键步骤,它涉及到将连续的汉字序列分割成有意义的词语单元,以便计算机能够理解和分析文本。本项目以"matlab中文分词——最大正向匹配法.rar"为主题,重点讨论了如何...

    中文分词学习版

    CSW中文分词组件,是一套可自动将一段文本按常规汉语词组进行拆分,并以指定方式进行分隔的COM组件。本组件采用独有的高效的分词引擎及拆分算法,具有准确、高速、资源占用率小等特点。为了满足客户对文本语义进行...

    庖丁解牛 中文分词工具

    分词是中文文本处理的基石,因为它能将连续的汉字序列划分为具有语义意义的单元,便于后续的分析和应用。 在"庖丁解牛"中,用户可以通过运行`analyzer.bat`程序来测试和查看分词结果。这是一个便捷的交互方式,允许...

    中文分词+关键字提取.zip

    中文分词是将连续的汉字序列切分成具有语义意义的词语的过程。与英文单词间的空格作为天然分隔符不同,中文没有明确的分词标志,因此需要借助特定算法来完成。常见的分词方法有基于词典的匹配法、统计模型如隐...

    java实现中文分词simhash算法

    中文不同于英文,单词之间没有明显的分隔符,因此在处理中文文本时,我们需要先进行分词,即将连续的汉字序列切分成有意义的词汇单元。Sanford中文分词库是一种常用的分词工具,它基于统计模型,能够根据语料库学习...

    c#中文分词类库 可用来做搜索引擎分词 准确率90% 支持Lucene.net

    分词是自然语言处理中的基础步骤,它将连续的汉字序列切分成有意义的词语,这对于搜索引擎、信息检索、文本分析等多个领域至关重要。这类类库能够帮助开发者高效地实现对中文文本的预处理,提升系统的性能和准确性。...

    ik中文分词词库35万中文分词词库(含电商)

    ik中文分词词库35万中文分词词库(含电商)

    Lucene中文分词器包

    来自“猎图网 www.richmap.cn”基于IKAnalyzer分词算法的准商业化Lucene中文分词器。 1. 正向全切分算法,42万汉字字符/每秒的处理能力(IBM ThinkPad 酷睿I 1.6G 1G内存 WinXP) 2. 对数量词、地名、路名的...

Global site tag (gtag.js) - Google Analytics