簡體   English   中英

使用 Spacy 中的自定義標記器對沒有空格的字符串進行標記

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM