首页 > 其他分享 >3.分词器(Analyzer)

3.分词器(Analyzer)

时间:2024-03-21 15:33:34浏览次数:26  
标签:中文 Analyzer 切分 分词器 文本 分词

分词器有什么用?
  分词器是搜索引擎的一个核心组件,负责对文档内容进行分词(在 ES 里面被称为 Analysis),也就是将一个文档转换成 单词词典(Term Dictionary。单词词典是由文档中出现过的所有单词构成的字符串集合。为了满足不同的分词需求,分词器有很多种,不同的分词器分词逻辑可能会不一样。

 

常用分词器有哪些?

非中文分词器:
  Standard Analyzer:标准分词器,也是默认分词器, 英文转换成小写, 中文只支持单字切分。Simple   Analyzer:简单分词器,通过非字母字符来分割文本信息,英文大写转小写,非英文不进行分词。
  Stop Analyzer :在 SimpleAnalyzer 基础上去除 the,a,is 等词,也就是加入了停用词。
  Whitespace Analyzer : 空格分词器,通过空格来分割文本信息,非英文不进行分词。
上面这些也都是 ES 内置的分词器。 比如 Standard Analyzer 的例子是下面这样的。
  输入文本内容: "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone."
  分词结果: [ the, 2, quick, brown, foxes, jumped, over, the, lazy, dog's, bone ]

中文分词器:

  IK Analyzer(推荐): 最常用的开源中文分词器,包括两种分词模式:    ik_max_word:细粒度切分模式,会将文本做最细粒度的拆分,尽可能多的拆分出词语。
    ik_smart:智能模式,会做最粗粒度的拆分,已被分出的词语将不会再次被其它词语占有。

  Ansj:基于 n-Gram+CRF+HMM 的中文分词的 Java 实现,分词速度达到每秒钟大约 200 万字左右(mac air 下测试),准确率能达到 96%以上。实现了中文分词、中文姓名识别、用户自定义词典、关键字提取、自动摘要、关键字标记等功能。  ICU Analyzer:提供 Unicode 支持,更好地支持亚洲语言。
  THULACTHU Lexical Analyzer for Chinese: 清华大学推出的一套中文词法分析工具包, 具有中文分词和词性标注功能。
  Jcseg:基于 mmseg 算法的轻量级中文分词器,同时集成了关键字提取,关键短语提取,关键句子提取和文章自动摘要等功能。
IK Analyzer 分词示例:
输入文本内容:"数据库索引可以大幅提高查询速度"

分词结果:
细粒度切分模式:   [数据库,索引,可以,大幅,提高,查询,速度]
智能模式:   [数据库,数据,索引,可以,大幅,提高,查询,速度]

其他分词器 :

Keyword Analyzer :关键词分词器,输入文本等于输出文本。
Fingerprint Analyzer :指纹分析仪分词器,通过创建标记进行检测。
上面这两个也是 ES 内置的分词器。
Keyword Analyzer 分词示例:
输入文本内容: "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone."
分词结果: [ The 2 QUICK Brown-Foxes jumped over the lazy dog's bone. ]

 

分词器由什么组成?

分析器由三种组件组成:
  Charater Filters:处理原始文本,例如去除 HTMl 标签。
  Tokenizer:按分词器规则切分单词。
  Token   Filters:对切分后的单词加工,包括转小写,切除停用词,添加近义词
三者顺序:Character Filters —> Tokenizer —> Token Filter
三者个数:CharFilters(0 个或多个) + Tokenizer(一个) + TokenFilters(0 个或多个) 

下图是默认分词器 Standard Analyzer 的分词流程。

Elasticsearch 如何基于拼音搜索?

对于中文内容来说,我们经常需要基于拼音来进行搜索。

我们可以使用 拼音分词器 ,拼音分词器用于汉字和拼音之间的转换,集成了 NLP 工具(https://github.com/NLPchina/nlp-lang),

标签:中文,Analyzer,切分,分词器,文本,分词
From: https://www.cnblogs.com/cjhtxdy/p/18087502

相关文章

  • tokenizer分词器中的BPE分词方法的原理、样例、代码示例
    BytePairEncoding(BPE):想象一下你正在玩一种叫做“文字乐高”的游戏。在这个游戏中,你有很多小块,每个小块上写着一个字母或汉字。你的任务是用这些小块来构建单词或句子。开始时,你只能用单个字母或汉字的小块。但是游戏规则允许你找出那些经常一起出现的字母或汉字对,然后把它......
  • Elastic学习之旅 (5) 倒排索引和Analyzer分词
    大家好,我是Edison。上一篇:ES文档的CRUD操作重要概念1:倒排索引在学习ES时,倒排索引是一个非常重要的概念。要了解倒排索引,就得先知道什么是正排索引。举个简单的例子,书籍的目录页(从章节名称快速知道页码)其实就是一个典型的正排索引。而一般书籍的末尾部分的索引页,则是一个典型......
  • UVA12421 (Jiandan) Mua (I) - Lexical Analyzer 题解
    蒟蒻的第一篇紫题题解!题目传送门思路一眼模拟,还是大模拟。不由得想起了我编了\(4\)个小时的猪国杀……输入首先处理输入,这里我们用一个字符串数组来存储所有的输入,然后再进行处理。while(getline(cin,sr))str[++cnt]=sr+'\n';处理时需要双重循环,注意如果遍历到空格要跳......
  • ES笔记:IK分词器
    ES中文档按照分词进行检索,对于中文,ES默认按照单个字进行分词,非常低效,可以使用专门的中文分词器,如IK分词器。下载:https://github.com/medcl/elasticsearch-analysis-ik/releases安装:在ES的plugins目录下新建一个目录,将下载的IK分词压缩包解压到此目录即可,然后重启ES该分词器便......
  • Fortify Static Code Analyzer 23.2 for macOS, Linux & Windows - 静态应用安全测试
    FortifyStaticCodeAnalyzer23.2formacOS,Linux&Windows-静态应用安全测试FortifySCA-代码漏洞扫描工具|静态代码测试|代码安全分析请访问原文链接:https://sysin.org/blog/fortify-static-code-analyzer/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.o......
  • (十):IK分词器
    ElasticSearch默认的内置分词器standard是针对英文等拉丁语系设计的,是不支持中文分词的。IK分词器是一个开源的中文分词器插件,丰富和优化了Elasticsearch的设计。ES默认分词器standard对中文分词结果如下:1、IK分词器的特点IK分词器是ES的一个插件,有如下特点:......
  • 【Tools】Eclipse MemoryAnalyzer(MAT)工具使用笔记
    目录一、前言1.1简介1.2下载安装二、使用2.1Histogram(直方图)2.2DominatorTree(支配树)2.3TopConsumers2.4DuplicateClasses(重复类)2.5Suspects(疑似泄露点)三、问题总结3.1分析源码3.2解决办法一、前言1.1简介EclipseMemoryAnalyzer是一个快速且功能丰富的Java堆分......
  • ES--自定义分词器
    默认的拼音分词器会将每个汉字单独分为拼音,而我们希望的是每个词条形成一组拼音,需要对拼音分词器做个性化定制,形成自定义分词器。 elasticsearch中分词器(analyzer)的组成包含三部分:characterfilters:在tokenizer之前对文本进行处理。例如删除字符、替换字符tokenizer:将文......
  • Linux 上使用 MemoryAnalyzer 分析 OOM 原因
    导读:笔者最近生产环境出现了OOM,通过借助MemoryAnalyzer对生成的堆转储文件进行分析并找到内存泄露的原因,这里记录做下分享。关于MemoryAnalyzer笔者采用 EclipseMemoryAnalyzerOpenSourceProject|TheEclipseFoundation (简称“MAT‘)。它是一款强大的Java堆转储分......
  • Cellebrite Physical Analyzer 7.65 (Windows) - 数字数据审查
    CellebritePhysicalAnalyzer7.65(Windows)-数字数据审查TheIndustryStandardforDigitalDataExamination请访问原文链接:https://sysin.org/blog/cellebrite-physical-analyzer/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgCellebritePhysicalAnalyze......