25 lines
791 B
Python
25 lines
791 B
Python
# 1 модуль - Распознавание именованных сущностей (NER)
|
||
|
||
import spacy
|
||
|
||
class NER:
|
||
"""
|
||
Класс для выделения именованных сущностей из текста с помощью библиотеки spaCy.
|
||
"""
|
||
def __init__(self):
|
||
self.nlp = spacy.load('ru_core_news_lg')
|
||
|
||
def extract_entities(self, text):
|
||
"""
|
||
Выделение именованных сущностей из текста.
|
||
|
||
Использование: text (<текст>)
|
||
|
||
Возвращает set сущностей без повторения
|
||
"""
|
||
doc = self.nlp(text)
|
||
entities = set()
|
||
for ent in doc.ents:
|
||
entities.add(ent.text)
|
||
return entities
|