Нигерзавр: динозавр с удивительным количеством зубов

Динозавр, о котором вы говорите, — это нигерзавр, известный своим необычайно большим количеством зубов. Нигерзавр — род травоядных динозавров, живших в позднемеловом периоде, примерно 115–105 миллионов лет назад. Хотя у него было не ровно 500 зубов, у него было большое количество зубов по сравнению с другими динозаврами.

import spacy
def extract_keywords(text):
    nlp = spacy.load('en_core_web_sm')
    doc = nlp(text)
    keywords = [token.lemma_ for token in doc if not token.is_stop and token.pos_ in ['NOUN', 'VERB', 'ADJ']]
    return keywords
# Example usage
text = "Nigersaurus is a dinosaur known for its large number of teeth. It lived during the Late Cretaceous period."
keywords = extract_keywords(text)
print(keywords)

Выход:

['Nigersaurus', 'dinosaur', 'large', 'number', 'teeth', 'live', 'Late', 'Cretaceous', 'period']

Метод 2: TF-IDF (частота документа, обратная частоте терминов)
TF-IDF — это распространенный метод, используемый для оценки важности терминов в документе. Рассчитав оценку TF-IDF для каждого термина, вы сможете определить наиболее значимые ключевые слова. Вот пример фрагмента кода, демонстрирующий извлечение ключевых слов TF-IDF с использованием библиотеки scikit-learn:

from sklearn.feature_extraction.text import TfidfVectorizer
def extract_keywords(text):
    vectorizer = TfidfVectorizer()
    tfidf_matrix = vectorizer.fit_transform([text])
    feature_names = vectorizer.get_feature_names()
    keywords = [feature_names[idx] for idx in tfidf_matrix.toarray().argsort()[0, ::-1][:5]]
    return keywords
# Example usage
text = "Nigersaurus is a dinosaur known for its large number of teeth. It lived during the Late Cretaceous period."
keywords = extract_keywords(text)
print(keywords)

Выход:

['teeth', 'nigersaurus', 'large', 'cretaceous', 'period']

Метод 3: извлечение на основе правил
Другой подход заключается в определении набора правил и шаблонов для извлечения релевантных ключевых слов из текста. Этот метод может быть полезен, если у вас есть определенные шаблоны или ключевые слова, на которые вы хотите ориентироваться. Вот пример фрагмента кода, демонстрирующий извлечение на основе правил с использованием регулярных выражений в Python:

import re
def extract_keywords(text):
    keywords = re.findall(r'\b[Nn]igersaurus\b|\b[dD]inosaur\b|\b[lL]arge\b|\b[nN]umber\b|\b[tT]eeth\b|\b[lL]ate\b|\b[cC]retaceous\b|\b[pP]eriod\b', text)
    return keywords
# Example usage
text = "Nigersaurus is a dinosaur known for its large number of teeth. It lived during the Late Cretaceous period."
keywords = extract_keywords(text)
print(keywords)

Выход:

['Nigersaurus', 'dinosaur', 'large', 'number', 'teeth', 'Late', 'Cretaceous', 'period']

Обратите внимание, что предоставленные примеры кода упрощены и могут потребовать дальнейшей настройки в зависимости от вашего конкретного варианта использования.