nodejs使用nodejieba

2023-12-19

Nodejieba是一个基于Node.js平台的中文分词模块, 用于将中文文本切分成有意义的词汇 。它是结巴中文分词的Node.js版本,结巴分词是一种开源的中文分词工具,广泛应用于中文自然语言处理领域

优点

  1. 高性能: Nodejieba的底层实现采用了C++,通过Node.js的插件机制与JavaScript集成,因此具有较高的性能。这使得Nodejieba在处理大规模文本数据时表现出色。

  2. 支持多种分词模式: Nodejieba支持多种分词模式,包括精确模式、搜索引擎模式和新词识别模式。这使得它适用于不同的应用场景,可以根据需求选择合适的分词模式。

  3. 用户自定义词典: 用户可以通过自定义词典来增加或修改分词器的词汇,以适应特定领域或特定项目的需求。这种灵活性使Nodejieba更适用于定制化的分词任务。

  4. 支持关键词提取: Nodejieba提供了关键词提取的功能,可以帮助用户快速了解文本的主题和重要信息,是文本摘要、主题分析等任务的有力工具。

  5. 支持词性标注: 除了分词功能外,Nodejieba还支持对词汇进行词性标注,为进一步的语义分析提供了基础。

  6. 广泛应用: 作为结巴中文分词的Node.js版本,Nodejieba在中文自然语言处理领域得到了广泛的应用,成为许多项目和应用中的首选分词工具。

  7. 开源: Nodejieba是开源项目,用户可以根据需要自由使用、修改和分发,同时也可以参与到项目的开发和改进中。

安装

  • 官网地址 GitHub - yanyiwu/nodejieba: "结巴"中文分词的Node.js版本
  • 下载命令   下载会很慢,建议使用淘宝镜像
    npm install nodejieba
  • 注意 我这里安装后会抛错 ,由于没有记录,借用一下别人的图,如下:

    解决方法 我是按照这个博主的方法在本地编译, 编译完成后大概如下图所示




    在vscode里面下载本地文件即可
    注意 :这个路径为你自己编译后的nodejieba文件路径
    npm install C:/path/to/nodejieba
    
  • 最后,检查是否安装成功
    完成安装后, package.json 文件中会添加 Nodejieba 作为项目的依赖项,而 package-lock.json 文件会记录确切的版本和路径信息。
    示例 package.json
    "dependencies": {
      "nodejieba": "file:C:/path/to/nodejieba",
      // 其他依赖项...
    }

    示例 package-lock.json

    "nodejieba": {
      "version": "file:C:/path/to/nodejieba",
      "resolved": "C:\\path\\to\\nodejieba",
      // 其他信息...
    },
    // 其他依赖项...

使用nodejieba

  • 引入 Nodejieba 模块: 在你的 Node.js 代码中,引入 Nodejieba 模块:
    const nodejieba = require('nodejieba');
  • 初始化分词器: 在开始分词之前,需要初始化分词器。你可以使用 nodejieba.load() 方法初始化默认分词器, 以下只是个人用法,可以不用和我一样
    jieba.load({
                userDict: 'C:/path/to/dictionary.txt',  // 添加自定义词典
                stopWordDict:'C:/path/to/stopwords.txt', //加载停用词文件
            });
  • 进行分词: 使用 nodejieba.cut 方法进行分词。该方法接受两个参数,第一个参数是要分词的文本字符串,第二个参数是分词的模式,例如 "cut" 表示精确模式,"cutAll" 表示全模式,"cutForSearch" 表示搜索引擎模式。
    const text = "我爱自然语言处理";
    const result = nodejieba.cut(text);
    console.log(result);

    输出结果类似于

    [ '我', '爱', '自然语言', '处理' ]
  • 其他功能
    添加自定义词典
    你可以通过 nodejieba.insertWord(word) 方法向分词器添加自定义词汇:
    nodejieba.insertWord('人工智能');

    关键词提取 Nodejieba 还提供了关键词提取的功能,通过 nodejieba.extract 方法实现,第一个参数为要提取的句子,第二个参数为提取几个关键词

    const keywords = nodejieba.extract(text, 5); // 提取前5个关键词
    console.log(keywords);

    比如输入‘怎么获取更多活动积分’,输出结果大概如下,word为关键词,weight为权重

      { word: '积分', weight: 8.28754954559 },
      { word: '获取', weight: 6.91781490051 },
      { word: '活动', weight: 4.71207177215 },
      { word: '怎么', weight: 4.41962335578 }

    进行词性标注 使用 nodejieba.tag 方法进行词性标注。该方法接受一个文本字符串作为参数,并返回一个数组,每个元素是一个对象,包含了词汇和对应的词性。

    const text = "我爱自然语言处理";
    const taggedWords = nodejieba.tag(text);
    console.log(taggedWords);

    输出结果类似于

    [
      { word: '我', tag: 'r' },
      { word: '爱', tag: 'v' },
      { word: '自然语言', tag: 'l' },
      { word: '处理', tag: 'v' }
    ]
  • 释放分词器资源 当不再需要使用分词器时,可以通过 nodejieba.release() 方法释放资源:

    nodejieba.release();

