Как использовать Spacy для извлечения предложений для определенного шаблона? - PullRequest
0 голосов
/ 21 апреля 2020

Я использую простую лемматизацию предложений и пытаюсь проверить, владеют ли они определенными леммами. Как я могу получить лемматизированную форму предложения, не разбивая его элемент на строку. Это потому, что я хочу проверить конкретное выражение (существительное, словесная фраза или даже лемма).


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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...