jcseg分词器的基本使用

打印 上一主题 下一主题

主题 960|帖子 960|积分 2880

Jcseg是什么?

Jcseg是基于mmseg算法的一个轻量级中文分词器,同时集成了关键字提取,关键短语提取,关键句子提取和文章自动摘要等功能,并且提供了一个基于Jetty的web服务器,方便各大语言直接http调用,同时提供了最新版本的lucene, solr, elasticsearch/opensearch的分词接口!Jcseg自带了一个 jcseg.properties文件用于快速配置而得到适合不同场合的分词应用,例如:最大匹配词长,是否开启中文人名识别,是否追加拼音,是否追加同义词等!
官方网址:https://gitee.com/lionsoul/jcseg
工具类
  1. package org.example;
  2. import org.lionsoul.jcseg.ISegment;
  3. import org.lionsoul.jcseg.IWord;
  4. import org.lionsoul.jcseg.dic.ADictionary;
  5. import org.lionsoul.jcseg.dic.DictionaryFactory;
  6. import org.lionsoul.jcseg.extractor.SummaryExtractor;
  7. import org.lionsoul.jcseg.extractor.impl.TextRankSummaryExtractor;
  8. import org.lionsoul.jcseg.segmenter.SegmenterConfig;
  9. import org.lionsoul.jcseg.sentence.SentenceSeg;
  10. import java.io.IOException;
  11. import java.io.StringReader;
  12. public class TextUtils {
  13.     private static final SegmenterConfig config;
  14.     private static final ADictionary dic;
  15.     private static final ISegment seg;
  16.     static {
  17.         // 创建配置实例,使用默认配置传递true
  18.         config = new SegmenterConfig(true);
  19.         //创建默认单例词库实现,并且按照config配置加载词库
  20.         dic = DictionaryFactory.createSingletonDictionary(config);
  21.         //依据给定的ADictionary和SegmenterConfig来创建ISegment
  22.         //这里创建的是NLP切分模式,它基于复杂模式添加人名、邮箱、电话等等切分
  23.         seg = ISegment.NLP.factory.create(config, dic);
  24.     }
  25.     /**
  26.      * 分词
  27.      * @param text 文本
  28.      * @return 分词结果
  29.      * @throws IOException io异常
  30.      */
  31.     public static String wordSegmentation(String text) throws IOException {
  32.         //备注:以下代码可以反复调用,seg为非线程安全
  33.         //设置要被分词的文本
  34.         seg.reset(new StringReader(text));
  35.         //获取分词结果
  36.         IWord word;
  37.         StringBuilder sb = new StringBuilder();
  38.         while ((word = seg.next()) != null) {
  39.             sb.append(word.getValue()).append("|");
  40.         }
  41.         return sb.substring(0, sb.length() - 1);
  42.     }
  43.     /**
  44.      * 截取摘要
  45.      * @param text 文本
  46.      * @param length 摘要长度
  47.      * @return 摘要
  48.      * @throws IOException io异常
  49.      */
  50.     public static String getSummary(String text, int length) throws IOException {
  51.         SummaryExtractor extractor = new TextRankSummaryExtractor(seg, new SentenceSeg());
  52.         return extractor.getSummary(new StringReader(text), length);
  53.     }
  54. }
复制代码
使用
  1. package org.example;
  2. import java.io.IOException;
  3. public class Main {
  4.     public static void main(String[] args) throws IOException {
  5.         String text = TextUtils.wordSegmentation("我是张三,来自黑龙江哈尔冰。性别男,爱好女,联系方式16666661234。");
  6.         System.out.println(text);
  7.         String summary = TextUtils.getSummary("路上只我一个人,背着手踱着。这一片天地好像是我的;我也像超出了平常旳自己,到了另一世界里。我爱热闹,也爱冷静;爱群居,也爱独处。像今晚上,一个人在这苍茫旳月下,什么都可以想,什么都可以不想,便觉是个自由的人。白天里一定要做的事,一定要说的话,现在都可不理。这是独处的妙处,我且受用这无边的荷香月色好了。\n" +
  8.                 "\n" +
  9.                 "曲曲折折的荷塘上面,弥望旳是田田的叶子。叶子出水很高,像亭亭旳舞女旳裙。层层的叶子中间,零星地点缀着些白花,有袅娜(niǎo,nuó)地开着旳,有羞涩地打着朵儿旳;正如一粒粒的明珠,又如碧天里的星星,又如刚出浴的美人。微风过处,送来缕缕清香,仿佛远处高楼上渺茫的歌声似的。这时候叶子与花也有一丝的颤动,像闪电般,霎时传过荷塘的那边去了。叶子本是肩并肩密密地挨着,这便宛然有了一道凝碧的波痕。叶子底下是脉脉(mò)的流水,遮住了,不能见一些颜色;而叶子却更见风致了。\n" +
  10.                 "\n" +
  11.                 "月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。虽然是满月,天上却有一层淡淡的云,所以不能朗照;但我以为这恰是到了好处——酣眠固不可少,小睡也别有风味的。月光是隔了树照过来的,高处丛生的灌木,落下参差的斑驳的黑影,峭楞楞如鬼一般;弯弯的杨柳的稀疏的倩影,却又像是画在荷叶上。塘中的月色并不均匀;但光与影有着和谐的旋律,如梵婀(ē)玲(英语violin小提琴的译音)上奏着的名曲。\n" +
  12.                 "\n" +
  13.                 "荷塘的四面,远远近近,高高低低都是树,而杨柳最多。这些树将一片荷塘重重围住;只在小路一旁,漏着几段空隙,像是特为月光留下的。树色一例是阴阴的,乍看像一团烟雾;但杨柳的丰姿,便在烟雾里也辨得出。树梢上隐隐约约的是一带远山,只有些大意罢了。树缝里也漏着一两点路灯光,没精打采的,是渴睡人的眼。这时候最热闹的,要数树上的蝉声与水里的蛙声;但热闹是它们的,我什么也没有。", 64);
  14.         System.out.println(summary);
  15.     }
  16. }
复制代码
结果
  1. 我|是|张三|,|来自|黑龙江|哈|尔|冰|。|性别|男|,|爱好|女|,|联系方式|16666661234|。
  2. 月光是隔了树照过来的,高处丛生的灌木,落下参差的斑驳的黑影,峭楞楞如鬼一般;弯弯的杨柳的稀疏的倩影,却又像是画在荷叶上。
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

羊蹓狼

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表