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

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

相关文章

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.

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c