[英]Tokenize a String without spaces using a custom tokenizer in Spacy
我想標記一些名為SMILES
的化學表達式,例如[c]1ccc(C(=O)Nc2ccc(Br)cc2)cc1[N+](=O)[O-].C[NH]
。 There are no spaces in the string, and after the tokenization, we should get [c], 1, c, c, c, (, C, (, =, O, ), N, c, 2, c, c, c, (, Br, ), c, c, 2, ), c, c, 1, [N+], (, =, O, ), [O-], ., C, [NH]
, which means some特殊標記有多個字符,例如[c]
、 Br
和[N+]
,它們不應該被拆分。 除了這些標記之外,其他標記只有一個字符,例如c
(
N
。我如何使用Spacy的標記器來實現這一點?如果這里不需要 spacy 並且只有 python 的片段可以做到這一點,它也可以可以接受。任何幫助將不勝感激!
我認為這個正則表達式很簡單所以
s = "[c]1ccc(C(=O)Nc2ccc(Br)cc2)cc1[N+](=O)[O-].C[NH]"
tokens = re.findall("\[.+?]|.",s)
我想會做你想要的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.