Как вы можете использовать этот мощный API для анализа статей в Интернете.

В век информации огромное количество информации всегда под рукой. Интернет настолько велик, что фактически оценить его размер - сложная задача. Когда дело доходит до информации, наша проблема заключается не в ее отсутствии, а в том, чтобы разобраться в огромном количестве доступной нам информации.

Что, если бы вы могли автоматически просматривать сотни веб-страниц и собирать наиболее важные моменты и ключевые слова, не читая все подряд? Вот где в игру вступает TLDR!

TL; DR (слишком длинный, не читал) - это API, который я создал для обобщения и анализа текста. Под капотом он использует NLTK, классическую библиотеку Python для обработки естественного языка. В этой статье я покажу, как можно использовать TL; DR для анализа текста.

Начало работы: TL; DR на RapidAPI

TL; DR доступен на RapidAPI как бесплатный API. Вы можете получить доступ к API, подписавшись на него на RapidAPI. Если вы просто хотите протестировать API, выберите план Basic, который является бесплатным, если вы не выполняете более 1000 запросов в месяц. Чтобы использовать API, создайте учетную запись RapidAPI, перейдите на страницу цен и выберите один из вариантов, перечисленных ниже.

Если вы планируете использовать этот API только для того, чтобы следовать руководству из этой статьи, я бы порекомендовал выбрать план подписки Basic. После подписки на API вы получите ключ API, который вы включите в заголовки запросов для доступа к API.

Краткое описание характеристик

На момент написания этой статьи TLDR предоставлял пользователям следующие возможности:

  • Резюме текста.
  • Извлечение ключевых слов.
  • Анализ настроений.

В будущем я расширю этот API и добавлю дополнительные функции, но это основные функции, которые вы можете использовать сегодня, если решите подписаться на API. В следующих разделах я продемонстрирую, как можно использовать запросы GET для каждой из этих функций с помощью библиотеки запросов Python. Вы можете найти полный код этого руководства на GitHub.

Обобщение статей

TL; DR позволяет пользователям легко извлекать резюме из веб-статей. Допустим, мы хотим извлечь из этой статьи CNN краткое изложение из пяти предложений о прорывных инфекциях после вакцинации от COVID-19. Как показано в приведенном ниже коде, мы можем использовать библиотеку запросов Python для вызова API и получения резюме для этой статьи. Обратите внимание, что я сохранил свой ключ RapidAPI как переменную среды с именем TLDR_KEY из соображений безопасности.

import requests
import os
url = "https://tldr-text-analysis.p.rapidapi.com/summarize/"
querystring = {"text":"https://www.cnn.com/2021/04/21/health/two-breakthrough-infections-covid-19/index.html", 
               "max_sentences": "5"}
headers = {
    'x-rapidapi-key': os.environ['TLDR_KEY'],
    'x-rapidapi-host': "tldr-text-analysis.p.rapidapi.com"
    }
response = requests.request("GET", url, headers=headers, params=querystring)
print(response.text)

Выполнение приведенного выше кода дает следующий результат.

{"summary":"\"We have characterized bona fide examples of vaccine breakthrough manifesting as clinical symptoms,\" the researchers wrote in their study.Among 417 employees at Rockefeller University who were fully vaccinated with either the Pfizer or Moderna shots, two of them or about .5%, had breakthrough infections later, according to the study published on Wednesday in the New England Journal of Medicine.(CNN)For fully vaccinated people, the risk of still getting Covid-19 -- described as \"breakthrough infections\" -- remains extremely low, a new study out of New York suggests.Experts say that some breakthrough cases of Covid-19 in people who have been fully vaccinated are expected, since no vaccine is 100% effective.The other breakthrough infection was in a healthy 65-year-old woman who received her second dose of the Pfizer vaccine on February 9."}

Как и ожидалось, TL; DR дает нам резюме статьи из пяти предложений, которое выглядит довольно убедительно. Вы также можете передать необработанный текстовый ввод вместо URL-адреса непосредственно в API с помощью аргумента text, и API будет вести себя таким же образом.

Извлечение ключевых слов

Что, если бы мы хотели извлечь список из десяти самых популярных ключевых слов в той же статье CNN? Все, что нам нужно сделать, это изменить URL-адрес API из предыдущего примера и настроить параметры в строке запроса, как показано ниже.

import requests
import os
url = "https://tldr-text-analysis.p.rapidapi.com/keywords/"
querystring = {"text":"https://www.cnn.com/2021/04/21/health/two-breakthrough-infections-covid-19/index.html", 
               "n_keywords": "10"}
headers = {
    'x-rapidapi-key': os.environ['TLDR_KEY'],
    'x-rapidapi-host': "tldr-text-analysis.p.rapidapi.com"
    }
response = requests.request("GET", url, headers=headers, params=querystring)
print(response.text)

Выполнение приведенного выше кода дает следующий список ключевых слов.

[{"keyword":"breakthrough","score":8},{"keyword":"infections","score":8},{"keyword":"people","score":7},{"keyword":"covid","score":7},{"keyword":"vaccine","score":7},{"keyword":"cnn","score":4},{"keyword":"new","score":4},{"keyword":"study","score":4},{"keyword":"coronavirus","score":4},{"keyword":"variants","score":3}]

Обратите внимание, как ключевые слова ранжируются по показателям частоты.

Анализ настроений

Мы также можем выполнить анализ тональности той же статьи с помощью GET-запроса анализа тональности из TLDR API, как показано в приведенном ниже коде.

import requests
import os
url = "https://tldr-text-analysis.p.rapidapi.com/sentiment_analysis/"
querystring = {"text":"https://www.cnn.com/2021/04/21/health/two-breakthrough-infections-covid-19/index.html"}
headers = {
    'x-rapidapi-key': os.environ['TLDR_KEY'],
    'x-rapidapi-host': "tldr-text-analysis.p.rapidapi.com"
    }
response = requests.request("GET", url, headers=headers, params=querystring)
print(response.text)

Выполнение приведенного выше кода дает следующий вывод JSON.

{"sentiment":"positive","polarity":0.16429704016913318}

Поле настроения в выходных данных выше сообщает нам, является ли настроение статьи положительным, отрицательным или нейтральным. Поле полярности в выходных данных представляет собой число в диапазоне от -1 до 1 и показывает, насколько позитивным или негативным является тональность статьи. Как видно из вышеприведенного вывода, API обнаружил в статье слегка положительный настрой.

Резюме

В этой статье я продемонстрировал, как можно использовать TL; DR для суммирования текста, извлечения ключевых слов и анализа тональности статей из Интернета. Я планирую расширить этот API и добавить дополнительные функции в будущем. Посетите страницу TLDR API на RapidAPI для получения дополнительной информации и не стесняйтесь использовать этот API для создания своих собственных приложений NLP!

Как обычно, вы можете найти код для примеров в этой статье на GitHub.

Присоединяйтесь к моему списку рассылки

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

Присоединяйтесь к моему списку рассылки, чтобы получать новости о моем содержании в области науки о данных. Когда вы зарегистрируетесь, вы также получите мое бесплатное Пошаговое руководство по решению проблем машинного обучения!

Источники

  1. Дж. Ховард, Только 2« прорывных инфекции среди сотен полностью вакцинированных людей, результаты нового исследования», (2021 г.).