FoolNLTK 是一款基于深度学习的中文文本处理工具,暂时包含分词,词性标注,实体识别。现发布 Java 版。
<dependency> <groupId>me.midday</groupId> <artifactId>JFoolNLTK</artifactId> <version>1.0</version></dependency>
Example
// 单文本 String text = "北京欢迎你"; LexicalAnalyzer lexicalAnalyzer = FoolNLTK.getLSTMLexicalAnalyzer(); // 分词 List<List<Word>> words = lexicalAnalyzer.cut(text); for(List<Word> ws: words){
ws.forEach(System.out::println); } // 词性标注 List<List<Word>> posWords = lexicalAnalyzer.pos(text); for(List<Word> ws: posWords){
ws.forEach(System.out::println); } // 实体识别 List<List<Entity>> entities = lexicalAnalyzer.ner(text); for(List<Entity> ents :entities){
ents.forEach(System.out::println); } // 分词,词性,实体识别 List<AnalysisResult> results = lexicalAnalyzer.analysis(text); results.forEach(System.out::println); // 多文本 System.out.println();
System.out.println("多文本:");
List<String> docs = new ArrayList<>();
docs.add(text); docs.add(text); // 分词 List<List<Word>> dWords = lexicalAnalyzer.cut(docs); for(List<Word> ws: dWords){
ws.forEach(System.out::println); } // 词性标注 List<List<Word>> dPosWords = lexicalAnalyzer.pos(docs); for(List<Word> ws: dPosWords){
ws.forEach(System.out::println); }
List<List<Entity>> dEntities = lexicalAnalyzer.ner(docs); for(List<Entity> ents :dEntities){
ents.forEach(System.out::println); } // 分词, 词性标注,实体识别 List<AnalysisResult> dResults = lexicalAnalyzer.analysis(docs); dResults.forEach(System.out::println);