2015년 11월 4일 수요일

한자 암기용 한문 교재 만들기

2024-05-24-금 수정

한자는 절대 외우기 쉬운 문자가 아니다. 그러니 조급하게 생각할 필요 없다. 죽기 전까지 시간은 아주 많다. 느긋하게 평생 외우면 설마 못 외우겠는가? 쓸 데는 없으나 치매(癡呆:어리석음) 방지용이라고 생각하고 놀이 삼아 외우자. 한자는 문자가 아니라 기억력 시험, 기억력 과시라고 생각하자.

비슷한 것들은 묶어서 외워야 미세한 차이 구분이 가능하다. 어떤 기준으로 묶을 것이냐? 그건 그때그때 다르다. 독해용으로 모양이 비슷한 것들끼리 묶을 수도 있고, 작문용으로 의미를 기준으로 묶을 수도 있다.

한자엔 비슷한 모양이 많은데 비슷한 모양을 찾아 정리하는 것은 대단히 힘든 중노동이다. (내가 그걸 했다 씨발) 그런데 잘 생각하면 힌트가 있다. 획수가 비슷하거나 독음이 비슷한 경우, 모양도 비슷한 경우가 많다. 단순한 한자의 경우 모양이 비슷하면 부수도 같은 경우가 많다. 즉 부수로 검색하면 비슷한 한자가 모여 있다. 획수, 독음, 부수를 이용해서 정리하면 아주 쉽게 비슷한 한자들을 근처에 배치할 수 있다.



1. 부수로 묶기




옥편을 그대로 베껴서 부수 순서 그대로 (같은 부수 안에선 획순으로) 정리하는 방법도 있는데 획수가 비슷하면 모양도 비슷하기 때문에 비슷한 한자를 근처에서 찾을 수도 있겠으나 그런 경우는 매우 드물고, 부수는 의미상 품사 구분 역할을 하기 때문에 의미로 묶는 효과도 있다. 여기서 독음은 거의 한 한자에 하나가 할당 되어 독음으로 묶어도 소용없다.

상용한자, 완성형 4888자에서 삼수변은 가장 많은 한자를 가지고 있다. 물과 관련된 명사, 동사, 형용사, 부사는 모두 모였다. 이 삼수변 우측의 한자는 다른 한자에서도 자주 보는 부품한자들이다. 고로 이 삼수변과 또 다른 세력 큰 부수 몇 개의 한자를 외우면 다른 한자의 독음을 쉽게 유추할 수 있다.

부수 한자 대부분도 역시 중고교 한자이다. 한자 공부할 때마다 봐서 외운다.





2. 의미로 묶기








숫자, 요일(시간), 방향(공간), 색상(시각) 등 의미로 묶을 수 있는 것들이 아주 많다. 특히 형용사의 경우 상대적인 의미가 짝을 이룬 것들이 많다. 어떤 언어에서나 기본인 이런 것들은 중학 수준의 한자이다. 10천간 12지지가 있나 봤더니 역시 중학 수준 한자로 들어가 있다. 동양의 10진법과 12진법을 나타낸다. 한자 요일은 음양오행에서 왔다. (팔괘 이름은 상용한자에 포함되지 않았군. 별로 볼 일이 없으니까.)

이것들은 의미상 함께 묶인 것이다. 이렇게 의미상으로 관련 있는 것을 찾아 묶어 정리하면 작문할 때 편리하다. 예를 들어 사람, 동물(하늘/땅/바다), 식물(나무/풀/꽃/열매), 물질, 건물, 지형 등으로 분류해서 가지고 있으면 작문할 때 도움이 된다. (허나 한자로 작문할 일이 없으니)

대부분의 한자 단어가 2~3 음절로 사용 된다. 한 음절이 한 단어인 경우는 그 수가 많지 않다. 문법 단어이거나 고대부터 자리를 굳힌 단어들이다. 문명 시대에 만들어진 단어들은 대부분 2음절 이상이다. 한자 단어로 묶는 것도 의미 중심으로 묶는 것이다.

  • 반의어 결합 : 상하(上下), 선악(善惡), 고저(高低), 장단(長短), 강약(强弱)
  • 동의어 결합 : 황공(惶恐), 공황(恐惶), 관습(慣習), 습관(習慣), 고독(孤獨), 독고(獨孤)
  • 접두사 결합 : 무색(無色), 무취(無臭), 무리(無理), 무법(無法), 비리(非理), 불법(不法)
  • 접미사 결합 : 미적(美的), 도덕적(道德的), 부정적(否定的), 긍정적(肯定的)
  • 형용사 명사 결합 : 미인(美人), 미남(美男), 추녀(醜女), 악인(惡人), 성인(聖人), 범인(犯人)
  • 동사 목적어 결합 : 독서(讀書), 귀향(歸鄕), 귀국(歸國), 귀가(歸家)
  • 부사 동사 결합 : 속행(速行), 서행(徐行), 빈발(頻發), 강행(强行)




3. 모양으로 묶기




네이버, 다음 파자 검색기를 통해서 비슷한 모양을 가진 한자(형성/회의)를 검색할 수 있다. 모양이 비슷해서 헛갈리는 복잡한 한자들은 묶어서 외우면 차이점에 집중해서 구분하기 쉬워진다. 이렇게 하는 것은 한자 판독 능력 향상에 아주, 매우 도움이 된다. 그런데 네이버, 다음 파자 검색기는 완벽하지 않다. 약간 엉터리다. 빠진 한자들이 많다. 100% 믿지 말라.














파자 검색기로 검출되지 않는 단순하면서 매우 비슷한 한자도 많은데 이건 부수+획수로 검색하면 찾기 쉽다. 같은 부수인 경우가 많다. 어떤 것들은 같은 한자를 2개, 3개 반복하는 경우도 있다. 이런 것은 의외로 잘 외워진다. 좌우대칭인 경우도 잘 외워진다. 눈에 띄면 그 때마다 정리해야 한다. 이렇게 정리하는 것은 아주 힘든 중노동이다. 필요한 것들만 이렇게 정리한다. (내가 이걸 정리 했다 씨발)








비슷한 크기로 좌우 결합, 상하 결합한 한자의 경우 어느 것이 부수인지 파악하기 어렵다. 그런 것은 거의 기초 한자다. 이 중에 상하로 결합한 것들, 그 중에 단독으로 거의 사용하지 않고 다른 한자의 부품 한자로 많이 보이는 것이 있다. 고로 세로로 결합한 것들은 모두 기초 한자로 외워두면 좋다. 좌우대칭, 같은 형상 반복, 상하결합 한자는 보면 기초 한자라고 생각하고 모아둔다.

옛날엔 한문을 세로로 적었기 때문에 세로로 결합한 한자가 아마도 헛갈렸던 것 같다. 세로로 결합한 한자는 점차 단독 사용이 줄고 옆에 부수가 추가 된다. 예를 들어 원래 한자도 A라는 뜻인데 좌우에 부수가 추가 되어도 같은 A라는 뜻인 경우가 많다. 가로로 결합한 한자는 그냥 그대로 계속 쓰인 것 같다.



4. 소리로 묶기


소리로 묶을 경우는 피곤하게 파자 검색기를 사용하지 않고도 쉽게 형성 문자들을 함께 모을 수 있다. 대신 소리를 초성, 중성, 종성으로 나누고 초성과 중성은 다음과 같이 나누고 가나다 순서를 좀 바꿔야 한다.



  • 초성 : 목구멍(그크끄, 흐으), 혀(느르, 드트뜨, 즈츠쯔, 스쓰), 입술(므, 브쁘프)
  • 중성 : 단모음(아어애에오우으이), 이중모음(야여요유얘예), 이중모음(와워왜웨외위의)

초성, 중성에서 비슷한 소리가 이어지도록 순서를 정한 후, 소리 사이의 거리와 획수(부수 획수를 뺀 본체 획수)로 거리를 계산하면 쉽게 비슷한 한자를 묶을 수 있다. 
옥편의 경우 
  1. 부수→획수
  2. 획수부수
  3. 독음부수 
형태로 정리가 되어 있다. 이 중에서 독음→부수 조합은 불편하다. 차라리 획수→독음, 독음획수 조합이 더 찾기 편하다. 비슷한 모양이 뭉쳐 있어 더 찾기 쉽다.




낡은 것들이 6.25를 겪고 이승만 시대를 살아 봤냐고 물어 보면? 이미 그 세대는 80대이고 거의 50%가 죽었다. (왜? 평균 수명이 80세니까.) 그리고 그 시대를 진짜 살았던, 친일파, 빨갱이, 독립군이 누구인지 알았던, 그 당시 중장년 층(80대 이상)이었던 사람들이 남긴 기록 없이 그 이후 세대는 진실을 모른다.


년도 사건 나이(세대 차이)
1945 8.15 광복 15 5
1950 6.25 한국전쟁 20 10 0
1955 25 15 5
1960 4.19 민주혁명 30 20 10 0
1965 35 25 15 5
1970 40 30 20 10 0
1975 45 35 25 15 5
1980 5.18 광주학살 50 40 30 20 10 0
1985 55 45 35 25 15 5
1990 냉전종식 60 50 40 30 20 10 0
1995 IMF 65 55 45 35 25 15 5
2000 월드컵 70 60 50 40 30 20 10
2005 섭프라임모기지 75 65 55 45 35 25 15
2010 독재부활? 80 70 60 50 40 30 20
2015 독재부활? 85 75 65 55 45 35 25
2020 90 80 70 60 50 40 30


지금 낡은 것들(60대~80대)은 한국 전쟁을 겪지 않았다. 그 당시 아직 10대 이하였으니 직접 전투도 하지 않았고, 학살도 당하지 않았다. 이들의 기억은 자신의 단편적 경험(배고픔) + 어른에게서 들은 얘기다. 전쟁과 배고픔을 겪지 않았던 나의 아버지 또한 그런 소리를 하는 것을 보니, 그냥 들은 얘기를 지 얘기처럼 하는 습관이다. 나이 들면 젊은 애들 말 좀 듣고 살아라. 그래야 꼰대 소리 안 듣지.

이승만 시대 10대~20대를 보낸 지금 낡은 것들(70대~80대)은 전쟁 후유증으로 제대로 된 교육도 받지 못 했고, 공부할 시간도 부족했다. 통학 시간만 몇 시간이었다. 교육은 국가의 책임이 아닌 각자의 책임이어서 돈 없는 집안엔 초졸, 중졸도 많다. 시골엔 명문 중학교가 있을 정도니까. 거기에 친일 식민 사관을 세뇌 교육 당했으니 한마디로 한국에서 가장 무식한 세대이다.

허나 낡은 세대 중에도 일부는 제대로 교육을 받아 이승만을 쫓아 냈듯이, 중년층 일부도 전두환 독재를 물리쳤고, 젊은 세대 중 일부는 걱정원 댓글 용역이나 하고 있을 정도로 열등한 것들도 있다. 양심 있는 배운 자들이 독재에 협력하지 않을 때 독재는 하층민 깡패들을 고용한다. 정치 깡패라고 하지?

언론 선동, 역사 왜곡, 세뇌 교육의 영향이 참으로 크다. 허나 신이 사람들 마음속에 심어 놓은 3신(이성, 양심, 용기)에 의지하면 언제나, 언젠가 정답을 구할 수 있다.

2015년 7월 23일 목요일

영어 단어 도대체 몇 개를 외워야 할까?

2024-05-24-금 수정

여러 분야에서 경험적으로 알고 있는 아주 당연한 파레토 법칙인 2 vs 8의 법칙, 또는 1 vs 9의 법칙, 또는 일당백의 법칙이 있다. 단어의 일부(특공대)는 매우 자주 사용되고, 나머지(예비대)는 가끔 사용된다는 것이지.


1. 사용 빈도


※ 단어 사용 빈도 모음은 아래 링크 참고.


영어 단어의 경우 TV, 영화 대사에서 약 4만 단어를 분석하니 다음과 같은 빈도란다.
  • 1천 개 단어가 85.5% 비중 : 거의 문법 단어나 기초 단어들이다.
  • 1만 개 단어가 97.2% 비중 : 9천 단어가 85.5~97.2=11.7% 빈도로 사용된다는 말.
  • 모국어 화자는 약 4만 단어까지 사용? 원형이 아닌 변형(굴절)까지 카운트한 것임.

예를 들어 be동사의 변형(굴절)인 am, are, is, was, were 등도 따로 카운트 했다는 의미다. 동사는 원형+ing, 원형+ed, 원형+s, 원형+er 형태로 변형이 가능한데 이것도 따로 카운트 한 것이다. 이 중에서 특정 변형이 자주 사용되고 모두 사용되는 것은 아니다. 명사(단수/복수), 형용사/부사(비교급/최상급)는 변형이 거의 없다. 또한 학교에서 권장하는 기초 단어 중에 대화에서 사용하지 않는 것도 있다. 책과 TV, 영화의 단어 사용 빈도가 다르다. 소설과 시의 단어 사용 빈도도 다르다.

그러나 이 빈도는 사전의 단어 사용 빈도와 거의 흡사하다고 보겠다. TV 심슨 가족에서 사용되는 5천 개 단어만으로 빈부 격차 곡선을 그렸다. 컴퓨터가 4만 개를 그리기엔 역부족이다.



초반의 500개 미만의 급경사(80% 사용 빈도)에는 기초 문법 단어들이 집중 되어 있다. 이건 어느 나라 말에서나 예측할 수 있는 현상이다. 한자의 부수도 거의 이 정도 숫자다. 어느 나라 말을 배우건 기초 과정을 마치면 500개 정도는 당연히 알고 있다고 봐야 한다. 이걸 초급 필수 어휘(옛날엔 중학 필수였는데)라 한다.

외국어 기초 단어를 알면 그 외국어의 문법 특징 때문에 언어 구분이 가능하다. You, And, I 나오면 영어인 줄 알듯이, ~입니다. ~습니다. 나오면 한국어인 줄 알고, ~데쓰, ~마쓰 나오면 일본어인 줄 아는 것이다. 외국어 전문가가 아니라도 이 정도는 누구나 알 수 있다. 이런 단어들이 문법 단어이다.



2. 단어 2~3천 개만 알면 일상 회화 가능?


보통 어느 나라 언어든 기초 과정에서 1500 ~ 2000 단어가 나온다. 중급 과정에서 3000 ~ 4000 단어가 나온다. 그 이상은 고급이다.

보통 2~3천개 수준의 어휘만 알면 회화가 가능하다고 하는데 왜 한국인들은 못 하지? 겨우 3000개의 단어만 알면 95% 상황에서 영어 잘 하는 척 할 수 있다는 말인데? 한국인이 영어 못 하는 이유는 어휘력 때문이 아니라 회화, 작문 연습 부족이 원인이고 학교 교육 방식의 문제라는 말이 있다. (관련 다큐 동영상을 찾아 볼 것)

일본어를 한국인이 배우면 바로 회화가 가능하다. 어순과 표현이 거의 같아서 단어만 나열하면 될 정도이기 때문이다. 즉 영어는 어휘가 아닌 어순이나 표현이 익숙하지 않아서 말을 하지 못 하는 것이다. 그래서 영어는 단어를 많이 알아도 작문이 어렵고 말이 안 나오는 것이다. 그러니 단어는 한국어를 쓰더라도 영어 어순과 표현으로 생각하고 말 해 보자.



3. 고교 졸업 수준에선 7천 단어 권장! (일본어/중국어도 약 8천 단어 권장)


인터넷에서 단어장을 검색하여 보았다.

  • 교육부 제시 초등 영어 기본 단어 : 800개
  • 뜯어 먹는 중학 영단어 : 1800개
  • 중등 필수 영단어 : 2800개
  • 우선순위 중학 기초 1120
  • 우선순위 기초 1200
  • 우선순위 중2 1200
  • 우선순위 중3 1200
  • 우선순위 중등 1000
  • 우선순위 고교 영단어 1800
  • 수능 영단어 : 2000개
  • EBS 생활 영어 기초 단어 = NEAT(영어능력시험) = 교육 과정 기본 어휘 : 3000개
  • 모든 영어시험에 통하는 단어암기 : 2000개

부산교육 eRoom - 꼭 알아야 하는 초중고 영단어 eBook
  • 초등 : 350개
  • 중등 : 900개
  • 고등 : 850개
  • 심화 : 280개
  • 총합 : 2380개

인터넷 검색한 여러 단어장은 각자 대략 최대 3천개를 제시하고 있다. 그런데 인터넷 검색한 여러 단어장의 합집합을 구하면 약 7천개 수준이다. 각자 단어 선택 기준이 매우 다르나 모두 합하면 결국 7천 개를 외우라는 것이다. 소사전에서도 고교 졸업생에게 암기하길 권하는 양이다.

소사전에서 확인해 보니 거의 50%(약 7천개)가 파생어(접두사/접미사 결합)와 복합어(두 단어 결합)이다. 그 말은 약 50%(약 7천개)의 기본 단어를 먼저 알면 나머지 50%는 파생어/복합어라 한 번에 2개를 외운 셈이 된다. (1석2조) 역시 단순어(기본 단어)부터 외우는 것이 효율적이다. 무조건 짧은 것부터 외운다.

초급 수준의 단어는 고등학교에서도 90% 빈도로 사용되기 때문에 모를 수가 없다. 문제는 고교 수준의 단어들은 나머지 10% 빈도로 사용되기 때문에 아주 가끔 보게 되니 잘 안 외워진다. 그렇다면 아마도 거의 어휘력 차이가 영어 점수의 차이를 결정할 것이다. 실제로 내가 본 친구들의 경우 어휘력이 곧 영어 실력이었다.

중학 단어는 이미 알고 있으니 외울 필요가 없을 것이다. (놀랍게 요즘 중학생은 옛날 고등학생 수준의 영어를 배운다.) 한 면에 100개의 단어를 정리하면 30장이면 6000단어를 정리할 수 있다. 이걸 3년 동안 가지고 다니며 외우는 것인데 왜 못 외우지? (하하하 나도 못 외웠으니... 내 암기 실력 테스트를 좀 해야겠다.)

적당한 선에서 포기해야 한다. 그리고 고등학교는 역시 이름 그대로 고급 수준이다. 국민 대다수가 학습할 수 있는 수준은 넘는다. 중학교까지가 국민 대다수가 도달할 수 있는 국민 교육이다. 거기까지만 해도 미국, 영국 놀러 가서 길 잃거나 밥 굶지 않는다. 역시 스카이에 들어간 친구들은 고교 국영수 전문가들이다. 정말로 고교 국영수는 아무나 가르칠 수 없다. 스카이 전문가들에게 배워야 한다.

그러나 요즘 AI의 발달로 번역/통역을 기계가 해 주고 있다. 
어려운 미적분 수식 전개도 기계가 해 주고 있다.
우리 학교에서 99단 외우고 4칙 연산 기초 배운 후엔 계산기 사용하지?
영어도 기초 문법/단어만 배우고 번역기/통역기 사용할 날이 멀지 않은 거 같네
수학도 기초 논리/증명만 배우고 수식 계산기를 사용할 거 같네
그 동안 힘들게 공부하느라 수고 많았다 ㅋㅋㅋ
이젠 놀아야 할 때가 된 거 같은데?


4. 간단한 번역/작문 도움이 제작


여기에 번역 도움이, 작문 도움이 제작 힌트가 있다. 거창하게 AI까지 만들 필요 없어.

  • 기초 문법 단어는 문장의 틀을 제공하며 한국어 조사처럼 단어를 구분해 준다.
  • 기초 문법 단어는 쉽기 때문에 따로 외울 필요도 없고 번역할 필요도 없다.
  • 기초 문법 단어는 용법과 뜻이 다양해 기계적으로 번역하기도 힘들다.
  • 문장의 의미는 4품사(동명형부)가 결정한다. 이것만 잘 번역하면 된다.
  • 4품사 중에 가장 다루기 까다로운 것이 동사이다. 단어 변형이 가장 심하다.
  • 동사가 문형을 결정한다. 동사의 문형(용법)에 따라 동사의 번역어도 다르다.
  • 동사의 문형을 결정하려면 동사 바로 뒤의 단어를 미리 봐야 한다.
  • 명사, 형용사, 부사는 단어 변형이 거의 없고 번역어도 거의 하나다.
  • 규칙적인 변형을 하는 단어들은 원형을 기계적으로 찾을 수 있으나 검색하자.
  • 단어 변형을 검색하여 원형을 찾고, 원형을 검색하여 품사나 의미를 결정한다.
  • 인접한 단어끼리는 의미상, 문법상 궁합이란 것이 있어 품사/의미를 결정한다.
  • 어떤 단어의 의미를 결정하려면 그 단어 앞과 뒤의 단어를 함께 봐야 한다.
  • 동사 숙어 중에 뒤의 전치사가 앞으로 이동하는 경우 처리가 좀 어렵다.
  • 여러 단어가 이어진 숙어의 경우 앞 단어를 보고 힌트를 얻어야 한다.
  • 번역문의 어순을 한국어 어순으로 고칠 필요는 전혀 없다. 안 하는 게 더 낫다.

일단은 연습으로 먼저 명사, 형용사, 부사부터 자동 번역하는 것을 해 보라.
자주 사용하는 한국어, 영어, 일본어, 중국어 단어 순서는 다음 글에서 찾는다.

그리고 단어장에 저작권이 있을까? 결국 사전 베껴 편집한 거잖아?




물타기란?

90% 거짓 + 10% 진실 = 100% 거짓
10% 거짓 + 90% 진실 = 100% 진실

독재 잔당, 걱정원, 개판검, 조중동이 숨기고 싶은 진실 1개가 있을 때 거짓 9개를 퍼뜨린다. 보석이 떨어지면 구술을 풀어 버리는 것이다. 독재 잔당, 국세충, 조중동이 퍼뜨리고 싶은 거짓 믿음이 1개 있을 때 9개의 진실 속에 담아 퍼뜨린다. 9회는 높은 이자로 작은 돈을 잘 갚다가 마지막 1회에 큰 돈을 빌려 튄다. 전통적인 사기 기법이다.

