add paraGenerator
This commit is contained in:
32
NER.py
32
NER.py
@@ -1,9 +1,27 @@
|
||||
# 1 модуль - Распознавание именованных сущностей (NER)
|
||||
|
||||
import spacy
|
||||
|
||||
nlp = spacy.load("ru_core_news_lg")
|
||||
text = "Добрый день, я, Сидоров Иван Иванович. Прошу перевести сто тысяч рублей Якову Петру Игнатьевичу."
|
||||
doc = nlp(text)
|
||||
|
||||
for ent in doc.ents:
|
||||
print(f"{ent.text} -> {ent.label_}")
|
||||
|
||||
class NER:
|
||||
"""
|
||||
Класс для выделения именованных сущностей из текста с помощью библиотеки spaCy.
|
||||
"""
|
||||
def __init__(self):
|
||||
self.nlp = spacy.load("ru_core_news_lg")
|
||||
|
||||
def extract_entities(self, text):
|
||||
"""
|
||||
Выделение именованных сущностей из текста
|
||||
Использование: text (<текст>)
|
||||
Возвращает: List[Dict[text, type]] - список словарей, каждый из которых содержит информацию об одной сущности
|
||||
"""
|
||||
doc = self.nlp(text)
|
||||
entities = []
|
||||
for ent in doc.ents:
|
||||
entities.append({
|
||||
'text': ent.text, # Текст сущности
|
||||
'type': ent.label_, # Тип сущности (PER, LOC, ORG, DATE и т.д.)
|
||||
'start': ent.start_char, # Начальная позиция в тексте
|
||||
'end': ent.end_char # Конечная позиция в тексте
|
||||
})
|
||||
return entities
|
||||
|
||||
Reference in New Issue
Block a user