Понимание естественного языка (NLU) Понятия не возвращены - PullRequest
0 голосов
/ 28 февраля 2019

Я извлекаю концепции, используя API-интерфейс IBM Watson Natural Language Understanding (NLU).Для большинства текстов он может извлечь по крайней мере 1 или 2 Концепции, однако в некоторых простых случаях он не возвращает Концепции.

from watson_developer_cloud import NaturalLanguageUnderstandingV1
from watson_developer_cloud.natural_language_understanding_v1 import Features, CategoriesOptions, ConceptsOptions, RelationsOptions

natural_language_understanding = NaturalLanguageUnderstandingV1( version='2018-11-16', iam_apikey='API-KEY', url='https://gateway.watsonplatform.net/natural-language-understanding/api')

post ="No job Never had any romantic experiences I just have no ability / infrastructure to get through life It's killing me I don't want to be part of this world because I can't fit in, can't compete, can't enjoy Why does it have to be so uncomfortable? I feel so sad on the inside Another night I wonder how it will ever change, will it require my effort completely? I DON'T KNOW WHAT TO FUCKING DO"

response = natural_language_understanding.analyze(
    text=post, features=Features(
            concepts=ConceptsOptions(limit=10))).get_result()

Результат, возвращаемый в переменной ответа:

{'concepts': [], 'language': 'en', 'usage': {'features': 1, 'text_characters': 393, 'text_units': 1}}

Это известное ограничение API, о котором я не знаю, или есть какая-то проблема с тем, как язвоню по API?

1 Ответ

0 голосов
/ 28 февраля 2019

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

"concepts": [
    {
        "text": "Existentialism",
        "relevance": 0.988784,
        "dbpedia_resource": "http://dbpedia.org/resource/Existentialism"
    },
    {
        "text": "The Brothers Karamazov",
        "relevance": 0.856152,
        "dbpedia_resource": "http://dbpedia.org/resource/The_Brothers_Karamazov"
    },
    {
        "text": "Fyodor Dostoyevsky",
        "relevance": 0.83996,
        "dbpedia_resource": "http://dbpedia.org/resource/Fyodor_Dostoyevsky"
    },
    {
        "text": "Human condition",
        "relevance": 0.716108,
        "dbpedia_resource": "http://dbpedia.org/resource/Human_condition"
    },
    {
        "text": "Psychology",
        "relevance": 0.687781,
        "dbpedia_resource": "http://dbpedia.org/resource/Psychology"
    },
    {
        "text": "Philosophy of life",
        "relevance": 0.675628,
        "dbpedia_resource": "http://dbpedia.org/resource/Philosophy_of_life"
    },
    {
        "text": "Meaning of life",
        "relevance": 0.65926,
        "dbpedia_resource": "http://dbpedia.org/resource/Meaning_of_life"
    },
    {
        "text": "Human nature",
        "relevance": 0.652501,
        "dbpedia_resource": "http://dbpedia.org/resource/Human_nature"
    }
]

Можете ли вы передать какой-нибудь текст из Википедии для любого известного места, чтобы проверить, есть ли вообще какие-либо понятия, возвращаемые в выводе.Также убедитесь, что вы не устанавливаете язык по умолчанию при отправке информации в API.NLU автоматически определяет язык, если в большинстве случаев текст содержит более 100 символов.Например, если вы установите язык на испанский (-ые), он может задействовать механизм концепций испанского языка, и вы можете получить несколько результатов или вообще ничего.

...