记录一下。。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nodejs使用nodejieba 的相关文章

随机推荐

  • 为什么俄罗斯盛产黑客?

    自第一任总统上任以来 弗拉基米尔 普京始终将说服西方 特别是美国认真对待莫斯科 视作国家的首要任务 俄罗斯的这一目标 很大程度上源于过去十年更为自信且倾向于军事化的外交政策 长时间以来 俄罗斯似乎难以打破美国人深植的不可侵犯感 2014年
  • 为什么企业有了银企直联还需要智能网银?

    银企直联 又称银企互联 是指企业通过在内部建立自己的资金管理系统 与银行进行数据与信息的交互 方便企业实时查询账户信息 交易明细 以及办理结算 贷款 票据管理等业务 由于银企直联为企业财资管理带来了更多的便利 同时也能为银行提供更多的客户资
  • Python图像处理:批量添加水印的优雅实现与进阶技巧

    1 简介 在日常图像处理中 为图片添加水印是一项常见任务 有多种方法和工具可供选择 而今天我们将专注于使用Python语言结合PIL库批量添加水印 需要注意的是 所选用的图片格式不应为JPG或JPEG 因为这两种格式的图片不支持透明度设置
  • 如何在本地Docker中部署MinIO服务并实现远程访问管理界面

    文章目录 前言 1 Docker 部署MinIO 2 本地访问MinIO 3 Linux安装Cpolar 4 配置MinIO公网地址 5 远程访问MinIO管理界面 6 固定MinIO公网地址
  • API调试神器!免费IDEA插件推荐

    IDEA是一款功能强大的集成开发环境 IDE 它可以帮助开发人员更加高效地编写 调试和部署软件应用程序 我们在编写完接口代码后需要进行接口调试等操作 一般需要打开额外的调试工具 今天给大家介绍一款IDEA插件 Apipost Helper
  • 手机APP测试——如何进行安装、卸载、运行?

    手机APP测试 主要针对的是安卓 Android 和苹果IOS两大主流操作系统 主要考虑的就是功能性 兼容性 稳定性 易用性 性能等测试 今天先来讲讲如何进行安装 卸载 运行的内容 一 App安装 1 点击运行APP安装包 检测安装包是否正
  • SpringBoot3-快速入门

    1 简介SpringBoot是什么 SpringBoot 帮我们简单 快速地创建一个独立的 生产级别的 Spring 应用 说明 SpringBoot底层是Spring 大多数 SpringBoot 应用只需要编写少量配置即可快速整合 Sp
  • 如何在项目管理中跟踪资源可用性?

    项目是有计划 有安排的 在不超支预算的情况下按期执行项目 项目经理必须了解资源的可用性 这是资源管理流程的一部分 什么是资源可用性 资源可用性是指了解执行项目所需的资源 何时需要以及在何种情况下需要 能够协调完成项目所需的资源 是项目成功的
  • 2023 年排名前八的 Kali Linux 工具

    一 排名前八的 Kali Linux 渗透测试工具 信息收集 密码破解 社交工程 网络犯罪对我们的 IT 世界构成严重威胁 并且可以采用许多不同的策略来打击它 道德黑客 也称为 白黑客 使用各种网络安全工具来测试网络和数据系统是否存在黑客可
  • 为什么要学习Python?

    前言 Python 是当今非常流行的编程语言 在互联网上经常可以看到他的身影 它应用非常广泛 例如编程 Web 开发 机器学习和 数据科学Q 等 TIOBE 官网近日公布了 2023 年 8 月的编程语言排行榜 Python 依然排行第一
  • 免费、好用!IDEA插件用这款!

    IDEA插件市场中的API调试插件不是收费 Fast Request 就是不好用 apidoc apidocx等等 今天给大家介绍一款国产的API调试插件 Apipost Helper 完全免费且好看好用 这款插件由Apipost团队开发的
  • 要想用好linux,先把shell 搞明白

    一 变量 1 环境变量 echo PATH 2 自定义变量 hello hello world echo hello 3 存储 Linux 命令执行结果作为变量 2 种方式 推荐使用第二中 第一种是 键上面的斜点比较难识别 files ls
  • API调试神器!Apipost

    前言 Apipost是一款支持 RESTful API SOAP API GraphQL API等多种API类型 支持 HTTPS WebSocket gRPC多种通信协议的API调试工具 除此之外 Apipost 还提供了自动化测试 团队
  • 元宇宙3d展厅全景导览系统为现代展会的举办带来了全新的可能性和机遇。

    3D元宇宙展会搭建平台的亮点 随着科技的不断进步 3D元宇宙展会搭建平台已经成为了现代展会的新趋势 这种全新的展会形式不仅给人们带来了前所未有的视觉体验 还具备许多亮点和优势 让展会的举办更加高效 便捷和创新 一 突破时空限制 3D元宇宙展
  • 软件测试/测试开发/人工智能丨如何通过分组 AUC 从不同的维度验证模型的能力

    通过分组 AUC Area Under the Curve 从不同维度验证模型的能力是一种有效的方法 特别适用于面对多个子群体或子问题的场景 以下是一些步骤 以及在不同维度验证模型性能时可能的一些策略 步骤 定义分组维度 确定模型性能需要在
  • 简单搭建一个Python自动化测试框架

    1 安装 Python 首先需要安装Python 可以从官网下载对应的版本 安装完成后 可以在终端中输入python来检查是否安装成功 2 安装pip pip是Python的包管理工具 用于安装和管理Python模块 可以在终端中输入以下命
  • zkSend — — 在Sui上发红包像发电子邮件一样简单

    12月14日 知名区块链媒体平台The Block发表了这篇关于对Mysten Labs联合创始人Adeniyi Abiodun的采访 文中 我们 指代该媒体 数据均为截止撰写文章时数据 以下是正文 两年前 当五名前Facebook工程师创
  • 玩转Docker(七):Docker Compose

    文章目录 一 什么是Docker Compose 二 一个完整的例子 一 什么是Docker Compose Docker Compose是一个用于定义和运行多个Docker容器应用的工具 它使用YAML文件来配置应用的服务 网络 卷等 通
  • NFTScan | 12.11~12.17 NFT 市场热点汇总

    欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总 周期 2023 12 11 2023 12 17 NFT Hot News 01 Pudgy Penguins 衍生 NFT Lil Pudgys 过去一天
  • nodejs使用nodejieba

    Nodejieba是一个基于Node js平台的中文分词模块 用于将中文文本切分成有意义的词汇 它是结巴中文分词的Node js版本 结巴分词是一种开源的中文分词工具 广泛应用于中文自然语言处理领域 优点 高性能 Nodejieba的底层实