商品搜索引擎---分词(插件介绍与入门实例)

2024-08-30 00:18

本文主要是介绍商品搜索引擎---分词(插件介绍与入门实例),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近刚好在学习搜索引擎分词,有了解一些分词插件,在这里给各位猿友分享一下。

本文主要介绍四个分词插件(ICTCLAS、IKAnalyzer、Ansj、Jcseg)和一种自己写算法实现的方式,以及一些词库的推荐。

一、ICTCLAS

1.1、介绍

中文词法分析是中文信息处理的基础与关键。中国科学院计算技术研究所在多年研究工作积累的基础上,研制出了汉语词法分析系统ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System)。

它的主要功能包括中文分词;词性标注;命名实体识别;新词识别;同时支持用户词典。

先后精心打造五年,内核升级6次,目前已经升级到了ICTCLAS3.0。ICTCLAS3.0分词速度单机996KB/s,分词精度98.45%,API不超过200KB,各种词典数据压缩后不到3M,分词正确率高达97.58%(最近的973专家组评测结果),基于角色标注的未登录词识别能取得高于90%召回率,其中中国人名的识别召回率接近98%,分词和词性标注处理速度为31.5KB/s。ICTCLAS 和计算所其他14项免费发布的成果被中外媒体广泛地报道,国内很多免费的中文分词模块都或多或少的参考过ICTCLAS的代码。是一个很不错的汉语词法分析器。

1.2、实例

博主windows64位的,如果32位系统的可参照如下文章:http://blog.sina.com.cn/s/blog_64ecfc2f0102v1jp.html,该文章ICTCLAS的windows32位下载url和实例详解。

如果是windows64位系统,可按照博主的步骤实现实例。

(1)ICTCLAS50-Windows-64下载:http://download.csdn.net/detail/u013142781/9494942

(2)eclipse创建普通的java项目。

(3)ICTCLAS50_Windows_64_JNI解压后,将API目录ICTCLAS文件夹和ICTCLAS_I3S_AC_ICTCLAS50.h复制到java项目的src下。

(4)将API目录除了刚刚的ICTCLAS文件夹和ICTCLAS_I3S_AC_ICTCLAS50.h以外的文件和文件夹都复制到java项目的根目录下。

(5)创建测试类,代码如下:

package com.luo.test;import java.io.UnsupportedEncodingException;import ICTCLAS.I3S.AC.ICTCLAS50;public class Test {public static void main(String[] args) {ICTCLAS50 testICTCLAS50 = new ICTCLAS50();String argu = ".";//file Configure.xml and Data directory stored.//初始化try {if(testICTCLAS50.ICTCLAS_Init(argu.getBytes("GB2312")) == false){System.out.println("Init Fail!");throw new Exception("初始化错误");}} catch (UnsupportedEncodingException e1) {// TODOAuto-generated catch blocke1.printStackTrace();} catch (Exception e1) {// TODOAuto-generated catch blocke1.printStackTrace();}String s="中文词法分析是中文信息处理的基础与关键";//导入用户词典前分词byte nativeBytes[];try {n

这篇关于商品搜索引擎---分词(插件介绍与入门实例)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119260

相关文章

MySQL之搜索引擎使用解读

《MySQL之搜索引擎使用解读》MySQL存储引擎是数据存储和管理的核心组件,不同引擎(如InnoDB、MyISAM)采用不同机制,InnoDB支持事务与行锁,适合高并发场景;MyISAM不支持事务,... 目录mysql的存储引擎是什么MySQL存储引擎的功能MySQL的存储引擎的分类查看存储引擎1.命令

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

PyQt6 键盘事件处理的实现及实例代码

《PyQt6键盘事件处理的实现及实例代码》本文主要介绍了PyQt6键盘事件处理的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录一、键盘事件处理详解1、核心事件处理器2、事件对象 QKeyEvent3、修饰键处理(1)、修饰键类

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.