Appendix KPSA2023

Author

Kazuhiro Terashita

Published

December 1, 2023

Method

Tokenization

pacman::p_load(tidyverse, quanteda, readtext, rvest)

# 주제격 조사 (Subject markers)
subject <- c("은", "는", "이", "가") 

# 목적격 조사 (Object markers)
object <- c("을", "를") 

# 부사격 조사 (Adverbial markers)
adverbial <- c("에", "에서", "에서부터", "으로", "로", "으로부터", "으로서", "로서", "로써", "으로써", "로써의", "으로써의", "만큼", "처럼", "마냥", "랑", "하고", "이랑", "같이", "과", "와", "더러", "서", "보고", "인", "한", "로부터","하면","한다면") 

# 격조사 (Case markers)
case <- c("의", "에게", "께서", "아", "야", "이시여", "이여", "에게서") 

# 어미 (Endings)
endings <- c("라서", "고","이고", "가라", "만치", "로써")

# 기타 (others)
others <- c("하겠습니다", "합니다")


subject_sorted <- sort(subject)
object_sorted <- sort(object)
adverbial_sorted <- sort(adverbial)
case_sorted <- sort(case)
endings_sorted <- sort(endings)
others_sorted <- sort(others)

dictionary <- c(subject_sorted, object_sorted, adverbial_sorted, 
                case_sorted, endings_sorted, others_sorted)

# 출력
print(dictionary)
 [1] "가"         "는"         "은"         "이"         "를"        
 [6] "을"         "같이"       "과"         "더러"       "랑"        
[11] "로"         "로부터"     "로서"       "로써"       "로써의"    
[16] "마냥"       "만큼"       "보고"       "서"         "에"        
[21] "에서"       "에서부터"   "와"         "으로"       "으로부터"  
[26] "으로서"     "으로써"     "으로써의"   "이랑"       "인"        
[31] "처럼"       "하고"       "하면"       "한"         "한다면"    
[36] "께서"       "아"         "야"         "에게"       "에게서"    
[41] "의"         "이시여"     "이여"       "가라"       "고"        
[46] "라서"       "로써"       "만치"       "이고"       "하겠습니다"
[51] "합니다"    
remove_particles_tokens <- function(corp, dictionary){

tokens <- tokens(corp, remove_punct = TRUE)
tokens <- as.list(tokens)
tokens <- tokens |> stringr::str_replace_all(pattern =  paste0("(", paste(dictionary, collapse = "|"), ")\""), 
                                   replacement = "\",") |>
  stringr::str_replace_all(pattern =  paste0("c.|", "\"|"," |","\\)"), 
                           replacement = "") |>
  strsplit(",")|> as.tokens()

return(tokens)

}
  • Example
html <- read_html("https://www.president.go.kr/president/speeches/Fw07SWAa")
Yoon <- html_nodes(html,"div.txtArea") |>
    html_text()

Yoon <- gsub("\r","",Yoon)
Yoon <- gsub("\n","",Yoon)
Yoon <- gsub("\t","",Yoon)

Yoondf <- data.frame(txt = Yoon)

corp <- corpus(Yoondf, text_field = 'txt')
corp <-  corpus_reshape(corp, to = "sentences")

corp
Corpus consisting of 107 documents.
text1.1 :
"국무회의를 시작하겠습니다."

text1.2 :
"저는 11월 15일부터 2박 4일간미국 샌프란시스코에서 열린APEC 정상회의에 참석한 데 이어, 지난주에는 ..."

text1.3 :
"이번 제30차 APEC 정상회의는<회복력 있는 지속가능한 미래 창조> 라는 주제로 개최됐습니다."

text1.4 :
"저는 대한민국이 선도적으로무탄소에너지 이용을 확대하고친환경 이동 수단으로써의 전환을 가속화하면서,기후 취약국..."

text1.5 :
"또, 포용적이고 회복력 있는 성장을 이루려면다자주의와 규범에 입각한 자유무역질서를 국제사회에서 복원하는 것이..."

text1.6 :
"변변한 자원 하나 없는 우리나라가세계적인 경제대국으로 성장한 것은기업이 마음껏 뛸 수 있는 다자무역질서라는크..."

