временные метки, похоже, допускают продолжительность 0 секунд для некоторых слов в результатах, это ошибка?

При использовании API Google Cloud Speech новая функция точного времени / временного кода с точностью до слов, кажется, позволяет длительность 0 секунд для некоторых слов в результатах, вот пример

... { startTime: '48.800s', endTime: '48.800s', word: 'a' }, { startTime: '48.800s', endTime: '49.200s', word: 'kindly' }, ...

это ошибка?

Для тестирования я использовал отрывок из аудиоархива "Arthur the Крыса »,« США - среднезападный спикер (штат Мичиган) ».


person Pietro Passarelli    schedule 31.08.2017    source источник


Ответы (2)


вы можете получить точность выше второй, используя возвращенную метку времени.

вы получаете время начала из структуры, содержащей слово, и можете вывести его следующим образом:

start_time.seconds + start_time.nanos * 1e-9

person David Anderson    schedule 28.09.2017

Ответ Дэвида Андерсона правильный, я просто подумал, что уточню его, поскольку изначально думал, что ответ будет только до второй точности, а не 100 мс, как описывают документы.

По состоянию на июль 2018 года отправка запроса к API Google Cloud Speech, включая смещение времени слов, возвращает объект ответа, в котором каждое слово result в response.results имеет структуру:

start_time {
  seconds: 24
  nanos: 100000000
}
end_time {
  seconds: 24
  nanos: 700000000
}
word: "of"

Поле nanos позволяет получить время начала и окончания с точностью до 100 мс. Таким образом, вы можете получить время начала и окончания следующим образом:

print(start_time.seconds + start_time.nanos * 1e-9)
print(end_time.seconds + end_time.nanos * 1e-9)

==== Output ====

24.1
24.7
person NickDGreg    schedule 04.07.2018