标签: tokenize

Boost :: Split使用整个字符串作为分隔符

我想知道是否有一个方法使用boost :: split来分割一个字符串,使用整个字符串作为分隔符.例如:

str ="xxaxxxxabcxxxxbxxxcxxx"

有没有一种方法来分析这个字符串使用"abc"作为分隔符?因此返回:

结果将是字符串"xxaxxxx"和"xxxxbxxxcxxx"

我使用"is_any_of"谓词知道boost :: split,但是调用"is_any_of("abc")"会导致将字符串拆分为单个字符'a','b'和'c',这不是我想要的.

任何帮助,将不胜感激.

谢谢

c++ string boost tokenize

10
推荐指数
2
解决办法
8236
查看次数

有什么像PPI或Perl :: Critic for C?

PPIPerl :: Critic允许程序员在他们的Perl程序的语法中检测某些东西.

有什么类似的东西可以标记/解析C并让你有机会编写一个脚本来处理这些信息吗?

c perl parsing tokenize perl-critic

9
推荐指数
4
解决办法
397
查看次数

解析器与词法分析器和XML

我现在正在阅读编译器和解析器架构,我想知道一件事......当你有XML,XHTML,HTML或任何基于SGML的语言时,词法分析器的作用是什么以及令牌是什么?

我读过,令牌就像为词法分析器准备的单词一样.虽然我没有找到用于语言行C,C++,Pascal等的令牌的问题,其中有关键字,名称,文字和其他由空格分隔的类似字符串的字符串,但是我有一个问题,因为它没有'任何话!它只是与标记(标签)交错的纯文本.

我心里想,可能是这些标签和纯文本片段都是令牌,类似的东西:[TXT][TAG][TAG][TXT][TAG][TXT][TAG][TAG][TXT]....这将是比较合理的,因为SGML并不关心有什么标记分隔符中<>(当然,它识别特殊处理的说明和定义时,它创立?!为下一个字符,评论属于该组太),和SGML标记生成器能是XML/HTML/XHTML解析器的基础.

但后来我意识到<标记内部可能会有一些字符作为其他语法的一部分:属性值: - /即使将<字符放在属性值中也不是很好(最好用&lt;它),许多浏览器和编辑处理这些并将它们<视为属性值的一部分,而不是标记分隔符.

它使事情变得复杂,因为我没有看到通过词法分析器中的简单确定性有限自动机(DFA)识别标记的方法.看起来它需要一个单独的自动机上下文,当它在标签内时,另一个上下文遇到一个属性值时.这需要一堆状态/上下文我认为,所以DFA可能无法处理.我对吗?

你有什么看法?从标签(标记)和纯文本制作令牌是否合适?

在这里:http://www.antlr.org/wiki/display/ANTLR3/Parsing+XML
使用某种不同的技术:他们对待<>(和<//>)作为分隔标记,标签内,他们使用GENERIC_ID的令牌等他们通常将大部分工作转移到解析器上.但是他们还必须改变标记化器的上下文:它们在纯文本中使用不同的上下文,并且在标记中使用不同(但是他们忘记了属性值上下文我认为,因为第一次出现>将在标签中结束标记).

那么解析类似SGML的语言的最佳方法是什么?那个词法分析器真的用在那里吗?如果是,那么代币是什么字符串?

xml parsing tokenize lexer dfa

9
推荐指数
1
解决办法
2839
查看次数

正则表达式/"正则表达式"中的常规是什么意思?

"正则表达式"一词中的"常规"是什么意思?

我听说有一次正规则是正规的,但不多了

regex perl parsing tokenize

9
推荐指数
1
解决办法
573
查看次数

生成PHP代码(来自Parser Tokens)

是否有任何可用的解决方案(重新)从返回的Parser Tokens生成PHP代码token_get_all?其他用于生成PHP代码的解决方案也是受欢迎的,最好使用相关的词法分析器/解析器(如果有的话).

php code-generation tokenize

9
推荐指数
1
解决办法
2454
查看次数

Boost :: tokenizer逗号分隔(c ++)

对你们来说应该很容易.....

我正在玩使用Boost的tokenizer,我想创建一个逗号分隔的令牌.这是我的代码:

    string s = "this is, , ,  a test";
boost::char_delimiters_separator<char> sep(",");
boost::tokenizer<boost::char_delimiters_separator<char>>tok(s, sep);


for(boost::tokenizer<>::iterator beg= tok.begin(); beg!=tok.end(); ++beg)
{
    cout << *beg << "\n";
}
Run Code Online (Sandbox Code Playgroud)

我想要的输出是:

This is


 a test
Run Code Online (Sandbox Code Playgroud)

我得到的是:

This
is
,
,
,
a
test
Run Code Online (Sandbox Code Playgroud)

更新

c++ boost tokenize boost-tokenizer

9
推荐指数
1
解决办法
1万
查看次数

保护我的API仅适用于我的前端

我正在建立一个节点/快速后端.我想创建一个只能与我的reactjs前端(私有API)一起使用的API.

想象一下,如果这是一个电子商务网站,我的用户将浏览产品,然后选择购买什么,并在订购时可能会或可能不会登录.

确保我的API仅适用于reactjs前端的最佳做法是什么?

当用户决定登录或者他们仍然是客人时会发生什么?

authentication api tokenize node.js reactjs

9
推荐指数
2
解决办法
2449
查看次数

未分配时如何找到 Keras 标记器的“num_words”或词汇量大小?

因此,如果我num_words在初始化时不传递参数Tokenizer(),那么在使用它来标记训练数据集后如何找到词汇量大小?

为什么这样,我不想限制分词器词汇量的大小来了解我的 Keras 模型在没有它的情况下的表现。但随后我需要将此词汇量大小作为模型第一层定义中的参数传递。

nlp machine-learning tokenize deep-learning keras

9
推荐指数
1
解决办法
8404
查看次数

Spacy 中是否有二元或三元功能?

下面的代码将句子分成单独的标记,输出如下

 "cloud"  "computing"  "is" "benefiting"  " major"  "manufacturing"  "companies"


import en_core_web_sm
nlp = en_core_web_sm.load()

doc = nlp("Cloud computing is benefiting major manufacturing companies")
for token in doc:
    print(token.text)
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想要的是,将“云计算”放在一起阅读,因为它在技术上是一个词。

基本上我正在寻找一个双克。Spacy 中是否有允许 Bi gram 或 Trigram 的任何功能?

nlp tokenize n-gram python-3.x spacy

9
推荐指数
3
解决办法
1万
查看次数

len(tokenizer) 和 tokenizer.vocab_size 有什么区别

我正在尝试向预训练的 HuggingFace Transformers 模型的词汇表中添加一些新单词。我执行了以下操作来更改分词器的词汇并增加模型的嵌入大小:

tokenizer.add_tokens(['word1', 'word2', 'word3', 'word4'])
model.resize_token_embeddings(len(tokenizer))
print(len(tokenizer)) # outputs len_vocabulary + 4
Run Code Online (Sandbox Code Playgroud)

但是在我的语料库上训练模型并保存后,我发现保存的分词器词汇量没有改变。再次检查后发现上述代码并没有改变词汇量大小(tokenizer.vocab_size仍然相同),只有len(tokenizer)发生了变化。

所以现在我的问题是;tokenizer.vocab_size 和 len(tokenizer) 有什么区别?

nlp tokenize huggingface-transformers huggingface-tokenizers

9
推荐指数
1
解决办法
6988
查看次数