이렇게 가다간 독재 잔당, 걱정원, 개판검, 조중동은 정말 연예인들과 원수지간이 될 것 같다. 정치적 문제가 생기면 연예인 도박, 과거사, 가족사, 결혼, 이혼, 불륜, 열애, 매춘, 강간 등을 퍼뜨려서 금전적, 정신적 피해를 준다. 겨우 연예인(논다니/갈보/창녀/매춘부)들 잠지 보지 때문에 나라가 시끄럽냐? 원래 그렇게 살던 애들인데 뭘 기대하냐? 연예계/화류계/무당계는 4주8자가 한 끝 차이라 하더라.

미인계를 조심하자. 미인이 당신에게 접근할 리가 없다.
여러분 추운 독재 시절엔 잠지 조심하세요. 안 그럼 F!

정치인 개인 도덕 → 정치 문제 → 사회 문제 (문제아에게 투표하지 말자)
정치인 개인 재산 → 정치 문제 → 경제 문제 (부자에게 투표하지 말자)
정치인 개인 신앙 → 정치 문제 → 종교 문제 (광신도에게 투표하지 말자)

2015년 7월 20일 월요일

국어사전, 한영사전 등록 단어 수, 영어 단어 특징 분석, 빠른 검색기 제작

2024-05-24-금 수정

나중에 번역 도움이, 작문 도움이 만들 때 참고할 내용이다. 어느 컴퓨터 사전에 등록된 단어를 분석한 것이다. 어학 사전의 단어 수는 거의 대동소이할 것이다. 

  • 영한사전에 등록된 단어 : 약13만6천개 = 단일 약8만4천개 + 복합 약5만2천개
  • 국어사전에 등록된 단어 : 약5만3천개
  • 발음파일 있는 영어단어 : 약1만1천개

한국어의 경우 동사, 형용사의 단어 변형(굴절, 파생어)이 포함되어 있지 않다. 원형만 알면 문법 규칙으로 변형을 알 수 있기 때문이다. 단어 수가 영어보다 적은 게 아니다.

예) 아름답다(형.서술) ↔ 아름다운(형.수식) ↔ 아름다움(명) ↔ 아름답기(명) ↔ 아름답게(부)

영어의 경우 동사, 형용사의 파생어까지 포함되어 있어서 단어 수가 많아 보인다. 거기에 2개 이상 단어가 뭉친 복합 단어(공백이나 -로 구분)도 포함되어 있다. 두 단어가 어떤 구분 기호 없이 바로 붙은 경우도 있는데 기계적으로 구분이 불가능하여 여기서 단일 단어로 취급했다. 원형만 알면 파생어 유추가 가능하니 실제론 영어 단어 수는 많지 않다.

예) beauty(명) ↔ beautiful(형) ↔ beautifully(부) ↔ beautify(동)

보통 약 1만 개의 단어를 알면 어휘에는 문제가 없다. 실제로 전자 사전에 발음 음성 파일이 등록된 경우가 거의 1만1천 개이다. 나머지 대부분의 단어가 사용되지 않는 죽은 단어거나 전문 분야에서 사용하는 전문 용어이다.





단어 특징 분석



빠른 검색을 위해선 단어 목록의 처음부터 비교하는 것이 아니라 단어 특징에 따라 검색표를 세분하고 단어 특징을 분석해서 해당 검색표로 가서 비교하는 것이다. 우리도 사전을 찾을 때 첫 글자를 보고 그 글자로 시작하는 부분부터 찾는다. 고로 단어 특징을 보도록 하자.




한국어는 2음절 단어가 가장 많다. 중국의 한자어의 경우도 대체로 2음절인 경우가 가장 많다. 1음절이 100개의 소리만 나도 2음절이면 1만의 단어가 된다. 영어는 8개 문자(약 3~4음절)인 경우가 가장 많다. "초성+중성+종성=음절"이라고 보면 영어에선 2~3문자가 1음절이다.




발음 파일이 등록된 자주 사용하는 약 1만1천개의 영어 단어의 경우는 길이가 6개 문자인 경우(2~3음절)가 가장 많다. 한국어, 중국어 평균 음절 수와 거의 비슷하다. 역시 자주 사용하는 단어에선 2~3음절이 대세다.



발음 음성 파일이 등록된 자주 사용하는 약 1만1천 개의 영어 단어에서 기계적으로 음절을 계산한 결과 역시 2음절이 가장 많다. (그럼 그렇지) 여기서 음절이란 대충 단모음, 이중모음 등 모음이 뭉친 덩어리의 개수를 말한다. 음절의 중심은 초성이나 받침이 아니라 모음이니까. 한국어나 영어나 결국 대부분의 단어는 5음절 미만이다.





단어의 첫 글자를 보고 사전에서 단어를 찾는 것처럼 검색표를 분할하면 검색 속도가 빠르다. 수가 적은 j+k+q+x+y+z 6개는 뭉쳐도 된다. 단어의 끝 글자의 경우 빈부격차가 심하다. 역시 어느 나라 말이나 어미에 특징이 있어서 어미만 알아들어도 그 언어가 뭔지 알 수 있다. 접미사나 어미는 자주 반복되기 때문이지. 고로 어미를 특징으로 잡으면 검색이 어렵겠다.




단어 앞에 나오는 이중 자음도 하나의 글자처럼 취급한다고 하자. 로마 알파벳이 모자라서 2개 철자를 뭉쳐 하나의 소리를 표현하는 경우는 흔하다. 예를 들어 영어의 sh~, ch~, th~, ph~, st~, sk~, sp~, sq~ 등을 하나의 자음으로 취급하면 검색표를 더 세분할 수 있다. 비슷한 원리를 좀 더 확장하면 첫 모음 부분까지 포함해서 특징으로 삼는 것이다. 기계적으로 자음 모음을 구분할 수 있기 때문에 첫 모음까지를 특징으로 삼아도 된다.




단어 특징 = 시작 알파벳 + 단어 길이로 했을 경우 beautiful은 b6 또는 6b 검색표에 포함 된다. 숫자 0 ~ 9는 단어 길이 3 ~ 12에 대응한다. 3 이하와 12 이상은 수가 적으니 뭉친다.

이렇게 하면 시작 문자 특징 21개 * 10길이 = 210개의 작은 검색표가 만들어지는데 최악의 경우 s5 표의 270개 단어만 비교하면 1만 개의 단어 중에 원하는 단어를 찾을 수 있다. 여기서 s5 표만 더 잘게 자를 수도 있다.

여기에 단어 출현 빈도로 정렬을 해 두면 검색 속도가 더 빨라진다. 문법 단어인 관사, 대명사, 의문사, 접속사, 전치사, 첨사, 조동사 등은 출현 빈도가 매우 높다. 이런 것들은 검색표의 앞부분에 배치한다. 또는 프로그램 코드에 삽입해 버린다.

단어가 원형+s , 원형+ing, 원형+ed, 원형+er로 끝나는 규칙적인 경우는 꼬리를 잘라내면 원형을 쉽게 얻을 수 있다. 그 외의 유명한 접두사(예: re~)와 접미사(예: ~ment, ~ful)의 경우는 단어 특징 분석 후에 원형을 추출하여 찾을 수 있다. 그러나 항상 예외가 문제인데 예외는 암기 외엔 답이 없다. 고로 단어 형태 분석은 기계적으로 안 하는 게 좋다. 변형 그 자체로 검색하여 원형을 찾는 게 더 안전하다. 어차피 단어를 보고 규칙/예외를 구분해야 하니 계산보단 기억을 이용하는 게 낫다.




