import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.TermAttribute;
import org.wltea.analyzer.lucene.IKAnalyzer;
/**
* 对一段文字进行分词
* @author Administrator
*/
public class IkAnalyzerWord {
private String resource;
private List<String> result = new ArrayList<String>();
public IkAnalyzerWord(String resource) throws IOException {
this.resource = resource;
analyzer();
}
private void analyzer() throws IOException {
Analyzer analyzer = new IKAnalyzer();
TokenStream ts = analyzer.tokenStream("*", new StringReader(resource));
ts.addAttribute(TermAttribute.class);
//public <A extends Attribute> A addAttribute(Class<A> attClass)
//The caller must pass in a Class<? extends Attribute> value.
//This method first checks if an instance of that class is already in this AttributeSource and returns it.
//Otherwise a new instance is created, added to this AttributeSource and returned.
while (ts.incrementToken()) {
TermAttribute ta = ts.getAttribute(TermAttribute.class);
//public <A extends Attribute> A getAttribute(Class<A> attClass)
//The caller must pass in a Class<? extends Attribute> value.
//Returns the instance of the passed in Attribute contained in this AttributeSource
result.add(ta.term());
//Returns the Token's term text.
}
}
public List<String> getResult() {
return this.result;
}
public static void main(String[] args) throws IOException {
IkAnalyzerWord ik = new IkAnalyzerWord("今天的大风终于小了,但是又起雾了今天的大风终于小了,但是又起雾了");
System.out.println(ik.getResult());
}
}
输出结果(我设置了stopword词典)
[大风, 终于, 小了, 雾, 大风, 终于, 小了, 雾]
分享到:
相关推荐
IKAnalyzer5对词典进行了优化,提高了分词速度和准确性,支持动态加载词典,可自定义扩展词典,同时具备智能词组分词和精确模式,兼顾了搜索的准确性和效率。对于中文搜索引擎而言,分词的准确性至关重要,IK...
中文分词IKAnalyzer和高亮highlighter的使用”指出,这个主题将探讨如何在Lucene中应用IKAnalyzer进行中文分词,以及如何使用高亮器(highlighter)来突出搜索结果中的关键词。Lucene是Apache软件基金会的一个开放源...
- 分词器能够准确识别并处理各种文本,例如在一段介绍IK Analyzer的文字中,它能够正确将“IKAnalyzer”拆分为“ik-analyzer”,同时处理日期、版本号等非标准格式的词汇。 - 在处理公司名称时,如“永和服装饰品...
IKAnalyzer是一款基于Java语言开发的中文分词工具包,它在Lucene的基础上进行了优化和扩展,特别适用于全文检索和自然语言处理任务。IKAnalyzer提供了强大的中文分词能力,能够有效地识别和处理中文词汇,提高了搜索...
- **配置IK Analyzer**:在Lucene项目中,需要将IK Analyzer的jar包添加到类路径,并在配置文件中指定使用IKAnalyzer作为默认的分词器。 - **创建索引**:利用IK Analyzer进行中文文档的分词,然后使用Lucene的...
IKAnalyzer3.2是中文分词工具的一个稳定版本,它主要设计用于提高中文文本处理的效率和准确性。分词在信息检索、自然语言处理、文本挖掘等领域扮演着至关重要的角色,因为它是理解中文文本基础的第一步。IKAnalyzer...
3. **Analyzer**:用于对输入文本进行分词,不同的Analyzer适用于不同语言。对于中文,我们需要一个能处理中文词汇的Analyzer。 4. **IndexReader**:用于读取已建立的索引,获取文档信息。 5. **IndexSearcher**:...
IKAnalyzer是一款开源的、基于Java实现的中文分词工具,主要用于对中文文本进行分词处理。它以其高效、灵活的特性,在许多Java开发的搜索引擎和自然语言处理项目中得到广泛应用。这个"IKanalyzer 分词小测试例子...
IKAnalyzer 是一个专门为中文处理设计的开源分词器,它在中文信息检索、自然语言处理等领域有着广泛的应用。IKAnalyzer 的目标是提供一个轻量级、高性能、易扩展的中文分词解决方案。在这个主题中,我们将深入探讨 ...
IKAnalyzer是一款针对中文分词的开源工具,主要应用于搜索引擎或者信息检索系统中,对中文文本进行高效的分词处理。在Lucene这样的全文检索框架中,IKAnalyzer扮演着至关重要的角色,因为它能帮助系统准确地理解并...
1. 对于一段标准的中文描述,“IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。”,IKAnalyzer能够精准地识别并分割出诸如“ikanalyzer”、“是”、“一个”、“开源”、“的”、“基于”、...
3. **智能词性标注**:IKAnalyzer不仅能进行分词,还能进行词性的标注,这在信息检索和自然语言处理中非常重要,可以提高查询匹配的准确性和理解文本的深度。 4. **动态加载词典**:IKAnalyzer支持在运行时动态加载...
IKAnalyzer是一款针对中文处理的开源分词工具,广泛应用于搜索引擎、信息检索系统、文本挖掘等领域。它是基于Java语言开发的,能够很好地与Lucene、Solr等全文检索框架集成,提供高效的中文分词能力。 首先,我们要...
然后,使用Lucene的`Analyzer`接口创建一个IK分词器实例,将网页内容传递给分词器进行分词。接着,使用Lucene的`IndexWriter`将分词后的文档写入索引。 4. **查询索引** 当用户输入关键词时,使用同样的IK分词器...
- 该示例展示了IKAnalyzer如何将一段中文文本进行精确分词,包括对复合词汇的识别和分割。 - **示例2**:“永和服装饰品有限公司” - 分词结果:永和|和服|服装|装饰品|装饰|饰品|有限|公司 - 这个例子说明了IK...
### IKAnalyzer中文分词好...以上示例展示了如何创建`IKAnalyzer`实例,以及如何使用它对一段文本进行分词并输出结果。通过这种方式,开发者可以轻松地将IKAnalyzer集成到自己的应用程序中,实现高效的中文分词功能。
IK分词器(Intelligent Chinese Analyzer for Lucene)是一款针对中文的开源分词工具,适用于Lucene和Solr等全文检索引擎。它具有高性能、高准确率的特点,支持自定义扩展词典,可以灵活应对各种业务场景。2012版的...
在“ikanalyzer 词频计算”这个主题中,我们关注的是如何利用ikanalyzer来统计一段文本中各个词语出现的频率。词频计算是自然语言处理(NLP)中的基础任务,有助于理解文本的主要内容和主题。ikanalyzer通过高效的...
3. **创建索引**:使用配置好的IKAnalyzer对文档进行分词,并构建Lucene的索引。 4. **搜索**:在查询时,同样使用IKAnalyzer进行分词,然后匹配索引中的内容,返回相关结果。 总的来说,IKAnalyzer6.5.0是Java...
Ikanalyzer是专门为中文处理设计的一个分词器,而stopword+dic则涉及到如何定制和使用自定义的停用词表。 首先,我们来谈谈Ikanalyzer。Ikanalyzer是基于IK Analyzer开源项目的一个分词器,专门针对中文进行分词...