시간 순서대로 정리를 해봅시다.

-> 이탤릭체로 된 단어들은 화자 B가 다른 화자 A에게 새롭게 제시하는 자신의 아이디어.
-> 보라색 밑줄이 그어진 단어들은 감정을 명확하게 나타냄.
영어 학습자가 일상 생활에서 영어 대화를 연습할 수 있는 다양한 웹사이트에서 원시 데이터를 크롤링함. 그래서 DailyDialog 데이터셋임.
크롤링 -> 중복 제거 -> 두 명 이상의 참여자가 포함된 대화 필터링 -> 자동 교정 패키지

DailyDialog 는 특정한 소통 방식을 주로 따른다. 이 대화의 목적은 정보를 교환하고 사회적 유대를 강화하는 것이다. 일상적인 소통 행동에 대한 추가 연구를 위해, 데이터셋을 두 가지 목적으로 수동 라벨링하였다.

<dialogues_test>
Hey man , you wanna buy some weed ? eou Some what ? eou Weed ! You know ? Pot , Ganja , Mary Jane some chronic ! eou Oh , umm , no thanks . eou I also have blow if you prefer to do a few lines . eou No , I am ok , really . eou Come on man ! I even got dope and acid ! Try some ! eou Do you really have all of these drugs ? Where do you get them from ? eou I got my connections ! Just tell me what you want and I ’ ll even give you one ounce for free . eou Sounds good ! Let ’ s see , I want . eou Yeah ? eou I want you to put your hands behind your head ! You are under arrest ! eou
<dialogue_emotion_test>
0 6 0 0 0 0 0 0 0 0 3 0
0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 4 0 0 4 4
0 0 0 0 0 0 0 4
<dialogue_acts_test>
3 2 3 4 3 4 3 2 3 4 2 3
1 2 1 1
1 2 1 2 1 2 1
1 1 1 1 2 2 2 2 1 1 1 3 4 3
2 1 2 1 2 1 2 1
이 데이터셋은 기계가 질문 응답 스타일의 대화에 참여할 수 있는 능력을 측정하기 위해 만들어졌다. CoQA는 세 가지 주요 목표가 있다.

Q5는 who라는 짧은 단어로 이루어져 있으며, 이전에 어떤 말이 오갔는지 모르면 답할 수가 없다. 이런 대화는 인간에게는 효과적이지만, 기계가 해석하기는 어렵다. 대화 기록에 의존하는 질문을 포함하는 대규모 독해 데이터셋이 현재까지 없었고, 이것이 CoQA가 주로 개발된 이유임
대화에서 답변의 자연스러움 보장.
많은 QA 데이터셋은 주어진 단락에서 연속된 텍스트로 그대로 답변한다.
하지만 이런 답변은 자연스럽지 않다. CoQA는 답변이 자유형 텍스트가 될 수 있도록 제안하고, 각 답변에 대해 단락에서 텍스트 스팬을 근거로 제공한다.
다양한 도메인에서 견고하게 작동하는 QA 시스템 구축.
어린이 이야기, 문학, 중고등학교 영어 시험, 뉴스, 위키피디아, Reddit, 과학 등 일곱 가지 다른 도메인에서 데이터셋을 수집

