iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >如何使用Hanlp加载大字典
  • 951
分享到

如何使用Hanlp加载大字典

2024-04-02 19:04:59 951人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关如何使用HaNLP加载大字典,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 问题因为需要加载一个 近 1G 的字典到Hanlp中,一开始使用了

这篇文章将为大家详细讲解有关如何使用HaNLP加载大字典,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

 问题

因为需要加载一个 近 1G 的字典到Hanlp中,一开始使用了CustomDictionay.add() 方法来一条条的加载,果然到了中间,维护DoubleArraTre 的成本太高,添加一个节点,都会很长时间,本来时间长一点没有关系,只要训练出.bin 的文件,第二次加载就会很快,然而作为以空间换时间的DAT结构,内存消耗很大,预料之内的出现了

out of memory: heap size

1

的问题。 后来尝试直接加载了1G 的字典,显然更不行。

思路

阅读了Hanlp的 部分源码,也请教了原作者一部分问题, 就打算从源码入手。初步想法大概是将原始字典 

split 成多份,然后分别将多份的小字典 训练成 多个小的.bin 文件,再完整的加载到内存中,基于的原则则是:加载两个10M的字典的消耗比一个20M的要小。 

然后又优化了一部分,现在加载一个大概1G的字典,占内存约3g+ ,已经可以使用了。

大概流程

修改 CustomDictionary.java 设置一个 HashMap 或者 一个 list 来存储所有的小Dat

将所有的dat加载完,这里就不再区分主副字典了。

修改Segment.java里面的combineByCustomDictionary 函数,源码中只有一个dat, 这里我们需要选择我们容器中其中某一个dat作为要匹配使用,之前使用的方案是,遍历所有的dat,知道有了匹配,但是这样缺陷很明显,解决不了多个字典匹配同一个词的字串的情况,这里我的考察方案是,字典中的同一个字开始的词条映射到同一个文件,这样不会出现字串问题了。

关于“如何使用Hanlp加载大字典”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: 如何使用Hanlp加载大字典

本文链接: https://www.lsjlt.com/news/64970.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用Hanlp加载大字典
    这篇文章将为大家详细讲解有关如何使用Hanlp加载大字典,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 问题因为需要加载一个 近 1G 的字典到Hanlp中,一开始使用了...
    99+
    2024-04-02
  • Hanlp如何使用Bug
    这篇文章给大家分享的是有关Hanlp如何使用Bug的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Hanlp是最近学习的一个自然语言处理包,本篇文章将一些使用过程之中遇到的bug放...
    99+
    2024-04-02
  • ubuntu中hanlp如何使用
    这期内容当中小编将会给大家带来有关ubuntu中hanlp如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。HanLP的安装使用  HanLP的一个很大的好处是离线开源工具包,换而言之,它不仅提供免费...
    99+
    2023-06-02
  • 如何使用Python加载Git关键字?
    随着现代软件开发的日益复杂,版本控制系统也变得越来越重要。Git是一个流行的版本控制工具,它提供了一种方便的方式来管理和共享代码库。Python是一种强大的编程语言,也可以用来处理Git代码库。在本文中,我们将介绍如何使用Python加载G...
    99+
    2023-09-18
    git load 关键字
  • Python中字典如何使用
    这期内容当中小编将会给大家带来有关Python中字典如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python字典应用方式1)get(key,default=None) 返回键值key对应的值;如...
    99+
    2023-06-17
  • 如何向字典添加新键?
    问: 如何向现有字典添加键?它没有 .add() 方法。 答1: 一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会 您通过为该键分配一个值来在字典上创建一个新的键/值对 d = {'...
    99+
    2023-12-23
    服务器 运维 python c++
  • hanlp如何安装和使用
    这篇文章主要介绍hanlp如何安装和使用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!下载HanLP-1.3.4.zip 下载hanlp-1.3.4-release 下载hanlp.propert...
    99+
    2023-06-02
  • 如何使用python合并字典
    今天就跟大家聊聊有关如何使用python合并字典,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy;...
    99+
    2023-06-14
  • PHP 中如何使用 NPM 的关键字加载?
    在现代 Web 开发中,前端技术的重要性越来越突出。作为一名 PHP 开发者,想要在前端开发中更进一步,你可能会用到 NPM(Node.js 包管理器)。NPM 是一个强大的工具,它可以用于管理项目中的依赖项、构建自己的代码库等等。本文将...
    99+
    2023-11-09
    load 关键字 npm
  • PHP 中的关键字加载:如何使用 NPM?
    随着 Web 应用程序的不断发展,前端技术也在不断更新和进化。其中,JavaScript 成为了不可或缺的一部分。为了更好地管理和组织 JavaScript 代码,NPM(Node Package Manager)成为了必备工具之一。然而...
    99+
    2023-11-09
    load 关键字 npm
  • 如何使用 NPM 加载 PHP 中的关键字?
    对于 PHP 开发人员来说,熟悉 PHP 中的关键字是非常重要的。但是,如果您正在使用 JavaScript 或 TypeScript 进行开发,而又需要使用 PHP 中的关键字,该怎么办呢?这时候,我们可以使用 NPM 来加载 PHP ...
    99+
    2023-11-09
    load 关键字 npm
  • python如何使用字典dict统计
    这篇文章主要介绍python如何使用字典dict统计,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用字典 dict 统计循环遍历出一个可迭代对象的元素,如果字典中没有该元素,那么就让该元素作为字典的键,并将该键赋值...
    99+
    2023-06-27
  • MySQL中如何使用MDL字典锁
    这篇文章将为大家详细讲解有关MySQL中如何使用MDL字典锁,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 什么是MDL   ...
    99+
    2024-04-02
  • 如何加载web字体
    本篇文章给大家分享的是有关如何加载web字体,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一般来说,开发者对网页字体使用会相对接触比较少一些,使用最多也无非是 font-fam...
    99+
    2023-06-09
  • python如何使用字典get方法
    这篇文章将为大家详细讲解有关python如何使用字典get方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。字典 get 方法关于“python如何使用字典get方法”这...
    99+
    2024-04-02
  • Python字典和集合如何使用
    这篇文章主要介绍“Python字典和集合如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python字典和集合如何使用”文章能帮助大家解决问题。字典简介Python 中字典和集合也是非常相近的...
    99+
    2023-07-04
  • Python如何向字典中添加元素
    要向字典中添加元素,可以使用索引操作符 [] 来赋值。以下是向字典中添加元素的几种方法:1. 使用索引操作符 [] 来添加元素。``...
    99+
    2023-09-06
    python
  • python如何往字典里添加内容
    要往字典中添加内容,可以使用索引或update()方法。方法1:使用索引可以通过指定键名来向字典中添加键值对。如果指定的键名已存在,...
    99+
    2023-08-08
    python
  • react lazyLoad加载如何使用
    本篇内容介绍了“react lazyLoad加载如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.lazyLoad用处默认...
    99+
    2023-07-05
  • 如何使用Python实现字典合并
    这篇文章给大家分享的是有关如何使用Python实现字典合并的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、用for循环把一个字典合并到另一个字典把a字典合并到b字典中,相当于用for循环遍历a字典,然后取出a字...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作