Rake, YAKE!, TextRank — NTA на vc.ru
Речь пойдет про алгоритмы выделения ключевых слов Rake, YAKE! И TextRank. Выделение ключевых слов становится все более актуальным с постоянным ростом объемов текстовой информации, которую необходимо каким-то образом классифицировать по тематике. Рассмотренные модели обладают интересными свойствами и преимуществами по сравнению с классическими алгоритмами, поскольку не требуют обучения.
3736 просмотров
В условиях значительного потока информации, в том числе и текстовой, появляется необходимость фильтровать ее автоматически, с помощью алгоритмов. Одним из возможных подходов к выделению смысла текста и оценке его релевантности является задача извлечения ключевых слов. Идея заключается в том, чтобы выделить слова или фразы, которые являются наиболее важными для всего текста и передают его основную тематику.
Алгоритмы без учителя обладают преимуществом в условиях большого объема данных – нет необходимости в разметке данных, которая для данной задачи является достаточно трудоемкой.
Основной идеей алгоритма является то, что ключевые слова зачастую находятся в окружении стоп-слов и пунктуации.
Обычно в множество стоп-слов входят предлоги, союзы и другие функциональные части речи. В большинстве приложений интеллектуального текстового анализа стоп-слова считаются незначимыми и убираются на этапе предобработки, однако в данном методе играют важную роль.
Стоп-слова и пунктуация расценивается как разделители фраз – текст разбивается по этим элементам на фразы кандидаты. Далее фразы-кандидаты ранжируются по метрике deg(w)/freq(w) и выбираются k кандидатов с наибольшим значением метрики.
Метрика основана на следующей логике:
- freq(w) – Частота слова в тексте, поощряет часто встречающиеся слова
- deg(w) — Определяется как сумма совместных появлений других слов с этим словом. Совместным появлением считается появление в одной фразе. Данная метрика поощряет слова, которые часто встречаются в длинных кандидатах
- freq(w)/deg(w) – Поощряет слова, которые появляются в основном в длинных кандидатах
YAKE!
Этот метод похож по смыслу на Rake, однако была убрана идея о выделении фраз на основе стоп-слов. В данном методе используется стандартная для текстового анализа методика выделения слов и фраз с помощью токенизации. Фактически такая методика позволяет проверить все сочетания слов на их важность, а не только разделенные стоп-словами. YAKE! использует более сложную метрику, чем Rake – она собирается из 5 отдельных метрик.
Casing
Метрика Casing основана на идее о том, что ключевые слова зачастую могут быть названиями или аббревиатурами. Она измеряет количество раз, когда слово в тексте встречается с большой буквы или является аббревиатурой (написано полностью большими буквами).
Где:
- TF(U(w)) – Количество раз, когда слово начинается с большой буквы
- TF(A(w)) – Количество раз, когда слово отмечается алгоритмом, как аббревиатура (Состоит из больших букв)
- TF(w) – Общая частота слова
Word Position
Авторы утверждают, что ключевые слова чаще стоят в начале текста. Из-за этого вводится метрика Word Position, которая учитывает положение слова относительно других.
Где:
- Senw – множество позиций слова в документе
Word Frequency
Как и в Rake учитывается частота слова. В данном случае частота слова нормируется с учетом среднего и стандартного отклонения частоты:
Где:
- TF(w) – Частота слова в тексте
Word Relatedness to Context
Авторы утверждают, что данная метрика способна оценивать насколько слово похоже на стоп-слово – насколько оно важно для контекста. Метрика использует количество слов, появляющихся слева и справа от слова-кандидата
Где:
- WL – отношение количества слов слева от кандидата к количеству всех слов, которые появляются вместе с ним
- WR – отношение количества слов справа от кандидата к количеству всех слов, которые появляются вместе с ним
- PL – Отношение количества разных слов, которые появляются слева от кандидата к MaxTF
- PR — Отношение количества разных слов, которые появляются справа от кандидата к MaxTF
Утверждается, что стоп-слова имеют высокое значение метрики WRel
DifSentence
Эта метрика учитывает количество предложений, в которых используется слово-кандидат.
Где:
- SF(w) – Частота появления слова в предложениях
- # Sentences – Количество предложений в тексте
Итоговая метрика
Итоговая метрика составляется из описанных выше метрик.
Далее происходит сортировка ключевых слов по этой метрике и выбирается k наиболее значимых.
TextRank
Метод TextRank наиболее сильно отличается от двух предыдущих. Он использует идею, что любой текст можно представить в виде графа, где слова являются вершинами, а связи между ними – ребрами графа. После переведения текста в графовое представление используется классическая метрика важности вершин графа PageRank.
Построение графа
Для построения графа вокруг каждого слова берется контекст – берутся все слова, которые находятся на расстоянии n-слов от главного. Например, для контекста размера 2 берутся два слова слева и два слова справа от текущего. Все слова в контексте текущего связываются с ним ребрами графа.
PageRank
Рассмотрим метрику, которая используется для выделения важных вершин на графе.
Где:
- S(Vi)S(Vi) – важность i-ой вершины
- In(Vi)In(Vi) – множество вершин, имеющих входящие в i-ую вершину ребра
- Out(Vi) – множество вершин, связанных с i-ой вершиной исходящими из нее ребрами
- dd –Коэффициент затухания, выбирается пользователем
Важность инициализируется случайными числами и потом итеративно сходится к правильным значениям. Таким образом, важность слова определяется связью с другими важными словами.
Python-реализация алгоритмов
Для демонстрации работы алгоритмов используем текст про алгоритм Евклида из Википедии.
TextRank
Все три алгоритма решают одну и ту же задачу с разных сторон и с использованием разной логики. Результаты работы алгоритмов из-за этого отличаются. Нельзя однозначно сказать, какой из них лучше решает конкретную задачу. На отдельной задаче имеет смысл тестировать качество каждого из алгоритмов и делать выбор исходя из этого.
Что такое ключевое слово в тексте для сайта
В процессе поиска информации о ключевых словах в контексте SEO вы натыкаетесь на горы информации об анализе ключевых слов. Конечно, анализ ключевых слов крайне важен, если вы хотите вывести свою страницу в ТОП поисковой выдачи. Но также важно понимать главную задачу ключевого слова. Именно это мы и обсудим ниже.
Содержание
- Что такое ключевое слово
- Почему ключевые слова так важны
- Как использовать ключевые слова на страницах и в статьях
Что такое ключевое слово
Ключевые слова (или фокусные ключевые слова, как их называют некоторые) – это слова, которые наилучшим образом описывают контент вашей страницы или статьи. Это поисковый запрос, по которому вы хотите продвигать конкретную страницу. Когда люди вводят такое ключевое слово в строку поиска Google или другой поисковой системы, они должны обнаружить эту страницу сайта.
Например, у вас есть сайт о пианино – вы продаете все виды этого музыкального инструмента. Ваш блог рассказывает, на что нужно обращать внимание при покупке пианино. Вы также делитесь обзорами моделей, которые можно купить в вашем онлайн-магазине.
Вы продаете электрические пианино, поэтому создали страницу для этой категории товаров. Спросите себя вот о чем:
– по какому поисковому запросу вас должны находить?
– какие фразы, по вашему мнению, будут использовать люди, чтобы найти вас в поисковиках?
– как должен выглядеть поисковый запрос?
Видимо, «электропианино» будет ответом на эти вопросы, так как оно точнее всего отражает содержимое страницы. Если бы вам нужно было описать свой контент одним словом, что это было бы? Какие слова вы бы использовали?
Это и есть ваше ключевое слово (или ключевая фраза, если описание состоит из нескольких слов).
Почему ключевые слова так важны
Один из факторов, на которые обращает внимание Google при ранжировании, это содержание страницы. Теперь представьте картину, когда каждое слово, к примеру, в статье об электропианино используется ровно 2 раза. В этом случае все слова имеют одинаковый вес, и у Google не будет подсказки, какие из них важны, а какие – нет.
Ключевые слова – подсказка для поисковых систем, они рассказывают, чему посвящена страница или публикация в блоге. Так что если вы хотите, чтобы поисковики распознавали тему ваших страниц, используйте эти подсказки достаточно часто.
Но поисковые системы – не единственная причина, по которой так важны ключевые слова. По правде говоря, поисковики стоят на втором месте по важности, поскольку в первую очередь вы должны сосредоточиться на пользователях – посетителях сайта и потенциальных клиентах.
Вы хотите, чтобы с помощью SEO люди попадали на ваш сайт, используя определенные поисковые запросы или ключевые слова. Вам нужно понимать образ мышления своей аудитории и использовать те слова, которые она использует при поиске.
Если вы выбрали неправильные ключевые слова, то никогда не получите посетителей, о которых мечтаете, потому что ваш текст не совпадет с тем, что ищет ваша целевая аудитория. Но если вы действительно пользуетесь ключевыми словами своих потенциальных посетителей, ваш бизнес сможет процветать.
Неправильные ключевые слова приведут к вам неправильных посетителей или вообще никого не приведут. Вот почему верный выбор ключевых слов так важен.
Как использовать ключевые слова на страницах и в статьях
В старые добрые времена вы могли добавить кучу ключевых слов на страницу или в текст, занимаясь наполнением сайта, и занять хорошее место в поисковой выдаче. Но тексты с большим количеством ключевых слов практически нечитаемы.
Поскольку пользователи считают подобный контент ужасным, Google тоже начал считать его ужасным. Вот почему сегодня продвигаться в поисковых системах с помощью старомодного наполнения ключевыми словами стало (к счастью) очень сложно.
Какие же главные правила использования ключей сегодня?
Прежде всего, ваш контент должен легко читаться. Конечно, вам нужно использовать ключевые слова, но не пичкать ими каждое предложение. В общем, они должны составлять 1-2% от всех слов в публикации.
Убедитесь, что слова и фразы, которые вы используете как ключевые, равномерно расположены по всему тексту. Не собирайте их все в первом абзаце, считая, что справились таким способом с оптимизацией контента. Распределите ключи естественным образом по странице или публикации.
Используйте их в подзаголовке или нескольких подзаголовках, в зависимости от длины статьи. И не забудьте вписать свое ключевое слово в заголовок, первый абзац и мета-описание.
Теперь у вас есть общее представление о том, что такое ключевые слова в тексте и как их использовать. Эти знания помогут при анализе ключевых слов, который является следующим обязательным шагом!
Практика SEO на реальном примере.
Методы извлечения ключевых слов из документов в НЛП
Эта статья была опубликована в рамках блога по науке о данных.
Введение
Извлечение ключевых слов обычно используется для извлечения ключевой информации из ряда абзацев или документов. Извлечение ключевых слов — это автоматизированный метод извлечения наиболее релевантных слов и фраз из введенного текста. Это метод анализа текста, который включает автоматическое извлечение наиболее важных слов и выражений со страницы. Это помогает обобщить содержание текста и определить ключевые обсуждаемые вопросы — например, протокол собрания (MOM).
Источник: https://towardsdatascience.com/textrank-for-keyword-extraction-by-python-c0bae21bcec0Предположим, вы хотите найти в Интернете большое количество оценок продукта (возможно, сотни тысяч). Чтобы просмотреть все данные и найти термины, которые лучше всего определяют каждый обзор, можно использовать извлечение ключевых слов. Вы сможете увидеть, какие темы вызывают наибольшее обсуждение среди ваших потребителей, а автоматизация процесса сэкономит вашим сотрудникам много времени. В этом блоге я покажу вам, как извлекать ключевые слова из документов с помощью обработки естественного языка.
- Рейк_NLTK
- Спэйси
- Текстранг
- Word облако
- KeyBert
- Яке
- API-интерфейс MonkeyLearn
- API Textrazor
Рейк_NLTK
RAKE (быстрое автоматическое извлечение ключевых слов) — это хорошо известный метод извлечения ключевых слов, который находит наиболее релевантные слова или фразы в фрагменте текста, используя набор стоп-слов и разделителей фраз. Rake nltk — это расширенная версия RAKE, поддерживаемая NLTK. Шаги для быстрого автоматического извлечения ключевых слов следующие:
- Разделить текст ввода по точкам
- Создать матрицу совпадений слов
- Оценка слова — эта оценка может быть рассчитана как степень слова в матрице, как частота слова или как степень слова, деленная на его частоту
- ключевых фраз также можно создать, комбинируя ключевые слова
- Ключевое слово или ключевая фраза выбраны тогда и только тогда, когда их оценка относится к числу лучших T оценок, где T — количество ключевых слов, которые вы хотите извлечь
Реализация Python для извлечения ключевых слов с использованием алгоритма Rake
Для установки
pip3 установить rake-nltk
Для извлечения ключевых слов
Прочтите этот официальный документ, чтобы узнать больше об алгоритме RAKE.
Спэйси
Еще одна фантастическая библиотека Python NLP — spaCy. Этот пакет, более новый, чем NLTK или Scikit-Learn, направлен на то, чтобы максимально упростить глубокое обучение для анализа текстовых данных. Ниже приведены процедуры, связанные с извлечением ключевых слов из текста с использованием спайса.
- Разделить текстовое содержимое ввода по токенам
- Извлечь горячие слова из списка токенов.
- Установите горячие слова как слова с почтовым тегом « PROPN », « ADJ » или « NOUN ». (список POS-тегов настраивается)
- Найдите наиболее распространенное количество T горячих слов из списка
- Распечатать результаты
Реализация Python для извлечения ключевых слов с использованием Spacy
Для установки
pip3 установить пробел
Для извлечения ключевых слов
импортировать пространство из коллекций импорт Счетчик пунктуация импорта строки nlp = spacy. load ("en_core_web_sm") деф get_hotwords (текст): результат = [] pos_tag = ['PROPN', 'ADJ', 'СУЩЕСТВИТЕЛЬНОЕ'] документ = нлп (текст.нижний ()) для токена в документе: if(token.text в nlp.Defaults.stop_words или token.text в пунктуации): продолжать если (токен.pos_ в pos_tag): результат.добавление(токен.текст) вернуть результат новый_текст = """ Когда дело доходит до оценки производительности экстракторов ключевых слов, вы можете использовать некоторые стандартные показатели машинного обучения: точность, достоверность, полнота и оценка F1. Однако эти показатели не отражают частичные совпадения. они учитывают только идеальное совпадение между извлеченным сегментом и правильным прогнозом для этого тега. К счастью, есть и другие метрики, способные фиксировать частичные совпадения. Примером этого является ROUGE. """ вывод = установить (get_hotwords (новый_текст)) most_common_list = Счетчик(выход).most_common(10) для элемента в most_common_list: печать (элемент [0])
Выход
точность точность способный частичный прогноз счет правильный экстракторы Матчи идеально
Текстранг
Textrank — это инструмент Python, который извлекает ключевые слова и обобщает текст. Алгоритм определяет, насколько тесно связаны слова, просматривая, следуют ли они друг за другом. Затем наиболее важные термины в тексте ранжируются с использованием алгоритма PageRank. Textrank обычно совместим с конвейером Spacy. Вот основные процессы, которые Textrank выполняет при извлечении ключевых слов из документа.
Шаг – 1: Чтобы найти релевантные термины, алгоритм Textrank создает сеть слов (граф слов). Эта сеть создается путем просмотра того, какие слова связаны друг с другом. Если два слова часто встречаются в тексте рядом друг с другом, между ними устанавливается связь. Ссылка получает больший вес, если два слова чаще появляются рядом друг с другом.
Шаг – 2 :Для определения релевантности каждого слова к сформированной сети применяется алгоритм PageRank. Верхняя треть каждого из этих терминов сохраняется и считается важной. Затем, если релевантные термины появляются в тексте один за другим, создается таблица ключевых слов путем их группировки.
TextRank — это реализация Python, которая обеспечивает быстрое и точное извлечение фраз, а также резюмирование для использования в рабочих процессах spaCy. Метод графа не зависит от какого-либо конкретного естественного языка и не требует знания предметной области. Инструмент, который мы будем использовать для извлечения ключевых слов, — это PyTextRank (версия TextRank для Python в качестве плагина конвейера spaCy). Пожалуйста, ознакомьтесь с базовым документом здесь, чтобы узнать больше о Textrank.
Реализация Python для извлечения ключевых слов с использованием Textrank
Для установки
pip3 установить pytextrank
скачать spacy en_core_web_sm
Для извлечения ключевых слов
импортировать пространство импортировать pytextrank # пример текста text = "Совместность систем линейных ограничений над множеством натуральных чисел. Рассмотрены критерии совместности системы линейных диофантовых уравнений, строгих неравенств и нестрогих неравенств. Приведены оценки сверху компонент минимального множества решений и алгоритмы построения минимальных образующих множеств решений для всех типов систем. Эти критерии и соответствующие им алгоритмы построения минимального опорного множества решений могут быть использованы при решении систем всех рассматриваемых типов и систем смешанных типов." # загрузить модель spaCy в зависимости от языка, масштаба и т.д. nlp = spacy.load ("en_core_web_sm") # добавить PyTextRank в конвейер spaCy nlp.add_pipe ("textrank") документ = нлп (текст) # проверить самые популярные фразы в документе для фразы в doc._.phrases[:10]: печать(фраза.текст)
Выход
смешанные типы минимальные порождающие наборы системы нестрогие неравенства строгие неравенства натуральные числа линейные диофантовы уравнения решения линейные ограничения минимальный вспомогательный набор
Облако слов
Величина каждого слова представляет его частоту или релевантность в облаке слов, которое является инструментом визуализации данных для визуализации текстовых данных. Облако слов можно использовать для выделения важных текстовых данных. Данные с веб-сайтов социальных сетей часто анализируются с использованием облаков слов.
Чем крупнее и жирнее термин появляется в облаке слов, тем больше раз он появляется в источнике текстовых данных (например, речи, записи в блоге или базе данных) (также известном как облако тегов или текстовое облако). Облако слов — это набор слов разных размеров. Чем чаще термин встречается в документе и чем он важнее, тем он крупнее и жирнее. Это отличные способы извлечения наиболее важных частей текстовых данных, таких как сообщения в блогах и базы данных.
Реализация Python для извлечения ключевых слов с использованием Wordcloud
Для установки
pip3 установить wordcloud pip3 установить matplotlib
Для извлечения ключевых слов и демонстрации их релевантности с помощью Wordcloud
импортных коллекций импортировать numpy как np импортировать панд как pd импортировать matplotlib. cm как см импортировать matplotlib.pyplot как plt из matplotlib импортировать rcParams из wordcloud импортировать WordCloud, СТОП СЛОВА all_headlines = """ Когда дело доходит до оценки производительности экстракторов ключевых слов, вы можете использовать некоторые стандартные показатели машинного обучения: точность, достоверность, полнота и оценка F1. Однако эти показатели не отражают частичные совпадения; они учитывают только идеальное совпадение между извлеченным сегментом и правильным прогнозом для этого тега. К счастью, есть и другие метрики, способные фиксировать частичные совпадения. Примером этого является ROUGE. """ стоп-слова = СТОП-СЛОВА wordcloud = WordCloud(stopwords=stopwords, background_color="white", max_words=1000).generate(all_headlines) rcParams['figure.figsize'] = 10, 20 plt.imshow (облако слов) плт.ось("выкл") plt.show() filtered_words = [слово в слово в all_headlines.split(), если слово не входит в стоп-слова] counted_words = collections.Counter(отфильтрованные_слова) слова = [] количество = [] для буквы подсчитайте в counted_words. most_common(10): слова.добавлять(буква) counts.append(количество) цвета = см.радуга(np.linspace(0, 1, 10)) rcParams['figure.figsize'] = 20, 10 plt.title('Лучшие слова в заголовках по сравнению с их количеством') plt.xlabel('Счетчик') plt.ylabel('Слова') plt.barh(слова, количество, цвет=цвета) plt.show()
Выход
Источник: Автор Источник: Автор
КейБерт
KeyBERT — это базовый и простой в использовании метод извлечения ключевых слов, который генерирует ключевые слова и фразы, наиболее похожие на данный документ, с использованием встраивания BERT. Он использует BERT-эмбеддинги и базовое косинусное сходство для поиска поддокументов в документе, которые наиболее похожи на сам документ.
BERT используется для извлечения вложений документов, чтобы получить представление на уровне документа. Затем извлекаются вложения слов для N-граммных слов/фраз. Наконец, он использует косинусное сходство, чтобы найти слова/фразы, наиболее похожие на документ. Затем наиболее сопоставимые термины могут быть идентифицированы как те, которые лучше всего описывают весь документ.
Поскольку KeyBert построен на основе BERT, он создает вложения с использованием предварительно обученных моделей на основе Huggingface Transformer. По умолчанию для встраивания используется модель all-MiniLM-L6-v2 .
Реализация Python для извлечения ключевых слов с использованием KeyBert
Для установки
pip3 установить ключ
Для извлечения ключевых слов и демонстрации их релевантности с помощью KeyBert
из импорта ключей KeyBERT документ = """ Обучение с учителем — это задача машинного обучения по обучению функции, которая сопоставляет ввод с выводом на основе примеров пар ввода-вывода. Это предполагает функцию из размеченных обучающих данных, состоящих из набора обучающих примеров. В обучении с учителем каждый пример представляет собой пару, состоящую из входного объекта (обычно вектор) и желаемое выходное значение (также называемое контрольным сигналом). Алгоритм обучения с учителем анализирует обучающие данные и выводит предполагаемую функцию. которые можно использовать для отображения новых примеров. Оптимальный сценарий позволит алгоритм для правильного определения меток класса для невидимых экземпляров. Это требует алгоритм обучения для обобщения обучающих данных на невидимые ситуации в «разумным» способом (см. индуктивное смещение). kw_model = KeyBERT() ключевые слова = kw_model.extract_keywords(doc) печать(ключевые слова)
Выход
[('под наблюдением', 0,6676), ('помеченный', 0,4896), ('обучение', 0,4813), ('обучение', 0,4134), ('метки', 0,3947)]
Еще один экстрактор ключевых слов (Yake)
Для автоматического извлечения ключевых слов в Yake функции текста используются неконтролируемым образом. YAKE — это базовый неконтролируемый автоматический метод извлечения ключевых слов, который определяет наиболее релевантные ключевые слова в тексте с использованием текстовых статистических данных из отдельных текстов. Этот метод не зависит от словарей, внешних корпусов, размера текста, языка или домена и не требует обучения на определенном наборе документов. Основные характеристики алгоритма Яке следующие:
- Неконтролируемый подход
- Корпус-независимый
- Независимо от домена и языка
- Один документ
Реализация Python для извлечения ключевых слов с использованием Yake
Для установки
pip3 установить яке
Для извлечения ключевых слов и демонстрации их релевантности с помощью Yake
импортный яке документ = """ Обучение с учителем — это задача машинного обучения по обучению функции, которая сопоставляет ввод с выводом на основе примеров пар ввода-вывода. Это предполагает функцию из размеченных обучающих данных, состоящих из набора обучающих примеров. В обучении с учителем каждый пример представляет собой пару, состоящую из входного объекта (обычно вектор) и желаемое выходное значение (также называемое контрольным сигналом). Алгоритм обучения с учителем анализирует обучающие данные и выводит предполагаемую функцию. которые можно использовать для отображения новых примеров. Оптимальный сценарий позволит алгоритм для правильного определения меток класса для невидимых экземпляров. Это требует алгоритм обучения для обобщения обучающих данных на невидимые ситуации в «разумным» способом (см. индуктивное смещение). kw_extractor = yake.KeywordExtractor() ключевые слова = kw_extractor.extract_keywords(doc) для кВт в ключевых словах: печать (кВт)
Выход
(«задача машинного обучения», 0,0227035015683) («Обучение с учителем», 0,06742808121232775) («обучение», 0,0724570
69999) («данные для обучения», 0,07557730010583494) («сопоставляет ввод», 0,07860851277995791) («на основе вывода», 0,08846540097554569) («пары ввода-вывода», 0,08846540097554569) («машинное обучение», 0,09853013116161088) («учебная задача», 0,09853013116161088) («обучение», 0,10592640317285314) («функция», 0,11237403107652318) («обучающие данные, состоящие из», 0,12165867444610523) («алгоритм обучения», 0,1280547892393491) («Под наблюдением», 0. 120398758118) («алгоритм обучения под наблюдением», 0.13060566752120165) ("данные", 0,1454043828185849) («помеченные данные обучения», 0,15052764655360493) («алгоритм», 0,15633092600586776) («вход», 0,17662443762709562) («состоящая пара», 0,172807220248)
API-интерфейс MonkeyLearn
MonkeyLearn — это удобный инструмент для анализа текста с предварительно обученным экстрактором ключевых слов, который можно использовать для извлечения важных фраз из ваших данных с помощью API MonkeyLearn. API-интерфейсы доступны на всех основных языках программирования, и разработчики могут извлекать ключевые слова с помощью всего нескольких строк кода и получать файл JSON с извлеченными ключевыми словами. У MonkeyLearn также есть бесплатный генератор облака слов, который работает как простой «извлекатель ключевых слов», позволяя вам создавать облака тегов из ваших самых важных терминов. После того, как вы создадите учетную запись Monkeylearn, вам будет присвоено API-ключ и идентификатор модели для извлечения ключевых слов из текста.
Дополнительные сведения см. в официальной документации по API Monkeylearn.
Преимущества автоматизации извлечения ключевых слов
- Описания продуктов, отзывы клиентов и другие источники могут использоваться для извлечения ключевых слов.
- Определите, какие термины чаще всего используются клиентами.
- Мониторинг упоминаний брендов, продуктов и услуг в режиме реального времени
- Можно автоматизировать и ускорить извлечение и ввод данных.
Реализация Python для извлечения ключевых слов с использованием MonkeyLearn API
Для установки
pip3 установить обезьяну узнать
Для извлечения ключевых слов с помощью Monkeylearn API
от monkeylearn импортировать MonkeyLearn мл = MonkeyLearn('your_api_key') мой_текст = """ Когда дело доходит до оценки производительности экстракторов ключевых слов, вы можете использовать некоторые стандартные показатели машинного обучения: точность, достоверность, полнота и оценка F1. Однако эти показатели не отражают частичные совпадения; они учитывают только идеальное совпадение между извлеченным сегментом и правильным прогнозом для этого тега. """ данные = [мой_текст] model_id = 'ваш_model_id' результат = ml.extractors.extract (id_модели, данные) dataDict = результат.тело для элемента в dataDict[0]['extractions'][:10]: печать (элемент ['parsed_value'])
Выход
эффективность ключевого слова стандартная метрика счет f1 частичное совпадение правильный прогноз извлеченный сегмент машинное обучение экстрактор ключевых слов идеальное совпадение метрика
API Textrazor
Другой API для извлечения ключевых слов и других полезных элементов из неструктурированного текста — Textrazor. Доступ к Textrazor API можно получить с помощью различных компьютерных языков, включая Python, Java, PHP и другие. Вы получите ключ API для извлечения ключевых слов из текста после того, как создадите учетную запись в Textrazor. Посетите официальный сайт для получения дополнительной информации.
Textrazor — хороший выбор для разработчиков, которым нужны инструменты быстрого извлечения с широкими возможностями настройки. Это служба извлечения ключевых слов, которую можно использовать локально или в облаке. TextRazor API может использоваться для извлечения смысла из текста и может быть легко подключен к нашему необходимому языку программирования. Мы можем создавать собственные экстракторы и извлекать синонимы и отношения между объектами в дополнение к извлечению ключевых слов и объектов на 12 различных языках.
Реализация Python для извлечения ключевых слов с использованием Textrazor API
Для установки
pip3 установить textrazor
Для извлечения ключевых слов с релевантностью и доверием с веб-страницы с помощью Textrazor API
импортировать текстразор textrazor.api_key = "ваш_api_key" client = textrazor. TextRazor(extractors=["entities", "topics"]) ответ = client.analyze_url("https://www.textrazor.com/docs/python") для сущности в response.entities(): print(entity.id, entity.relevance_score, entity.confidence_score)
Выход
Документ 0,1468 2,734 Отладка 0,4502 6,739 Прикладное ПО 0,256 1,335 Высокая доступность 0,4024 5,342 Передовая практика 0,3448 1,911 Коробка 0,03577 0,9762 Прикладное ПО 0,256 1,343 Эксперимент 0,2456 4,424 Устаревание 0,1894 2,876 Объект (грамматика) 0,2584 1,039 Ложноположительные и ложноотрицательные 0,09726 2,222 Система 0,3509 1,251 Алгоритм 0,3629 17,14 Документ 0,1705 2,741 Точность и прецизионность 0,4276 2,089Конкатенация 0,4086 3,503 Твиттер 0,536 6,974 Новости 0,2727 1,43 Система 0,3509 1,251 Документ 0,1705 2,691 Клавиша интерфейса прикладного программирования 0,1133 1,795 ... ... ...
Заключение
Извлечение ключевых слов — это автоматизированный метод извлечения наиболее релевантных слов и фраз из введенного текста. Важные моменты, которые следует помнить, приведены ниже.
- Извлечение ключевых слов обычно используется, когда нам нужно извлечь ключевую информацию из пакета документов.
- В этой статье я попытался представить вам некоторые из самых популярных инструментов для задач автоматического извлечения ключевых слов в НЛП.
- Rake NLTK , Spacy , Textrank , Word cloud , KeyBert, и Yake инструменты и MonkeyLearn 90 013 и Textrazor — это API, о которых я упоминал здесь.
- Каждый из этих инструментов имеет свои преимущества и особенности использования.
- Это наиболее эффективные методы извлечения ключевых слов, используемые в настоящее время в области науки о данных.
Примечания
Целью извлечения ключевых слов является автоматический поиск фраз, которые лучше всего описывают содержание документа. Ключевые фразы, ключевые термины, ключевые сегменты или просто ключевые слова — это термины, используемые для определения терминов, обозначающих наиболее релевантную информацию, содержащуюся в документе. Моя страница Github содержит всю базу кода для методов извлечения ключевых слов. Если у вас возникли проблемы при использовании этих инструментов, сообщите нам об этом в разделе комментариев ниже.
Удачного кодирования🤗
Читайте последние статьи в нашем блоге.
Медиафайлы, показанные в этой статье, не принадлежат Analytics Vidhya и используются по усмотрению Автора.
Как найти правильные ключевые слова в понимании прочитанного?
Чтение часто воспринимается многими студентами как вызов IELTS. Но если принять надлежащие стратегии чтения с беглым просмотром и сканированием, эту проблему можно преодолеть. Одним из важных действий при беглом просмотре является поиск ключевых слов в отрывке и их подчеркивание.
Во время сканирования вы также можете пометить ключевые слова в вопросе, как свою склонность сопоставлять их с похожими словами в отрывке. Поскольку отрывки длинные и сложные, выяснение ключевых слов поможет вам читать более эффективно.
1. Найдите ключевые слова в прочитанном отрывке
Важной частью беглого просмотра отрывка является подчеркивание ключевых слов. Пока вы читаете отрывок, вы можете определить важные ключевые слова в абзацах, которые также помогут вам лучше понять данную информацию.
- В этот раз вам следует подчеркнуть ключевые слова, чтобы понять абзац, извлекая из него важную информацию.
- Некоторые ключевые слова, такие как имена, места, факты, цифры и т. д., можно подчеркнуть.
- Годы или даты (1978, 12 окт 1982 и т. д.)
- Цифры (1,2 млн, 20000 и т. д.)
- Вы можете пометить любое слово или фразу, написанные с заглавной буквы, например. названия книг, названия событий и т. д.
Причина выделения этих ключевых слов заключается в том, чтобы найти удобную ссылку из отрывка. Если у вас есть вопрос, относящийся к 1978 году, вам будет легко найти его в отрывке, если вы уже подчеркнули его при чтении отрывка. В противном случае вам пришлось бы прочитать весь отрывок, чтобы найти, где упоминается 1978 год, и, следовательно, это отняло бы ваше время.
2. Найдите ключевые слова в вопросах чтенияВ процессе сканирования, т. е. поиска ответа на вопрос, вам сначала необходимо внимательно прочитать вопрос, чтобы найти важные ключевые слова, которые вы можете отметить, и в то же время понять смысл вопроса.
Иногда ваши ключевые слова являются синонимами или похожими словами, а не точным ключевым словом, как указано в отрывке, и, следовательно, вы можете попытаться понять его значение, чтобы правильно связать его с нужным абзацем. Однако близлежащие слова и умение перефразировать помогут вам понять смысл вопроса.
Давайте возьмем пример о том, как найти рассматриваемые ключевые слова и похожие ключевые слова в отрывке.
Вопрос:
Рекомендации о __________________ даны будущей жене .
Заявление о прохождении:
Ее гости часто дразнят невесту насчет ее мужа и дают ей советы насчет супружеской жизни.
Ключевые слова в вопросе | Похожие ключевые слова в пункте |
Рекомендации | Совет |
О 9 0524 | О |
Дарят | Дарят |
Будущая жена | Невеста |
9044 9 ОТВЕТ: СЕМЕЙНАЯ ЖИЗНЬ |
Объяснение следующее:
Если вы читаете вопрос, вы можете определить ключевые слова как «будущая жена», «рекомендации» и слово рядом с пробелом, « о».
Таким образом, может случиться так, что ключевые слова вопроса не совпадают с тем, что в отрывке. В этом случае вам может понадобиться перефразировать их или выяснить их значение. Здесь, в отрывке, слово «невеста» используется вместо «будущая жена» и «совет» вместо «рекомендации».
Кроме того, следует отметить, что «дается» в вопросе грамматически перефразируется для «дать» в утверждении отрывка.
Еще одна важная вещь, на которую следует обратить внимание, это то, что слово «примерно» — это то же самое слово рядом с пробелом в вопросе, которое вы можете найти в утверждении отрывка.
Таким образом, вы можете найти ответ как «супружеская жизнь».
*Примечание. Всегда помните, что сопоставление ключевых слов поможет вам найти абзац и его утверждения для справки, но, в конце концов, все зависит от понимания вопроса, без которого ответы будут неверными. Следовательно, вам следует вместо этого попытаться сопоставить информацию или значение.
Практические вопросы Вопрос 1:Прочтите следующие короткие отрывки и вопросы, чтобы узнать ключевые слова. Заполните ключевые слова в таблице, приведенной ниже:
Сверхтвердый металл был получен в лаборатории путем сплавления титана и золота. По словам американских физиков, этот сплав является самым твердым из известных металлических веществ, совместимых с живыми тканями. По их словам, этот материал в четыре раза тверже чистого титана и может применяться для изготовления долговечных медицинских имплантатов.
Источник: http://www.bbc.com/news/science-environment-36855705
Самое твердое вещество, обнаруженное в лаборатории, образуется при соединении титана и золота после того, как они ……………
Ключевые слова в вопросе | Похожие ключевые слова в параграфе | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
90 Вопрос 2: |
Ключевые слова в вопросе | Похожие ключевые слова в параграфе | ||||||||||||||||||||||||||||||||||||||||||||||||||
9 Вопрос 3: |
Ключевые слова, о которых идет речь | Похожие ключевые слова в параграфе | |
Все мы помним событие 2009 года в Аквиле (магнитудой 6,3), в результате которого погибло 295 человек. Но вернемся еще дальше к Авеццано (магнитуда 6,9-7,0) в 1915 году, унесшем 30 000 жизней; и до 1703 года, когда в результате трех землетрясений магнитудой 6 погибло не менее 10 000 человек. К счастью, мы больше не видим смертей такого масштаба, и это из-за более надежного строительства, лучшей подготовки и более скоординированного реагирования на чрезвычайные ситуации постфактум.
http://www.bbc.com/news/science-environment-37176502
Что из нижеследующего НЕ является причиной того, что при землетрясениях силой от 6 до 7 баллов погибают редко?
- Хорошее планирование и подготовка
- Землетрясений больше не наблюдается
- Эффективное строительство зданий
- Правильное обращение с чрезвычайными ситуациями
50 | Похожие ключевые слова в параграфе |
Но присмотритесь к особенностям любого землетрясения, и вы увидите, что детали намного сложнее. Тирренский бассейн или море, лежащее к западу от Италии, между материком и Сардинией/Корсикой, медленно раскрывается. Ученые говорят, что это способствует расширению или «растягиванию» Апеннин, которое работает со скоростью 3 мм в год. Добавьте к этому движение в Адриатике, где земная кора вращается против часовой стрелки, и вы получите чертовски сложную картину. Италию буквально толкают и тянут во все стороны.
http://www.bbc.com/news/science-environment-37176502
Значительный эффект можно наблюдать в западном регионе Италии, где находится (i)_________. Установлено, что она постепенно расширяется, приводя к ситуации (ii)_________ со скоростью (iii)_____ в год.
Рассматриваемые ключевые слова | Похожие ключевые слова в параграфе |
9 0521 | |
ОТВЕТОВ: 9 0450
1.
Ключевые слова, о которых идет речь | Похожие ключевые слова в пункте |
Самое твердое вещество 90 524 | Сверхтвердый металл |
Обнаружено в лаборатории | Изготовлено в лаборатории |
Комбинация | Вместе |
ОТВЕТ: РАСПЛАВЛЕН |
2.
Ключевые слова в вопросе | Похожие ключевые слова в параграфе |
Италия | Италия |
Всегда | Всегда присутствует |
Опасность | Опасность |
ОТВЕТ: АПЕННИНСКИЙ ХРЕБТ |
3.
Рассматриваемые ключевые слова | Похожие ключевые слова в параграфе |
Особое s землетрясения | Специфика любого землетрясения |
Глубоко изучен | Посмотреть ближе |
Гораздо больше | Очень |
ОТВЕТ: СЛОЖНЫЙ |
4.