주어진 질문에 대해서 답변자는 단락의 연속적인 텍스트 스팬인 증거 R1을 기반으로 A1로 답한다.
또한 어떤 질문은 지난 대화 기록을 참조하지 않으면 옳은 답변을 고를 수 없을 수 있다. (질문의 대화적 특성에서 이유를 추론할수 있도록. 단일 질문이 여러 문장에 걸쳐 있는 근거를 필요로 하는 경우를 훈련)
테스트시에는 모델이 스스로 증거를 결정하고 최종 답변을 도출해야 한다.
질문자와 답변자에게 다른 인터페이스를 제공.
-> 답변자에게 먼저 근거(텍스트 스팬)를 강조하도록 요청하며, 이는 자동으로 답변 상자로 복사됨. 복사된 텍스트를 편집하여 자연스러운 답변을 생성하도록 요청함.
-> 78%의 답변이 적어도 한 번의 편집을 포함하며, 이는 단어의 대소문자를 변경하거나 구두점을 추가하는 것과 같은 편집을 포함함.
-> 질문에 여러가지 유효한 답변을 가질 수 있기 때문에 모든 질문에 대해 3개의 추가 답변을 수집한다.
"data": [
{
"source": "mctest",
"id": "3dr23u6we5exclen4th8uq9rb42tel",
"filename": "mc160.test.41",
"story": "Once upon a time, in a barn near a farm house, there lived a little white kitten named Cotton. Cotton lived high up in a nice warm place above the barn where all of the farmer's horses slept..",
"questions": [
{
"input_text": "What color was Cotton?",
"turn_id": 1
},
{
"input_text": "Where did she live?",
"turn_id": 2
}...
],
"answers": [
{
"span_start": 59,
"span_end": 93,
"span_text": "a little white kitten named Cotton",
"input_text": "white",
"turn_id": 1
},
{
"span_start": 18,
"span_end": 80,
"span_text": "in a barn near a farm house, there lived a little white kitten",
"input_text": "in a barn",
"turn_id": 2
},...
],
"additional_answers": {
"0": [
{
"span_start": 68,
"span_end": 93,
"span_text": "white kitten named Cotton",
"input_text": "white",
"turn_id": 1
},
{
"span_start": 17,
"span_end": 93,
"span_text": " in a barn near a farm house, there lived a little white kitten named Cotton",
"input_text": "in a barn",
"turn_id": 2
},
....
],
"1": [
{
"span_start": 68,
"span_end": 74,
"span_text": "white ",
"input_text": "white",
"turn_id": 1
},
{
"span_start": 18,
"span_end": 27,
"span_text": "in a barn",
"input_text": "in a barn",
"turn_id": 2
},
....
]
},
"name": "mc160.test.41"
},

이 데이터셋은
Ubuntu 채팅 로그는 Freenode 인터넷 릴레이 채팅(IRC) 네트워크의 Ubuntu 관련 채팅방에서 수집한 로그를 의미한다. 이 프로토콜은 다수의 참여자 간 실시간 채팅을 허용함. 각 채팅방 또는 채널은 특정 주제를 가지고 있고, 모든 채널 참여자는 주어진 채널에 게시된 모든 메세지를 볼 수 있음.
각 채널은 유사한 패턴을 따름
여러 메시지가 끊임없이 흐르지만, 메시지의 꽤 엄격한 구조를 통해 사용자 간의 대화를 추출할 수 있음.

코퍼스를 생성하기 위해 먼저 채팅방의 다자간 대화에서 두명 간 대화를 추출하는 방법을 고안하는 것이 필요.
1단계 : 모든 메세지를 (시간, 발신자, 수신자, 발화)로 이루어진 4-튜플로 분리하는 것. 이런 4-튜플을 이용하면 발신자와 수신자가 일치하는 모든 튜플을 그룹화하는 것이 간단해진다. 하지만 이 튜플을 생성할 때 시간과 발신자를 나누는 것은 쉽지만, 메세지의 의도된 수신자를 찾는 것은 간단하지 않음
대부분 수신자는 발화의 첫 번째 단어이지만, 때로는 끝에 있거나, 초기 질문의 경우는 전혀 포함되지 않는다. 또한 이름이 'the' , 'stop' 처럼 일반적인 영어 단어인 사람도 있어서 많은 오류를 초래한다. 이를 해결하기 위해 현재와 이전 날의 사용자 이름 사전을 작성하고, 각 발화의 첫 번째 단어를 사전 항목화 비교한다. 일치할 때 그 단어가 매우 일반적인 영어 단어가 아니라면, 수신자로 간주한다. 일치하지 않으면 초기 질문으로 간주
대화 추출 알고리즘은 첫 번째 응답에서 3분 내에 응답한 초기 질문을 찾는 방식으로 작동.
첫번째 응답은 수신자 이름을 포함하고 있는지로 식별.
초기 질문은 첫번째 응답에서 식별된 수신자의 가장 최근 발화로 식별.
첫번째 응답이나 초기 질문으로 간주되지 않는 모든 발화는 폐기. 응답이 생성되지 않는 초기 질문도 폐기.
한 사용자가 80% 이상의 발화를 차지하는 5회 이상 발화 대화도 폐기.
3턴 이상의 발화로 구성된 대화만 고려하여 더 장기적인 의존성을 모델링할 수 있도록.
초기 질문의 중복
: 사용자들이 초기 질문을 게시하고, 여러 사람이 서로 다른 답변을 다는 경우가 자주 발생한다. 이때 답한 사용자 간의 대화를 별도의 대화로 처리한다. 그래서 초기 질문이 여러 대화에서 반복되는 부작용이 발생하지만, 적은 수라고 함.
발화 시간의 고려
: 발화 게시 시간을 기준으로 두 사용자 간의 대화를 구분하지 않음. 심지어 며칠 동안 대화하는 경우에도 이를 단일 대화로 간주.
너무 용량이 커서 열어보지는 못함.
페르소나를 도입. 페르소나가 없는 모델보다 더 개인적이고, 구체적이며, 일관성있고, 매력적인 응답을 생성하는데 사용될 수 있다.
Amazon Mechanical Turk을 통해 크라우드소싱된 데이터셋으로, 각 대화 쌍의 화자가 제공된 프로필에 따라 대화를 조건화한다.
1. 페르소나(Personas)
크라우드소싱된 작업자들에게 5개의 문장을 사용하여 캐릭터(페르소나) 설명을 작성하도록 요청.
“I am a vegetarian. I like swimming. My father
used to work for Ford. My favorite band is Maroon5. I got a new job last month, which is about
advertising design.”
텍스트 페르소나의 문제 중 하나는, 사람들이 요청받지 않아도 프로필 정보를 문자 그대로 반복하거나 상당한 단어 중복을 무의식적으로 반복할 위험이 있다는 것이다.
이를 완하하기 위해, 수집한 원본 페르소나를 새로운 크라우드 작업자들에게 제시하고 문장을 "같은 사람이 가질 수 있는 관련 특성"에 대해 다시 쓰도록 요청.
-> 개정된 문장은 재표현, 일반화 또는 특수화
-> 개정 작업에서 작업자들에게는 원본 단어를 복사하여 문장을 단순히 재표현하지 않도록 지시. 입력 단계에서 불용어가 복사되면 경고를 발령하고 재표현하도록.

페르소나를 수집한 후, 우리는 페르소나를 조건으로 대화를 수집함.

csv파일. persona / chat 으로 구분
persona
i like to remodel homes. i like to go hunting. i like to shoot a bow. my favorite holiday is halloween.
chat
hi , how are you doing ? i am getting ready to do some cheetah chasing to stay in shape .
you must be very fast . hunting is one of my favorite hobbies .
i am ! for my hobby i like to do canning or some whittling .
i also remodel homes when i am not out bow hunting .
that is neat . when i was in high school i placed 6th in 100m dash !
that is awesome . do you have a favorite season or time of year ?
i do not . but i do have a favorite meat since that is all i eat exclusively .
what is your favorite meat to eat ?
i would have to say its prime rib . do you have any favorite foods ?
i like chicken or macaroni and cheese .
do you have anything planned for today ? i think i am going to do some canning .
i am going to watch football . what are you canning ?
i think i will can some jam . do you also play footfall for fun ?
if i have time outside of hunting and remodeling homes . which is not much !