当前位置:   article > 正文

推荐一个自然语言处理入门框架_java nlp框架

java nlp框架

如果目前对nlp还不知道是拿来干啥的,我这里推荐一个之前用得比较多的开源项目 Hanlp,这个项目的作者自己写了一本自然语言处理的书籍
《自然语言处理入门》
可以当做入门书籍参考学习一下。然后再看看自己对nlp究竟有没有兴趣。

简单介绍

作者写了一个配套的社区 hanlp的自然语言处理社区

在GitHub上的仓库地址 hankcs/HanLP,截止到目前,在GIthub上有24.9k个星。

这本书支持Java、Python两种语言。而且一直在迭代和更新。实测分词效果还可以。下面是简单用法。


实际应用

由于本身该框架支持Java和Python两种语言,所以实际应用也由这两种语言组成

Java版

首先,下载该框架的 jar 到本地,然后将其打到本地maven仓库中,然后再以依赖的方式引入到maven项目中。

引入依赖如下:

<dependency>
  <groupId>com.hankcs.hanlp</groupId>  <!--自定义-->
  <artifactId>hankcs</artifactId>    <!--自定义-->
  <version>2.0</version> <!--自定义-->
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

分词的例子:

/**
* 分词并去重(这里主要是用于建树的过程)
*
* @param text 文本
* @return 去重后的词语
*/
private Map<String, AtomicInteger> separate(String text) {
  Segment segment = HanLP.newSegment().enableOffset(true);
  List<Term> terms = segment.seg(text);
  List<Word> results = new ArrayList<>();
  results.addAll(terms
    .stream()
    .map(term -> new Word(term.word, term.nature.toString()))
    .collect(Collectors.toList()));
  Map<String, AtomicInteger> ans = getFrequency(results);
  return ans;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

其中 Segment segment = HanLP.newSegment().enableOffset(true); 是定义了一个分词句柄,旨在描述使用什么算法,然后调用 segment.seg(text); 进行分词。

除了分词以外,书中还介绍了文本分类,文本摘要、关键词提取等等自然语言处理的内容,同时借以框架的方式举例子,在知晓理论的基础上让实践来辅助理解,大大增加了入门的成功率。


Python版


下面是一个分词的例子

import hanlp


class TextCheck(object):
    def __init__(self):
        self.tokenizer = hanlp.load('LARGE_ALBERT_BASE')

    def separate_words(self, tests: list) -> list:
        return self.tokenizer(tests)


if __name__ == '__main__':
    x = TextCheck()
    ans = x.separate_words(['今天你吃了吗'])
    print(ans)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17


可以发现,入手非常简单快捷。同时,这本书也给我们展示了更复杂的用法,比如,文本分类,情感分析,以及如何进行参数调优等。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/386386?site
推荐阅读
相关标签
  

闽ICP备14008679号