• HanLP 中文分词≠自然语言处理!


    https://www.hanlp.com/dynamic.html#

     
    2021-01-04 10:01:31

    中文分词≠自然语言处理!
      中文分词只是第一步;HanLP从中文分词开始,覆盖词性标注、命名实体识别、句法分析、文本分类等常用任务,提供了丰富的API。
      不同于一些简陋的分词类库,HanLP精心优化了内部数据结  构和IO接口,做到了毫秒级的冷启动、千万字符每秒的处理速度,而内存最低仅需120MB。无论是移动设备还是大型集群,都能获得良好的体验。
      不同于市面上的商业工具,HanLP提供训练模块,可以在用户的语料上训练模型并替换默认模型,以适应不同的领域。项目主页上提供了详细的文档,以及在一些开源语料上训练的模型。
      HanLP希望兼顾学术界的精准与工业界的效率,在两者之间取一个平衡,真正将自然语言处理普及到生产环境中去。

    支持中文分词(N-最短路分词、CRF分词、索引分词、用户自定义词典、词性标注),命名实体识别(中国人名、音译人名、日本人名、地名、实体机构名识别),关键词提取,自动摘要,短语提取,拼音转换,简繁转换,文本推荐,依存句法分析(MaxEnt依存句法分析、神经网络依存句法分析)。提供Lucene插件,兼容Solr和ElasticSearch。

    HanLP已经被广泛用于Lucene、Solr、ElasticSearch、Hadoop、Android、Resin等平台,有大量开源作者开发各种插件与拓展,并且被包装或移植到Python、C#、R、JavaScript等语言上去。在线演示

    HanLP: Han Language Processing


    汉语言处理包

    HanLP是由一系列模型与算法组成的Java工具包,目标是促进自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。

    HanLP提供下列功能:

    • 中文分词

      • 最短路分词

      • N-最短路分词

      • CRF分词

      • 索引分词

      • 极速词典分词

      • 用户自定义词典

    • 词性标注

    • 命名实体识别

      • 中国人名识别

      • 音译人名识别

      • 日本人名识别

      • 地名识别

      • 实体机构名识别

    • 关键词提取

      • TextRank关键词提取

      • 自动摘要

      • TextRank自动摘要

    • 短语提取

      • 基于互信息和左右信息熵的短语提取
    • 拼音转换

      • 多音字

      • 声母

      • 韵母

      • 声调

    • 简繁转换

      • 繁体中文分词

      • 简繁分歧词

    • 文本推荐

      • 语义推荐

      • 拼音推荐

      • 字词推荐

    • 依存句法分析

      • 基于神经网络的高性能依存句法分析器

      • MaxEnt依存句法分析

      • CRF依存句法分析

    • 语料库工具

      • 分词语料预处理

      • 词频词性词典制作

      • BiGram统计

      • 词共现统计

      • CoNLL语料预处理

      • CoNLL UA/LA/DA评测工具

    在提供丰富功能的同时,HanLP内部模块坚持低耦合、模型坚持惰性加载、服务坚持静态提供、词典坚持明文发布,使用非常方便,同时自带一些语料处理工具,帮助用户训练自己的语料。


    项目地址

    HanLP项目主页:https://github.com/hankcs/HanLP/tree/1.x
     
    HanLP下载地址:https://github.com/hankcs/HanLP/releases 
    Python接口:https://github.com/hankcs/pyhanlp
    HanLP在线演示:http://hanlp.hankcs.com/

    内存要求

    内存120MB以上(-Xms120m -Xmx120m -Xmn64m),标准数据包(35万核心词库+默认用户词典),分词测试正常。

    全部词典和模型都是惰性加载的,如果你只用拼音转换的话,则只加载拼音词典,未加载的词典相当于不存在,不占内存。同理,模型也是如此。

    更新日志

    最新版请移步GitHub
    基于深度学习的HanLP2.0已与2020年初发布,面向下一个十年的前沿NLP技术,与1.x相辅相成,平行发展。1.x将会持续维护,保证稳定性。
    旧版本一览——
    2015年7月12日 发布了1.2.4版。在长时间的思考后,决定将用户词典用于分词后的合并处理,使得用户词典中的长词更容易切分出来。
    2015年5月11日 发布了1.2.2版。主要支持了并行化,优化了CRF分词,新增了TnT分词器,支持了数量词识别。数据包data-for-1.2.2.zip也做了小幅调整。其实最新的更新日志都可以在GitHub上看到,比博客详细多了,更新也勤快多了。
    2015年5月02日 发布了1.1.5版。主要将ACDAT降级为DAT,内存占用减少了一半。所以需要删缓存重新构建,或者下载data-for-1.1.5.zip。另外,还发布了内置数据包的Portable版,可以通过maven直接引入,零配置!
    2015年4月28日 发布了1.1.4版。这次训练了一个新的CRF分词模型,感觉效果要好很多(注:该模型与旧版本不兼容)。诸位可以评估一下,提出宝贵意见。


    下载与配置

    方式一、通过Maven的pom.xml

    为了方便用户,特提供内置了数据包的Portable版,只需在pom.xml加入:

    <dependency>
        <groupId>com.hankcs</groupId>
        <artifactId>hanlp</artifactId>
        <version>portable-1.3.4</version>
    </dependency>
    

    目前Portable体积仅仅5.7MB,作为代价,使用的是1998年的小词典,对现代汉语的支持有限;所以还是建议外挂下面的数据包比较好。

    方式二、下载jar、data、hanlp.properties

    HanLP将数据与程序分离,给予用户自定义的自由。
    1、下载jar
    2、下载data

    数据包功能体积(MB)
    data.zip 全部词典,全部模型 280(注:分词词典大约40MB,主要是句法分析模型占体积,可以自行删除。)

    GitHub的release页面Ctrl+F搜索data即可,下载后解压到任意目录,接下来通过配置文件告诉HanLP数据包的位置。
    HanLP中的数据分为词典和模型,其中词典是词法分析必需的,模型是句法分析必需的。

    data
    │  
    ├─dictionary
    └─model
    

    用户可以自行增删替换,如果不需要句法分析功能的话,随时可以删除model文件夹。
    3、配置文件
    示例配置文件:hanlp.properties
    配置文件的作用是告诉HanLP数据包的位置,只需修改第一行

    root=usr/home/HanLP/
    

    为data的父目录即可,比如data目录是/Users/hankcs/Documents/data,那么root=/Users/hankcs/Documents/ 。

    • 如果选用mini词典的话,则需要修改配置文件:
      CoreDictionaryPath=data/dictionary/CoreNatureDictionary.mini.txt
      BiGramDictionaryPath=data/dictionary/CoreNatureDictionary.ngram.mini.txt

    最后将HanLP.properties放入classpath即可,对于任何项目,都可以放到src目录或resources目录下,编译时IDE会自动将其复制到classpath中。
    如果放置不当,HanLP会智能提示当前环境下的合适路径,并且尝试从项目根目录读取数据集。

    https://github.com/godmaybelieve
  • 相关阅读:
    几种常用的认证机制
    几种任务调度的 Java 实现方法与比较
    vue 安装教程
    JDK版本导致Unsupported major.minor version 52.0 error
    在SpringMVC框架下实现文件的 上传和 下载
    SpringMVC框架下实现JSON(类方法中回传数据到jsp页面,使用jQuery方法回传)
    SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显
    SpringMVC框架的基础知识;
    hibernate的二级缓存
    hibernate检索方式(HQL 检索方式,QBC 检索方式,本地 SQL 检索方式)
  • 原文地址:https://www.cnblogs.com/yuyu666/p/15031060.html
Copyright © 2020-2023  润新知