Kuromoji是一个开源的,基于java语言开发的轻量级的日文分词工具包。捐赠给了ASF之后被内置在Lucene 和 Solr中,作为默认的日文分词器(默认的中文分词器是smartcn)。但他也不依赖Lucene 或 Solr,可以单独使用。采用维特比算法(Viterbi algorithm),默认使用IPA字典。
其他有名的还有lucene-gosen :
http://code.google.com/p/lucene-gosen/ 以及Google・Amazon・楽天等日本大的搜索引擎使用的Rosette :
http://www.basistech.jp/base-linguistics/japanese/ 。Rosette是商业版的,能够适用于很多语言,比如:中文,日文,韩文,英文等等。
http://www.atilika.org/
版本:kuromoji-0.7.7.jar
(1)2行代码即可分词
Tokenizer tokenizer = Tokenizer.builder().build();
List<Token> tokens = tokenizer.tokenize(word);
分词后的Token:
for (Token token : tokens) {
System.out.println("==================================================");
System.out.println("allFeatures : " + token.getAllFeatures());
System.out.println("partOfSpeech : " + token.getPartOfSpeech());
System.out.println("position : " + token.getPosition());
System.out.println("reading : " + token.getReading());
System.out.println("surfaceFrom : " + token.getSurfaceForm());
System.out.println("allFeaturesArray : " + Arrays.asList(token.getAllFeaturesArray()));
System.out.println("辞書にある言葉? : " + token.isKnown());
System.out.println("未知語? : " + token.isUnknown());
System.out.println("ユーザ定義? : " + token.isUser());
}
(2)3中分词模式
String word = "日本経済新聞でモバゲーの記事を読んだ。";
Builder builder = Tokenizer.builder();
// Normal
Tokenizer normal = builder.build();
List<Token> tokensNormal = normal.tokenize(word);
disp(tokensNormal);
// Search
builder.mode(Mode.SEARCH);
Tokenizer search = builder.build();
List<Token> tokensSearch = search.tokenize(word);
disp(tokensSearch);
// Extends
builder.mode(Mode.EXTENDED);
Tokenizer extended = builder.build();
List<Token> tokensExtended = extended.tokenize(word);
disp(tokensExtended);
引用
日本経済新聞 | で | モバゲー | の | 記事 | を | 読ん | だ | 。 |
日本 | 経済 | 新聞 | で | モバゲー | の | 記事 | を | 読ん | だ | 。 |
日本 | 経済 | 新聞 | で | モ | バ | ゲ | ー | の | 記事 | を | 読ん | だ | 。 |
(3)自定义词典
// 使用自定义字典
InputStream is = UserDictSample.class.getClassLoader().getResourceAsStream("resources/userdict_ja.txt");
Builder builder = Tokenizer.builder();
builder.userDictionary(is);
Tokenizer userTokenizer = builder.build();
List<Token> tokens2 = userTokenizer.tokenize(word);
StringBuilder sb2 = new StringBuilder();
for (Token token : tokens2) {
sb2.append(token.getSurfaceForm() + " | ");
}
System.out.println(sb2.toString());
引用
稀 | 勢 | の | 里 | 寛 |
稀勢の里 | 寛 |
resources/userdict_ja.txt:
引用
# 単語,形態素解析後の単語(単語を分ける場合は、スペースで区切る),読み,品詞
稀勢の里寛,稀勢の里 寛,キセノサト ユタカ,カスタム人名
(4)汉字转片假名
String word = "東京特許許可局";
Builder builder = Tokenizer.builder();
builder.mode(Mode.NORMAL);
Tokenizer tokenizer = builder.build();
List<Token> tokens = tokenizer.tokenize(word);
StringBuilder sb = new StringBuilder();
for (Token token : tokens) {
sb.append(token.getReading() + " | ");
}
System.out.println(sb.toString());
引用
トウキョウ | トッキョ | キョカ | キョク |
分享到:
相关推荐
- **搜索引擎**:kuromoji可以帮助构建更智能的日文搜索引擎,通过精确的分词提高查询的匹配度。 - **自动补全**:在输入框中,kuromoji可以实时分析用户的输入,提供相关的自动补全建议。 - **情感分析**:通过词性...
黑友寺 Kuromoji是一款易于使用且功能齐全的日本形态分析仪分词。 将文本分割成单词(或词素) 词性标记。 分配单词类别(名词,动词,质词,形容词等) 合法化。 获取变形动词和形容词的字典形式阅读。 提取汉字的...
IKAnalyzer是一个基于Java实现的中文分词器,它的设计目标是提供一个灵活、高效的中文处理工具。在提供的文件中,我们看到了`IKAnalyzer3.2.5Stable.jar`和`IKAnalyzer2012_u6.jar`两个版本,它们都是IKAnalyzer的...
java运行依赖jar包
jar包,官方版本,自测可用
lucene-kuromoji.jar 的下载
jar包,官方版本,自测可用
日本形态分析器的 JavaScript 实现。 这是的纯 JavaScript 移植。 你可以在看到 kuromoji.js 是如何工作的。 目录 目录树如下: build/ kuromoji.js -- JavaScript file for browser (Browserified) demo/ -- ...
Emacs的一个程序包,它使用Kuromoji标记器和词性标记器将日语文本字体化。 安装 ,然后将jar文件放入某个目录。 如果尚未安装Java,请安装。 将其放入您的Emacs初始化文件中: (require 'kuromoji) (setq ...
弹性搜索框 一个带有kuromoji插件的用于Elasticsearch的wercker盒子。入门$ git clone https://github.com/wantedly/box-kuromoji-elasticsearch.git && cd box-kuromoji-elasticsearch$ script/bootstrap版本0.1.0 ...
jar包,官方版本,自测可用
总结来说,Kuromoji API为Java开发者提供了强大的日语文本处理能力,无论是基础的分词任务,还是复杂的语义分析,都能借助Kuromoji实现。通过对Kuromoji的深入理解和应用,开发者可以在日语相关的项目中提升效率,...
Kuromoji是用于日语文本分析的高质量分词器,它允许Solr和Lucene正确地索引和搜索日语内容。如果你的应用程序需要处理日文数据,那么这个组件是必不可少的。为了在Solr中使用Kuromoji,你需要配置解析器(Analyzer)...
马可夫链-kuromoji 生成由kuromoji.js驱动的markov链词安装npm install markov-chain-kuromoji字典路径process.env.KUROMOJI_DIC_PATH用法var fs = require('fs');var MarkovChain = require('markov-chain-kuromoji...
2. **lucene-kuromoji-3.6.2.jar**:Apache Lucene是一个全文搜索引擎库,而kuromoji是其针对日语的分词器。这个组件能够对日语文档进行索引和搜索,对日文文本处理具有重要意义。 3. **lucene-smartcn-3.6.2.jar**...
1. **高级包装**:kuromojin 为 kuromoji.js 添加了更易于使用的接口,简化了初始化和分词过程,使得开发者能够更快地集成到项目中。 2. **性能优化**:kuromojin 可能包含了额外的性能优化策略,如缓存机制,以...
jar包,官方版本,自测可用
1. "lucene-kuromoji-3.6.2.jar":这是Apache Lucene的一个日语分词器,Kuromoji,用于处理日语文本。 2. "lucene-smartcn-3.6.2.jar":这个是Lucene的智能中文分词器,用于分析和索引中文文本。 3. "lucene-core-...
6. `lucene-kuromoji-3.6.0-javadoc.jar`:这个是Lucene的日语分词器Kuromoji的API文档,用于处理日语文本。 7. `gson-2.2.2.jar`:Google的Gson库,用于JSON对象和Java对象之间的转换,可能在数据序列化或网络通信...