spacy 如何制作一个名词-名词匹配器,里面没有白色 space?
spacy how do I make a matcher which is noun-noun without white space within it?
我试图制作一个可以检测像
这样的词的匹配器
'all-purpose'
我正在尝试制作类似
的图案
pattern=[{'POS':'NOUN'}, {'ORTH':'-'},{'POS':'NOUN'}]
但是,我意识到它只能找到像
这样的匹配项
'all - purpose' 标记之间带有白色 space 而不是 'all-purpose'.
如何制作这样的匹配器?
它必须是像名词-名词这样的通用模式,而不是
spacy 文档
中示例中的特定词,如 'Barak Obama'
最佳,
你到底想匹配什么?使用 en_core_web_sm
,“通用”是三个标记,all
为我提供了 ADV POS 标签。所以这可能是您的匹配模式的问题。如果您只想要带连字符的单词,这可能是更好的匹配:
pattern = [{'IS_ALPHA': True}, {'ORTH':'-'}, {'IS_ALPHA': True}]
更一般地说,您的模式只匹配三个标记是正确的,尽管这不需要白色 space - 这取决于标记器的工作方式。例如,that's
没有 space 而是两个标记。
如果您正在查找作为一个标记出现的带连字符的词并希望匹配它们,您可以使用 regular expressions in Matcher rules。这是文档中如何工作的示例:
pattern = [{"TEXT": {"REGEX": "deff?in[ia]tely"}}]
在你的情况下,它可能看起来像这样:
pattern = [{"TEXT": {"REGEX": "-"}}]
我试图制作一个可以检测像
这样的词的匹配器'all-purpose'
我正在尝试制作类似
的图案pattern=[{'POS':'NOUN'}, {'ORTH':'-'},{'POS':'NOUN'}]
但是,我意识到它只能找到像
这样的匹配项'all - purpose' 标记之间带有白色 space 而不是 'all-purpose'.
如何制作这样的匹配器? 它必须是像名词-名词这样的通用模式,而不是 spacy 文档
中示例中的特定词,如 'Barak Obama'最佳,
你到底想匹配什么?使用 en_core_web_sm
,“通用”是三个标记,all
为我提供了 ADV POS 标签。所以这可能是您的匹配模式的问题。如果您只想要带连字符的单词,这可能是更好的匹配:
pattern = [{'IS_ALPHA': True}, {'ORTH':'-'}, {'IS_ALPHA': True}]
更一般地说,您的模式只匹配三个标记是正确的,尽管这不需要白色 space - 这取决于标记器的工作方式。例如,that's
没有 space 而是两个标记。
如果您正在查找作为一个标记出现的带连字符的词并希望匹配它们,您可以使用 regular expressions in Matcher rules。这是文档中如何工作的示例:
pattern = [{"TEXT": {"REGEX": "deff?in[ia]tely"}}]
在你的情况下,它可能看起来像这样:
pattern = [{"TEXT": {"REGEX": "-"}}]