Подробные знания и информация об API маркировки?

Вопрос или проблема

Существует ли какой-либо API, который сообщит мне, что Тейлор Свифт – американская певица, Джил Сандер – немецкий бренд, а селезень – птица?

Ближайшее, что я могу найти, это API поиска графа знаний Google, но согласно ему,

  • Тейлор Свифт, хотя и является Личностью и даже Вещью, в первую очередь является исполнителем, о чем этот ответ не говорит мне.

    "itemListElement": [
        {
            "@type": "EntitySearchResult",
            "resultScore": 3186.92236328125,
            "result": {
            "@type": [
                "Thing",
                "Person"
            ],
                "detailedDescription": {
                "url": "https://en.wikipedia.org/wiki/Taylor_Swift",
                    "license": "https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License",
                    "articleBody": "Тейлор Алисон Свифт — американская певица и автор песен. Ее нарративная поэзия часто вдохновляется ее личной жизнью и получила широкое освещение в СМИ и высокую оценку критиков."
                },
                "description": "Американская певица и автор песен",
                "@id": "kg:/m/0dl567",
                "name": "Тейлор Свифт",
                "url": "http://www.taylorswift.com/"
            }
        }
    ]
    
  • Джил Сандер, которую я, возможно, ищу, является Брендом, а не Личностью или Вещью.

    "itemListElement": [
        {
            "resultScore": 7223.4814453125,
            "@type": "EntitySearchResult",
            "result": {
            "description": "Немецкий модельер",
                "@id": "kg:/m/044jy_",
                "@type": [
                "Thing",
                "Person"
            ],
                "name": "Джил Сандер",
                "detailedDescription": {
                "url": "https://en.wikipedia.org/wiki/Jil_Sander",
                    "license": "https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License",
                    "articleBody": "Хайдемари Жилине \"Джил\" Сандер — минималистичный немецкий модельер и основатель модного дома Джил Сандер."
                }
            }
        }
    ]
    
  • Кажется, что лучшее, что schema.org может сделать для селезня, это обозначить его как Вещь, а не как Птицу или даже Животное. Там действительно написано Птицы в разделе description, но это кажется произвольным, и, вероятно, не стоит доверять, что это всегда будет там.

    "itemListElement": [
        {
            "resultScore": 135.50239562988281,
            "result": {
            "@id": "kg:/m/01hjj1",
                "@type": [
                "Thing"
            ],
                "detailedDescription": {
                "articleBody": "Селезень или дикая утка — это утка-плаванец, которая размножается по всей умеренной и субтропической Америке, Евразии и Северной Африке и была интродуцирована в Новую Зеландию, Австралию, Перу, Бразилию, Уругвай, Аргентину, Чили, Колумбию, Фолклендские острова и Южную Африку.",
                    "license": "https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License",
                    "url": "https://en.wikipedia.org/wiki/Mallard"
                },
                "description": "Птицы",
                "name": "Селезень"
            },
            "@type": "EntitySearchResult"
        }
    ]
    
  • А для Мадса Нёргаарда он даже не знает, что такой Бренд существует, хотя у Google есть информационная карточка на правой стороне соответствующей страницы результатов поиска.

(Schema.org не является обязательным, я упомянул об этом, потому что Google использует его в своих ответах.)

Я могу как-то вывести элементы, которые ищу из вышеуказанных ответов, но это требует человека или нейронной сети, а я надеялся на внешний API вместо этого.

Спасибо!

Я думаю, что с 2020 года вы можете вызвать REST API любой большой языковой модели (LLM), например ChatGPT (или предшественника, такого как GPT-3), и задавать такие вопросы, чтобы получить разумный ответ. Вот страница справки по API и пример вызова REST API и ответа:

Вопрос: Кто такая Тейлор Свифт?

Эндпоинт: https://api.openai.com/v1/chat/completions

JSON-сообщение для HTTP POST-запроса

{
    "model": "gpt-3.5-turbo-0301",
    "messages": [
        {
            "role": "system",
            "content": "Вы полезный помощник"
        },
        {
            "role": "user",
            "content": "Кто такая Тейлор Свифт?"
        }
    ]
}

Ответ / ответ ChatGPT

