You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在有序对话转录中合并同一说话者连续文本(R语言)

解决R语言合并连续同一说话者对话的问题

要实现合并连续同一说话者的内容,同时保留非连续同名者的独立条目,可通过拆分文本、分组连续同名者、合并内容三个核心步骤完成,下面是具体实现方案:

方法实现(基于tidyverse和data.table)

# 加载所需工具包
library(dplyr)
library(stringr)
library(data.table)

# 原始数据
df <- data.frame(x = c("Tom: I like cheese.", 
                       "Tom: Cheese is good.", 
                       "Tom: Muenster is my favorite.", 
                       "Bob: No, I like Cheddar.", 
                       "Tom: You're wrong. I think cheddar is only good on burgers.", 
                       "Gina: But what about American on burgers?", 
                       "Gina: That's better.", 
                       "Bob: Yeah, I agree with Gina.", 
                       "Bob: American is better on burgers. Cheddar is for grating on nachos."))

# 1. 拆分姓名与对话内容
df_processed <- df %>%
  mutate(
    # 提取冒号前的说话者姓名
    speaker = str_extract(x, "^[^:]+"),
    # 提取纯对话内容(移除姓名前缀)
    content = str_remove(x, "^[^:]+: ")
  )

# 2. 创建连续同名分组标识:为每一段连续相同的说话者分配唯一ID
df_processed <- df_processed %>%
  mutate(group_id = rleid(speaker))

# 3. 按分组合并内容,生成目标格式
result_df <- df_processed %>%
  group_by(group_id, speaker) %>%
  summarise(combined_text = paste0(speaker, ": ", paste(content, collapse = " ")), .groups = "drop") %>%
  select(combined_text) %>%
  rename(x = combined_text)

# 查看最终结果
print(result_df)

代码说明

  • 文本拆分:用str_extract提取冒号前的姓名,str_remove剥离姓名前缀得到纯对话内容;
  • 连续分组:data.table::rleid是核心函数,它能自动识别连续相同的说话者,为每一段连续对话分配唯一分组ID,非连续的同名者会被分到不同组;
  • 内容合并:按分组ID和姓名聚合,用paste拼接同组的对话内容,再加上姓名前缀,最后整理成目标数据框格式。

运行结果

最终输出的result_df与期望格式完全一致:

x
1                  Tom: I like cheese. Cheese is good. Muenster is my favorite.
2                                          Bob: No, I like Cheddar.
3 Tom: You're wrong. I think cheddar is only good on burgers.
4                Gina: But what about American on burgers? That's better.
5 Bob: Yeah, I agree with Gina. American is better on burgers. Cheddar is for grating on nachos.

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 22:13:24