tokenizer,tokenizer java

http://www.itjxue.com  2023-01-20 01:05  来源:未知  点击次数: 

1. tokenizer

各种bert输入格式:

另外,用 sequence_ids 参数来区分第一句和第二句。例如,

这里 None 对应了 special tokens ,然后 0 、 1 分表代表第一句和第二句。

[1] HuggingFace-Transformers

4. stringtokenizer类的主要用途是什么? 该类有哪几个重要的方法?

StringTokenizer 是一个Java的类,属于 java.util 包,用来分割字符串和枚举类型。

StringTokenizer 构造方法:

1. StringTokenizer(String str) :构造一个用来解析 str 的 StringTokenizer 对象。使用默认的分隔符:空格("")、制表符(\t)、换行符(\n)、回车符(\r)。

2. StringTokenizer(String str, String delim) :构造一个用来解析 str 的 StringTokenizer 对象,并提供一个指定的分隔符。

3. StringTokenizer(String str, String delim, boolean returnDelims) :构造一个用来解析 str 的 StringTokenizer 对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。

StringTokenizer 常用方法:

1. int countTokens():返回nextToken方法被调用的次数。可以用来计算字符串分割单元的个数。

2. boolean hasMoreTokens():返回是否还有分隔符。可以用来判断,字符串分割有没有处理完。

3. boolean hasMoreElements():判断枚举 (Enumeration) 对象中是否还有数据。用来判断枚举类型有没有处理完。

4. String nextToken():返回从当前位置到下一个分隔符的字符串。

5. Object nextElement():返回枚举 (Enumeration) 对象的下一个元素。

6. String nextToken(String delim):与 4 类似,以指定的分隔符返回结果。

bert tokenizer

有 BertTokenizerFast 和 BertTokenizer, BertTokenizerFast 更快,因为使用了 tokenizer 库。

因为 tokenizer 库基于 RUST 所以多线程更好。而 BertTokenizer 基于 python 的。

所以,我们使用 BertTokenizerFast

from transformers import BertTokenizerFast

如果是做分类等问题,那么,tokenizer 并不会带来什么问题。但是如果做 ner 这种 span 抽取,会带来问题,就是

WordPiceTokenizer 对句子的切分并非是一一对应的。那么,如果对应这个位置会是很繁琐的一个问题。

怎么理解token,tokenize,tokenizer?

1、一种解释

token:令牌

tokenize:令牌化

tokenizer:令牌解析器

2、另一种翻译是:token可以翻译为“标记”,tokenize可以翻译为“标记解析”或“解析标记”,tokenizer可以翻译为“标记解析器”。

在编写词法分析器(Lexer)或语法分析器(Parser)的时候,除了Lexer和Parser这两个词会经常使用外,tokenize和tokenizer也会经常出现,基本上所有涉及到词法解析的源码都会用到tokenize。

在邱仲潘译的《Mastering Java 2》有这儿一段:

StreamTokenizer类根据用户定义的规则,从输入流中提取可识别的子串和标记符号,这个过程称为令牌化 ([i]tokenizing[/i]),因为流简化为了令牌符号。令牌([i]token[/i])通常代表关键字、变量名、字符串、直接量和大括号等 语法标点。

(责任编辑:IT教学网)

更多

推荐CSS教程文章