Пример моделирования Topi c с API Watson SDK - PullRequest
0 голосов
/ 23 января 2020

У меня есть список документов, которые будут загружены онлайн в разные моменты времени. У меня нет никакой предварительной информации о содержимом, а также нет информации о возможных ярлыках, которые можно назначить документам, а также у меня нет исторических данных (поэтому я не могу обучить классификатор с помощью Watson). Классический сервис естественного языка). То, что я хочу, - это некоторая классификация в реальном времени / назначение topi c этим документам. Например, какой-то API, подобный следующему, является тем, что я ищу:

service.getTopics('some text')

, возвращая что-то вроде следующего в режиме реального времени

"categories": [
          {
            "score": 0.949576,
            "label": "/technology and computing/networking"
          },
          {
            "score": 0.911692,
            "label": "/technology and computing/networking/network monitoring and management"
          },
          {
            "score": 0.879639,
            "label": "/business and industrial/business operations/management"
          }
]

Возможно ли это с помощью Watson discovery или NLU служба? Я использую python SDK API, пример / любая соответствующая ссылка будет очень полезна. Спасибо

1 Ответ

1 голос
/ 23 января 2020

Я думаю, что функции categories или concepts службы Watson Natural Language Understanding наилучшим образом подходят. Вы не можете отправить документ напрямую с помощью API, поэтому вам нужно будет извлечь текст, но если вы сможете это сделать, то:

Пример, полученный со страницы API Docs


from ibm_watson import NaturalLanguageUnderstandingV1
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
from ibm_watson.natural_language_understanding_v1 
    import Features, ConceptsOptions, CategoriesOptions

authenticator = IAMAuthenticator('{apikey}')
natural_language_understanding = NaturalLanguageUnderstandingV1(
    version='2019-07-12',
    authenticator=authenticator)

natural_language_understanding.set_service_url('{url}')

response = natural_language_understanding.analyze(
    text='IBM is an American multinational technology company '
    'headquartered in Armonk, New York, United States, '
    'with operations in over 170 countries.',
    features=Features(
        categories=CategoriesOptions(limit=5),
        concepts=ConceptsOptions(limit=5))).get_result()



Больше информации в документации API - https://cloud.ibm.com/apidocs/natural-language-understanding/natural-language-understanding?code=python#categories

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...