Semi-automated coding for qualitative research
Semi-Automated Coding for Qualitative research: A User-Centered Inquiry and Initial Prototypes
Abstract
Qualitative researchers perform an important and painstaking data annotation process known as coding. However, much of the process can be tedious and repetitive, becoming prohibitive for large datasets. Could coding be partially automated, and should it be? To answer this question, we interviewed researchers and observed them code interview transcripts. We found that across disciplines, researchers follow several coding practices well-suited to automation. Further, researchers desire automation after having developed a codebook and coded a subset of data, particularly in extending their cod- ing to unseen data. Researchers also require any assistive tool to be transparent about its recommendations. Based on our findings, we built prototypes to partially automate coding using simple natural language processing techniques. Our top-performing system generates coding that matches human coders on inter-rater reliability measures. We discuss implications for interface and algorithm design, meta-issues around automating qualitative research, and suggestions for future work.
Introduction
정성 조사와 NLP:
- 정성 조사에서는 비정형 텍스트 형태(인터뷰, 필드 노트, 보고서 등)가 가장 많이 쓰임. 이를 이해하기 위해 “코딩”이라는 작업을 하는데 시간이 매우 오래걸림.
- NLP는 텍스트 데이터의 범주화 및 분석을 자동화할 수 있는 기술
- 하지만 현존하는 도구들이 리서처의 요구에 딱 부합하지는 않는 상황
Research questions:
- 정성분석가들은 코딩을 어떤 식으로 하나?
- 코딩의 첫 단계가 부분적으로 자동화될 수 있을까? 그래야 하나? 만약 그렇다면 단순한 NLP 기술로 어디까지 지원할 수 있을까?
논문의 기여:
- 다양한 분야의 리서처들이 대체로 자동화하기 좋은 프랙티스를 따르고 있다는 점을 발견.
- 리서처들은 자동화를 원한다는 사실을 발견. 단, 일단 코드북을 만들고, 일부 데이터를 코딩한 이후에.
- 지원 도구가 왜 특정 코딩을 추천하는지 투명하게 알려주길 바란다는 점을 발견.
- 일부 코딩을 자동화해주는 프로토타입을 제작. 사람이 코딩했을 때와 유사한 성능을 보임(inter-rater reliability measure 기준).
- QDA 도구를 위한 인터페이스 및 알고리즘 디자인 함의를 논의.
- 자동화된 정성 조사에 관련된 메타 이슈들을 논의.
Related Work
Coding in Qualitative Data Analysis
다양한 분야에서 비정형 텍스트 데이터 분석을 하는데, 항상 코딩을 함.
일반적인 코딩 종류들:
- descriptive coding: 상위 수준의 개념을 고안하여 코딩
- in vivo coding: 텍스트에 있던 단어나 어절을 이용하여 코딩
코딩의 방법들:
- inductive: 텍스트를 반복해서 읽으며 키워드를 발견하는 방식
- deductive: 이론 및 가설에 기반하여 코딩 규칙을 정해놓고 텍스트를 읽는 방식
첫단계 코딩(first-pass coding)이 매우 중요하지만 시간이 오래 걸리고 노동집약적. 이 과정을 돕는 일련의 도구들(QDA softwares)이 개발되었음.
Computer-Assisted Qualitative Data Analysis
다양한 QDA 소프트웨어가 있지만, 지난 20년간 리서처들은 그다지 만족하지 못했음. “디지털로 바뀐 서류함에 불과”하다고 표현하기도 함.
저자들은 NLP 기술을 잘 활용하면 정성 분석 전반에 걸쳐 코딩 작업을 지원할 수 있을 것으로 기대.
Applying Computational Techniques to Qualitative Data
인터뷰 하나를 특정 주제로 요약하는 방식 등이 있었으나, 코딩에는 부적절. (코딩은 문장 단위 또는 어절 단위로 해야하니까)
(기타 기존 방식들에 대한 비판 생략)
A User Study of Qualitative Coding
Methods
(생략)
Findings
Codebook development is a complex process
- 코드북 또는 코딩 스킴을 만드느라 초기에 많은 시간을 보냄.
- �작은 부분집합을 읽은 뒤 코드 체계를 만들기 시작하고, 점점 더 읽어가며 다듬는 식(새 코드 추가, 기존 코드 제거, 병합, 분기 등)으로 진행.
- 어느 시점이 지나면 코드북 변경 비용이 지나치게 커지기 때문에 특정 시점에 코드북을 고정. (코드북이 바뀌면 처음부터 다시 읽으며 재작업)
- 특히 협업을 하는 경우 더욱 어려워지며 코드북을 바꾸려면 상당한 정당화가 필요.
- 코드북 생성, 임시 테스팅, 시각화 등이 QDA 툴에서 잘 지원되지 않음.
Codes are created at four levels of complexity:
- Demographic codes: 인구통계학특성을 코딩
- In vivo codes: 인터뷰 스크립트에 나온 단어나 어절을 그대로 코드로 사용
- Descriptive codes: 상위 수준의 설명적 코드를 새로 만들어 사용
- Meta codes: 데이터셋 전체에 적용하는 코드들
Codes are applied to ‘units of analysis’
- 문장, 문단, 대화 전환(conversational turn) 등 다양한 단위가 있음. 이 중 분석적으로 의미있는 적절한 단위에 코드가 부여되어야 함.
- 리서처들은 대체로 동일한 단위로 코딩을 하는 경향이 있었음(예: 한 번 문장 단위로 했으면 계속 문장 단위로.) 그래야 한 눈에 파악하기도 좋고 협업 시 일관성 향상에도 도움이 되기 때문.
QDA software is an evil necessity
- 여덟 명의 참여자는 NVivo 또는 Altas.ti를 사용(모두 당시 가장 발전된 소프트웨어였다고). 하지만 모두 엉망이었고 리서처들은 억지로 쓰고 있는 상황.
Researchers should retain control over the codebook
- 모든 참여자들은 자동으로 생성되는 코드북에 대해 깊은 불신을 표명.
- 그럼에도 불구하고 ‘자동화된 제안’에 대해서는 환영. 즉, 정답을 정해주는 게 아니라 제안을 해주고 본인이 선택하도록 하길 원함.
Automated recommendations need to be transparent
- 추천 이유에 대해 투명하게 설명해주길 원함 (See also Explainable AI)
Proprietary data formats should be avoided
- 코드 파일이 특정 프로그램에서만 열리는 형태로 저장되어서는 안됨.
- 결과가 Word나 PDF로만 출력되면 다루기가 어려움.
Automate to extend researchers’ coding to unseen data
- 거의 모든 참여자가 전체를 자동화해주는 도구는 쓰지 않겠다고 대답.
- 하지만 일부 작업을 해주면 나머지 데이터에 자동으로 적용해주고, 적용 결과를 연구자가 수정할 수 있다면, 아주 좋겠다고 대답.
- 왜? 초기 작업을 본인들이 하면서 컴퓨터에게 자신들의 관점을 가르칠 필요가 있기 때문.
Experiments in Prototyping
Method
세 가지 프토토타입을 제시. (생략)
Findings
(생략. 결과가 좋더라는 얘기)
Discussion
Avenues for Interface and Algorithm Design
- 기존 소프트웨어들은 대체로 학습 곡선이 지나치게 가파르기 때문에 사람들이 고급 기능을 안 씀.
- 기존 소프트웨어들은 너무 불안정해서 데이터가 종종 손실됨. 이런 경험을 한 번 하면 영원히 의심.
- 기존 소프트웨어들은 코드북 만드는 과정, inter-rater reliability 평가 등 가장 시간이 오래 걸리는 부분에 대한 지원이 거의 없음.
- 기존 소프트웨어들의 분석 기능들은 대체로 잘 작동하지 않음.
Automated assistance and researcher agency
- 자동화는 리서처를 다양하게 도울 수 있음.
Commonalities in user practices and preferences
- 상당수의 교과서가 정성 분석 방법에 대해 추상적으로만 다루고 있음에도 불구하고, 다양한 분야의 리서처들이 거의 유사한 방식으로 정성 분석을 하고 있었음.
- 아마도 도제식으로 전수된 걸로 보임.
- 자동화에 대한 연구는 정성 분석의 형식화에도 도움을 줄 수 있을 것.
Limitations and future work
(생략)
Conclusion
- 다양한 분야에 걸쳐, 자동화하기 좋은 프랙티스들이 제법 있었음.
- 리서처들은 일부 작업을 본인들이 한 이후에 나머지를 자동화해주길 바람.
- 제안을 하고, 제안한 이유를 잘 설명하길 원함. 그리고 최종 결정은 본인들이 하고자 함.