ITPub博客

首页 > 人工智能 > > HanLP分类模块的分词器介绍

HanLP分类模块的分词器介绍

作者:adnb34g 时间:2019-06-14 10:13:35 0 删除 编辑


最近发现一个很勤快的大神在分享他的一些实操经验,看了一些他自己关于 hanlp方面的文章,写的挺好的!转载过来分享给大家!以下为分享原文(无意义的内容已经做了删除)

如下图所示, HanLP的分类模块中单独封装了适用分类的分词器,当然这些分词器都是对HanLP提供的分词器的封装。分类模块中提供的分词器都在tokenizer包中。包括:

BigramTokenizer这是一个2gram分词器,也就是把连续的2字认为是一个词

BlankTokenizer这是一个空白符分词器,以文本中的空白符作为词语间隔

HanLPTokenizer这是一个实词分词器,也就是只保留实词,它是分类模块的默认分词器

 

 

如果需要修改.分类模块的分词器,需要在加载文本数据之前,设置分词器,示例代码如下:

 

IDataSet trainingCorpus = new FileDataSet().                           // FileDataSet省内存,可加载大规模数据集

            setTokenizer(new HanLPTokenizer()).                                // 支持不同的ITokenizer,详见源码中的文档

            load(CORPUS_FOLDER, "UTF-8", 0.9);                // 前90%作为训练集

        IClassifier classifier = new NaiveBayesClassifier();

        classifier.train(trainingCorpus);

 

还需要注意的是,这三种分词器其实都不太适合做情感分类的分词器,如果想用标准分词器作为情感分类的分词器,则用户需要自定义一个分词器类,该类需要实现 ITokenizer接口并封装标准分词器。(如果直接调用setTokenizer方法传递下图HanLP分词器包中的分词器实例,则会报错)

 

 

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31524777/viewspace-3160499/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
八年IT互联从业经历,专注网络营销、大数据、人工智能等领域的知识分享

注册时间:2018-03-09

  • 博文量
    184
  • 访问量
    165346