首页
学习
活动
专区
圈层
工具
发布

JavaScript 如何实现在搜索中忽略变音符号

变音符号是个啥? 变音符号是指添加在字母上面的符号,以更改字母的发音或者以区分拼写相似词语。例如汉语拼音字母ü上面的两个小点,或á、à字母上面的标调符。...); name1 和 name2 看着都是Amélie,但是实际上判断全等和长度却不一样都返回了false 然后就引出了这样一个问题,在 docsify 中有一个 issue[1] 需要在搜索中忽略变音符号...,例如搜索Amelie就能搜索到Amélie 但是实际上 docsify 并没有支持忽略变音符号,想要实现这个功能我们就需要从字符中删除变音标记,然后再将其与搜索查询进行比较 我们可以分为两个部分: 首先...,我们需要分解字符串,一般带有变音符号的字符都由两字节表示。...这样我们就可以实现搜索包含变音符号的内容了 参考资料 [1] issue: https://github.com/docsifyjs/docsify/issues/1405 [2] normalize

1.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    学好Elasticsearch系列-分词器

    这是最常见的标准化形式,因为搜索常常是不区分大小写的。 Removing diacritical marks:移除重音符号或其他变音记号。例如,将 "résumé" 转换为 "resume"。...举个例子: 假设我们希望在 Elasticsearch 中创建一个新的索引,该索引包含一个自定义分析器,该分析器将文本字段转换为小写并移除变音符号。..."tokenizer": "standard": 这设置了标准分词器,它按空格和标点符号将文本拆分为单词。..."filter": ["lowercase", "asciifolding"]: 这是一个过滤器链,将所有文本转为小写 (lowercasing) 并移除所有的变音符号(如 accented characters...Elasticsearch 提供了多种内建的 tokenizer。 以下是一些常用的 tokenizer: Standard Tokenizer:它根据空白字符和大部分标点符号将文本划分为单词。

    1.2K20

    学好Elasticsearch系列-分词器

    这是最常见的标准化形式,因为搜索常常是不区分大小写的。 Removing diacritical marks:移除重音符号或其他变音记号。例如,将 "résumé" 转换为 "resume"。...举个例子: 假设我们希望在 Elasticsearch 中创建一个新的索引,该索引包含一个自定义分析器,该分析器将文本字段转换为小写并移除变音符号。..."tokenizer": "standard": 这设置了标准分词器,它按空格和标点符号将文本拆分为单词。..."filter": ["lowercase", "asciifolding"]: 这是一个过滤器链,将所有文本转为小写 (lowercasing) 并移除所有的变音符号(如 accented characters...Elasticsearch 提供了多种内建的 tokenizer。 以下是一些常用的 tokenizer: Standard Tokenizer:它根据空白字符和大部分标点符号将文本划分为单词。

    1.1K20

    一起学 Elasticsearch 系列-分词器

    这是最常见的标准化形式,因为搜索常常是不区分大小写的。 Removing diacritical marks:移除重音符号或其他变音记号。例如,将 "résumé" 转换为 "resume"。...normalization的作用就是将文档规范化,提高召回率 举个例子: 假设我们希望在 Elasticsearch 中创建一个新的索引,该索引包含一个自定义分析器,该分析器将文本字段转换为小写并移除变音符号..."tokenizer": "standard":这设置了标准分词器,它按空格和标点符号将文本拆分为单词。..."filter": ["lowercase", "asciifolding"]:这是一个过滤器链,将所有文本转为小写 (lowercasing) 并移除所有的变音符号(如 accented characters...Elasticsearch 提供了多种内建的 tokenizer。 以下是一些常用的 tokenizer: Standard Tokenizer:它根据空白字符和大部分标点符号将文本划分为单词。

    1.1K20

    阿拉伯文识别技术:促进阿拉伯世界信息流通、文化传承与国际交流

    后处理:语言模型:利用统计语言模型或神经语言模型,根据阿拉伯语词汇和语法规则校正识别结果(如纠正变音符号、单词形态)。规则校正:应用阿拉伯文书写规则(如连字规则)进行修正。...变音符号至关重要:点、线等构成的变音符号区分不同字母(如ب, ت, ث)并指示发音和语法功能(短元音、静音符、叠音等)。其位置微小、易受图像质量影响,识别与定位精度要求极高。...手写体挑战更大:个人书写习惯差异巨大(连笔程度、字母形状、变音符号位置和清晰度),标准化程度低。上下文依赖性强:字母形态高度依赖其前后字母,识别需强大的序列建模能力。...变音符号处理:可识别并输出带变音符号的完整文本(Tashkeel),部分系统支持按需开启/关闭。连字识别与还原:能识别常见连字并正确还原为基本字母序列。

    35410

    浅析阿拉伯语OCR的技术壁垒及其原理

    声符迷阵:8种基本变音符号(如َ ِ ُ)可组合出数十种发音标记,这些微小符号的缺失或误识别会彻底改变词义。例如"كِتَاب"(书)与"كُتُب"(书籍)仅靠变音符号区分。...视觉陷阱:多个字母共享相同的基本形状,仅以点数量及位置区分。如"ج ح خ"三字母骨架相同,仅以点的数量(0/1/1)和位置区分。...后处理与优化:对初步识别结果进行校正和优化,包括去除冗余空格、调整标点符号位置等操作,以提高输出文本的准确性和可读性。阿拉伯语OCR的核心功能特点1....先进的预处理功能图像增强:自动校正倾斜、去除噪点、调整亮度对比度文本方向检测:准确识别从右向左的书写方向版面分析:区分文本、表格、图片等不同元素连字分割:正确处理阿拉伯字母的连接形式3.

    25610

    【汇编】速查手册

    Ç 带变音符号的大写字母 C 200 C8 È 带重音符的大写字母 E 201 C9 É 带尖锐重音的大写字母 E 202 CA Ê 带音调符号的大写字母 E 203 CB Ë 带元音变音 (分音符号...D9 Ù 带重音符的大写字母 U 218 DA Ú 带尖锐重音的大写字母 U 219 DB Û 带音调符号的大写字母 U 220 DC Ü 带元音变音 (分音符号) 的大写字母 U 221 DD Y 带元音变音...带元音变音 (分音符号) 的小写字母 e 236 EC ì 带重音符的小写字母 i 237 ED í 带尖锐重音的小写字母 i 238 EE î 带音调符号的小写字母 i 239 EF ï 带元音变音...则跳转 符号标志=溢出标志 JNL JGE JNL 如果不小于(不符号标志=溢出标志 JGE JL JL 如果小于(符号标志溢出标志 JNGE JNL JNGE 如果大于或等于...(>=)跳转 符号标志溢出标志 JL JGE JLE 如果小于或等于(符号标志溢出标志或0标志=1 JNG JNLE JNG 如果不大于(不>)则跳转 符号标志溢出标志或0标志=

    1.2K10

    Unicode入门介绍和学习总结

    使扩展遗留 ASCII 程序和 API 来处理 UTF-8 字符变得简单。...例如,在欧洲语言中,组合标记出现在变音符和字母的使用中。 Unicode 支持各种各样的变音符号,包括尖音符号的和重音符号、元音变音符号、变音符号等等。所有这些变音符可以被使用在任何字母表的字母中。...事实上,多个变音符号可以被使用在一个字母上。 如果 Unicode 试图为每个字母组合或变音符组合分配一个独立的编码点,事情会变得无法控制。...实际上,对于欧洲语言中的大多数常见的带变音符号的字母都有预设,所以文本中动态组合用的不多。 可是,组合标志系统确实允许任意数量的变音符号被叠加到任何基础字符上。使用归谬法的 Zalgo 文本!...它们有变音符号标记元音(用在字典,语言教学材料,儿童教材,等地方)。这些变音符号用组合标记表示。

    2.2K10

    Unicode入门介绍和学习总结

    使扩展遗留 ASCII 程序和 API 来处理 UTF-8 字符变得简单。...例如,在欧洲语言中,组合标记出现在变音符和字母的使用中。 Unicode 支持各种各样的变音符号,包括尖音符号的和重音符号、元音变音符号、变音符号等等。所有这些变音符可以被使用在任何字母表的字母中。...事实上,多个变音符号可以被使用在一个字母上。 如果 Unicode 试图为每个字母组合或变音符组合分配一个独立的编码点,事情会变得无法控制。...实际上,对于欧洲语言中的大多数常见的带变音符号的字母都有预设,所以文本中动态组合用的不多。 可是,组合标志系统确实允许任意数量的变音符号被叠加到任何基础字符上。使用归谬法的 Zalgo 文本!...它们有变音符号标记元音(用在字典,语言教学材料,儿童教材,等地方)。这些变音符号用组合标记表示。

    1.9K10

    BERT 是如何分词的

    _run_strip_accents(text) 方法用于去除 accents,即变音符号,那么什么是变音符号呢?...像 Keras 作者 François Chollet 名字中些许奇怪的字符 ç、简历的英文 résumé 中的 é 和中文拼音声调 á 等,这些都是变音符号 accents,维基百科中描述如下: 附加符号或称变音符号...(diacritic、diacritical mark、diacritical point、diacritical sign),是指添加在字母上面的符号,以更改字母的发音或者以区分拼写相似词语。...经过这步后,原先没有被分开的字词标点(例如 ONEIROS(Open-ended)、没有去掉的变音符号(例如 ç)都被相应处理: >>> example ['keras', '是', 'oneiros'...对于中文来说,使不使用 WPT 都一样,因为中文经过 BasicTokenizer 后已经变成一个字一个字了,没法再「子」了 ?

    4.6K41

    【C语言指南】ASCII码完整详细介绍

    (例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则...的大写字母 A 195 303 C3 11000011 Ã Ã 带代字号 的大写字母 A 196 304 C4 11000100 Ä Ä 带元音变音 (分音符号) 的大写字母 A...的大写字母 E 203 313 CB 11001011 Ë Ë 带元音变音 (分音符号) 的大写字母 E 204 314 CC 11001100 Ì Ì 带重音符 的大写字母 I...的大写字母 U 220 334 DC 11011100 Ü Ü 带元音变音 (分音符号) 的大写字母 U 221 335 DD 11011101 Ý Ý 带元音变音 (分音符号)...的小写字母 u 252 374 FC 11111100 ü ü 带元音变音 (分音符号) 的小写字母 u 253 375 FD 11111101 ý ý 带元音变音 (分音符号)

    2.3K10

    Julia篇(一)-变量与基本数据类型

    Julia 的变量名区分大小写和常见语言一样,以字母开头,允许下划线 julia> x = 1.0 1.0 julia> y = -3 -3 julia> Z = "Hello julia" "Hello...julia> HelloJulia = "你好啊Julia" 在 Julia REPL 和其他几个 Julia 编辑环境中,您可以通过输入反斜杠符号名称后再输入标签来键入很多 Unicode 数学符号类似于...a-z 或 A-Z),下划线,或一个 Unicode 编码指针中指向比 00A0 更大的指针子集开始;特别是 Unicode 字符 Lu/Ll/Lt/Lm/Lo/Nl(字母),Sc/So (货币和其他符号...),和其他一些可以看做字符的一些输入(例如 Sm 数学符号的子集)是允许的。...和数字(0-9 和其他字符 Nd/No ),以及其他 Unicode 编码指针:变音符号和其他修改标记(字母 Mn/Mc/Me/Sk),一些标点连接器(字母 PC),素数,和其他的一些字符。

    1.2K10

    ElasticSearch 多种分析器

    # ElasticSearch 多种分析器 分析原理 内置分析器 标准分析器 简单分析器 空格分析器 语言分析器 分析器使用场景 测试分析器 指定分析器 IK分词器 自定义分析器 字符过滤器 分词器...# 指定分析器 当 Elasticsearch 在文档中检测到一个新的字符串域,它会自动设置其为一个「全文字符串域」,并使用「标准分析器」对它进行分析。但是你不希望总是这样。..."end_offset": 4, "type": "CN_WORD", "position": 2 } ] } 我们需要做的就是使分词器识别到...「标准分析器」里使用的是把一个字符串根据单词边界分解成单个词条,并且移除掉大部分的标点符号,然而还有其他不同行为的分词器存在。例如,「关键词分词器」完整地输出接收到的同样的字符串,并不做任何分词。...「ascii_folding 过滤器」移除变音符,把一个像 "très" 这样的词转换为 "tres"。

    1.4K20

    Elasticsearch分词:自定义分词器

    简介 虽然Elasticsearch带有一些现成的分析器,然而在分析器上Elasticsearch真正的强大之处在于,你可以通过在一个适合你的特定数据的设置之中组合字符过滤器、分词器、词汇单元过滤器来创建自定义的分析器...标准 分析器里使用的 标准 分词器 把一个字符串根据单词边界分解成单个词条,并且移除掉大部分的标点符号,然而还有其他不同行为的分词器存在。...我们已经提到过 lowercase 和 stop 词过滤器 ,但是在 Elasticsearch 里面还有很多可供选择的词单元过滤器。 词干过滤器 把单词 遏制 为 词干。...ascii_folding 过滤器移除变音符,把一个像 "très" 这样的词转换为 "tres" 。...char_filter":[ "html_strip", // 跳过HTML标签 "&_to_and" // 将&符号转换为

    8.4K21

    干货 | iOS 程序员眼中的 Emoji

    ——百度百科 Unicode码:Unicode码是一种国际标准编码,采用二个字节编码,与ASCII码不兼容。——百度百科 可以看到,Unicode 包括字符集、编码方案等;采用两个字节编码。 3....如果 Unicode 尝试为字母和变音符号的每种可能组合分配不同的代码点,那么事情将很快失去控制。...相反,动态合成系统可以通过从基字符开始,并附加称为“组合字符”的其他代码点来指定变音符号,最后构造所需的字符。...当文本渲染器在字符z串中看到类似这样的序列时,它将自动将变音符号堆叠在基本字母上方或下方,以创建一个组合字符。...组合标志系统确实允许任意数量的变音符号被叠加到任何基础字符上。 使用归谬法的 Zalgo 文本,它通过随机叠加任意数量的变音符号在每个字母上,让它溢出行距,产生混乱现象。

    2K10

    德文识别技术:德语文本高效地转化为机器可读、可处理的数字信息

    区分主文本、脚注等。对于德文,准确识别标题(通常名词大写)很重要。行/词/字符分割:将文本区域分解为文本行,进而分割成单词或单个字符(传统方法)。现代端到端方法可减少对精确分割的依赖。...区分同形词(如“sie” vs “Sie”, “war” vs “War” - 后者是城市名首字母大写)。处理复合词的分词或连写问题。...格式还原:尽可能保留原始文档的格式(粗体、斜体、字体、字号、段落缩进、列表符号、表格结构等),输出到可编辑格式(如DOCX)或带标签格式(如PDF/A, HTML, XML)。...德文识别独特的技术难点特殊字符的精准识别:ä, ö, ü (Umlauts):必须与无变音符的 a, o, u 以及可能的噪声点严格区分。点的大小、位置、清晰度是关键。...基于词典和语言模型的拼写纠错(尤其针对变音符号遗漏和ß/ss 错误)。复合词识别与处理。精确的版面还原:保留原始文档的结构、格式(字体、样式)和布局(表格、栏、页眉页脚),输出结构化、可编辑的文档。

    37110

    utf8在mysql占几个字符_utf-8的中文,一个字符占几个字节「建议收藏」

    16LE 美国人首先对其英文字符进行了编码,也就是最早的ascii码,用一个字节的低7位来表示英文的128个字符,高1位统一为0; 后来欧洲人发现你这128位哪够用,比如法国人字母上面的还有注音符,这个怎么区分...于是就发明了GB2312这些汉字编码,典型的用2个字节来表示绝大部分的常用汉字,最多可以表示65536个汉字字符,这样就不难理解有些汉字你在新华字典里查得到,但是电脑上如果不处理一下你是显示不出来的了吧...为了统一,于是就发明了unicode,将世界上所有的符号都纳入其中,每一个符号都给予一个独一无二的编码,现在unicode可以容纳100多万个符号,每个符号的编码都不一样,这下可统一了,所有语言都可以互通...它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。...128 个 ASCII 字符(Unicode 范围由 U+0000 至 U+007F)只需一个字节,带有变音符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文及马尔代夫语(Unicode

    1.1K20
    领券