모든 단어는 거의 최소한 2개 글자 이상이다. 고로 앞의 2개 글자 조합을 특징으로 삼아 검색표를 만들 수도 있다. 표를 보면 자음+모음=음절, 모음+자음=음절의 경우가 많다. 자음+자음=2중자음, 모음+모음=2중모음인 경우는 드물다. 자음+자음인 경우 하나의 자음처럼 쓰이는 것들이 있다. 이런 것은 2개 자음을 하나의 자음으로 취급하고 앞 3개 글자를 특징으로 취할 수도 있다. 아니면 자음/모음 뭉치를 구분 해서 첫음절을 취할 수도 있다.

최악의 경우 co~ 조합에서 522회의 비교를 해야 한다. 자주 사용하는 접두사와 접미사가 있어 특정 철자에 단어들이 많이 모인다. 이런 경우 검색 특징으로는 좋지 못 하다. 고로 접두사와 접미사를 감안해서 더 세분하는 작업이 필요하다. 모두에게 기계적으로 같은 규칙을 적용할 필요는 없다. 세력과 규모에 따라 비례하여 처리하는 게 좋다.




접두사보다는 접미사 쪽이 더 빈부격차가 심하다. 이 말은 상당히 많은 단어들이 접미사가 붙은 파생어란 의미고, 대부분의 언어에서 단어의 엉덩이 부분에 반복되는 패턴이 나타난다. 그러나 예외가 있기 때문에 기계적으로 단어의 엉덩이 부분을 분석해서 원형을 찾는 방식은 좋지 않다. ~er, ~ing, ~ion, ~ment, ~ly 등에 압도적으로 집중 되어 있다.

기초 단어들도 엉덩이 부분이 비슷한 것들이 많은데 발음도 거의 비슷해서 규칙성이 있다. 예를 들어 "자음+모음+자음+e"로 끝나는 짧은 단어들을 보면 모음 발음이 대단히 규칙적이다. (이건 영어 발음에도 규칙 있다는 글 참고)





반복 되는 접두사와 접미사가 많지만 그 둘이 함께 나타나기는 드물다. 고로 첫 글자와 끝 글자를 조합해서 특징을 삼아 검색표를 만들 수도 있다. 첫 글자와 끝 글자 사이에는 자음과 모음으로 음절을 만드는 상관성도 없다. 이 경우는 s~e 검색표에서 최악 285회의 비교를 해야 한다. 앞에서 본 것들보단 검색 특징으로서 좋은 편이다.

앞의 검색 특징을 모두 활용하면 26개 시작 문자 * 26개 끝 문자 * 10단계 길이 구분 = 6760개 검색표가 만들어진다. 거의 특징 1개에 평균 2개 단어가 할당되어 검색을 총알같이 할 수 있겠다. 실제론 빈부 격차가 있기 때문에 단어가 전혀 없는 표도 있어서 검색표는 그리 많지 않을 것이다.

문제는 2~3개 단어가 연속으로 나타나서 한 단어처럼 쓰이는 숙어, 또는 서로 떨어져서 호응관계인 숙어의 경우 첫 단어를 보고 그 다음 단어를 함께 검색할 것인지 판단할 필요가 있다. 이 경우도 2개 ~ 3개 단어 조합의 숙어가 가장 많을 것으로 예상할 수 있고, 이 경우도 같은 방법으로 검색표를 만들 수 있겠다.



빠른 사전 검색기 만들기


보통 전자 사전에 키보드로 입력을 하여서 찾는데 타자가 느리면 불편하다. Excel과 HTML5를 이용해서 종이 사전에서 검색하는 것처럼 만들 수 있다. 100개씩 100페이지면 1만개의 단어이다. 첫 페이지에서 100개 단어 중에 1개를 선택하면 다음 페이지에서 100개 단어 중에 검색 단어를 찾는 방식이다.





단어를 ABC순서로 정렬하여 100개씩 자동으로 끊고 싶을 때 갑자기 단어 길이가 짧아지는 지점을 찾아 끊으면 파생어끼리 묶여 같은 페이지에 들어가게 된다. 이 원리를 이용해서 마우스 클릭 단 2회로 1만개 단어 중에서 원하는 것을 찾는 사전을 만들 수 있다.

전자 사전의 경우 전문적으로는 해시 함수(hash function) 이용. 앞에 보인 여러 특징들이 해시 값에 해당한다. 앞과 뒤와 길이를 섞으면 적절한 해시 값이 됨을 보였다.

간단하고 직접적인 해시 함수를 보면 영어의 각 문자를 숫자(a~z=0~25)로 바꾸고, 문자열의 길이는 진수(26)로 반영하는 것이다. abc는 0*26² + 1*26¹ + 2 또는 0 + 1*26¹ + 2*26²이 되는 방식이다. 이렇게 하면 모든 문자열은 오직 하나의 독특한 숫자를 가지게 되는데 공간 낭비가 너무 많다. 단어의 길이가 평균 9라면 26의 9승인 5,4295,0367,8976(5조)가 나오게 되어 숫자가 너무 커지는 문제(오버플로우)가 발생한다. 그래서 진수를 26이 아닌 더 작은 값으로 취하는 방법도 있다. 또한 덧셈이 아닌 XOR을 시키는 방법도 있다.
  • 16비트라면 6,5536(6만)까지 표현 가능하다. 
  • 32비트라면 42,9496,7296(42억)까지는 표현 가능하다.
  • 64비트라면 1844,6744,0737,0955,1616(1844경)까지 표현 가능하다.  
평균 10개의 단어가 같은 해시 값을 가지게 하려면 단어 1만개를 1000개의 작은 표로 분할한다. 해시 값을 1000으로 나누어 나머지만 취하는 방법이 있는데 이건 결국 뒤의 몇 글자 또는 앞의 몇 글자만 취해서 해시 값을 만든 것과 다름없다. 접두사와 접미사는 자주 사용되기 때문에 몰리는 현상이 있어 좋지 않았다. 그래서 시작과 끝의 몇 글자를 지우고 중간(어간)만 가지고 해시 값을 구하기도 한다. 또는 시작과 끝의 몇 글자를 묶어 하나의 정수(문자)로 취급하는 방법도 있다.


아래는 사용한 HTML5 코드이다. (HTML 문법 모호한 부분이 정말 많다.) 검색은 네이버/다음을 이용한다. 고로 인터넷이 연결 되어야 한다. 자체 검색표로 할 경우 위와 같이 표를 잘게 나누어야 한다.

Text 파일을 UTF-8, UTF-16로 저장한 후 확장자를 HTML로 바꾸면 정상동작한다.
네이버/다음에서 일어/중어의 경우 한자 검색, 소리(가나/병음) 검색 2가지 모두 가능함.
일어/중어 기타 언어의 경우 유니코드를 사용해야 검색이 된다. ANSI나 옛날 코드는 무시.
영단어/중단어/일단어 부분에 검색할 단어를 넣으면 된다.



<!DOCTYPE html>
<html>
<head>
<title>네이버 다음 사전 검색법</title>
  <meta charset="UTF-8">
</head>
<body>
<a href="http://dic.daum.net/search.do?q=영단어&dic=eng" target=_blank>영단어</a>
<a href="http://dic.daum.net/search.do?q=일단어&dic=jp" target=_blank>일단어</a>
<a href="http://dic.daum.net/search.do?q=중단어&dic=ch" target=_blank>중단어</a>
<a href="https://endic.naver.com/search.nhn?query=영단어" target=_blank>영단어</a>
<a href="https://ja.dict.naver.com/search.nhn?query=일단어" target=_blank>일단어</a>
<a href="https://zh.dict.naver.com/#/search?query=중단어" target=_blank>중단어</a>
</body>
</html>



<!DOCTYPE html>
<html>
<frameset cols="50%,50%"> 또는 <frameset rows="50%,50%">
  <frame name=이름A src="frame_a.htm">
  <frame name=이름B src="frame_b.htm">
</frameset>
</html>



<!DOCTYPE html>
<html>
<body>
<iframe src="단어목록파일이름.html" name=이름 width=폭 height=높이> 
오류설명 
</iframe>
</body>
</html>



<table>
<colgroup>
<col span=적용칼럼A width=칼럼폭>
<col span=적용칼럼B width=칼럼폭>
<col span=적용칼럼C width=칼럼폭>
</colgroup>
<tr valign=상하중 align=좌우중>
<td>단어A<BR id="단어위치"></td>
<td>단어B<BR id="단어위치"></td>
<td>단어C<BR id="단어위치"></td>
</tr>
</table>




<a href="단어목록파일이름.html#단어위치" target="표시위치지정">단어</a>

  • _blank : 새 창과 탭에서 열기
  • _self : 디폴트, 현재 프레임에서 열기
  • _parent : 부모 프레임에서 열기
  • _top : 윈도우 전체에서 열기
  • framename : 지정한 이름의 프레임에서 열기



<audio controls>
<source src="단어발음파일이름.mp3" type="audio/mpeg">
</audio> 단어




아래는 스마트폰에서도 사용할 수 있을 정도로 직접 만든 것이다. 이건 네이버/다음 검색을 사용하지 않고 직접 검색표를 만들었다. 수 많은 페이지를 표로 만들며 링크를 걸어야 하기 때문에 Excel 계산과 Macro를 섞어 잘 활용해야 만들 수 있다. 10 페이지 정도는 사람이 직접 만들 수 있다. 그런데 100페이지 이상이라면? 만들다 보면 머리가 몽롱해진다. 클릭 3회면 원하는 결과에 도달할 수 있다. 이렇게 하려면 적당한 크기로 목록을 분리하는 기술이 필요하다. 마지막 단어 설명 파일은 한컴 사전을 베끼면 된다. 재미 있어서 역순 검색(엉덩이 비슷한 것들), 운모 검색(초성을 제외한 모음+받침 소리가 비슷한 것들)도 만들었지. ㅋㅋㅋㅋ



이렇게 만들면 DB를 만들어 검색하는 것보다는 파일 사이즈가 커진다. HTML 파일의 여러 TAG들이 추가 되기 때문이겠지. 스마트폰에서 DB 사용하는 것이 기능이 제한적이라 그렇게 마음에 들진 않는다. 네트워크 연결이 되면 그냥 네이버/다음 검색하는 게 낫겠지만 자기만의 단어집을 이렇게 만들 수 있다는 것이다.





 

한국에 없는 것이 3가지 있다. 정의, 양심, 처녀!?

하늘은 독재 잔당이 덮고, 땅은 보수 꼴통이 덮고, 그 사이에 처녀는 쥐도 새도 모르게 멸종했다고 한다. 고아 수출 1위? 참 훌륭한 나라다. 역시 한국 놈들은 믿을 놈들이 못 된다. 학자도, 의사도, 판사도, 검사도, 변호사도, 언론인도, 국민도 독재 잔당 밑에서 잘 길들여졌다. 한국인의 말은 한국인도 믿지 않는다.

국세충이 여러분의 잠지를 감시하고 있으니 조심하라. 꼴린통은 공화당의 미인계에 넘어가 1개월 만에 루인새끼 엉덩이를 쑤셨다고 한다. 과연 보수 우익이 진보 좌파보다 더 도덕적일까? 그들은 우릴 볼 수 있지만 우린 그들을 볼 수 없다. 젊고 예쁜 여자가 접근하면 뭔가 이상한 것이다. (니가 뭐라고) 처녀였다 하더라도 의심해야 한다. 처녀막 재생 수술한 요원일 수도 있다. 

한국은 조상도 간첩으로 만드는 나라다.

2015년 5월 14일 목요일

완성형 코드 한자 4888자 독음, 운모 분석

2024-05-24-금 수정

한자의 독음은 韻母(운모)로 되어 있다고 하는데 초성이 운이고, 중성+종성이 모이다. 

  • 운 = 초성 = 자식
  • 모 = 중성+종성 = 엄마

잘 보면 재미있는 현상이 있는데 글자 모양이 비슷하면 중성+종성은 같은데 초성만 살짝 바뀌는 현상이 있다. 이런 한자가 형성 문자이다. 어떤 것은 중성, 받침까지 살짝 바뀐다. 

예) 중국, 일본에서 보이는 “카~까~가~하~아” 등 초성 변화
예) 중국에선 카 vs 까가, 일본에선 카까 vs 가 구분만 있다.
예) 중국에선 “Lee, Ree”가 한국에선 “이, 니”로 바뀌는 두음법칙
예) 한국어 초성 "ㄹ"은 R발음, 종성 "ㄹ"은 L발음
예) 중국, 일본에선 “아이”가 한국에선 “애”로 바뀌는 현상
예) 한국어 "애"는 원래 영어의 I(아이), Y(와이)발음처럼 이중모음

그래서 독음을 초중종으로 분해해서 새로운 순서를 정해 주었다.



현재 지금의 중국 북방인의 발음은 원래 중국어 발음이 아니다. 받침 소리가 거의 사라져서 지금은 “응은”만 남고 “음을윽읃읍”은 없어졌다. 성조도 4개로 매우 단순해졌다. 중국 남방인의 받침 소리와 성조가 더 많다. 중국 북방인은 중국 원주민이 아닌 5호16국 시대 흉노, 선비 등과 요(거란), 금(여진), 원(몽고), 청(여진) 등 북방인이 섞인 혼혈이다. 한국인 거의 50%와 혈통이 같다.

잘 하면 세종대왕을 앞서 표음 문자를 만들었을 것인데 중국도 한심하다. 서방과 북방의 주변 여러 나라가 이미 표음 문자를 사용하고 있었는데 그걸 보고도 아무 생각이 없었던가 보다. 뚱보에 게으름뱅이들이다.

2015년 5월 2일 토요일

완성형 코드 4888 한자 번역기 + 유니코드 20902 한자 번역기 만들기

2024-05-24-금 수정

드디어 한자 공부를 포기하고 Excel로 간단한 한자 번역기를 만들었다. 한자 번역기는 그냥 한자 찾아서 훈독을 한자 밑에 나열하는 것이다. 이것들을 만들면서 알게 된 내용이다.


1. 완성형 한자 번역기 (KSC5601, CP949, EUC-KR)



위와 같이 입력하면 아래와 같이 나온다는 것



천자문을 번역해 보았다. 어라? 완성형 한자에 없는 글자도 있네? 완성형 한자는 도대체 정체가 뭐냐? 참고로 천자문 외우는 순서는 4음절씩 끊어서, 16자를 한 문장으로 노래처럼 독음부터 먼저 익힌다. 그 다음에 의미를 외우고 한자의 형태는 나중에 외운다. 왜? 노래는 잘 외워지기 때문이다. 먼저 노래로 틀을 잡고 골치 아픈 한자의 모양은 나중에 외우는 것이다. 

위키백과천자문링크





번역기를 만들려고 한자를 빨기 찾기 위해서 한글 완성형 문자표를 찾아보니 규칙이 있더라. 4888자가 94개씩 끊어서 배치되어 있다. 고로 한자의 코드(정수)만 알면 간단하게 한자 위치를 계산해서 한자의 훈독을 검색할 수 있다.

위의 표는 16비트 문자를 해독하는 표이다. 바이트의 첫 비트가 0이면 7비트 아스키 코드로 해석하고, 첫 바이트의 첫 비트가 1이고 그 다음 바이트의 첫 비트도 1이면 한글 완성형 문자로 해석하는 것이다. 그런데 소심하게도 제어 문자를 피하기 위해서 노란 영역만 사용한 것이다. 어떤 기계는 첫 비트가 1임에도 ASCII 코드로 해석할 수도 있으니까. 표준 만드는 놈들 도대체 뭐 하는 거야?

주황색은 뭐냐? 한글 처리가 불편해서 모든 한글을 MS사에서 추가 배치해 준 영역이다. 왜 저 영역에 배치했는지는 비전문가라 잘 모르겠다. 우리 너무 불쌍하지? 한글 넣으면 한자 못 넣고, 한자 넣으면 한글 못 넣는 거지. 한국에서만 사용할 각오 하고 과감하게 정했다면 모든 한글과 한자를 넣을 수 있었는데 말이지. 너무 소심해. ㅋㅋㅋㅋ



위는 검색 표이고 아래는 검색하는 VB Macro 코드이다

    a = Mid(buffer, i, 1) '문장에서 한자 하나 가져 오기
    b = Asc(a) '한자의 문자 코드 얻기
    If b >= -13663 And b <= -514 Then '한자라면
        c = Int((b + 13663) / 256) * 94 + (b + 13663) Mod 256 + 2 '위치 계산
        d = Worksheets("사전").Cells(c, 5).Value '독음
        e = Worksheets("사전").Cells(c, 6).Value '의미
    Else '한자가 아니면
    End If

Excel VB Macro에서 한자를 문자 코드로 바꾼 후에 한글, 영문, 그림 문자가 아닌 한자 영역에 속하면 한자의 위치를 계산해 주는 코드이다. Asc(문자) 함수는 문자의 완성형 코드 값을 준다. Int((b + 13663) / 256) * 94는 코드표에서 행의 시작 위치이고 (b + 13663) Mod 256는 코드표에서 열의 위치이다. 마지막 2는 Excel Sheet에서 첫 행은 제목으로 쓰고 이 행 번호가 1이라서 2행부터 한자 사전이 시작하도록 했기 때문이다. 한자 사전은 Naver나 Daum에서 홀라당 베끼면 된다.



2. 유니코드 한자 번역기


유니코드 한자도 번역을 해 보자. 유니코드가 되면 중국어, 일본어 한자도 번역을 할 수 있다. 윈도우즈나 Excel에서도 유니코드를 사용할 수는 있다. VB Excel Macro에서는 유니코드를 사용할 수 없다. 코드 작성 화면에 표시하거나 파일로 저장할 수 없을 뿐이고 내부적 변수 저장과 계산 처리는 모두 유니코드로 할 수 있다. 고로 다음과 같은 Excel 함수를 이용하면 VB Code에서 직접 유니코드를 얻어 빠른 검색이 가능하다.
 

유니코드 표를 보면 모든 영역(65536개)을 다 사용하기 때문에 한자 & 한글 처리가 편하다. 완성형처럼 띄엄띄엄 배치 되지 않고 연속적으로 배치 되어 있어 위치 계산이 쉽다. 그런데 이상하게 한자들이 흩어져 배치 되어 있다. 유니코드 V1.0 한자 20902개는 주황색이다. 그런데 초록색으로 표시 된 한자 영역이 또 있다. 한글 워드에서 확인해 보면 훈독도 표시 되지 않는 한자들이다. 왜 이런 바보짓을 하는 것인지 모르겠다. 표의 바닥 쪽에 배치된 것은 정말 거의 쓸 일 없는 것들인데 어떤 바보들(한국/일본인?)이 만든 코드들과 호환성을 위해 할당한 것으로 보인다.






Public Function vb_unicode(a)
'문자를 유니코드 값으로 변경
    vb_unicode = Application.WorksheetFunction.Hex2Dec(Hex(AscW(a)))
End Function

    a = Mid(buffer, i, 1) '문장에서 한자 하나 가져 오기
    b = vb_unicode(a)   '유니코드로 바꾸기
    If b >= 19968 And b <= 40869 Then     '유니코드 한자라면
        r = b - 19968 + 2 '위치 계산
        d = Worksheets("사전").Cells(r, 3).Value '독음
        e = Worksheets("사전").Cells(r, 4).Value '의미
    Else  '유니코드 한자가 아니라면
    End If 



VB 함수 중에 AscW()는 유니코드를 준다. 그런데 16비트 정수로 표현하다 보니 양수와 음수로 영역이 나뉜다. (왜 이런 바보 같은 짓을 할까? 그냥 양수로 주지 귀찮게 하네!) Excel 함수를 이용해서 Hex(16진수) 표현으로 바꾸고 다시 Dec(10진수)로 바꾸면 모두 양의 정수로 표현이 된다. 한자 시작 유니코드 값을 빼고 2를 더하면 한자 사전에서 행번호가 나온다. 첫 행이 1이고 제목 행이기 때문에 실제 데이터는 2행부터 시작이다. 이렇게 직접 행 번호로 검색하면 아주 빠른 번역이 가능하다.




천자문을 다시 번역해 보니 유니코드 한자도 번역이 되었다. 인터넷에서 중국어와 일본어를찾아 검색하여 넣어 보니 신기하게 된다. 하하하하 매우 통쾌하다. (허나 초록색 영역의 이상한 한자들은 번역이 안 되는데...) 이건 모든 나라의 문자가 일단 O/S나 Excel 내부적으로 유니코드로 바뀌어 처리 되기 때문에 가능한 일이다. 이 방법으로 어떤 나라의 언어도 번역할 수 있다. 자 그럼 본격적으로 외국어 번역기도 만들어 볼까? 물론 단어 번역기 수준이겠지만 그래도 외국어 공부하는 것보다는 시간 절약 될 것 같다.
 

여러 훈독을 보기 불편해서 한컴 사전처럼 세로로 한자를 나열해서 훈독을 옆에 표시하는 기능을 추가 하자. 옛날 한컴 사전은 한자 2~3개만 번역을 해 주었다. 그래서 불편해서 모든 한자를 번역하는 기능을 만들었는데 요즘 한컴 사전에서도 해 주고 있다. 좀 빨리 해 줬으면 내가 삽질 할 이유가 없었는데 소프트웨어 만드는 사람들도 참 답답하다. 역시 뭐든 사용자가 만들어야 제대로 만든다.

 


선동 언론을 너무 믿지 말자.

달 착륙 쇼 : 케네디 시절에 “그래 씨발 우리 달에 갔다”라고 정리한 사건?
911 테러 자작극 : 부시 시절에 전쟁 여론을 만들기 위해 언론인이 참여한 자작극?
천안함 폭침 선동 : 이명박 시절에 천안함 폭침으로 몰고 가서 북한 엿 먹인 사건?
세월호 자침 음모 : 박근혜 시절에 국정원 소속 세월호가 이상한 회전으로 넘어진 사건?

왜 이상한가?