[ reached max_ndoc ... 101 more documents ]
toks <- remove_particles_tokens(corp, dictionary)
Warning in stri_replace_all_regex(string, pattern,
fix_replacement(replacement), : argument is not an atomic vector; coercing
toks
Tokens consisting of 107 documents.
text1 :
[1] "국무회의" "시작"    

text2 :
 [1] "저"           "11"           "월"           "15"           "일부터"      
 [6] "2"            "박"           "4"            "일간미국"     "샌프란시스코"
[11] "열린"         "APEC"        
[ ... and 20 more ]

text3 :
 [1] "이번"     "제"       "30"       "차"       "APEC"     "정상회의"
 [7] "<"        "회복력"   "있"       "지속가능" "미래"     "창조"    
[ ... and 4 more ]

text4 :
 [1] "저"                     "대한민국"               "선도적으로무탄소에너지"
 [4] "이용"                   "확대하고친환경"         "이동"                  
 [7] "수단"                   "전환"                   "가속화하면"            
[10] "기후"                   "취약국"                 "적극"                  
[ ... and 6 more ]

text5 :
 [1] "또"               "포용적"           "회복력"           "있"              
 [5] "성장"             "이루려면다자주의" "규범"             "입각"            
 [9] "자유무역질서"     "국제사회"         "복원하"           "것"              
[ ... and 3 more ]

text6 :
 [1] "변변"             "자원"             "하나"             "없"              
 [5] "우리나라가세계적" "경제대국"         "성장"             "것은기업"        
 [9] "마음껏"           "뛸"               "수"               "있"              
[ ... and 5 more ]

[ reached max_ndoc ... 101 more documents ]
#stopwords
toks <- tokens_remove(toks, stopwords::stopwords("ko", source = "marimo"))  
toks <- tokens_select(toks, "^[가-힝]+$", #only 한글
                      min_nchar = 2L, #remove 1 character
                      valuetype = "regex", padding = TRUE)

toks <- tokens_select(toks, 
                      pattern = "^[0-9ァ-ヶー一-龠]+$", #remove number, hanja etc.
                      selection = "remove", padding = TRUE)

toks
Tokens consisting of 107 documents.
text1 :
[1] "국무회의" "시작"    

text2 :
 [1] ""             ""             "일부터"       ""             ""            
 [6] ""             "일간미국"     "샌프란시스코" "열린"         ""            
[11] "정상회의"     "참석"        
[ ... and 17 more ]

text3 :
 [1] "이번"     ""         ""         ""         ""         "정상회의"
 [7] ""         "회복력"   ""         "지속가능" "미래"     "창조"    
[ ... and 4 more ]

text4 :
 [1] "대한민국"               "선도적으로무탄소에너지" "이용"                  
 [4] "확대하고친환경"         "이동"                   "수단"                  
 [7] "전환"                   "가속화하면"             "기후"                  
[10] "취약국"                 "적극"                   "지원"                  
[ ... and 5 more ]

text5 :
 [1] ""                 "포용적"           "회복력"           ""                
 [5] "성장"             "이루려면다자주의" "규범"             "입각"            
 [9] "자유무역질서"     "국제사회"         "복원하"           "급선무라"        
[ ... and 1 more ]

text6 :
 [1] "변변"               "자원"               ""                  
 [4] "우리나라가세계적"   "경제대국"           "성장"              
 [7] "것은기업"           "마음껏"             ""                  
[10] ""                   ""                   "다자무역질서라는크"
[ ... and 4 more ]

[ reached max_ndoc ... 101 more documents ]

Topic estimation by Seeded LDA (up to 40 feature words)

Women_rights Safety Marrige_and_birth Childcare Medical_Health Education Young_labor Business Disabled Old_age Urban Research Foreigner other1 other2
목적 피해 가장 어린이집 존경하 학교 지원 기업 장애인 만원 공사 연구 다양 국장님 소관
설치 상담 전국 지원 병원 교육 일자리 역할 지원 소관 시설 인력 문화 부서 선포
법률 방향 비율 아동 건강 학생 청소년 기관 설치 집행잔액 주차장 조사 조성 공무원 원안대
행정사무감사 가장 비해 복지 비롯 프로그램 청년 산업 출연 지원 공간 재단 개발 직원 정회
제정 사회 출산 아이 주시 대상 지원하 센터 출자 신규 공원 연구원 외국인 계시 일반
인권 변화 인구 보육 적극 참여 육성 기능 실음 주요 호선 분야 기반 주시 비롯
사용 사회적 영향 대상 주요업무 일반 임금 단체 사무 세출예산 지하철 연구용역 지원 관계 이어
용어 안전 현황 가정 직원 운영하 창출 공모 기본 지출 화장실 보건환경연구원 프로그램 행감 나오셔
마련 개념 통계 가구 실음 교원 창업 이름 설립 국고보조금 공사비 과제 교류 대표님 특별회계
권리 인식 상대적 시설 의료 보내 노동 디지털 원안대 노인 안전 방안 분야 오셔 상정
방안 일들 결혼 가족 주요 평생교육 지원할 운영하 계획안 증가 사용 분석 역량 대표 오전
성평등 환경 나타나 찾아가 간부 실시 취업 구조 공공기관 돌봄 이용하 출연금 안전 분도 종결
각종 시대 최초 취약계층 인사 교육도 활동 특정 원안 전용 설치 연구과제 활동 많은데 승인안
명칭 안심 비중 저소득층 평소 위주 직업 기관들 장애 조성 수의계약 방향 대상 인사 일괄
조사 일어나 저출산 종사자 행복 능력 지원사업 유사 전부개정조례안 추가경정 개발 연구해 주요 첨부서류 실음
조제 성폭력 지표 자녀 소개해 청소년들 사회적기업 비슷 참조 세출예산안 시설들 조직개편 지역사회 관장님 이진수
양성평등 관계 분석 지역아동센터 진심 활동 신규 공모사업 재위탁 신규사업 조성 역할 연계 계시는데 오후
주요 역할 현상 아동학대 모시 역량 청소년들 분야 선포 감액된 운영하 수행 참여 당부 박재본
개정조례안 예방 증가 생활 안전 설문조사 대상 중복 소관 만원보다 접근성 현원 확산 승진 원활
실효성 피해자 방안 아동들 모습 참여할 양성 경험 육성 특별회계 방안 연구결과 마련 부시장 개요
공무원 성희롱 미만 지원하 성원 방과후 연계 산하 이병도 기정예산액 공사사장 연구소 맞춤형 명단 적극
대상 경찰 절반 보육료 이어 성교육 뉴딜일자리 스타트업 김혜린 고독사 도시공원 기구 발굴 하던 속개
보호 목소리 열악 국공립어린이집 참조 연계해 발굴 영역 촉진 설치 수영장 복지개발원 환경 예전 성원
실음 분위기 차지 확충 배부해 일자 양질 공공기관 구경민 부서별 교통 개발 실시 어떻든 정돈해
제도적 관점 신혼부부 어르신 뜻깊게 강좌 청년일자리 목적 보호 추경예산 한강공원 현황 향상 그런지 지출
조에서 성범죄 해운대 노숙인 반영해 저소득층 지원도 참여 김경영 세부내역 공사기간 설립 전문 경력 참조
주요내용 범죄 고려해 어린 행정사무감사 찾아가 지원하기 지원하 조성 분야 가이드라인 대구경북연구원 다문화 의논 반영해
전반 구조 많은데 돌봄 대구의료원 희망 성장 중복되 위탁기간 존경하 어린이대공원 연구하 네트워크 했거든요 변경안
실시 존경하 남성 보호 애정 자원봉사자 최저임금 부서 결의안 지원사업 생태공원 연구기관 플랫폼 아실 청취
실태 경찰청 비슷 사회복지시설 진료 교육프로그램 고용노동부 단체들 이순자 문화체육관광국 공사장 결과물 적극 국장님께 내일
실태조사 왔던 방향 인가구 유인물 키우 청소년시설 지원센터 김동식 유인물 공사하 연구원들 확충 되었으면 마치
성인지 직장 높게 처우개선 소개 교육기관 근로자 전문 발의하신 부문 비해 전문 공유 좋아요 정명희
현황 각종 차지하 사회적 간부소개 경험 노동자 관계 이용형 원보다 대관 김름 신규 문화회관 의결토록
기본 배려 많기 어린이회관 새해 희망하 월세 사단법인 재단법인 행정운영경비 시설도 기관 비전 비롯해 대변인
시책 가질 출산율 지원사업 마치 나누어 박람회 수탁기관 이영애 차지 현황 정일선 공간 명이나 소속
기능 교통 구조 실태조사 드리게 이경애 전문인력 명칭 선임 확충 고려해 실행 변화 일들 존경하
소속 들거든요 임신 찾동 격려 연계 취업률 활동 문화복지위원회 현황 있어가지 연구도 증가 계시지만 김남희
증진 자치경찰 반면 복지본부 아낌없 예방교육 연계해 통합해 김혜정 만원이며 구분 연구사업 각종 직원분들 주시
유인물 실질적인 목표치 쉼터 계시 고려해 위기 개념 이윤희 보건복지국 이용하시 연구개발 다문화가족 해주셔 복지환경위원회
받기 성매매 전반적인 이순자 각별 교육들 인력 방향 예방 집행내역 이관 기능 외국인들 하셨던 의사진행

Example Text

Topic Statement
text28888 Safety ○이병도 위원  어쨌든 현대사회로 오면서 처벌이든 징계가 갖고 있는 의미가 응징이라고 할까요, 합당한 처벌이라고 할까요 이런 것들의 의미보다는 결국 그런 것들을 통해서 재발을 방지하는 것들에 초점이 맞춰져 있는데 그런 차원에서 한번 같이 고민을 해 볼 바가 있는 것 같아요  분명히 행위자가 있고 피해를 받은 사람이 있었는데 현재 규정으로는 이분이 명예퇴직을 하는 것에 문제가 없다고 하는 것들은 현대사회의 가치관이라고 할까요, 시민의 눈높이에서 분명히 맞지 않는 부분이 있기 때문에 그것들은 다시 한번 검토를 통해서 명확히 바로잡아야 될 것 같다는 생각이 들고요  그리고 또 하나 결국 이런 사건들에서 가장 중요한 것은 피해자에 대한 보호이지 않습니까  피해자가 조직에서 이런 것들에 대해서 인지를 했을 때 가장 우선시해야 될 것은 피해자가 더 이상 피해를 받지 않도록 하고 그것으로 인한 2차 피해라고 할까요 이런 것을 받지 않도록 보호해야 되는데, 그런 것도 한번 점검을 해야 될 것 같아요  제가 지난번에 보고를 받는 과정에서 인권센터 상담을 통해서 인지를 한 시점과 그 이후에도 계속해서 피해를 받았다는 사실이 확인되지 않습니까  상담을 받았는데 상당기간 동안 계속해서 피해를 받을 수밖에 없는 상황들, 물론 비밀이라고 하는 것들이 유지돼야 되고 이런 것들 때문에 어쩔 수 없는 측면이 있다고 하더라도 그런 부분도 한번 점검을 해 봐야 될 것 같아요  상담을 통해서 피해사실은 확인됐는데 당장 피해는 안 받도록 조치가 있어야 되는데 상당기간 동안 계속해서 같은 일들이 지속됐다는 것이 나왔단 말이에요  이런 부분은 어떻습니까?.
text38491 Childcare 경제적으로 굉장히 어려운, 한부모가정이 된다는 것은 재산이 3,000만 원 이하 자가도 차도 없어야 되고, 총 3,000만 원 갖고 서울시에서 살려고 하면 단칸방에서밖에 살 수 없을 거라는 생각이 듭니다  그만큼 경제적으로 어려운데, 이 아이가 자폐아의 등급을 못 받았는데 선생님께서는 자폐아이들은 사회성을 키워주는 게, 집에만 있는 거보다는 어린이집에서 또래와 어울릴 수 있는 기회를 주는 게 좋다고 하셔서 이 엄마가 아이를 데리고 어린이집을 찾게 됐습니다  그러다 보니까 집 근처에 있는 민간어린이집에는 특수장애아이들을 돌봐줄 수 있는 선생님이 안 계시기 때문에 국공립어린이집 쪽으로 가게 됐는데 국공립어린이집이라고 해서 다 있는 게 아니라 아이를 받아줄 수 있는 시설이 되어 있는 어린이집을 가다 보니까 집에서 멀리 가게 됐습니다  그런데 이 아이가 갈 때, 자폐아이들의 특성이 얌전할 때는 정말 집구석에서 혼자서 하루 종일 있을 때도 있는데 순간적으로 어디로 튈지는 아무도 예측을 못 합니다  그러다 보니까 갓 태어난 아기와, 동생이지요 30개월 된, 그 아이 둘을 데리고 어린이집을 가는데 이 어린이집으로 가는 길이 평탄치가 않아요  집에서 버스정류장까지 가는 거리도 있고 버스를 타고 가고 내려서 어린이집까지 가는 데도 한참을 가야 된다는 겁니다  차라리 유모차를 끌고서 이 아이들을 데리고 가도 30분 이상 걸어가야지 그 어린이집에 도착할 수 있는데 이 어린이집이 또 언덕에 있답니다  그러면 차로 가면 되지, 쉽게 얘기할 수 있지요  차로 가면 되지 하는데 이분은 형편이 안 돼서 차가 아예 집에 없고요  ’그러면 택시를 타고 가지’라는 얘기를 할 수 있는데 택시 비용이 기본요금보다 조금 더 나온답니다  그러면 왕복해서 만 원이 더 나오겠지요  그러니까 왕복 정도면 만 원밖에 안 되는 이 돈이 그렇게 부담스러울까라고 생각할 수 있지만 없는 사람들한테는 그 만 원이 굉장히 큽니다  뿐만 아니라 이 아이가 자폐이면서 언어발달이 굉장히 늦기 때문에 언어교육도 받아야 되고 이런 여러 가지 교육을 받아야 되는데 이 엄마가 조기에 발견하다 보니까 12개월 때 이 아이의 증상을 발견한 것 같아요  그러니까 어린 아이들한테 주어지는 바우처가 있다고 하더라고요  구에서 받은 건지 시에서 받은 건지는 잘 모르겠으나 그 바우처로 1년 정도 교육을 했는데 그다음 교육을 받으려고 하니까 1년 지원받고 그다음에는 공백이 생겨서 다음 바우처를 받을 수 있는 연령까지 가는 데는 1년 정도의 시간이 또 필요하다고 하더라고요  그러니까 한부모가정이 국가에서 지원받는 금액으로는 생활하기도 굉장히 힘든데도 불구하고 아이의 특수교육, 특수교육 할 때 시간당 굉장히 비싸더라고요  5만 원, 7만 원 이 사이인데 일주일에 두 번씩 이렇게 받고 택시비까지 하려니까 너무 힘든데 이 어머니께서 얘기하시는 것은 비단 자기만의 문제는 아니라는 거지요  그러니까 택시비를 지원해 달라는 것보다 이렇게 어렵고 힘든 아이들이 어린이집을 갈 때, 어린이집은 다녀야 돼요  우리 교육은 기본이지 않습니까?
text453464 Foreigner 반갑습니다 우리 속의 이주민들의 인권개선을 비롯하여 다함께 행복한 부산을 만들고자 하는 도용회 의원입니다 먼저 한·아세안 특별정상회의의 성공적 개최를 기원합니다 2019년 한·아세안 특별정상회의가 한·아세안 대화관계 수립 30주년을 기념하여 11월 25, 26일 부산에서 개최됩니다 이번 정상회의는 각종 부대행사를 포함하여 양측 국민과 기업인 등 약 1만 명 이상이 참여하는 현 정부 출범 이후 최대 규모의 다자회의가 될 것으로 예측됩니다 또한 이번 정상회의는 아세안과 사람, 번영, 평화 분야별 협력을 증진시킬 수 있는 신남방 정책의 기념비적 외교행사가 될 것으로 보입니다 이런 한·아세안 특별정상회의를 맞아 우리 부산에서 함께 살고 있는 이주민들과의 더불어 삶과 인권에 대해서 부산시의 정책이 바로 가고 있는가에 대해서 생각해 보고자 합니다 한국사회가 3D업종 노동력 부족을 이유로 이주노동자를 받아들인 지 30년이 넘어갑니다 체류외국인이 230만, 재한외국인 처우 기본법이 시행된 지도 12년, 한국사회는 이미 다문화사회를 넘어 이민사회로 이행이 예상되지만 사회 전반의 다문화 감수성 부족과 제도적 차별로 인한 인권침해가 여전히 사회문제화되어 있고 정부의 입장에서도 사회적비용 부담을 불러옵니다 2017년 기준으로 6만 4,145명의 외국인 주민이 부산에서 함께 살고 있습니다 우리나라의 이주정책은 중앙정부에서 수립·시행되는 제도가 대부분이지만 선발 이주 국가들의 경우 이주행정의 주도권을 지방정부가 대부분 행사합니다 특히 부산의 경우 이번 11월에 열리는 한·아세안 특별정상회의를 통해 또 한 번의 세계 속의 부산의 도약을 이루고자 합니다 우리가 반갑게 맞이를 준비하는 한·아세안 10개의 나라에서 많은 이주노동자들이 부산에서 함께 살고 있으며 우리가 하기 싫어하는 3D업종의 노동일을 하고 있습니다 표에서 보듯이 이번 한·아세안 정상회의에서 우리가 맞이하는 국가들인 베트남, 인도네시아, 필리핀, 미얀마, 캄보디아, 태국, 말레이시아 등의 노동자들이 그 일을 하고 있습니다 얼마 전 한 정당의 대표가 부산에 와서 “외국인은 우리나라에 그동안 기여해 온 바가 없기 때문에 산술적으로 똑같이 임금수준을 유지해 줘야 한다는 건 공정하지 않다고 생각한다”라며 법 개정을 통해 당에서 개선해 나가겠다라고 주장했습니다 얼마나 우사스러운 일입니까?