我希望用这个简单的代码找到一些模式。但结果是空洞的。我忘了什么?
for tk in doc[:30]:
print (tk.text, ':', tk.pos_)名词de : ADP avalia oSimula o:名词计算: ADJ conforme : ADP过程:名词apresentados :动词em : ADP : SPACE Edifi: PROPN ca es: NOUN em : ADP fase : NOUN de : ADP projetoA :名词avalia o:名词deve :动词ser : AUX feita :动词分段: ADP um : NUM dia : NOUN típico : ADJ de :ADJ projeto :名词de
pattern = [
{'POS': 'NOUN'},
{'LOWER': 'ADP'},
] #Matcher class object
matcher = Matcher(nlp.vocab)
matcher.add("matching_1", patterns = [pattern])
result = matcher(doc, as_spans=True)
print(result)[]
所以我期待词性标签'NOUN‘+ 'ADP’的模式可以找到'Método de',‘ca es em','fase de','projeto de’。
发布于 2022-05-16 03:15:16
下面的规则将匹配在小写时等于"ADP“的令牌。这将不匹配任何东西,因为"ADP“不是小写。
{'LOWER': 'ADP'},我不知道这应该是什么,也许你想用POS = ADP来匹配小写单词?在这种情况下,您需要这样的规则:
{"POS": "ADP", "REGEX": "^[a-z]+$"}为了重申我前面说过的话:{'LOWER': 'ADP'} 不将小写单词与ADP部分的词性匹配。你似乎对“较低”的含义或规则的运作方式感到困惑。
让我举一个例子。{"LOWER": "dog"}将匹配像“狗”、“狗”或“狗”这样的单词。它将不匹配词与词类“狗”(不存在)。"LOWER": value的意思是,“匹配当它们变成小写时看起来像value的单词”。
如果您想匹配具有ADP部分词性的小写单词,您应该使用我上面写的规则和REGEX位。
https://stackoverflow.com/questions/72249074
复制相似问题