Как назначить номер слову из ответа API - PullRequest
0 голосов
/ 09 сентября 2018

Я создал пользовательскую модель машинного обучения, используя студию Watson Knowledge, и развернул ее в службе NLU. Мне также удалось получить доступ к моей модели в Python. Моя пользовательская модель была разработана для идентификации конкретных типов объектов, таких как (Советы, Отмена, Осведомленность и т. Д.). Я хочу извлечь эти типы сущностей из ответа API JSON и присвоить им номер (например, Advice = 1, Cancellation = 2, Awareness = 3 и т. Д.), А затем записать их вместе с образцом текста (например, «Я хочу отменить свою подписку с помощью Gameloft.») В файл CSV с заголовками столбцов (ID, предложение, тип объекта). Мне уже удалось извлечь типы объектов и образец текста и записать их в файл .txt, однако мне нужно записать их в файл CSV.

import json
from watson_developer_cloud import NaturalLanguageUnderstandingV1
from watson_developer_cloud.natural_language_understanding_v1 \
  import Features, EntitiesOptions, KeywordsOptions

natural_language_understanding = NaturalLanguageUnderstandingV1(
  username='**************',
  password='*********',
  version='2018-03-16')

text="I want to cancel my subscription with Gameloft."
response = natural_language_understanding.analyze(
text =text,  
  features=Features(
    entities=EntitiesOptions(
      emotion=True,
      sentiment=True,
      limit=2,
      model="**************"),
    keywords=KeywordsOptions(
      emotion=True,
      sentiment=True,
      limit=2)))



print(json.dumps(response, indent=2)) 

response['keywords'][0]['text']
response ['entities'][0]['type']

if response['entities'][0]['type'] == "Cancellation":
    print ('1')
with open('C:\\Users\\Results.txt', "w") as f:
    for x in response['entities']:
        f.write(x['type'] + ' ')

Пожалуйста, помогите мне со следующим:

Как я могу присвоить номера своим типам сущностей?

Есть ли способ создать цикл, который загружает несколько предложений / текст для анализа API NLU?

Как я могу записать все (типы объектов, текст и числа, присвоенные типам объектов) в файл CSV?

1 Ответ

0 голосов
/ 09 сентября 2018

Вы можете использовать словарь для сопоставления типов объектов с номером.Например

entity_number_dict = {
'Advice': 1,
'Cancellation': 2,
'Awareness': 3
}
print(entity_number_dict[response['entities'][0]['type']])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...