Как извлечь конкретный текст из строки, используя spacy и nltk? - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть поиск по этому вопросу, но ни один из вопросов и решений не соответствуют моему сценарию. Это то, из чего я хочу извлечь двенадцать (12) месяцев

text = 'Thereafter,this Agreement will automatically renew for successive twelve (12) month periods (each, a “Renewal Term”).'

И для этого я написал этот шаблон

 doc = nlp(text)
# Matcher class object 
matcher = Matcher(nlp.vocab) 

#define the pattern 
pattern1 = [{'LOWER':'renew'}, 
       {'LOWER':'for'}, 
       {'LOWER':'successive'},
       {'DEP':'nummod','OP':"*"}, # numeric modifier 
       {'DEP':'amod','OP':"*"}, # adjectival modifier 
        {"ORTH": "("} ,                   
      ] 
pattern2 = [
        {'IS_PUNCT': True},
        {'DEP':'nummod','OP':"?"}, # numeric modifier 
        {'DEP':'amod','OP':"?"}, # adjectival modifier 
        {'IS_PUNCT': True}, 
        {'POS':'NOUN'},

       ]

matcher.add("renewal_term", None, pattern1,pattern2) 
matches = matcher(doc) 

и он просто возвращает (12) месяц . как извлечь двенадцать (12) месяц

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