API индивидуализированного изучения грамматики
Индивидуальное обучение иностранному языку всегда работает лучше, чем обучение по общим программам и по материалам, которые “подходят всем”. Действительно, программисту и флористу интересные разные темы, разные тексты, а значит — разный языковой материал (лексика в первую очередь). И многие сервисы, помогающие изучить иностранный язык, стараются строить обучение именно таким образом. Например, в ЛингуаЛео можно добавлять свои тексты или выбирать из большой библиотеки те, которые наиболее интересны, и изучать язык, точнее — лексику, именно из этих текстов. Easy Ten позволяет выбирать тематические списки слов. Но всё это про лексику. А что же с грамматикой? Можно ли изучение грамматики сделать индивидуальным?
Зачем учить грамматику индивидуально?
Действительно — зачем? Грамматика-то везде одинаковая — и в текстах про цветы и в текстах про алгоритмы. Эта одна из причин, из-за которой обучение грамматике сейчас строится достаточно однообразно: обычно предлагается один курс грамматики, состоящий из статических разделов, где даётся определение грамматическому материалу, а потом предлагается сделать несколько упражнений. Весь названный материал не имеет никакой привязки к интересующим ученика темам.
Вторая причина, почему не предлагается индивидуализированное обучение грамматике, заключается в том, что это технически сложнее, чем извлечение слов и подсчёт простых метрик, типа TFIDF. Для извлечения грамматических конструкций из текста нужен более сложный лексико-грамматический и морфологический анализ текста.
Казалось бы — зачем заниматься тем, что не нужно, да ещё и сложно?
Как грамматика связана с тематикой
На самом деле изучение грамматики – это не запоминание правил. Грамматика не существует сама по себе вне связи с лексикой. Любое грамматическое правило – абстрактное описание большого количества структурно похожих высказываний, которые выражены как раз при помощи слов. Таким образом получается, что грамматика напрямую связана с лексикой, а значит — и с тематикой того материала, на котором происходит обучение. Поэтому примеры использования грамматических конструкций, упражнения, которые тренируют и закрепляют грамматический материал, могут и должны иметь то лексическое наполнение, которое интересно и полезно изучающему язык.
Как же надо учить грамматику?
Индивидуализированное обучение грамматике может быть основано на практически любом текстовом материале пользователя. Для каждого предложения определяются грамматические явления и на их основе создаются упражнения.
Таким образом можно, например, к каждому предложению в тексте сделать ссылку на информацию о соответствующем грамматическом явлении, а также создать несколько типов упражнений:
Выбор правильной формы из нескольких предложенных
Например:
Исправление ошибки
Например:
Использование правильной формы слова (поставить данное слово в нужную форму или вписать правильную форму слова)
My friend has never (be) to Paris.
или
My friend has never . to Paris.
Указание грамматической конструкции
Например:
My friend has never been to Paris.
Present Perfect
Именно эти две задачи решает наш API: в каждом предложении он находит грамматические конструкции и создаёт из найденных предложений упражнения на грамматику.
Есть открытое API для всех, кто хотел бы попробовать сделать полезный сервис индивидуализированного обучения грамматике английского языка или дополнить свой уже работающий сервис этим функционалом.
Для получения доступа к API нужно зарегистрироваться на сервисе https://market.mashape.com. После регистрации перейдите по ссылке https://market.mashape.com/smallstep/englishgrammar и подпишитесь на бесплатный API.
На вход принимается текст в виде JSON, посылаемым через POST запрос, например:
В ответ получаете JSON такого содержания:
Как видно из примера, текст разбит на предложения и к каждому предложению есть grammarPatterns (выявленные грамматические конструкции) и multipleChoice (материал для создания упражнений).
В grammarPatterns указано системное название грамматической конструкции (name), приведены слова, которые образуют данное грамматическое явление, с оффсетами от начала предложения (words), dependencies (грамматический материал, который помог бы в освоении данного грамматического явления), относительный уровень сложности (difficulty — может помочь в оценке грамматической трудности текста), и fullName — полное название конструкции на русском языке.
В multipleChoice даны оффсеты слова, на которое предлагается упражнение. Answers — варианты ответов для multiple choice, и correctIndex — индекс правильного ответа (индекс начинается с 0).
В простейшем случае API позволяет создать упражнение на выбор правильной формы, но и другие упражнения сделать совершенно не сложно. Например, для упражнения “исправить ошибку” нужно просто заменить слово в предложении на один из неверных вариантов из поля answers. Для вписывания правильного варианта можно просто удалить слово из исходного предложения (можно также указать название искомой формы из grammarPatterns).
Вы можете протестировать наш API на небольшом количестве своих примеров (до 400 символов за один запрос, пожалуйста)), но если есть желание использовать его в каком-то проекте, то лучше связаться лично.
Анонс
Чуть позже мы планируем открыть API диагностирующего mutiple choice (грамматического и лексического), а также API генерации вопросов к тексту (и вариантов ответов к нему).
UPDATE: Спасибо за большой интерес к нашему проекту.))
По техническим причинам мы немного изменили API. Пожалуйста, обратите внимание на пример выше — теперь там два списка, в каждом из которых повторяется текст предложения.
🛠 7 бесплатных API, о которых никто не говорит
API – это акроним словосочетания Application Programming Interface (программный интерфейс приложения). Такие интерфейсы дают возможность разным приложениям взаимодействовать между собой и обмениваться информацией.
Открытые API – идеальный вариант для разработчиков, которые не хотят заморачиваться с бэкендом и базами данных. Мы подобрали для вас целых 7 бесплатных API, с которыми вы легко сможете создать крутые приложения.
1. Генератор злобных оскорблений
Хотите кого-нибудь оскорбить, но не знаете как? Обратитесь к Evil Insult Generator! Это приложение с радостью предложит вам замечательные злобные оскорбления на любой вкус.
Использовать API очень просто – не нужны никакие ключи, просто отправьте запрос на этот адрес и получите JSON-объект с определенной структурой:
Помимо собственно оскорбления объект содержит информацию о времени создания записи, ее языке, количестве показов и т. д.
Оскорблять свою аудиторию вы можете на нескольких языках, в том числе и на русском.
2. Сериалы и фильмы
С широко известным сервисом TMDb вы, скорее всего, уже знакомы. Но кроме него есть множество других крутых API по конкретным фильмам и сериалам. Вот лишь несколько из них:
Некоторые сервисы даже не требуют авторизации для использования (но могут иметь ограничение на количество запросов).
Для примера получим список цитат из сериала «Во все тяжкие»:
Дополнительно здесь указан персонаж сериала, которому принадлежит изречение.
В качестве бонуса держите еще YouTube API, которое позволяет использовать функциональность YouTube на вашем сайте. Сочетая его с другими API можно создавать крутые фанатские приложения.
3. Mapbox
Mapbox – это потрясающе удобный и точный инструмент для работы с картами. Он предоставляет мгновенный настраиваемый доступ к динамическим картам, обновляющимся в реальном времени.
Чтобы использовать этот API в вашем проекте, нужно зарегистрироваться и получить уникальный токен доступа (это бесплатно). Сочетая Mapbox с такими библиотеками как leaflet.js, вы можете создавать красивые и мощные приложения с интерактивными картами.
4. NASA API
Если вы уже пресытились земными данными, не беда – отправляемся в космос вместе с NASA API. У NASA огромная база «космической» информации и – самое главное! – потрясающих фотографий – от фото дня до снимков, сделанных марсоходами!
Этот API предлагает головокружительно много возможностей, включая доступ к библиотеке изображений и видео. Вот пример запроса снимков, сделанных Curiosity на Марсе:
5. GIF Search
Все любят гифки! Но найти подходящую – задача непростая. Справиться с ней помогает крупнейшая библиотека гифок GIPHY, которая к тому же предлагает бесплатный API для доступа к своей огромной коллекции.
Возможностей очень много:
Не забудьте указывать копирайт «Powered by GIPHY».
6. Любимые цитаты
Fav Quotes – это огромная коллекция цитат с бесплатным доступом. Ее можно использовать, например, для создания блока со случайной цитатой на вашем сайте.
API также дает возможность создавать пользователей и сеансы. Есть ограничение: не более 30 запросов за 20 секунд в течение одного сеанса.
Можно, например, получить цитату дня:
7. Рецепты и анализ питания
Edamam – это сервис для анализа питания, предоставляющий доступ к большой базе данных продуктов (более 700 тыс.) и рецептов (более 1,7 млн.).
Пользователи могут просто ввести список ингредиентов и получить полный анализ их питательности (содержание макро и микроэлементов, витаминов и т.д.). На сайте можно поиграться с демо-приложением.
Кроме того есть другие API для поиска рецептов, получения рекомендаций по питанию, извлечению названий продуктов из текста и т.д.
Бесплатный тариф предоставляет полный набор функций, включая обработку естественного языка и 200 рецептов в месяц, но не позволяет использовать API в коммерческих целях. Также есть тарифы Startup и Enterprise.
Различные API здорово упрощают жизнь разработчиков, позволяя быстро создавать полезные и красивые приложения, не тратя время на реализацию хранения и получения данных. Нужно только найти подходящий именно вам.
5 бесплатных и забавных API-интерфейсов для обучения, личных проектов и многого другого!
Только в публикации Towards Data Science есть более 50 статей, посвященных API, поэтому я не буду вдаваться в подробности введения. API в основном позволяют вам взаимодействовать с некоторыми инструментами или услугами (которые могут быть предоставлены буквально кем угодно).
Вы можете использовать API-интерфейсы, чтобы получить какую-то информацию из источника данных, а затем использовать ее в своем собственном скрипте или приложении. Публичные (открытые) API хороши тем, что они позволяют любому стороннему разработчику создать что-то, что может подключаться к существующей службе.
Существуют популярные API для выполнения «серьезных вещей», таких как отслеживание данных о запасах временных рядов или предоставление обновлений о качестве воздуха. Мы не будем касаться их в этой части, так как я хотел поделиться некоторыми забавными API-интерфейсами, с которыми вы можете экспериментировать, пока вы учитесь взаимодействовать с API или даже создаете его.
Вы даже можете создать простой личный проект с одним из них, чтобы узнать, как подключить приложение к API с любого языка, который вы в настоящее время изучаете.
Я думал, что начну с очаровательного козленка.
Это действительно простой GET API, с помощью которого вы можете создавать изображения коз. Хотел бы я сказать больше, но это действительно так. Вот ссылки на основной сайт и репозиторий Github.
Вы можете указать ширину и высоту в пикселях изображения, которое хотите сгенерировать, следующим образом:
Если вы просто хотите протестировать библиотеку requests на Python, это будет отличным местом для начала. Если вам нужна идея, попробуйте написать сценарий, чтобы ежедневно получать изображение козы и каждое утро отправлять его своей второй половинке (или своей маме), чтобы напоминать им о том, как сильно вы заботитесь о них. Это будет лучший вариант завтрака в постели.
Покемон! Надо * получить их всех, покемон!
RESTful PokéApi бесплатен для использования и позволяет ПОЛУЧАТЬ информацию из всеобъемлющей базы данных обо всем, начиная с игр Pokémon, от первых выпусков Red и Blue до Sword and Shield.
Я не знал, что ягоды можно классифицировать по твердости. Я хотел узнать больше, поэтому перешел по этой ссылке:
Обычно, когда вы вызываете конечную точку API, вы также должны указать идентификатор или имя, чтобы получить информацию о конкретной точке данных. В PokéApi говорят, что если вы вызываете конечную точку без идентификатора или имени, вы получите список по умолчанию, содержащий до 20 ресурсов, доступных для API. В этом случае существует 5 возможных результатов для конечной точки «твердость ягод», поэтому вы увидите, что все они возвращаются в формате JSON, когда вы вызываете ссылку выше.
Пришло время отметить, что при использовании полностью открытых API-интерфейсов следует помнить о том, как часто вы вызываете конечные точки службы. PokéApi удалил ограничение скорости (конфигурация API, определяющая, сколько запросов может быть выполнено за интервал времени), но по-прежнему напоминает пользователям ограничивать частоту их запросов, чтобы снизить расходы на хостинг. В своей политике добросовестного использования они говорят, что люди должны локально кэшировать запрошенные ресурсы и что DDoS-атаки приведут к постоянной блокировке IP-адресов. Будьте ответственным!
Этот API является RESTful и позволяет использовать GraphQL для запроса к нему. Они также удобно связывают вас с документами GraphQL, если вы новичок в языке запросов. Вы можете использовать API, запрашивая метаданные GET о персонажах, местах и эпизодах шоу.
Чтобы получить информацию о персонаже из шоу, вы должны указать его идентификатор в конечной точке персонажа следующим образом:
Здесь поставка «5» дает нам информацию о персонаже Джерри Смита. Вы также видите в конце связанное изображение персонажа, поэтому, если вы хотите попрактиковаться в загрузке файлов из API, это может быть хорошим местом для начала.
Посетите основной сайт и документацию для получения дополнительной информации. Существует также множество библиотек- оболочек для разных языков от нескольких авторов, так что проверьте их, если вы предпочитаете их. Его реализацию на Python можно найти здесь. Кроме того, если вы знакомы с JavaScript и заинтересованы в участии в проекте с открытым исходным кодом, вы можете ознакомиться с API Рика и Морти на Github.
Кто не любит отцовские шутки?
Я не уверен, учитываются ли мои каламбуры, связанные с API, но я определенно люблю всевозможные «плохие» шутки.
Также есть конечная точка, которую вы можете использовать для поиска конкретных шуток, соответствующих определенному ключевому слову.
Было бы интересно попрактиковаться в поиске нескольких ключевых слов, вызвав эту конечную точку и сохранив результаты в базе данных. Тогда у вас будет локальная копия анекдотов на основе указанных вами ключевых слов.
Посетите основной сайт и документацию для получения дополнительной информации. Также существует конечная точка запроса GraphQL, которую вы можете использовать для запроса API, если вы хотите загружать данные таким образом.
Предпосылка действительно проста: вы вызываете API и получаете оскорбление.
Как и в случае с API козла, мне особо нечего сказать здесь.
Вы можете указать язык и формат ответа на оскорбление. Ради интереса я хотел посмотреть, действительно ли подойдет другой язык, поэтому попытался получить оскорбление по-испански:
«Mala leche» буквально переводится с английского как «плохое молоко». В разговорной речи вы используете его, чтобы описать кого-то, кто действует недобросовестно, или кого-то в плохом настроении.
Вы также можете использовать этот API как действительно простой для практики выполнения запросов. Загляните на основной сайт и его (довольно простую) документацию, если хотите изучить.
Я надеюсь, вы попробуете поработать с одним из них, когда начнете знакомиться с API или просто ищете что-то интересное для работы. Обязательно ответственно обращайтесь к API, поскольку они общедоступны и предназначены для бесплатного использования всеми. Слишком частое пингование их может привести к блокировке вашего IP-адреса, что, если вам нравятся картинки с козами (или какой-либо другой сервис, который вы используете), не будет хорошо.
10 интересных открытых REST API для вашего следующего проекта
Давайте посмотрим правде в глаза — мир не нуждается в еще одном калькуляторе или приложении для ведения списка дел. Вместо этого задумайтесь о создании новых и интересных приложений вокруг открытых REST API.
У большинства разработчиков есть побочные или личные проекты. Но как начать делать такое новое приложение? Страшно сидеть перед пустым редактором, задаваясь вопросом, что делать…. Существует тысячи постов в блогах с советами начать программировать калькулятор, список дел или клон социальной сети. Хотя они, безусловно, могут быть полезны для изучения стека технологий, давайте посмотрим правде в глаза — мир не нуждается в еще одном калькуляторе или приложении для ведения списка дел. Вместо этого задумайтесь о создании новых и интересных приложений вокруг открытых REST API.
Что такое REST API?
Representable State Transfer(REST) Application Programming Interface(API) предоставляет набор методов, которые программист может использовать через HTTP для отправки и получения данных. Поскольку эти методы используют HTTP, любой язык программирования может работать с ними.
Сейчас доступны тысячи REST API практически на всех возможных сайтах. Обычно для общедоступных данных, таких как погода или фондовые рынки, вы можете найти десятки разных API, доступных для использования. Многие популярные веб-платформы, такие как Facebook и Twitter, также предоставляют API для разработчиков. Некоторые из проприетарных API имеют ограничения на количество обращений к ним. Многие требуют регистрации и получения закрытого ключа. Наиболее безопасные API требуют настройки OAuth для безопасного входа пользователей.
Вы можете найти огромный список публичных API на Github, а еще больший список существует на RapidAPI.
10 занятных REST API
Этот список, конечно, не является исчерпывающим, но просто некоторые из них я считаю особенно интересными и достойными ваших побочных проектов. Все они абсолютно бесплатны и не требуют ничего, кроме как получить API-ключ — не нужно разбираться, как обращаться с OAuth или платить за их использование.
Что с этим делать
Все эти общедоступные API прекрасны, но наличие списка интересных источников данных по своей сути не помогает решить проблему, связанную с новым проектом.
Лучше всего начать с простого получения и отображения данных. Может быть, показывать покемона дня или определение набранного слова. Для более креативного подхода попробуйте взять данные и добавить им наглядности — например, свяжите температуру с цветом или отобразите движение автобуса.
Самое сложное — это просто начать. После того, как вы преодолеете начальные препятствия в получении и отображении информации, я уверен, что вы придумаете множество возможностей для вашего проекта!
Используете какие-то другие REST API? Напишите нам, и мы добавим их в этот список!
17 интересных (и забавных) API для вашего проекта
В этой статье я собрал несколько интересных сервисов с API, многие из которых вы можете использовать как основу для вашего приложения. Другие же отлично подходят как уникальные фичи, которые помогут разнообразить опыт использования вашей программы.
Numbers
Сервис содержит много интересных фактов о числах, которыми можно похвастаться перед друзьями.
Также есть факты о датах и годах.
С помощью этого сервиса можно сделать виджет «Этот день в истории».
База вопросов для викторин
Если вы хотели создать викторину, то вы знаете, насколько сложно найти хорошие вопросы. Теперь же вы можете получать их в удобном формате по одному запросу. Для многих вопросов указана сложность, категория и достоверность вопроса (то есть количество людей, которые посчитали вопрос некорректным).
Получение вопроса: http://jservice.io/api/random?count=1
Пример вопроса (фрагмент):
Чем заняться, когда скучно
Сервис BoredAPI может предложить занятие на любой случай жизни: бесплатные, социальные, доступные везде и так далее.
Колода карт
Теперь для организации виртуальной карточной игры не нужно ничего лишнего. Вы можете создать (перемешанную или нет) колоду, взять карту, задать колоду по кодам карт.
В репозитории проекта вы можете найти картинки карт и мастей, которые можно использовать в своих проектах: https://github.com/crobertsbmw/deckofcards/tree/master/static/img
http.cat
Домашняя страница: https://http.cat
Мои любимые картинки:
Поиск аниме
Здесь вы можете найти большой список аниме с тегами и другой информацией. С помощью этих данных можно сделать, например, подбор интересных тайтлов для пользователя на основе предпочтений: истории просмотров и реакции (понравилось или нет).
Пример работы с API: поиск всех результатов, содержащих слово Tokio : https://kitsu.io/api/edge/anime?filter[text]=tokio
Один из результатов (убраны некоторые аттрибуты):
Картинки с котами, собаками и лисами
Страница будет выглядеть каждый раз по-новому, если в её верхнюю часть поместить картинку, которая будет меняться при каждом новом посещении страницы.
Картинки котиков
https://aws.random.cat/meow — возвращается только ссылка на картинку или гифку. Ссылки случайные и ведут на сторонние сервера.
Каждая картинка из базы имеет номер, но API не даёт номер, а получить картинку по номеру только открыв сайт https://aws.random.cat/view/ и достать картинку из исходного текста страницы. Совсем простенький скрипт для этого (для более быстрого исполнения я не использую re):
Картинки собачек
https://random.dog/woof.json — возвращает размер картинки (или gif или видео) в байтах и ссылку на неё. Все ссылки выглядят как https://random.dog/
Другие варианты запросов:
Картинки лисичек
База знаний о Покемонах
Этот сервис позвляет легко получить информацию о покемонах, их способностях и типах, а также о контенте про покемонов: играх и прочем.
Фрагмент из ответа на запрос информации про Ditto ( https://pokeapi.co/api/v2/pokemon/ditto ):
Be like Bill
В меме «Be like Bill» описываются какие-то положительные качества Билла и в конце звучит рекомендация «Быть как он». API позволяет генерировать картинки с заданными или рандомными текстами.
Bakon Ipsum
Сервис позволяет использовать сгенерированные тексты вместо стандартного Lorem Ipsum. Можно задать количество предложений или параграфов. Пример запроса:
https://baconipsum.com/api/?type=all-meat&sentences=2 — создание текста с 2 предложениями.
Шутки
Под эту категорию подходит сразу несколько сервисов с похожими API, поэтому приведу только примеры запросов к API:
Гиковские шутки (часто про Чака Норриса): https://geek-jokes.sameerkumar.website/api?format=json :
There are only 10 types of people in the world: those that understand binary and those that don’t.
Шутки от папы: curl https://icanhazdadjoke.com :
Why do you never see elephants hiding in trees? Because they’re so good at it.
Шутки с конструкцией сетап-панчлайн: https://official-joke-api.appspot.com/random_joke :
«setup»:»I couldn’t get a reservation at the library. «,»punchline»:»They were fully booked.»
Yes or No
Вся информация о мультсериале «Рик и Морти»
Главная страница: https://rickandmortyapi.com
Содержит в себе информацию о героях, локациях и эпизодах мультсериала. Также имеет библиотеки на многих языках, что облегчает работу с API. Пример работы с API с помощью питоновской библиотеки:
Выводы
В интернете сейчас есть много бесплатных сервисов с API, которые могут разнообразить ваш сайт или послужить основой для реализации интересных фич. Возможно, вы захотите добавить что-то в свой проект прямо сейчас?
UPD. Комментарий читателя Drag13
:
Репозиторий с публичными АПИ (тут их гораздо больше чем в статье, и указаны требования к CORS/AUTH и поддержка https): https://github.com/public-apis/public-apis
API если вы хотите получить эту информацию в виде JSON: https://github.com/davemachado/public-api
Облачные серверы от Маклауд быстрые и безопасные.
Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!


























