Python Spacy-修改数字模式的标记器

Python Spacy-修改数字模式的标记器,python,tokenize,spacy,Python,Tokenize,Spacy,我已经看到了一些创建自定义标记器的方法,但是我有点困惑。我所做的是使用短语匹配器来匹配模式。但是,它将匹配一个4位数字模式,例如111-111-1234,因为它在破折号上分裂 我只想修改当前的标记器(来自nlp=English()),并添加一条规则,使其不应在某些字符上拆分,而仅用于数字模式。要做到这一点,您需要用自己的标记方案覆盖spaCy的默认中缀标记方案。您可以通过修改spaCy found使用的中缀标记化方案来实现这一点 导入空间 从spacy.lang.char_类导入ALPHA、AL

我已经看到了一些创建自定义标记器的方法,但是我有点困惑。我所做的是使用短语匹配器来匹配模式。但是,它将匹配一个4位数字模式,例如
111-111-1234
,因为它在破折号上分裂


我只想修改当前的标记器(来自
nlp=English()
),并添加一条规则,使其不应在某些字符上拆分,而仅用于数字模式。

要做到这一点,您需要用自己的标记方案覆盖spaCy的默认
中缀
标记方案。您可以通过修改spaCy found使用的中缀标记化方案来实现这一点

导入空间
从spacy.lang.char_类导入ALPHA、ALPHA_LOWER、ALPHA_UPPER和连字符
从spacy.lang.char_类导入CONCAT_引号、列表椭圆、列表图标
从spacy.util导入编译\中缀\正则表达式
#默认标记器
nlp=spacy.load(“en_core\u web\u sm”)
doc=nlp(“abcDE为111-222-1234”)
打印([t.text表示文档中的t])
#修改标记器中缀模式
中缀=(
列表椭圆
+列出图标
+ [

r“(?要执行此操作,您需要使用自己的标记化方案覆盖spaCy的默认
中缀。您可以通过修改spaCy使用的中缀标记化方案来执行此操作

导入空间
从spacy.lang.char_类导入ALPHA、ALPHA_LOWER、ALPHA_UPPER和连字符
从spacy.lang.char_类导入CONCAT_引号、列表椭圆、列表图标
从spacy.util导入编译\中缀\正则表达式
#默认标记器
nlp=spacy.load(“en_core\u web\u sm”)
doc=nlp(“abcDE为111-222-1234”)
打印([t.text表示文档中的t])
#修改标记器中缀模式
中缀=(
列表椭圆
+列出图标
+ [

r“(?您可以添加一些输入和预期输出作为示例吗?例如,
111-111-1234
应该是
111-111-1234
——它不应该在
-
上拆分。另外,如果单词从小写到大写,您希望添加拆分:
abcDE
将变成
['abc','DE']
您可以添加一些输入和预期输出作为示例吗?例如,
111-111-1234
应该是
111-111-1234
——它不应该在
-
上拆分。另外,如果单词从小写到大写,希望添加拆分:
abcDE
将变成
['abc','DE']
谢谢!你知道这是否可以编辑吗:我不想将
RE:
拆分为
['RE',':']
。换句话说,如果有后跟冒号的“RE”,请不要拆分。可以通过修改其中一个中缀将其添加到此处吗?谢谢!您知道是否可以为此进行编辑:我不想将
RE:
拆分为
['RE',':']
。换句话说,如果“RE”后跟冒号,则不要拆分。可以通过修改其中一个中缀将其添加到此处吗?