Поиск и работа с именами собственными в текстах.

Пример кода на Python с использованием spaCy для выделения имен собственных.

import spacy

# Загрузка многоязычной модели для spaCy
nlp = spacy.load("xx_ent_wiki_sm")

# Текст для анализа
text = "Иван и Марья Ивановна были в парке. Петр и Ирина пошли в магазин."

# Применяем spaCy для анализа текста
doc = nlp(text)

# Выделяем имена собственные (на основе модели NER)
persons = []

for ent in doc.ents:
if ent.label_ == "PERSON":
persons.append(ent.text)

# Выводим имена собственные
print("Найденные имена собственные:", persons)

================
Поиск имен собственных с использованием pymorphy3

import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics.pairwise import cosine_similarity
import nltk
from nltk.corpus import stopwords
import pymorphy3
from wordcloud import WordCloud
import matplotlib.pyplot as plt

# Загрузка стоп-слов для русского языка
nltk.download('stopwords')
russian_stopwords = stopwords.words('russian')

# Чтение файла
with open(path_to_text_file, 'r', encoding='utf-8') as file:
text_data = file.readlines()

# Объединение текста в один большой текст для анализа
full_text = ' '.join(text_data)

# Создание экземпляра морфологического анализатора
morph = pymorphy3.MorphAnalyzer()

# Разделение текста на слова
words = full_text.split()

# Поиск имен собственных с использованием pymorphy3
proper_nouns = set()
for word in words:
parsed_word = morph.parse(word)[0]
if 'Name' in parsed_word.tag: # Проверка, является ли слово именем собственным
proper_nouns.add(word)

# Выводим найденные имена собственные таблицей
proper_nouns_df = pd.DataFrame(list(proper_nouns), columns=["Имена собственные"])
print("\nНайденные имена собственные:")
print(proper_nouns_df)
Просмотры: 3
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти