В каком формате выходные данные GCP "Longrunningrecognize"? - PullRequest
0 голосов
/ 11 октября 2019

Я использую Google Cloud sample_long_running_recognize () для получения аудиозаписей, а также для диаризации динамика, но вывод, который он мне дает, находится в формате LongRunningRecognizeResponse, который выглядит очень похоже на JSON, но не совсем. Как я могу экспортировать вывод LongRunningRecognizeResponse, чтобы я мог поместить его в pandas df?

Я пытался экспортировать его с

out = open(audio_in_file_path + "outputs/" + audio_in_file_name + "_out.json" , "w+")
out.write(response) # response is the output fyi
out.close()

, но в формате, в котором находятся данныена самом деле это не JSON, поэтому все портит. Я могу открыть данные на консоли, вызывая объекты внутри response с чем-то вроде response.results[1].alternatives[0], но я бы предпочел иметь их на df.

Заранее спасибо!

1 Ответ

0 голосов
/ 08 ноября 2019

Действительно, данные по своей структуре аналогичны JSON, поскольку ответ API Cloud Speech-to-Text представлен в формате JSON.

Однако клиентская библиотека Python создает объект Python [1] из ответа JSON, который сложнее автоматически разобрать в формате JSON. Вы можете создать объект, который можно анализировать в формате JSON, который легко сохранить, просматривая структуру LongRunningRecognizeResponse. Например, как это:

for res in response.results:
    for alt in res.alternatives:
        rows.append({"transcript": alt.transcript, "confidence": alt.confidence})

with open("results.json" , "w+") as file:
    json.dump(rows, file)

[1] https://googleapis.dev/python/speech/latest/gapic/v1/types.html#google.cloud.speech_v1.types.LongRunningRecognizeResponse

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