【发布时间】:2019-07-01 14:26:05
【问题描述】:
我正在尝试识别文本中的概念。通常我认为当两个或多个单词彼此相对接近时,一个概念就会出现在文本中。 例如,一个概念可以是任何单词 森林、树木、自然 距离不到 4 个字 着火,燃烧,过热
我正在学习 spacy,到目前为止我可以像这样使用匹配器:
import spacy
from spacy.matcher import Matcher
nlp = spacy.load("en_core_web_sm")
matcher = Matcher(nlp.vocab)
matcher.add("HelloWorld", None, [{"LOWER": "hello"}, {"IS_PUNCT": True}, {"LOWER": "world"}],[{"LOWER": "hello"}, {"LOWER": "world"}])
这将匹配 hello world 和 hello, world(或上述示例的 树触发)
我正在寻找一种解决方案,可以在 5 个单词的窗口内生成单词 Hello 和 World 的匹配项。
我查看了: https://spacy.io/usage/rule-based-matching
以及那里描述的运算符,但我无法将这种单词窗口方法放在“spacy”语法中。
此外,我也无法将其推广到更多单词。
一些想法? 谢谢
【问题讨论】: