ko-nlp / moducorpus-sanitizer Goto Github PK
View Code? Open in Web Editor NEW모두의 말뭉치 데이터를 분석에 편리한 형태로 변환하는 기능을 제공합니다.
License: MIT License
모두의 말뭉치 데이터를 분석에 편리한 형태로 변환하는 기능을 제공합니다.
License: MIT License
(snapshot)
{
"id": "NXMP1902008040",
"metadata": {
},
"document": [
{
"id": "NWRW1800000022.417",
"metadata": {
},
"sentence": [
{
"id": "NWRW1800000022.417.1.1",
"form": "[제주·서울] \"세계환경수도 조성위해 10개년 실천계획 만들겠다\" 김태환 지사 밝혀",
"word": [
{
"id": 1,
"form": "[제주·서울]",
"begin": 0,
"end": 7
},
{
"id": 2,
"form": "\"세계환경수도",
"begin": 8,
"end": 15
},
{
"id": 3,
"form": "조성위해",
"begin": 16,
"end": 20
},
{
"id": 4,
"form": "10개년",
"begin": 21,
"end": 25
},
{
"id": 5,
"form": "실천계획",
"begin": 26,
"end": 30
},
{
"id": 6,
"form": "만들겠다\"",
"begin": 31,
"end": 36
},
{
"id": 7,
"form": "김태환",
"begin": 37,
"end": 40
},
{
"id": 8,
"form": "지사",
"begin": 41,
"end": 43
},
{
"id": 9,
"form": "밝혀",
"begin": 44,
"end": 46
}
],
"morpheme": [
{
"id": 1,
"form": "[",
"label": "SS",
"word_id": 1,
"position": 1
},
{
"id": 2,
"form": "제주",
"label": "NNP",
"word_id": 1,
"position": 2
},
{
"id": 3,
"form": "·",
"label": "SP",
"word_id": 1,
"position": 3
},
{
"id": 4,
"form": "서울",
"label": "NNP",
"word_id": 1,
"position": 4
},
{
"id": 5,
"form": "]",
"label": "SS",
"word_id": 1,
"position": 5
},
{
"id": 6,
"form": "\"",
"label": "SS",
"word_id": 2,
"position": 1
},
{
"id": 7,
"form": "세계",
"label": "NNG",
"word_id": 2,
"position": 2
},
{
"id": 8,
"form": "환경",
"label": "NNG",
"word_id": 2,
"position": 3
},
{
"id": 9,
"form": "수도",
"label": "NNG",
"word_id": 2,
"position": 4
},
{
"id": 10,
"form": "조성",
"label": "NNG",
"word_id": 3,
"position": 1
},
{
"id": 11,
"form": "위하",
"label": "VV",
"word_id": 3,
"position": 2
},
{
"id": 12,
"form": "아",
$ head -100 NLRW1900000010.json
{
"id": "NLRW1900000010",
"metadata": {
"title": "국립국어원 신문 말뭉치 NLRW1900000010",
"creator": "국립국어원",
"distributor": "국립국어원",
"year": "2019",
"category": "신문 > 지역 종합지",
"annotation_level": [
"원시"
],
"sampling": "부분 추출 - 임의 추출"
},
"document": [
{
"id": "NLRW1900000010.1",
"metadata": {
"title": "강원도민일보 2018년 기사",
"author": "김여진",
"publisher": "강원도민일보",
"date": "20180102",
"topic": "스포츠",
"original_topic": "특집"
},
"paragraph": [
{
"id": "NLRW1900000010.1.1",
"form": "유치·준비 눈물과 기쁨 20년간 전달…감동과 투혼의 현장, 선수들의 땀·숨소리까지 담는다"
},
{
"id": "NLRW1900000010.1.2",
"form": "2018평창동계올림픽 및 패럴림픽의 전 과정을 함께 해 온 강원도민일보는 올림픽 개막을 앞두고 만반의 준비를 갖추고 있다.1999년 동계아시안게임이 끝난 후 동계올림픽 유치가 처음 언급된 순간부터 2차례에 걸친 유치실패,삼수끝에 터져나온 2011년 남아공 더반의 환호,시설완공 등 평창올림픽의 역사를 역대 최고 대회로 만들기 위해노력중이다.세계의 젊은 세대들이 잠재력이 큰 아시아,강원도에서 동계스포츠의 새로운 지평을 열고 대한민국에 지속가능한 유산을 남기자는 평창의 비전과 발맞춘 보도를 계획하고 있다.지구촌 최대 축제,2018평창올림픽 및 패럴림픽을 가장 깊이있게 밀도있게 즐길 수있도록 강원도민일보와 함께 즐겨보자."
},
{
"id": "NLRW1900000010.1.3",
"form": "■평화레거시"
},
{
"id": "NLRW1900000010.1.4",
"form": "강원도민일보는 전세계가 숨죽이며 지켜보고 있는 평화올림픽에 가장 먼저 주목했다.올림픽 유치 이후 제기된 수많은 담론 중 ‘평화’이슈에 집중,평화올림픽 연속보도를 통해 평화올림픽의 중요성과 가치를 꾸준히 제기해왔다.이는 대회 유산창출에 대한 고민으로 이어져 세계평화의 소망을 담은 ‘평화의벽·통합의 문(2018Peace Wall & Gate)’ 건립 캠페인으로 이어졌다."
},
type
: [multiline
, doublespaceline*
]input_dir
output_dir
field
(nargs
)moducorpus-sanitizer
는 CLI 에서 이용됨을 기본으로 가정(script)
moducorpus
# or
moducorpus version
(system out)
## Arguments of Moducorpus sanitizer ##
- func : show_version
moducorpus_sanitizer==0.0.1
(code)
from tqdm import tqdm
n_chars, n_eojeols = 0, 0
with open('paragraph.txt') as f:
for line in tqdm(f, desc='scan', total=40807613):
n_chars += len(line.replace(' ', '').strip())
n_eojeols += len(line.strip().split())
(문제점 1) 문장이 구분되어 있지 않으며, 한 문단 내 두 문장이 구두점을 포함하여 띄어쓰기 구분이 없음.
+
인 이유 "paragraph": [
{
"id": "NLRW1900000010.1.1",
"form": "유치·준비 눈물과 기쁨 20년간 전달…감동과 투혼의 현장, 선수들의 땀·숨소리까지 담는다"
},
{
"id": "NLRW1900000010.1.2",
"form": "2018평창동계올림픽 및 패럴림픽의 전 과정을 함께 해 온 강원도민일보는 올림픽 개막을 앞두고 만반의 준비를 갖추고 있다.1999년 동계아시안게임이 끝난 후 동계올림픽 유치가 처음 언급된 순간부터 2차례에 걸친 유치실패,삼수끝에 터져나온 2011년 남아공 더반의 환호,시설완공 등 평창올림픽의 역사를 역대 최고 대회로 만들기 위해노력중이다.세계의 젊은 세대들이 잠재력이 큰 아시아,강원도에서 동계스포츠의 새로운 지평을 열고 대한민국에 지속가능한 유산을 남기자는 평창의 비전과 발맞춘 보도를 계획하고 있다.지구촌 최대 축제,2018평창올림픽 및 패럴림픽을 가장 깊이있게 밀도있게 즐길 수있도록 강원도민일보와 함께 즐겨보자."
},
time
입력form
, original_form
모두 \t
로 병합 위치 구분 (원 텍스트에 두 칸 띄어쓰기가 포함되어 있기 때문)Github action 으로 CI 를 수행합니다.
요약 문서의 원문이 뉴스 말뭉치이기 때문에 news_input_dir
을 입력받아야 함
(desired)
moducorpus summarization \
--news_input_dir path/to/NIKL_NEWSPAPER(v1.0) \
--summarization_input_dir path/to/NIKL_SUMMARIZATION(v1.0) \
--output_dir path/to/corpus/NIKL_SUMMARIZATION
(snapshot)
{
"id": "SARW1800000001",
"metadata": {
"title": "국립국어원 구어 말뭉치 SARW1800000001",
"creator": "국립국어원",
"distributor": "국립국어원",
"year": "2018",
"category": "구어 > 공적 독백 > 뉴스",
"annotation_level": [
"원시"
],
"sampling": "목록 선정 후 구어 자료 수집"
},
"document": [
{
"id": "SARW1800000001.1",
"metadata": {
"title": "EBS 정오뉴스 2018년 1월",
"author": "박민영 외",
"publisher": "EBS",
"date": "20180000",
"topic": "커피 위의 예술, 크리마트에 대한 기사",
"speaker": [
{
"id": "P1",
"age": "NA",
"occupation": "아나운서 ",
"sex": "여성",
"birthplace": "NA",
"pricipal_residence": "NA",
"current_residence": "NA"
},
{
"id": "P2",
"age": "NA",
"occupation": "리포터",
"sex": "남성",
"birthplace": "NA",
"pricipal_residence": "NA",
"current_residence": "NA"
},
{
"id": "P3",
"age": "NA",
"occupation": "바리스타",
"sex": "남성",
"birthplace": "NA",
"pricipal_residence": "NA",
"current_residence": "NA"
}
]
},
"utterance": [
{
"id": "SARW1800000001.1.1.1",
"form": "요즘처럼 추운 날씨에는",
"original_form": "요즘처럼 추운 날씨에는",
"speaker_id": "P1",
"note": ""
},
{
"id": "SARW1800000001.1.1.2",
"form": "따뜻한 라테 한잔 찾는 분들",
"original_form": "따뜻한 라테 한잔 찾는 분들",
"speaker_id": "P1",
"note": ""
},
{
"id": "SARW1800000001.1.1.3",
"form": "많으실 텐데요.",
"original_form": "많으실 텐데요.",
"speaker_id": "P1",
"note": ""
},
{
"id": "SARW1800000001.1.1.4",
"form": "라테 위에 그려진",
"original_form": "라테 위에 그려진",
"speaker_id": "P1",
"note": ""
},
{
"id": "SARW1800000001.1.1.5",
"form": "다양한 라테 아트를 구경하는 것도",
"original_form": "다양한 라테 아트를 구경하는 것도",
"speaker_id": "P1",
"note": ""
},
{
"id": "SARW1800000001.1.1.6",
"form": "또 다른 재미입니다.",
"original_form": "또 다른 재미입니다.",
"speaker_id": "P1",
"note": ""
},
document_id
로 대화의 시작과 끝을 구분할 수 있지만, 텍스트 파일만 form
파일만으로 대화를 구분하기 위해서 empty line 이 들어가면 쉽게 구분이 되며, 이를 option 으로 제공
output_dir
을 argument 로 입력받은 뒤, 뉴스는 output_dir/NIKL_NEWSPAPER
, 요약 말뭉치는 output_dir/NIKL_SUMMARIZATION
에 생성output_dir
을 모든 tasks 의 공통된 argument 로 입력받을 것(snapshot)
{
"id": "MDRW1900002487",
"metadata": {
"title": "국립국어원 메신저 말뭉치 MDRW1900002487",
"creator": "국립국어원",
"distributor": "국립국어원",
"year": "2019",
"category": "메신저 대화 > 2인 대화",
"annotation_level": [
"원시"
],
"sampling": "참여자 모집 후 대화 수집"
},
"document": [
{
"id": "MDRW1900002487.1",
"metadata": {
"title": "메신저 대화",
"author": "개인 대화 참여자",
"publisher": "카카오톡",
"date": "20191219",
"topic": "일상",
"speaker": [
{
"id": "1",
"age": "40대",
"occupation": "무직/취업준비생",
"sex": "여성",
"birthplace": "서울",
"pricipal_residence": "서울",
"current_residence": "강원",
"device": "스마트폰",
"keyboard": "천지인"
},
{
"id": "2",
"age": "30대",
"occupation": "가정 주부",
"sex": "여성",
"birthplace": "경기",
"pricipal_residence": "경기",
"current_residence": "경기",
"device": "스마트폰",
"keyboard": "천지인"
}
],
"setting": {
"relation": "기타 : 온라인 커뮤니티",
"intimacy": 5,
"contact_frequency": "거의 매일"
}
},
"utterance": [
{
"id": "MDRW1900002487.1.1.1",
"form": "안녕 name2아",
"original_form": "안녕 &name2&아",
"speaker_id": "1",
"time": "20191001 14:11"
},
{
"id": "MDRW1900002487.1.1.2",
"form": "나..지구젤리 많이 살수 있는데",
"original_form": "나..지구젤리 많이 살수 있는데",
"speaker_id": "1",
"time": "20191001 14:11"
},
{
"id": "MDRW1900002487.1.1.3",
"form": "진짜요?",
"original_form": "진짜요?",
"speaker_id": "2",
"time": "20191001 14:12"
},
{
"id": "MDRW1900002487.1.1.4",
"form": "어디서?",
"original_form": "어디서?",
"speaker_id": "2",
"time": "20191001 14:12"
},
{
"id": "MDRW1900002487.1.1.5",
"form": "지구젤리야?",
"original_form": "지구젤리야?",
"speaker_id": "1",
"time": "20191001 14:12"
},
{
"id": "MDRW1900002487.1.1.6",
"form": "눈알이야?",
"original_form": "눈알이야?",
"speaker_id": "1",
"time": "20191001 14:12"
},
{
"id": "MDRW1900002487.1.1.7",
"form": "네.지구제리",
"original_form": "네.지구제리",
"speaker_id": "2",
...
sentence
/ (begin, end, type)
, (begin, end, type)
, ...
) 이 가장 효율적이라 생각됨
"label": "LC",
"begin": 10,
(snapshot)
{
"id": "NXNE1902008030",
"metadata": {
"title": "국립국어원 신문 말뭉치 추출 NXNE1902008030",
"creator": "국립국어원",
"distributor": "국립국어원",
"year": "2019",
"category": "신문 > 전국종합지",
"annotation_level": "개체명 분석",
"sampling": "본문 전체"
},
"document": [
{
"id": "NWRW1800000029.315",
"metadata": {
"title": "",
"author": "권순활 논설위원 [email protected]",
"publisher": "동아일보사, 조선일보사, 한겨레",
"date": "20110512",
"topic": "오피니언",
"url": ""
},
"sentence": [
{
"id": "NWRW1800000029.315.1.1",
"form": "[횡설수설/권순활]北 ‘외화벌이’ 뜯어먹기",
"word": [
{
"id": 1,
"form": "[횡설수설/권순활]北",
"begin": 0,
"end": 11
},
{
"id": 2,
"form": "‘외화벌이’",
"begin": 12,
"end": 18
},
{
"id": 3,
"form": "뜯어먹기",
"begin": 19,
"end": 23
}
],
"NE": [
{
"id": 1,
"form": "횡설수설",
"label": "AF",
"begin": 1,
"end": 5
},
{
"id": 2,
"form": "권순활",
"label": "PS",
"begin": 6,
"end": 9
},
{
"id": 3,
"form": "北",
"label": "LC",
"begin": 10,
"end": 11
}
]
},
{
"id": "NWRW1800000029.315.2.1",
"form": "필리핀 국민의 약 10%인 800만 명은 세계 곳곳에서 건설노동자 가정부 유모 등으로 힘들게 일한다.",
"word": [
{
"id": 1,
"form": "필리핀",
"begin": 0,
"end": 3
},
(snapshot)
{
"id": "WARW1800000007",
"metadata": {
"title": "국립국어원 문어 말뭉치 WARW1800000007",
"creator": "국립국어원",
"distributor": "국립국어원",
"year": "2018",
"category": "문어 > 책-상상 > 문학",
"annotation_level": [
"원시"
],
"sampling": "본문 전체"
},
"document": [
{
"id": "WARW1800000007.1",
"metadata": {
"title": "이야기꾼 구연설화",
"author": "황인덕",
"publisher": "박이정",
"date": "20070000"
},
"paragraph": [
{
"id": "WARW1800000007.1.1",
"form": "01범보다 무서운 곶감"
},
{
"id": "WARW1800000007.1.2",
"form": "화자를 처음 만나 이야기를 들으러 왔다고 하자 서슴없이 꺼낸 첫 이야기이다. 화자로서 가장 쉽게 기억해낸 이야기인 셈이다. 설화 앞뒤에 교훈적 해석을 덧붙이고 있음은 화자의 습관화된 태도의 한 모습이기도 하다. 어려서 조모로부터 들었다고 했다."
},
{
"id": "WARW1800000007.1.3",
"form": "그링깨. 사람이 어거지루는 못 살구. 응? 어거지루 안 되능 거여. 사람이 그링깨 뭐이냐 하먼 자연~간 제절루 되야지 어거지루는 못 살어, 사람이."
},
{
"id": "WARW1800000007.1.4",
"form": "그래 옛날, 그 꼭감이라능 게 말여. 사람이 먹잖야 이케? 먹지마는. 그게 참 무성(무서운) 거여."
},
모두의 말뭉치는 13개의 세부 말뭉치로 구성되어 있지만, 이 중 몇 말뭉치는 다른 말뭉치와 의존성이 존재합니다. 이러한 말뭉치는 두 개의 말뭉치 roots 를 모두 입력받아야 하며, 지나치게 비효율적으로 메모리를 이용하기 때문에 korpora 에서는 loader 를 제공하지 않습니다.
위 사항에 해당하는 말뭉치와 의존성을 정리합니다.
말뭉치 | 의존성 |
---|---|
문서 요약 말뭉치 | 신문 말뭉치 의 뉴스 기사 4,389 건을 원본으로 이용하나, 신문 말뭉치 문서 id 만 제공하여 mash-up 이 필요 |
유사 문장 말뭉치 | 신문 말뭉치 , 구어 말뭉치 에서 추출한 기초 문장 17,959 개를 바탕으로 유사 문장 작성, sentence id 를 이용한 mash-up 이 필요 |
(snapshot)
{
"id": "EBRW1903002753",
"metadata": {
"title": "국립국어원 웹 말뭉치 EBRW1903002753",
"creator": "국립국어원",
"distributor": "국립국어원",
"year": "2019",
"category": "웹 > 블로그",
"annotation_level": [
"원시"
],
"sampling": "게시자 모집 후 무작위 추출"
},
"document": [
{
"id": "EBRW1903002753.1",
"metadata": {
"title": "비타민 사기 진짜 어려워..",
"author": "June",
"publisher": "egloos",
"date": "20090531",
"crawl_date": "20190805 15:05:25",
"url": "http://kimmari02.egloos.com/2395370"
},
"paragraph": [
{
"id": "EBRW1903002753.1.1",
"form": "오메가3와 비타민C, 달맞이꽃종자유 등을 사려고 몇 시간을 검색하며 공부했다. 그 결과 오염되지 않은 바다에서 잡힌 먹이사슬의 하단에 있는 생선이 좋다고 들었는데(덩치가 커지면 중금속 오염이 심하다고 함), 미국FDA의 기준도 엄격하지 않고 어쩌고 저쩌구. 아무튼 그 결과 노르웨이에서 만든 노르딕 내추럴사의 오메가3+감마리놀렌산 즉 오메가 우먼을 사려고 한다. 내 성격에 정식통관도 아니고 미국에서 직배송하는 알약을 먹기가 썩 내키는 일은 아니지만 백화점 가서 GNC 비타민제의 인터넷과 매장 가격 차이가 두 배 가까운 걸 보고 마음을 바꿨다. 그 흔한 비타민C도 두 배 차이면 다른 건 안 봐도 뻔한 거 같고.. 원래 수입 물품 두 배 붙이는 건 일도 아니라는 걸 잘 안다. 그렇게 안 하면 장사도 안 되고..",
"original_form": "오메가3와 비타민C, 달맞이꽃종자유 등을 사려고 몇 시간을 검색하며 공부했다. 그 결과 오염되지 않은 바다에서 잡힌 먹이사슬의 하단에 있는 생선이 좋다고 들었는데(덩치가 커지면 중금속 오염이 심하다고 함), 미국FDA의 기준도 엄격하지 않고 어쩌고 저쩌구. 아무튼 그 결과 노르웨이에서 만든 노르딕 내추럴사의 오메가3+감마리놀렌산 즉 오메가 우먼을 사려고 한다. 내 성격에 정식통관도 아니고 미국에서 직배송하는 알약을 먹기가 썩 내키는 일은 아니지만 백화점 가서 GNC 비타민제의 인터넷과 매장 가격 차이가 두 배 가까운 걸 보고 마음을 바꿨다. 그 흔한 비타민C도 두 배 차이면 다른 건 안 봐도 뻔한 거 같고.. 원래 수입 물품 두 배 붙이는 건 일도 아니라는 걸 잘 안다. 그렇게 안 하면 장사도 안 되고.."
},
{
"id": "EBRW1903002753.1.2",
"form": "아무튼 알약 크기도 문제고 해서 일단 질문 해놨으니 답이 오는대로 2~3가지 정도 사서 먹어볼 요량이다. 할 수 있는 건 다 해봐야지. 아우.. 주말인데 뭐 해야 할 게 이리 많은지 마구 피곤하다. 화장품도 다 떨어져서 몇 개씩 샀고 어제 라이크라 셔츠도 샀고. 뭔가 사들이는 것도 일이다.",
"original_form": "아무튼 알약 크기도 문제고 해서 일단 질문 해놨으니 답이 오는대로 2~3가지 정도 사서 먹어볼 요량이다. 할 수 있는 건 다 해봐야지. 아우.. 주말인데 뭐 해야 할 게 이리 많은지 마구 피곤하다. 화장품도 다 떨어져서 몇 개씩 샀고 어제 라이크라 셔츠도 샀고. 뭔가 사들이는 것도 일이다."
}
]
},
{
"id": "EBRW1903002753.2",
"metadata": {
"title": "근조..",
"author": "June",
"publisher": "egloos",
"date": "20090526",
"crawl_date": "20190805 15:05:36",
"url": "http://kimmari02.egloos.com/2391610"
},
"paragraph": [
{
"id": "EBRW1903002753.2.1",
"form": "직장이 직장이다보니 요즘 근조라는 검정색 리본을 가슴에 달아야 한다. 직원 중 이름 모를 어떤 아저씨는 봉하마을에 갔다왔다고도 한다. 나는 노 전대통령이 서거하기 전에 이렇게 팬이 많은 줄 몰랐다. 노사모가 다라고 생각했고, 그나마도 하도 tv고 어디고 욕하는 소리만 들어서 진짜 인기 없고 정치 못한 사람으로 기억하고 있었는데 이건 또 무슨 조화일까. tv이고 신문이고 인터넷이고 이제는 영웅 만들기에 열을 올리고 있는 거 같다. 서민적인 대통령, 우리는 이런 분을 다시 가질 수 있을까 등등.. 며칠 전까지만 해도 방송에서 돈 받은 걸로 죽일 놈 살릴 놈 하던 걸 똑똑히 봤는데.. 그리고 그걸로 자살까지 했는데 이것도 냄비 근성의 하나인가? 나는 솔직히 그 때도 그 한결같은 언론 플레이에 좀 싫증이 나던 참이었다. 물론 도덕성을 강조했었고 수뢰며 측근비리가 밝혀진 이상 타격이 크겠지만 노대통령 전에 전두환, 김영삼, 노태우 누구 하나 칭찬 받을 만한 사람이 있었던가. 저 전대통령들이 더 먹으면 더 먹었지 규모를 비교하자면 별 거 아니었다. 그렇다고 잘 했다는 건 아니지만 정치판 이라는데 들어가면 성인군자 아닌 다음에야 욕심이 생기게 마련이고 집식구 정도에게는 좀 잘해주고 싶겠지. 돈을 싸들고 주겠다는데 안 받을 사람 몇이나 될까. 문제는 도덕성을 너무 강조한 나머지 그것까지 배신당한 국민들의 실망감이겠지.. 나는 그래서 왠만하면 보통 사람은 도덕성을 강조해선 안 된다고 생각한다. 일 잘하는 거, 정치 잘하는 거 이런 걸 강조하면 얼마든지 빠져나갈 수 있거든.",
"original_form": "직장이 직장이다보니 요즘 근조라는 검정색 리본을 가슴에 달아야 한다. 직원 중 이름 모를 어떤 아저씨는 봉하마을에 갔다왔다고도 한다. 나는 노 전대통령이 서거하기 전에 이렇게 팬이 많은 줄 몰랐다. 노사모가 다라고 생각했고, 그나마도 하도 tv고 어디고 욕하는 소리만 들어서 진짜 인기 없고 정치 못한 사람으로 기억하고 있었는데 이건 또 무슨 조화일까. tv이고 신문이고 인터넷이고 이제는 영웅 만들기에 열을 올리고 있는 거 같다. 서민적인 대통령, 우리는 이런 분을 다시 가질 수 있을까 등등.. 며칠 전까지만 해도 방송에서 돈 받은 걸로 죽일 놈 살릴 놈 하던 걸 똑똑히 봤는데.. 그리고 그걸로 자살까지 했는데 이것도 냄비 근성의 하나인가? 나는 솔직히 그 때도 그 한결같은 언론 플레이에 좀 싫증이 나던 참이었다. 물론 도덕성을 강조했었고 수뢰며 측근비리가 밝혀진 이상 타격이 크겠지만 노대통령 전에 전두환, 김영삼, 노태우 누구 하나 칭찬 받을 만한 사람이 있었던가. 저 전대통령들이 더 먹으면 더 먹었지 규모를 비교하자면 별 거 아니었다. 그렇다고 잘 했다는 건 아니지만 정치판 이라는데 들어가면 성인군자 아닌 다음에야 욕심이 생기게 마련이고 집식구 정도에게는 좀 잘해주고 싶겠지. 돈을 싸들고 주겠다는데 안 받을 사람 몇이나 될까. 문제는 도덕성을 너무 강조한 나머지 그것까지 배신당한 국민들의 실망감이겠지.. 나는 그래서 왠만하면 보통 사람은 도덕성을 강조해선 안 된다고 생각한다. 일 잘하는 거, 정치 잘하는 거 이런 걸 강조하면 얼마든지 빠져나갈 수 있거든."
},
{
"id": "EBRW1903002753.2.2",
"form": "아무튼 나는 이런 일방적인 영웅 만들기나 때려잡자 어쩌구 같은 분위기가 대단히 싫다.",
"original_form": "아무튼 나는 이런 일방적인 영웅 만들기나 때려잡자 어쩌구 같은 분위기가 대단히 싫다."
},
{
"id": "EBRW1903002753.2.3",
"form": "우리 대장님이 서거 다음날 텔레비젼 보고 울었냐고 물으실 때 기가 막혀서 코웃음을 쳤다. 사람을 뭘로 보고.. 내가 지지자였다고 해도 그렇게 감정적으로 대응하고 싶진 않다. 돌아가신 건 안타깝지만 그렇게 중요한 위치에 있는 분은 개인적인 고통만 생각해선 안 된다. 전세계적으로도 그리고 길이 남을 우리나라 정치사에도 유래없이.. 자살한 대통령으로 남을 것이기 때문이다. 그리고 가뜩이나 경제침체에 되는 일 별로 없는 우리나라에 더욱 검은 그림자를 드리울 것이므로 국민의 지도자였던 분이 희망은 커녕 절망을 줘서야 되겠나 싶다. 가뜩이나 냅둬도 살기 어려운 많은 사람들이 울고 우울해하고 하는 것 같아 TV뉴스가 보기 싫다.",
"original_form": "우리 대장님이 서거 다음날 텔레비젼 보고 울었냐고 물으실 때 기가 막혀서 코웃음을 쳤다. 사람을 뭘로 보고.. 내가 지지자였다고 해도 그렇게 감정적으로 대응하고 싶진 않다. 돌아가신 건 안타깝지만 그렇게 중요한 위치에 있는 분은 개인적인 고통만 생각해선 안 된다. 전세계적으로도 그리고 길이 남을 우리나라 정치사에도 유래없이.. 자살한 대통령으로 남을 것이기 때문이다. 그리고 가뜩이나 경제침체에 되는 일 별로 없는 우리나라에 더욱 검은 그림자를 드리울 것이므로 국민의 지도자였던 분이 희망은 커녕 절망을 줘서야 되겠나 싶다. 가뜩이나 냅둬도 살기 어려운 많은 사람들이 울고 우울해하고 하는 것 같아 TV뉴스가 보기 싫다."
}
]
},
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.