달에 인간을 보내는 것은 매우 위험한 짓이다. 우주 방사선, 기계 고장 등으로 죽는다.
그러나 달에 간 증거 또한 무수히 많다고 하니 우리가 직접 가 보지 않은 이상 판단 보류.
요즘은 화성에 갈 준비 한다더라. 우주 방사선을 흡수할 대형 물통을 가져가야 한단다.
물통 안에 들어가 있어야 방사선을 막을 수 있다나? ㅋㅋㅋ

확실히 빌딩 폭발은 폭파 공법으로 무너졌다. 비행기가 이상하다. 진짜 비행기였나?
그러나 빌딩이 무너졌고 죽은 자들의 무덤도 있기 때문에 진실에 대한 판단은 보류하자.
이 사건 핑계로 탈레반 잡고 이라크 털어 먹었다. 미국이 깡패라는 걸 그대로 보여준 것.
폭파 공법으로 무너지는 빌딩은 위부터 아래로 차례차례 무너진다. ㅋㅋㅋ

천안함 폭침 증거는 발견되지 않았는데 좌초, 충돌 증거는 있다. 뭔가 숨기는 정부.
훈련 중에 급부상하는 잠수함과 충돌로 의심이 되는데 거의 99% 신뢰도. 
한국 쪽팔리게 하는 사건들을 너무 많이 저질러서 이건 거의 믿어도 된다.
북한 해군이 세계 최강인가 한국 해군의 실수인가. 난 후자를 믿을 거야.
신상철 검색해 볼 것.  

세월호는 국정원 소속, 이상한 급회전, 해경의 구조 방해, 정부의 조사/인양 거부.
이것도 미국 잠수함과 충돌이란 주장이 있는데 매우 그럴 듯하다. 99% 신뢰도.
보통의 해상 교통 사고였다면 굳이 원인 조사를 안 하겠다고 버틸 이유가 없다.
엉뚱한 사람만 마녀 사냥 당해 시체가 벌판에 버려진 꼴이 되었다. 누군 또 자살하고.
신상철씨의 분석으론 엔진 하나가 꺼진 상태에서 회전해서 넘어졌다고 한다.
그렇다면 왜 원인 분석을 숨긴 것인가? 7시간 동안 어디서 뭘 했는지 숨기기 위해서?

박정희 시절, 아니 전두환 시절인가?
KAL기 증발 사건을 기억하자.
언론이 그렇다고 하면 믿어야 하나?
뭔 놈의 간첩들이 몇 년 살다 풀려나서 돌아다니지?
여객기까지 폭파시킨 간첩을 왜 사형시키지 않냐?

2015년 4월 29일 수요일

완성형 코드 한자 4888자 획수, 획수 vs 한자수

2024-05-24-금 수정

한자 획수, 영어 단어 길이, 한국어 음절이나 비슷한 현상인데 너무 단순하고 짧은 것과 너무 복잡하고 긴 것은 그 수가 적고 의외로 외우기 쉽다는 것이다. 가장 숫자가 많은 부분은 중간 획수, 중간 길이인데 외우기 힘들다. 


이것이 의미하는 바는?

  • 획수가 적거나 많은 한자는 획수로 검색하는 것이 더 빠르다.
  • 획수가 중간인 한자는 부수로 검색하는 것이 빠르다.


컴퓨터로 한자를 쉽게 검색하라고 만든 것이 파자 검색이다. 네이버와 다음 사전에서 제공하고 있는데 직접 한자의 일부분을 쓰거나 기초 한자들을 조립하는 방식이다. 부수와 독음을 추측하지 않고 획수를 세지 않아도 된다. 약간의 한자를 제외하면 부수를 추측하는 것은 어렵지 않다. 문제는 중간 획수의 한자가 많아서 부수로 찾아도 다시 획수를 세야 한다는 것이다.




다음은 4888자의 획수다. 
행렬을 맞추려면 인수 분해 해 봐야지?
4888 = 94 * 52 = 376 * 13

2015년 4월 27일 월요일

완성형 코드 한자 4888자 중 부수 한자, 부수별 한자 묶음

2024-05-24-금 수정

완성형 코드는 개판이다. 한글 코드인지 한자 코드인지 정체성도 모호한데 왜 부수 한자를 모두 넣지 않았지? 부수 한자가 일부만 있다. 대가리가 나쁘면 몸이 고생하지.



완성형 4888 한자 중에 부수 한자이다.

2015년 4월 23일 목요일

상용한자 1800자 (중학 900, 고교 900) + 한자 급수 표시

2024-05-24-금 수정

인터넷을 찾아보니 목록으로 정리한 것이 없어서 재활용이 어렵더라. 게임 등에 활용할 수 있도록 뛰어난 Excel 실력으로 몇 시간 안에 정리한 것이다. 한자 등급도 함께 표시했다. 대체로 중고교 한자는 3급 수준에 해당한다.

한문 교육용 기초 한자 1800

급수
중학
고교
일반
총합
누적
0급
7 9 1157 1173 4888
1급
1 2 1183 1186 3715
2급
568 568 2529
3급
155 650 77 882 1961
4급
278 214 34 526 1079
5급
173 23 29 225 553
6급
141 7 14 162 328
7급
99 1 11 111 166
8급
50 5 55 55
총합
904
906
3078
4888
※ 완성형 4888자에 포함된 한자만 계산한 것이다.

상용한자는 시대에 따라 변한다. 한자는 모두 7만자가 넘지만 일상 생활에선 약 5천자까지 사용된다. 아마 영어, 일어 단어도 5천 단어면 일상 회화에 충분할 것이다. 5천자, 5천 단어는 상당한 수준이다. 보통 2~3천이면 족하다.

2015년 3월 29일 일요일

완성형 코드 한자 4888자 중 같은 모양에 여러 독음 (중복 한자)

2024-05-24-금 수정

한자의 모양은 같고 독음만 다른 경우는 아주 많다. 완성형 코드표를 만든 사람이 황당하게 이 중에 몇 개의 한자들에만 모양은 같은데 소리만 다르다고 다른 코드(숫자)를 부여 했다. 그런데 진짜 독음이 다른 것도 아닌 두음법칙으로 달라진 것에 대량으로 코드를 부여 했다. 꼴통이다. 알타이계 어족에서 보이는 두음법칙이 한국어에도 있어서 단어 처음에 R, L발음으로 시작하는 한자는 "리 → 니 → 이"로 바뀌는데 그것까지도 소리가 다른 것으로 취급했다. 정말 꼴통이다.

완성형 코드는 확실히 개판이다.

완성형 코드 한자 4888자, 독음별 유사 모양 (형성 문자) 묶음

2024-05-24-금 수정

어떻게 만들었는가?

  1. 같은 독음인 한자를 컴퓨터로 모두 묶는다.
  2. 그 안에서도 비슷한 모양을 서로 묶는다.
  3. 유사 모양 비교가 쉽도록 독음을 초/중/종 분해하여 재배치.

독음 묶는 방법은?
  • 가카아하 (목구멍 소리)
  • 나라 (두음 법칙)
  • 다타, 사자차 (혓소리)
  • 마바파 (입술소리)
  • 아어오우애에으이 (단모음)
  • 야여요유얘예 (이중모음)
  • 와워외위왜웨의 (이중모음)

왜 만들었는가? 심심해서!


한자를 모를 경우는 옥편에서 부수, 획수, 독음으로 찾는데 요령이 있다.

  1. 부수가 눈에 보이면 부수로 찾는다. 보이는 부수(변, 방, 머리, 발, 몸, 엄, 받침)
  2. 부수가 눈에 안 보이는 한자이면 획수로 찾는다.
  3. 독음으로 찾는 방법이 가장 느린 것 같다. 왜? 배치 순서가 개판이라.