`
xyliufeng
  • 浏览: 87210 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

tokenize和tokenizer(转)

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

  它的命名来源于使用英文的开发者,否则让我这个习惯使用中文的人去想这个命名,我可能会用其它简单的词来代替,不会这么形象化,所以啊,语言文化的不同,可能会导致思维方式的不同啊,所以中国人的思维方式和西方人的思维方式肯定是不同的,让他们来理解我们的语言可能也很费解。

  不管怎么说,好的东西是应该学习和借鉴的,tokenize这个词使用得如此频繁,肯定有它的意义,那到底这个词怎么翻译?怎么理解?在邱仲潘译的《Mastering Java 2》有这儿一段:
    StreamTokenizer类根据用户定义的规则,从输入流中提取可识别的子串和标记符号,这个过程称为令牌化 (tokenizing),因为流简化为了令牌符号。令牌(token)通常代表关键字、变量名、字符串、直接量和大括号等 语法标点。

参考邱仲潘的这段译文,可以这样翻译:
token:令牌
tokenize:令牌化

tokenizer:令牌解析器

而我看到的另一种翻译是:token可以翻译为“标记”,tokenize可以翻译为“标记解析”或“解析标记”,tokenizer可以翻译为“标记解析器”

我的理解是tokenize是负责把代码解析为一个个的“串”,而Paser是根据这些“串”的前后序列关系来生成相应的语法结构。用令牌好像更形象一些,不过总觉得听起来很生硬,而翻译成“标记”,范围又狭窄了一些。我也找不到一个更适合的词来翻译了,总之理解意思最重要。
分享到:
评论

相关推荐

    opennlp-tools-1.3.0.gz_OpenN_OpenNLP 1.3.0_opennlp-too_opennlp.t

    这个"opennlp-tools-1.3.0.gz"文件是OpenNLP的1.3.0版本,它包含了处理自然语言所需的各种算法和模型。尽管它的大小可能不大,但其功能强大且设计精良,能够满足多种NLP任务的需求。 在描述中提到,该压缩文件的...

    C++ Tokenizer

    为c++实现Tokenizer,就像java里面的string tokenizer

    前端开源库-jeefo_tokenizer

    5. **API接口**:提供简单易用的JavaScript API,如`tokenizer.tokenize(text)`用于将文本分解成标记数组。 6. **文档与示例**:开源项目通常会提供详细的使用文档和示例代码,帮助开发者快速上手和理解库的功能。 ...

    Python库 | tokenizer-1.0.3-py2.py3-none-any.whl

    Python中的`tokenizer`库可能基于Python标准库中的`tokenize`模块,这个模块提供了按照Python语法进行词法分析的功能,可以用来识别代码中的关键字、标识符、字符串、数字等。然而,`tokenizer-1.0.3-py2.py3-none-...

    spacy en tokenizer: en_core_web_sm-2.3.0.tar.gz

    data Field(tokenize=spacy", tokenizer_Language=r'en) ------------ 可以先下载资源包, 解压,然后把命令换成下面这种 data Field(tokenize="Spacy', tokenizer_Language=r"F: \ tmp Men_core -web_sm-2.3.0\en_...

    cpp-将CPython的tokenizer暴露为Python类

    tokenizer模块在CPython中提供了`tokenize`函数,它读取一个输入流(通常是字符串或文件),并返回一个生成器,生成的每个元素都是一个元组,包含令牌类型、令牌值、开始行号、开始列号、结束行号和结束列号。...

    sed调试器debug

    prompt$ sedsed --help usage: sedsed OPTION [-e sedscript] ... -t, --tokenize script tokenizer, prints extensive command by command information -H, --htmlize converts sed script to a colorful HTML page

    PyPI 官网下载 | tokenizer_tools-0.4.2.tar.gz

    `tokenizer_tools` 库是一个专门用于文本处理和分词的工具集,它在自然语言处理(NLP)领域中非常常见。NLP是计算机科学的一个分支,专注于使计算机理解和生成人类语言。在这个库中,主要关注的是将连续的文本分割成...

    PyPI 官网下载 | tokenizer_tools-0.8.2-py2.py3-none-any.whl

    tokens = tokenizer_tools.tokenize("这是一段示例文本") ``` **总结** `tokenizer_tools-0.8.2-py2.py3-none-any.whl` 是一个在PyPI上发布的跨Python版本的NLP工具包,主要功能是文本分词。开发者可以轻松地通过`...

    Tokenizer_sample_用于认知搜索的微软云平台示例技能代码编程_

    在这个项目中,开发者可能想要了解如何在自定义技能链中集成Tokenizer,以便在搜索索引建立时对输入文本进行预处理,提升搜索的精确性和效率。 描述中提到的“用于认知搜索的微软云平台示例技能代码编程”,进一步...

    llt-tokenizer:标记化拉丁文(和希腊文)文本

    LLT::Tokenizer 用于标记拉丁文本的灵活服务。 安装 将此行添加到应用程序的 Gemfile 中: gem 'llt-tokenizer' 然后执行: ... Tokenizer 在创建或调用 #tokenize 时有几个选项: # shifting d

    Android代码-react-native-japanese-tokenizer

    It utilizes CFStringTokenizer to tokenize strings into words. Android The implementation is based on TinySegmenter. It is lightweight word segmenter which works without dictionaries. Getting started $...

    第一次做文本情感分析遇到的问题

    在定义文本字段时,需要指定tokenize方式和tokenizer语言。 问题6:定义标签字段 在进行文本情感分析时,需要定义标签字段,可以使用torchtext库,例如: LABEL = data.LabelField(dtype=torch.float) 在定义...

    英文文本分词jar包与代码

    使用OpenNLP进行英文分词,需要加载预先训练好的模型文件,然后调用`opennlp.tools.tokenize.Tokenizer`类的方法: ```java import opennlp.tools.tokenize.SimpleTokenizer; // 创建分词器 SimpleTokenizer ...

    nltk-data-packages-tokenizers数据

    It demonstrates the use of punkt tokenizer." sentences = nltk.sent_tokenize(text) words = [nltk.word_tokenize(sentence) for sentence in sentences] print(sentences) print(words) ``` 这段代码首先下载...

    pos-tokenizer:在 POS 贝叶斯和弹性搜索索引中可用的单词 int 有意义组件的 POS 标记化

    POS-tokenizer 有时您只需要运行简单的 SQL 命令。 有时您想将它们组合起来并确保执行顺利。 ##安装 使用 npm: $ npm install --save pos-tokenizer 在 NodeJs/io.js 中 var pos_tokenize= require('../...

    node-vntokenizer:用于Nodejs和Javascript的越南语的分词器

    Nodejs和Javascript中越南语的分词器。 安装方式 通过NPM npm install node-vntokenizer --save 通过鲍尔 bower install tokenizer --save 样本 var Tokenizer = require ( 'node-vntokenizer' ) ; var token = ...

    毕业设计-Python实现基于BERT模型的中文文本情感分类项目源码+操作过程.zip文件

    - 使用Tokenizer对文本数据进行tokenize,并根据模型要求添加特殊token(如`[CLS]`和`[SEP]`)。 - 将tokenized文本转换为模型输入的形式,如input_ids、attention_mask等。 4. **构建模型**: - 在加载的BERT...

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

    tokenize和split_sentences是可配置的函数,它们调用下面定义的标记器或句子分割器之一。 它们具有明智的默认设置,但是您可以覆盖通过调用set_tokenizer(func)或set_sentence_splitter(func)从下面的列表(或其他...

    Tokenize.jl:Julia源代码的令牌化

    5. **保留空白**:虽然大多数词法分析器会忽略空格和制表符,但 `Tokenize.jl` 可以选择保留这些空白信息,这对于保持代码的原始格式非常重要。 6. **处理注释**:`Tokenize.jl` 能够正确处理单行和多行注释,将其...

Global site tag (gtag.js) - Google Analytics