`

split 与tokenizer的区别

阅读更多

至于理论方面的就不多说了,大家可以查看api,现在主要举几个例子,说明两者的区别:

例子一:

String sample1="ben        ben" ;    //其中连个ben之间间隔8个空格

String[] split1 = sample1.split(" "); //通过一个空格隔离

final List<String> oLines = new ArrayList<String>();
 final StringTokenizer tokens = new StringTokenizer(sample1, " ");   

结果:split1.length 为9     oLines.size 为2

解释:如果用split进行分离的话,他会将空格也作为一个字符串存入数组, 而tokenizer不会

例子二:

 String t1 = "ben, ,,   ,,,ben";
  String[] split2 = t1.split(",");
  final ListoLines = new ArrayList();
   final StringTokenizer tokens = new StringTokenizer(t1, ",");
 

结果:split2.length 为7     oLines.size 为4

解释:tokenizer他会将连续相同的需要过滤的进行处理

总结:尤其是在进行空格过滤的时候,尽量的用tokenizer,如果用split很可能会出现许多,并不想得到的数据比如说空格(我是碰到过)

分享到:
评论
2 楼 stepinto 2011-10-25  
A token is a string of characters, categorized according to the rules as a symbol。 空格没有意义,所以不会被看作为token的一部分。
1 楼 clue 2009-02-04  
受教了
一直对这个tokenizer莫名其妙的,呵呵

相关推荐

    split 分词器

    在这个例子中,我们创建了一个名为`my_custom_split_analyzer`的分析器,它使用`my_split_tokenizer`作为分词器,并添加了一个`lowercase`过滤器,确保所有词汇单元都被转换为小写,以便进行不区分大小写的搜索。...

    tokenizer:在 Go 中实现的自然语言分词器

    它考虑了英语中的标点符号规则,例如,它通常会将标点符号与前面的单词分开,除非标点位于引号内。此外,它还会处理连字符连接的单词等复杂情况。 2. **BagOfWordsTokenizer**:这个分词器的目标是将文本转换为“词...

    如何在C#中构建Tokenizer / Lexer生成器

    在C#中实现Tokenizer,我们可以利用字符串处理方法,如`Split()`或正则表达式来识别和分割标记。对于更复杂的需求,可以使用状态机模型,通过遍历源代码并根据当前字符和之前的状态决定如何生成下一个标记。 Lexer...

    tensorflow笔记

    ### TensorFlow笔记:文本预处理与序列化 #### Tokenizer类详解 在自然语言处理(NLP)领域中,将文本转换成计算机可以理解的形式是一项基础且重要的任务。TensorFlow中的Keras API提供了一系列工具来帮助完成这项...

    WordTokenizers.jl:高性能分词器,用于自然语言处理和其他相关任务

    它们具有明智的默认设置,但是您可以覆盖通过调用set_tokenizer(func)或set_sentence_splitter(func)从下面的列表(或其他位置)传入首选函数func使用的方法,以这种方式配置它们将抛出方法被覆盖的警告,并触发...

    Graph RAG 图的检索增强生成

    """Split incoming text and return chunks using tokenizer.""" splits: list[str] = [] input_ids = tokenizer.encode(text) start_idx = 0 cur_idx = min(start_idx + tokenizer.tokens_per_chunk, len...

    Java 实例 - 字符串分隔(StringTokenizer)源代码-详细教程.zip

    在实际编程中,`StringTokenizer`有时会被`String.split()`方法替代,因为`split()`更简单、更直观。然而,`StringTokenizer`提供了一些额外的功能,如跳过空令牌或处理多字符分隔符。此外,对于老版本的Java(Java ...

    PyTokenize:使用LibClang在Python中标记化C ++ C代码

    PyTokenize 使用 LibClang 在 Python 中标记 C++/C ... split_functions ( False ) 注意:您可能需要更新 tokenizer.py 中 libclang 库的路径。 显然,您还需要安装 libclang。测验在终端中运行我的简短测试代码: p

    大模型demo的适用1

    - **模型训练与评估**:训练模型并评估其性能。 #### 步骤详解 ##### 步骤 1: 安装必要的库 在开始之前,需要确保环境中已经安装了TensorFlow和Keras。如果没有安装,可以使用pip命令进行安装。这些库为构建、训练...

    python基于BERT的预训练模型,对多个大数据库进行预训练,并使用自定义的预训练模型进行微调的代码(4200字附详细步骤)

    validation_split=0.1 ) ``` 在这里需要注意的是,`train_label_sequence` 和 `validation_label_sequence` 应该是训练和验证数据对应的标签序列。 5. **模型评估** ```python loss, accuracy = pretrained...

    AI实战-Crowdlower的数据图书馆的数据分析预测实例(含20个源代码+8.07 MB完整的数据集).zip

    sklearn.model_selection.train_test_split sklearn.metrics.classification_report sklearn.metrics.confusion_matrix sklearn.metrics.accuracy_score transformers.BertTokenizer transformers....

    使用自然语言TensorFlow或PyTorch构建模型处理(NLP)技术构建一个简单的情感分析模型(附详细操作步骤).txt

    model.fit(train_padded, train_labels, epochs=10, validation_split=0.2) # 进行情感分析 def load_text_for_analysis(): # 实现加载待分析文本数据的函数 pass text = load_text_for_analysis() sequence = ...

    WordCount工具

    然后使用`emit()`方法将单词与计数值(通常为1)作为键值对输出。 3. **Shuffle and Sort**: 在Mapper的输出被发送到Reducer之前,会先进行分区(Partition)、排序(Sort)和分组(Group)。相同键的记录会被分在...

    计算机二级python题库-基本操作题之字符串分词.zip

    `split()`函数可以根据提供的分隔符将字符串切割成多个子字符串,并返回一个包含这些子字符串的列表。默认情况下,它以空格作为分隔符,但你可以自定义分隔符,例如: ```python text = "Hello, World! How are you?...

    MapReduce字数统计案例

    这个案例适合初学者和有经验的开发者进行实践与交流。 首先,MapReduce的工作流程分为两个主要阶段:Map阶段和Reduce阶段。Map阶段将大文件切分成多个小块(split),并分配到集群中的各个节点上。每个节点上的...

    Python Transformer模型笔记.md

    #### 一、Transformer模型的背景与思想 ##### 1.1 背景与起源 Transformer模型是由Vaswani等人在2017年的论文《Attention is All You Need》中首次提出的。这篇论文的发表标志着自然语言处理(NLP)领域的一个重大...

    hadoop集群通用wordcount测试程序

    1. Map阶段:在这一阶段,输入的数据被分割成多个小块(split),每个split对应一个map任务。map函数接收这些数据,对每一行文本进行分词(tokenizer),生成键值对(key-value pair),通常是单词作为key,出现次数...

    Java-StringTokenizer1

    6. **与`split()`方法的比较:** 自Java 5起,`String`类提供了`split()`方法,它更简洁且支持正则表达式。例如,上述示例使用`split()`可简化为: ```java String str = "Java-StringTokenizer1, 示例 文件 解析...

    java 字符串分割的三种方法(总结)

    与 `split()` 相比,`StringTokenizer` 的效率更高,尤其是在处理大量数据时。 ### 第三种方法:`indexOf()` 和 `substring()` 结合 这种方法利用 `indexOf()` 查找分隔符的位置,然后使用 `substring()` 截取子...

    JAVA得到网卡物理地址(windows和Linux)

    lastMacAddress = line.split(":")[1].trim(); break; } } return lastMacAddress; } ``` 在上面的代码中,我们首先使用 System.getProperty("os.name") 方法来获取当前操作系统的名称,然后根据操作系统的名称...

Global site tag (gtag.js) - Google Analytics