Какой синтаксис для массива используется в извлечении ключевых фраз Azure Text Analytics? - PullRequest
0 голосов
/ 02 декабря 2018

Я пытаюсь отправить POST из моего приложения Angular в API Azure Text Analytics для извлечения ключевых слов.Я получаю сообщение об ошибке, сообщающее, что формат моего сообщения неверен.Мне нужно отформатировать тело сообщения, чтобы Azure мог понять его следующим образом:

{
    "documents": [
        {
            "language": "en",
            "id": "1",
            "text": "We love this trail and make the trip every year. The views are breathtaking and well worth the hike!"
        },
        {
            "language": "en",
            "id": "2",
            "text": "Poorly marked trails! I thought we were goners. Worst hike ever."
        },
        {
            "language": "en",
            "id": "3",
            "text": "Everyone in my family liked the trail but thought it was too challenging for the less athletic among us. Not necessarily recommended for small children."
        },
        {
            "language": "en",
            "id": "4",
            "text": "It was foggy so we missed the spectacular views, but the trail was ok. Worth checking out if you are in the area."
        },                
        {
            "language": "en",
            "id": "5",
            "text": "This is my favorite trail. It has beautiful views and many places to stop and rest"
        }
    ]
}

У меня есть эта модель данных:

export class KeyFraze {
public id: number;
public language: string;
public text: string;

constructor(id: number, language: string, text: string) {
    this.id = id;
    this.language = language;
    this.text = text;
}}

И это код на странице, гдеЯ отправляю текст в Azure (я отправляю здесь переменную extractKeyFraze):

    @Component({
  selector: 'app-bot',
  templateUrl: './bot.component.html',
  styleUrls: ['./bot.component.css']
})
export class BotComponent implements OnInit {
  allowSendMessage = false;
  message = '';
  messages: Message[] = [];
  extractKeywordsFraze: KeyFraze[] = [];

  constructor(private chatbotService: ChatbotService) {}

  ngOnInit() {
  }

  onSend() {
    if (this.message.length > 0) {
      this.messages.push(new Message('user', this.message))
      this.extractKeywordsFraze.push(new KeyFraze(1, 'en', this.message))
      this.message = '';
      this.chatbotService.extractKeywords(this.extractKeywordsFraze)
      .subscribe(
        (response) => console.log(response),
        (error) => console.log(error)
      );
    }

  }

Может кто-нибудь сказать мне, как отформатировать данные, чтобы они перешли в нужный формат?

1 Ответ

0 голосов
/ 02 декабря 2018

Хорошо, я понял!

Я настроил сообщение для отправки следующим образом:

this.body = {
    "documents": [
      {
        "id": "1",
        "language": "en",
        "text": this.message
      }
    ]
  }

И теперь оно работает.

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