是否有任何简单/基本的方法可以使用R拆分文本转录本?

是否有任何简单/基本的方法可以使用R拆分文本转录本?,r,transcription,R,Transcription,基本上,我有一个.txt文件,是两个参与者之间的谈判记录,格式如下: Name时间戳文本Name时间戳文本 等等,等等,进行完整的对话。有没有一种编码R的方法可以将这个转录本拆分成单独的变量,这样就有了一个用于名称的变量、一个用于时间戳的变量和一个用于全文文本的变量 我一直都是手工完成的,但是随着成绩单越来越长,要做的事情越多,手工完成就越困难。我知道有一些解析文本的代码可用于情绪分析等,但据我所知,我只知道如何编写代码来提取特定的词类 任何帮助都将不胜感激 如果我意识到这有多难,我就会跳过这个

基本上,我有一个.txt文件,是两个参与者之间的谈判记录,格式如下:

Name时间戳文本Name时间戳文本

等等,等等,进行完整的对话。有没有一种编码R的方法可以将这个转录本拆分成单独的变量,这样就有了一个用于名称的变量、一个用于时间戳的变量和一个用于全文文本的变量

我一直都是手工完成的,但是随着成绩单越来越长,要做的事情越多,手工完成就越困难。我知道有一些解析文本的代码可用于情绪分析等,但据我所知,我只知道如何编写代码来提取特定的词类

任何帮助都将不胜感激

如果我意识到这有多难,我就会跳过这个问题。 但是我在pivot上做了很多很好的练习
read\u csv
将为您修复这些重复的名称,如果您为大多数其他
read
功能提供正确的选项,它们也将为您修复这些名称

library(tidyverse)
Raw <-  readr::read_csv("Name,Time Stamp,Text,Name,Time Stamp,Text,Name,Time Stamp,Text
Arthur,1:22,No,Betty,1:23,Yes,Arthur,1:24,Dang")
# A tibble: 1 x 9
Name   `Time Stamp` Text  Name_1 `Time Stamp_1` Text_1 Name_2 `Time Stamp_2` Text_2
<chr>  <time>       <chr> <chr>  <time>         <chr>  <chr>  <time>         <chr> 
  1 Arthur 01:22        No    Betty  01:23          Yes    Arthur 01:24          Dang 
在ROW=1中,我们希望将Nm_2与Ts_2、Tx_2等关联起来。让我们构建一个函数

nmOut <- function(ROW, string){
  ext <- str_extract(string, "(?<=_)\\d+")
  paste(ROW, 
    ifelse(is.na(ext), "0", ext ))
}

transcript2 <- transcript1 %>% 
  mutate(rNm = nmOut(ROW, Nm),
         rTs = nmOut(ROW, Ts),
         rTx = nmOut(ROW, Tx)) %>% 
  filter(rNm == rTs & rTs == rTx)

# A tibble: 3 x 10
    ROW Nm     NAME   Ts           TIME.STAMP Tx     TEXT  rNm   rTs   rTx  
  <int> <chr>  <chr>  <chr>        <time>     <chr>  <chr> <chr> <chr> <chr>
1     1 Name   Arthur Time Stamp   01:22      Text   No    1 0   1 0   1 0  
2     1 Name_1 Betty  Time Stamp_1 01:23      Text_1 Yes   1 1   1 1   1 1  
3     1 Name_2 Arthur Time Stamp_2 01:24      Text_2 Dang  1 2   1 2   1 2   




transcriptFinal <- transcript2 %>% 
  select(ROW, NAME, TIME.STAMP, TEXT)

transcriptFinal

# A tibble: 3 x 4
    ROW NAME   TIME.STAMP TEXT 
  <int> <chr>  <time>     <chr>
1     1 Arthur 01:22      No   
2     1 Betty  01:23      Yes  
3     1 Arthur 01:24      Dang 

n您好cwfowler,如果没有您试图处理的准确、具有代表性的数据样本,我们将无法帮助您。请发布一个大小合理的数据样本。你能
dput
一个小样本文本吗?我认为这可能是有问题的,原因有两个。1.许多人的名字都是固定的词(弗兰克、五月、六月、鲍勃、罗伯……)。2.文本可能包含其他人的姓名和/或时间戳。例如,“阿美:是的,弗兰克。你说得对。会议可能安排在下午1:30开始。但是老板迟到了。坦率地说,他总是迟到。也许我们都应该辞职。”非常感谢你的回答!很抱歉,花费的时间比预期的要长,我应该意识到这个问题没有简单、容易的答案,但我感谢您的帮助!
nmOut <- function(ROW, string){
  ext <- str_extract(string, "(?<=_)\\d+")
  paste(ROW, 
    ifelse(is.na(ext), "0", ext ))
}

transcript2 <- transcript1 %>% 
  mutate(rNm = nmOut(ROW, Nm),
         rTs = nmOut(ROW, Ts),
         rTx = nmOut(ROW, Tx)) %>% 
  filter(rNm == rTs & rTs == rTx)

# A tibble: 3 x 10
    ROW Nm     NAME   Ts           TIME.STAMP Tx     TEXT  rNm   rTs   rTx  
  <int> <chr>  <chr>  <chr>        <time>     <chr>  <chr> <chr> <chr> <chr>
1     1 Name   Arthur Time Stamp   01:22      Text   No    1 0   1 0   1 0  
2     1 Name_1 Betty  Time Stamp_1 01:23      Text_1 Yes   1 1   1 1   1 1  
3     1 Name_2 Arthur Time Stamp_2 01:24      Text_2 Dang  1 2   1 2   1 2   




transcriptFinal <- transcript2 %>% 
  select(ROW, NAME, TIME.STAMP, TEXT)

transcriptFinal

# A tibble: 3 x 4
    ROW NAME   TIME.STAMP TEXT 
  <int> <chr>  <time>     <chr>
1     1 Arthur 01:22      No   
2     1 Betty  01:23      Yes  
3     1 Arthur 01:24      Dang