我从Watson的Speech-to-Text服务中得到了JSON输出,我将其转换成一个列表,然后转换成一个数据帧。你知道吗
我试图确定如何重构对话(时间安排),类似于以下内容:
演讲者0:说这个[00.01-00.12]
发言人1:说[00.12-00.22]
演讲者0:说了些别的话[00.22-00.56]
我的数据框中每个单词有一行,每个单词有一列,开始/结束时间和说话人标记(0或1)。你知道吗
words = [['said', 0.01, 0.06, 0],['this', 0.06, 0.12, 0],['said', 0.12,
0.15, 1],['that', 0.15, 0.22, 1],['said', 0.22, 0.31, 0],['something',
0.31, 0.45, 0],['else', 0.45, 0.56, 0]]
理想情况下,我希望创建的是以下内容,即同一个说话人所说的单词被分组在一起,并且在下一个说话人进入时被打断:
grouped_words = [[['said','this'], 0.01, 0.12, 0],[['said','that'] 0.12,
0.22, 1],[['said','something','else'] 0.22, 0.56, 0]
更新:根据请求,在https://github.com/cookie1986/STT_test处有一个指向所获得的JSON文件示例的链接
将说话人标签加载到Pandas数据框中以获得一个简单的图形视图,然后识别说话人的移位,应该是非常简单的。你知道吗
输出:
从那里,你可以只识别说话人的移动,并用一个快速循环折叠数据帧
ChangeSpeaker=speakers.loc[speakers['speaker'].shift()!=speakers['speaker']].index
您希望从临时数据帧中的第一个值(因此是head)获取起点,然后从最后一个值获取终点。另外,要处理最后一个说话人的情况(通常会出现数组越界错误),可以使用try/catch。你知道吗
输出:
此处显示完整代码
相关问题 更多 >
编程相关推荐