wuhongsheng
2024-07-05 3a4281f4959534b1bf5d01acf0085f4f8e6f2ec8
优化speakid和语句匹配逻辑,部分解决speakid不从0递增问题 (#1870)

1个文件已修改
18 ■■■■■ 已修改文件
funasr/models/campplus/utils.py 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
funasr/models/campplus/utils.py
@@ -193,23 +193,21 @@
def distribute_spk(sentence_list, sd_time_list):
    sd_sentence_list = []
    sd_time_list = [(spk_st * 1000, spk_ed * 1000, spk) for spk_st, spk_ed, spk in sd_time_list]
    for d in sentence_list:
        sentence_start = d["start"]
        sentence_end = d["end"]
        sentence_start = d['start']
        sentence_end = d['end']
        sentence_spk = 0
        max_overlap = 0
        for sd_time in sd_time_list:
            spk_st, spk_ed, spk = sd_time
            spk_st = spk_st * 1000
            spk_ed = spk_ed * 1000
        for spk_st, spk_ed, spk in sd_time_list:
            overlap = max(min(sentence_end, spk_ed) - max(sentence_start, spk_st), 0)
            if overlap > max_overlap:
                max_overlap = overlap
                sentence_spk = spk
        d["spk"] = int(sentence_spk)
        sd_sentence_list.append(d)
    return sd_sentence_list
            if overlap > 0 and sentence_spk == spk:
                max_overlap += overlap
        d['spk'] = int(sentence_spk)
    return sentence_list
class Storage(metaclass=ABCMeta):