{
    "id": "chatcmpl-7Ji3UPI3w5OyauKduHiToEhcbFFdh",
    "object": "chat.completion",
    "created": 1684931936,
    "model": "gpt-3.5-turbo-0301",
    "usage": {
        "prompt_tokens": 23,
        "completion_tokens": 77,
        "total_tokens": 100
    },
    "choices": [
        {
            "message": {
                "role": "assistant",
                "content": "Тейлор Свифт — известная американская певица и автор песен, известная своей кантри и поп-музыкой. Она впервые получила известность в 2006 году с дебютным альбомом и с тех пор стала мировой музыкальной суперзвездой с многочисленными хитами, наградами и аншлаговыми турами. Свифт также признана за свою деятельность по поддержке различных социальных и политических причин и за использование своей платформы для повышения осведомленности и вдохновения положительных изменений."
            },
            "finish_reason": "stop",
            "index": 0
        }
    ]
}

Многие из этих LLM имеют бесплатный уровень, или вы можете начать с нескольких долларов бесплатного кредита после регистрации.

Важно добавить ваш API-ключ в пользовательский HTTP-заголовок. Это будет выглядеть так: Authorization: Bearer sk-lB2b.................

Ответ или решение

Подробное руководство по API для разметки информации

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

Существующие решения

Вы упомянули о Knowledge Graph Search API от Google, который на самом деле является одним из наиболее популярных инструментов для извлечения такой информации. Однако результаты его работы действительно могут не всегда быть окончательными и чёткими. Рассмотрим подробнее, что именно можно ожидать от этого API и альтернативных подходов.

Примеры использования Google Knowledge Graph

Можно наблюдать, что API предоставляет информацию о сущностях, но важные детали могут быть упущены или неправильно классифицированы.

  1. Taylor Swift: Система определяет её как "персон" и "вещь", но в ключевом аспекте – как "исполнителя". Данные предоставляют основную информацию, включая описание и ссылку на источник, но не всегда исчерпывающе.

  2. Jil Sander: В данном случае API определяет её как "немецкого модельера", однако это не отражает полного спектра её представления как бренда, что важно для пользователей, ищущих информацию о модной марке.

  3. Mallard (утка): Здесь лишь обобщённая информация с пометкой как "вещь". Это показывает, что API может не предоставить детальной классификации, такой как "птица" или "животное".

Эти моменты демонстрируют ограничения текущих API, когда требуется более специфичная классификация и описание сущностей.

Альтернативные API

  1. API языковых моделей (LLM): В последние годы способ экстракции данных через REST API от больших языковых моделей (как GPT-3 или ChatGPT) становился всё более популярным. Эти модели могут выдавать чёткие, контекстуальные ответы на запросы, выполняя роль виртуального помощника.

    Пример запроса к ChatGPT:

    {
       "model": "gpt-3.5-turbo-0301",
       "messages": [
           {
               "role": "system",
               "content": "Вы - полезный помощник"
           },
           {
               "role": "user",
               "content": "Кто такая Тейлор Свифт?"
           }
       ]
    }

    Ответ может быть:

    {
       "content": "Тейлор Свифт - известная американская певица и автор песен, известная как в жанре кантри, так и в поп-музыке."
    }

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

  2. Wikidata: Это еще один мощный ресурс, который предоставляет структурированную информацию о сущностях с использованием RDF. Пользователи могут делать запросы через SPARQL и получать информацию о том, как сущности взаимосвязаны друг с другом.

  3. Microsoft Azure Cognitive Services: Платформа также предлагает решения для обработки естественного языка, которые могут идентифицировать и классифицировать объекты в текстах.

Какой выбор сделать?

Если ваша цель — это извлечение детализированной и структурированной информации о сущностях с их характеристиками, настоятельно рекомендую рассмотреть использование API языковых моделей, таких как OpenAI. Эти решения предоставляют более контекстуальные, точные и объяснительные ответы на запросы.

При интеграции выбора API учитывайте:

  • Требования по лицензированию и политике доступа.
  • Возможность соединиться с API из вашего окружения разработки.
  • Потребление и стоимость использования API (число токенов, вызовов и т.д.)

Надеюсь, это руководство было полезным для вас и ответило на ваш вопрос о доступных API для разметки информации. Если возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь обращаться!

Оцените материал
Добавить комментарий

Капча загружается...