Я использую простую лемматизацию предложений и пытаюсь проверить, владеют ли они определенными леммами. Как я могу получить лемматизированную форму предложения, не разбивая его элемент на строку. Это потому, что я хочу проверить конкретное выражение (существительное, словесная фраза или даже лемма).
liste = [ 'je mange', 'je lit', 'il est laid', ' il est trop bon', 'il est trop bavard']
liste_r = ['être laid', 'lire', 'trop bavard']
Я хочу получить это после проверки слова или выражений в исходных лемматизированных предложениях:
liste2 = [ 'je lit', 'il est laid', ' il est trop bon']
но со сценарием ниже II просто получите:
liste2 = [ 'je lit']
import os
import spacy.attrs
import spacy
from spacy.lang.fr import French
from spacy.tokenizer import Tokenizer
from spacy.util import compile_prefix_regex, compile_infix_regex, compile_suffix_regex
nlp = spacy.load("fr_core_news_md")
from spacy.matcher import Matcher
liste = [ 'je mange', 'je lit', 'il est laid', ' il est trop bon', 'il est trop bavard']
liste2 = []
liste_r = ['être laid', 'lire', 'trop bavard']
for elt in liste :
doc = nlp(elt)
print(doc)
for tok in doc:
if tok.lemma_ in liste_r:
liste2.append(doc)
print(liste2)