Ошибка платформы Swift NaturalLanguage «Длина токена SequenceType равна 0» - PullRequest
0 голосов
/ 26 августа 2018

В настоящее время я использую Apple CreateML для создания модели NLP из имеющегося у меня файла JSON.Вот мой код:

import Foundation
import CreateML
import NaturalLanguage

let trainingData = try MLDataTable(contentsOf: Bundle.main.url(forResource: "Fel", withExtension: "json")!)
let model = try MLWordTagger(trainingData: trainingData, tokenColumn: "tokens", labelColumn: "labels")
let metadata = MLModelMetadata(author: "Sai Kambampati", shortDescription: "The Felicity Named Entity Recognizer", license: "MIT", version: "1.0")
try model.write(to: URL(fileURLWithPath: "/Users/SaiKambampati/Desktop/Felicity.mlmodel"), metadata: metadata)

Файл JSON имеет 116 096 строк, и Xcode смог правильно его проанализировать.Он сформировал набор проверки из 5% данных.Однако, когда он начал разбивать данные и извлекать функции, я получил сообщение об ошибке:

▿ MLCreateError ▿ generic : 1 element - reason : "Token SequenceType length is 0”

Я понятия не имею, что это значит, и не могу найти что-либо в Интернете!Может кто-нибудь помочь, пожалуйста?

1 Ответ

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

Ваш JSON-файл должен быть в этом формате для работы с параметром tokenColumn MLWordTagger.Токены как список строк и метки как список строк.

[
    {
      "tokens": [
        "Aprender",
        "a",
        "realizar",
        "Aquisição",
        "de",
        "usuários"
      ],
      "labels": [
        "GENERIC_ACTION",
        "NONE",
        "ACTION",
        "TOPIC",
        "NONE",
        "NONE"
      ]
    }, ...
...