KR101693627B1 - 문자 인코딩 변환 장치 및 방법 - Google Patents

문자 인코딩 변환 장치 및 방법 Download PDF

Info

Publication number
KR101693627B1
KR101693627B1 KR1020150141776A KR20150141776A KR101693627B1 KR 101693627 B1 KR101693627 B1 KR 101693627B1 KR 1020150141776 A KR1020150141776 A KR 1020150141776A KR 20150141776 A KR20150141776 A KR 20150141776A KR 101693627 B1 KR101693627 B1 KR 101693627B1
Authority
KR
South Korea
Prior art keywords
document
character encoding
character
code
language
Prior art date
Application number
KR1020150141776A
Other languages
English (en)
Inventor
김명호
서민지
Original Assignee
숭실대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숭실대학교산학협력단 filed Critical 숭실대학교산학협력단
Priority to KR1020150141776A priority Critical patent/KR101693627B1/ko
Application granted granted Critical
Publication of KR101693627B1 publication Critical patent/KR101693627B1/ko

Links

Images

Classifications

    • G06F17/2264
    • G06F17/2217

Abstract

문자 인코딩 변환 장치 및 방법이 개시된다.
문자 인코딩 변환 장치는 문서에 적용된 문자 인코딩을 파악할 수 없는 경우에도 문서를 정확하게 유니코드의 텍스트 파일로 변환할 수 있도록, 문자 인코딩 별로 문서의 코드값을 추출하고, 추출된 문서의 코드값을 분석하여 문서가 작성된 언어를 검출하고, 문서가 작성된 언어에 따라 문서에 대한 문자 인코딩을 1차 판별하고, 언어 별로 자주 사용되는 단어 정보를 이용하여 문서에 대한 문자 인코딩을 2차 판별하여 문서의 문자 인코딩을 선택하고, 선택한 문자 인코딩을 기반으로 문서를 유니코드의 텍스트 파일로 변환한다.

Description

문자 인코딩 변환 장치 및 방법{APPARATUS AND METHOD FOR CONVERTING CHARACTER ENCODING}
본 발명은 문자 인코딩 변환 장치 및 방법에 관한 것으로서, 보다 상세하게는 문서의 적용된 문자 인코딩에 따라 문서 파일을 변환하는 문자 인코딩 변환 장치 및 방법에 관한 것이다.
전자 문서들은 각 언어 환경에 맞는 문자 인코딩을 이용하여 바이너리 값의 조합으로 문자를 표현한다. 바이너리 값의 조합은 문자 인코딩마다 다르게 표현된다. 만약 사용자가 문서에 적용된 문자 인코딩과 다른 문자 인코딩을 이용하여 문서를 참조하면, 원 문서와 다른 문자가 출력되어 정확한 정보를 얻을 수 없게 된다. 따라서, 해당 문서의 문자 인코딩의 정보를 인지하고 있어야 정확한 정보를 참조할 수 있다.
국제표준기구(ISO, International Standard Organization)에서는 각국의 언어를 통일된 방법으로 표현할 수 있는 국제적인 코드 규약의 이름인 유니코드(UNICODE)를 제안하였고, 유니코드 문자 인코딩을 통해 다양한 언어를 한 문자 인코딩으로 표현하는 것이 가능해졌다.
유니코드를 지원하는 문서 프로그램들이 늘어나고 있는 추세지만, 동아시아의 경우 유니코드 외에도 각 국가의 언어 환경에 맞춘 문자 인코딩으로 이루어진 문서들이 존재한다. 중국의 언어 환경에 맞춘 국가 표준 문자 인코딩인 GB18030을 예로 들 수 있다. 중국에서 발매되는 모든 OS 및 프로그램들은 GB18030을 지원하기 때문에, 중국에서는 유니코드 외에도 고유의 문자 인코딩으로 작성된 문서들이 존재한다. 이와 같은 국가의 언어 환경에 맞춘 문자 인코딩으로 작성된 문서들은, 유니코드가 아닌 문서에 적용된 문자 인코딩을 이용하여 참조해야 한다.
따라서, 전자 문서에 적용된 문자 인코딩의 정보가 없는 경우 또는 서로 다른 문자 인코딩으로 표현된 전자 문서를 참조하는 경우에 원 문서에 대한 정확한 정보를 획득할 수 있도록 서로 다른 문자 인코딩으로 표현된 전자 문서를 통일된 문자 인코딩으로 변환할 수 있는 문자 인코딩 변환 장치 및 방법이 필요한 상황이다.
한국공개특허 제10-2006-0091051호(2006.08.17. 공개)
본 발명의 일측면은 이스케이프 문자가 사용되었는지 여부, 문서의 코드값 범위, 문서가 작성된 언어를 분석하여 문서에 적용된 문자 인코딩을 자동으로 판별하고, 판별된 문자 인코딩을 기반으로 문서를 유니코드로 변환하는 문자 인코딩 변환 장치 및 방법을 제공한다.
본 발명의 일측면에 따른 문자 인코딩 변환 방법은 문서를 입력받아 상기 문서의 코드값을 추출하고, 상기 문서의 코드값이 문자 인코딩의 코드값 범위에 속하는지 여부에 따라 복수 개의 문자 인코딩 중 상기 문서에 해당하는 1차 문자 인코딩 후보를 선정하고, 상기 문서의 코드값과 언어별로 미리 저장된 코드범위특성데이터를 비교하여 상기 문서가 기술된 언어를 판별하고, 상기 문서가 기술된 언어를 기반으로 하여 상기 1차 문자 인코딩 후보에서 2차 문자 인코딩 후보를 선정하고, 상기 문서에 포함된 문자의 출현 빈도에 따라 상기 2차 문자 인코딩 후보 중 상기 문서에 해당하는 문자 인코딩을 선택하고, 상기 선택된 문자 인코딩을 기반으로 상기 문서를 유니코드의 텍스트 파일로 변환한다.
상기 문서의 코드값을 분석하여 상기 문서 내에 이스케이프 문자가 포함되어 있는지 여부를 확인하고, 상기 문서 내에 이스케이프 문자가 포함되어 있으면 상기 문서 내 포함되어 있는 이스케이프 문자의 조합에 대응되는 문자 인코딩을 검출하고, 상기 문서 내 포함되어 있는 이스케이프 문자에 대응되는 문자 인코딩을 기반으로 상기 문서를 유니코드의 텍스트 파일로 변환하는 것을 더 포함할 수 있다.
상기 문서 내에 이스케이프 문자가 비포함되어 있으면 상기 문서에 포함된 모든 문자의 코드값이 포함되는 코드값 범위를 산출하고, 상기 문서의 코드값 범위가 유니코드의 코드값 범위에 속하는지 여부를 확인하고, 상기 문서의 코드값 범위가 상기 유니코드의 코드값 범위에 속하면 상기 문서를 유니코드의 텍스트 파일로 변환하는 것을 더 포함할 수 있다.
상기 1차 문자 인코딩 후보를 선정하는 것은, 상기 문서의 코드값 범위가 상기 유니코드의 코드값 범위에 속하지 않는 것으로 확인되면, 상기 복수 개의 문자 인코딩 별로 상기 문서에 포함된 문자의 코드값과 각 문자 인코딩의 코드값 범위를 비교하여 상기 복수 개의 문자 인코딩 별로 상기 문서에 포함된 문자 중 문자 인코딩의 코드값 범위에 속하지 않는 문자의 수를 검출하고, 상기 복수 개의 문자 인코딩 별로 상기 문서에 포함된 총 문자의 수 대비 상기 검출된 문자의 수의 비율을 산출하고, 상기 복수 개의 문자 인코딩 중 상기 산출한 비율이 미리 정해진 비율 미만인 문자 인코딩을 상기 1차 문자 인코딩 후보로 선정할 수 있다.
상기 문서가 기술된 언어를 판별하는 것은, 상기 문서에 포함된 문자의 코드값을 문자의 출현 빈도에 따라 배열하고, 문자의 출현 빈도에 따라 배열한 상기 문서에 포함된 문자의 코드값과 언어별로 문서 내 문자의 코드값 범위의 출현 특성을 나타내는 상기 언어별 코드범위특성데이터를 비교하여 상기 문서에 해당하는 코드범위특성데이터를 검출하고, 상기 검출한 코드범위특성데이터에 대응하는 언어를 검출하여 상기 문서가 기술된 언어를 판별할 수 있다.
상기 문서에 해당하는 문자 인코딩을 선택하는 것은, 상기 문서를 형태소 분석하여 상기 문서에 포함된 단어를 추출하고, 상기 문서에 포함된 단어와 상기 문서가 기술된 언어에 대해 미리 저장된 단어 데이터베이스를 비교하여 상기 문서에 포함된 단어 중 상기 단어 데이터베이스와 일치하는 단어를 검출하고, 상기 2차 문자 인코딩 후보 중 상기 단어 데이터베이스와 일치하는 단어의 출현 빈도가 가장 높은 문자 인코딩을 검출하여 상기 문서의 문자 인코딩으로 선택할 수 있다.
상기 언어별 코드범위특성데이터 중 상기 문서에 포함된 문자의 코드값에 해당하는 코드범위특성데이터가 검출되지 않으면 상기 문서 내에서 상기 언어별 코드범위특성데이터 중 어느 하나의 코드범위특성이 나타나는 영역을 검출하고, 상기 문서를 검출된 영역 별로 분리하고, 각각의 영역으로 분리된 문서의 언어를 해당 영역에 나타난 코드범위특성에 대응하는 언어로 판별하는 것을 더 포함할 수 있다.
상기 분리된 문서 별로 해당 문서에 포함된 단어를 추출하고, 상기 분리된 문서 별로 해당 문서에 포함된 단어와 해당 문서의 언어에 대해 미리 저장된 단어 데이터베이스를 비교하여 상기 분리된 문서 별로 해당 문서에 포함된 단어 중 해당 문서의 언어에 대해 미리 저장된 단어 데이터베이스와 일치하는 단어를 검출하고, 상기 분리된 문서 별로 상기 2차 문자 인코딩 후보에서 해당 문서의 언어에 대해 미리 저장된 단어 데이터베이스와 일치하는 단어의 출현 빈도가 가장 높은 문자 인코딩을 검출하여 상기 분리된 문서의 문자 인코딩을 선택할 수 있다.
본 발명의 일측면에 따른 문자 인코딩 변환 장치는 문서를 입력받는 입력부, 상기 문서의 코드값을 추출하고, 상기 문서의 코드값이 문자 인코딩의 코드값 범위에 속하는지 여부에 따라 복수 개의 문자 인코딩 중 상기 문서에 해당하는 1차 문자 인코딩 후보를 선정하고, 상기 문서의 코드값과 언어별로 미리 저장된 코드범위특성데이터를 비교하여 상기 문서가 기술된 언어를 판별하고, 상기 문서가 기술된 언어를 기반으로 하여 상기 1차 문자 인코딩 후보에서 2차 문자 인코딩 후보를 선정하고, 상기 문서에 포함된 문자의 출현 빈도에 따라 상기 2차 문자 인코딩 후보 중 상기 문서에 해당하는 문자 인코딩을 선택하여 상기 문서에 대한 문자 인코딩을 판별하는 코드 판별부 및 상기 코드 판별부에 의해 선택된 문자 인코딩을 기반으로 상기 문서를 유니코드의 텍스트 파일로 변환하는 코드 변환부를 포함한다.
상기 코드 판별부는, 상기 문서의 코드값을 분석하여 상기 문서 내에 이스케이프 문자가 포함되어 있는지 여부를 확인하고, 상기 문서 내에 이스케이프 문자가 포함되어 있으면 상기 문서 내 포함되어 있는 이스케이프 문자의 조합에 대응되는 문자 인코딩을 검출하고, 상기 문서 내 포함되어 있는 이스케이프 문자에 대응되는 문자 인코딩을 기반으로 상기 문서를 유니코드의 텍스트 파일로 변환할 수 있다.
상기 코드 판별부가 상기 문서가 기술된 언어를 판별하는 것은, 상기 문서에 포함된 문자의 코드값을 문자의 출현 빈도에 따라 배열하고, 문자의 출현 빈도에 따라 배열한 상기 문서에 포함된 문자의 코드값과 언어별로 문서 내 문자의 코드값 범위의 출현 특성을 나타내는 상기 언어별 코드범위특성데이터를 비교하여 상기 문서에 해당하는 코드범위특성데이터를 검출하고, 상기 검출한 코드범위특성데이터에 대응하는 언어를 검출하여 상기 문서가 기술된 언어를 판별할 수 있다.
상기 코드 판별부가 상기 문서의 문자 인코딩을 선택하는 것은, 상기 문서를 형태소 분석하여 상기 문서에 포함된 단어를 추출하고, 상기 문서에 포함된 단어와 상기 문서가 기술된 언어에 대해 미리 저장된 단어 데이터베이스를 비교하여 상기 문서에 포함된 단어 중 상기 단어 데이터베이스와 일치하는 단어를 검출하고, 상기 2차 문자 인코딩 후보 중 상기 단어 데이터베이스와 일치하는 단어의 출현 빈도가 가장 높은 문자 인코딩을 검출하여 상기 문서의 문자 인코딩으로 선택할 수 있다.
상술한 본 발명의 일측면에 따르면, 문서 파일의 문자 인코딩을 파악한 후 유니코드로 변환시키므로 문서의 문자를 읽어 들일 때 상이한 문자 인코딩의 사용으로 인한 오류를 줄일 수 있으며, 문서의 문자 인코딩 인식과 변환 과정이 자동으로 수행되므로 문서에 적용된 문자 인코딩과 상관없이 문서를 참조할 수 있다.
도 1 은 본 발명의 일 실시예에 따른 문자 인코딩 변환 장치의 제어 블록도이다.
도 2 는 도 1 에 도시된 코드 판별부의 세부 블록도이다.
도 3a, 3b 는 본 발명의 일 실시예에 따른 문자 인코딩 변환 방법을 도시한 순서도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1 은 본 발명의 일 실시예에 따른 문자 인코딩 변환 장치의 제어 블록도이며, 도 2 는 도 1 에 도시된 코드 판별부의 세부 블록도이다.
본 발명의 일 실시예에 따른 문자 인코딩 변환 장치(100)는 문서가 입력되면 입력된 문서에 적용된 문자 인코딩을 판별하고, 판별된 문자 인코딩에 따라 해당 문서를 유니코드를 변환할 수 있다. 이를 위해, 문자 인코딩 변환 장치(100)는 입력부(110), 코드 판별부(120), 데이터베이스(130), 코드 변환부(140) 및 출력부(150)를 포함할 수 있다.
입력부(110)는 사용자 또는 외부의 장치를 통해 입력되는 문서를 수신할 수 있다. 입력부(110)는 수신된 문서를 코드 판별부(120)로 전달할 수 있다. 입력부(110)는 코드 판별부(120)를 통해 수신된 문서를 데이터베이스(130)에 저장할 수 있다.
코드 판별부(120)를 입력부(110)를 통해 전달되는 문서에 적용된 문자 인코딩을 판별할 수 있다. 코드 판별부(120)는 문서 내에 특정 이스케이프 문자의 조합이 사용되는 여부에 따라 문자 인코딩을 판별하거나 문서의 코드값 범위 및 문서가 쓰여진 언어를 이용하여 문서의 문자 인코딩을 판별할 수 있다. 이를 위해, 도 2 와 같이 코드 판별부(120)는 특수문자 검출부(121), 문자 인코딩 후보 추출부(122), 언어 판별부(123) 및 문자 인코딩 판별부(124)를 포함할 수 있다.
특수문자 검출부(121)는 문서 내에서 사용되는 특정 이스케이프 문자의 조합을 검출할 수 있다. 구체적으로, 특수문자 검출부(121)는 입력 문서를 분석하여 입력 문서에 적용된 문자 인코딩에 의한 코드값을 추출할 수 있다. 특수문자 검출부(121)는 추출한 코드값을 분석하여 문서 내에 이스케이프 문자가 포함되어 있는지 여부를 확인할 수 있다. 특수문자 검출부(121)는 문서 내에서 이스케이프 문자가 포함되어 있는 것으로 검출되면, 문서 내에 존재하는 이스케이프 문자를 추출하여 문자 인코딩 판별부(124)로 전달할 수 있다.
이때, 문자 인코딩 중에서 이스케이프 문자를 사용하는 문자 인코딩의 수는 한정적이며, 이스케이프 문자의 조합은 문자 인코딩 별로 각각 상이하기 때문에, 문서의 문자 인코딩 판별 시 입력된 문서 내에서 검출된 이스케이프 문자의 조합 정보를 파악하면 이스케이프 문자가 사용되는 문서의 경우 추가적인 코드 판별 과정없이 바로 문서의 문자 인코딩을 검출할 수 있어 보다 효율적으로 문서의 코드를 판별할 수 있는 효과가 있다. 한편, 이스케이프 문자의 조합을 사용하여 문자를 표현하는 문자 인코딩은 JIS, ISO-2022-KR, ISO-2022-CN 등이 있다.
문자 인코딩 판별부(124)는 문자를 표현하기 위해 이스케이프 문자를 사용하는 문자 인코딩, 예를 들어 ISO/IEC 2022 문자 인코딩에서 사용되는, 미리 저장된 이스케이프 문자의 조합 정보와 문서에서 검출된 이스케이프 문자를 비교하여 문서에서 검출된 이스케이프 문자에 대응되는 이스케이프 문자의 조합 정보를 검출할 수 있으며, 검출된 이스케이프 문자의 조합 정보에 매칭되어 있는 문자 인코딩을 검색하여 문서에 적용된 문자 인코딩을 판별할 수 있다.
문자 인코딩후보 추출부(122)는 문자 코드값 범위 정보를 이용하여 복수 개의 문자 인코딩 중 입력된 문서에 해당하는 1차 문자 인코딩 후보를 추출할 수 있다.
구체적으로, 문자 인코딩후보 추출부(122)는 각 문자 인코딩 별로 미리 저장된 코드값 범위 정보와 입력 문서에 포함된 문자들의 코드값을 비교할 수 있다. 이때, 각 문자 인코딩 별로 미리 저장된 코드값 범위 정보는 각 문자 인코딩 별로 문자를 나타낼 수 있는 코드값의 범위 정보를 의미하며, 예를 들어 2바이트로 문자를 표현하는 문자 인코딩의 경우 문자를 표현하는 첫 번째 바이트의 코드 범위와 두 번째 바이트의 코드 범위가 해당 문자 인코딩의 코드값 범위 정보일 수 있다. 문자 인코딩후보 추출부(122)는 입력 문서의 코드값이 유니코드의 코드 범위 내에 속하는지 여부를 확인할 수 있다. 문자 인코딩후보 추출부(122)는 입력 문서의 코드값이 유니코드의 코드 범위 내에 속하는 것으로 검출되면, 입력 문서에 유니코드가 적용된 것으로 인식하여 코드 변환부(140)를 통해 입력 문서를 유니코드로 기술되는 텍스트 파일로 변환되도록 코드 변환부(140)로 입력 문서 변환 신호를 전달할 수 있다. 이때, 입력 문서 변환 신호에는 입력 문서가 유니코드로 기술되었다는 것을 알리는 문자 인코딩 정보가 포함되어 있을 수 있다.
문자 인코딩후보 추출부(122)는 입력 문서의 코드값이 유니코드의 코드값 범위 내에 속하지 않는 것으로 검출되면, 적어도 하나 이상의 문자 인코딩 별로 미리 저장된 코드값 범위와 입력 문서에 기록된 모든 문자의 코드값을 각각 비교하여, 입력 문서에 해당하는 1차 문자 인코딩 후보를 선정할 수 있다. 구체적으로, 문자 인코딩후보 추출부(122)는 입력 문서에 포함된 문자들 중 임의의 문자 인코딩의 미리 저장된 코드값 범위에 문자의 코드값이 속하지 않는 문자의 수를 검출할 수 있다. 문자 인코딩후보 추출부(122)는 입력 문자의 총 문자의 수 대비 문자 인코딩의 미리 저장된 코드값 범위에 문자의 코드값이 속하지 않는 문자의 수의 비율을 산출할 수 있다. 문자 인코딩후보 추출부(122)는 입력 문자의 총 문자의 수 대비 문자 인코딩의 미리 저장된 코드값 범위에 문자의 코드값이 속하지 않는 문자의 수의 비율이 미리 정해진 비율 이상인지 여부를 검출할 수 있다. 문자 인코딩후보 추출부(122)는 입력 문자의 총 문자의 수 대비 문자 인코딩의 미리 저장된 코드값 범위에 문자의 코드값이 속하지 않는 문자의 수의 비율이 미리 정해진 비율 이상인 것으로 확인되면, 해당 문자 인코딩이 입력 문서에 해당하지 않는 것으로 판단하여, 해당 문자 인코딩을 입력 문서에 대한 문자 인코딩 후보에서 기각시킬 수 있다. 문자 인코딩후보 추출부(122)는 입력 문자의 총 문자의 수 대비 해당 문자 인코딩의 미리 저장된 코드값 범위에 문자의 코드값이 속하지 않는 문자의 수의 비율이 미리 정해진 비율 미만인 문자 인코딩을 입력 문서의 1차 문자 인코딩 후보로 추출할 수 있다. 문자 인코딩후보 추출부(122)는 추출된 1차 문자 인코딩 후보들로 코드 후보 그룹을 생성할 수 있다.
언어 판별부(123)는 언어 별로 나타나는 코드 범위 출현 특성을 이용하여 입력 문서가 어떤 언어로 기술되었는지를 판별할 수 있다. 언어 판별부(123)는 입력 문서가 어떤 언어로 기술되었는지에 따라 입력 문서의 1차 문자 인코딩 후보에서 입력 문서에 해당하지 않는 문자 인코딩을 기각시켜 2차 문자 인코딩 후보를 추출할 수 있다.
구체적으로, 언어 판별부(123)는 입력 문서에 포함된 각 문자의 코드값을 출현 빈도에 따라 배열할 수 있다. 언어 판별부(123)는 입력 문서에 대해 출현 빈도에 따라 배열된 문자의 코드값 정보와 언어 별로 미리 저장된 코드범위특성데이터를 비교하여 입력 문서의 언어를 판별할 수 있다.
이때, 언어 별로 미리 저장된 코드범위특성데이터는 각 언어 별로 언어 환경에 해당하는 문자 인코딩에 따른 코드값 범위의 출현 특성을 정리한 데이터로, 언어 별로 작성된 예제 데이터를 해당 언어를 표현할 수 있는 문자 인코딩으로 치환하여 검출되는 문자들의 코드값 범위를 출현 빈도 별로 정리함으로써 획득될 수 있다. 보다 구체적으로 설명하면, 먼저 각 언어 별로 주로 사용되는 단어(이하, 주요 단어)를 검출할 수 있다. 각 언어 별로 검출된 주요 단어를 해당 언어 환경에 해당하는 문자 인코딩으로 치환하여, 각 언어 별로 주요 단어들의 문자 코드값 범위를 산출할 수 있다. 예를 들어, 일본어의 경우 SHIFT-JIS 또는 JIS 등의 문자 인코딩으로 주요 단어를 치환하여 각 주요 단어의 문자 코드값 범위를 산출할 수 있으며, 중국어의 경우 GBK 또는 BIG5 등의 문자 인코딩으로 주요 단어를 치환하여 각 주요 단어의 문자 코드값 범위를 산출할 수 있다. 각 언어 별로 주요 단어의 문자 코드값 범위를 산출한 후, 각 언어 별로 주요 단어들의 문자 코드값 범위를 단어의 출현 빈도 별로 배열함으로써 각 언어 별 코드범위특성데이터를 획득할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 각 언어 별로 주요 단어들의 문자 코드값 범위를 출현 빈도 별로 배열한 정보를 분석하여 각 언어 별 코드값 범위 출현 특성을 검출할 수 있다. 각 언어 별 코드값 범위 출현 특성을 검출하는 과정은, 각 언어 별로 주요 단어들의 문자 코드값 범위를 단어의 출현 빈도 별로 배열한 후, 주요 단어들의 문자 코드값 범위를 출현 빈도 별로 배열한 정보에서 각 언어 별로 문자들이 배열되는 패턴 또는 특징을 분석하는 것일 수 있다. 예를 들어, 중국어의 경우 주로 사용되는 문자의 바이트 범위가 문서에 다양하게 분포하는 코드값 범위 출현 특성을 가지며, 한국어의 경우 특정 코드값 범위에 해당하는 문자들이 문서의 일정 부분을 차지하는 코드값 범위 출현 특성을 가지며, 일본어의 경우 히라가나, 가타카나에 해당하는 코드값 범위가 다른 문자들보다 월등히 높은 출현 빈도가 나타나는 코드 범위값 출현 특성을 가질 수 있다.
언어 판별부(123)는 입력 문서에 포함된 각 문자의 출현 빈도에 따라 배열된 문자의 코드값 정보와 언어 별로 미리 저장된 코드범위특성데이터를 비교하여 입력 문서가 어떤 언어로 기술되었는지 여부를 판별할 수 있다. 이때, 각 언어 별로 미리 저장된 코드범위특성데이터는 예제 문서에서 검출되는 문자들의 코드값 범위를 출현 빈도 별로 정리한 데이터를 포함하고 있으므로, 언어 판별부(123)는 언어 별로 미리 저장된 코드범위특성데이터 중 입력 문서에 포함된 각 문자의 출현 빈도에 따라 배열된 문자의 코드값 정보와 유사 또는 대응되는 코드범위특성데이터를 검출하고, 검출된 코드범위특성데이터에 매칭되어 있는 언어를 검출함으로써, 입력 문서의 언어를 판별할 수 있다. 언어 판별부(123)는 입력 문서의 언어가 판별되면, 문자 인코딩후보 추출부(122)에 의해 생성된 코드 후보 그룹에서 판별된 언어에 해당하는 문자 인코딩 외 다른 문자 인코딩을 기각시킴으로써, 1차 문자 인코딩 후보 중에서 입력 문서에 해당하는 2차 문자 인코딩 후보를 추출할 수 있다. 예를 들어, 입력 문서를 읽어 들였을 때 일본어 문자 인코딩의 히라가나 또는 가타카나에 해당하는 코드값 범위를 갖는 문자의 출현 빈도가 다른 문자들보다 월등히 높게 나타나면 입력 문서는 일본어로 기술된 문서인 것으로 판단하여 코드 후보 그룹에 포함된 1차 문자 인코딩 후보 중 일본어 문자 인코딩만을 입력 문서에 해당하는 2차 문자 인코딩 후보를 선정할 수 있으며, 입력 문서를 읽어 들였을 때 해당 문서에서 일정 비율 이상 한국어 문자 인코딩에서 자주 사용되는 코드값 범위의 문자가 나타나는 것으로 검출되면 입력 문서는 한국어로 기술된 문서인 것으로 판단하여 코드 후보 그룹에 포함된 1차 문자 인코딩 후보 중 한국어 문자 인코딩만을 입력 문서에 해당하는 2차 문자 인코딩 후보를 추출할 수 있다.
언어 판별부(123)는 미리 정해진 코드범위특성데이터를 이용하여 입력 문서에 해당하는 하나의 언어를 판별하지 못하는 경우, 해당 입력 문서가 적어도 두 개의 언어로 기술되어 있는 것으로 인식할 수 있다. 언어 판별부(123)는 적어도 두 개의 언어로 기술되어 있는 입력 문서에 대한 언어를 판별하기 위해, 입력 문서의 임의의 영역 별로 해당 영역에서 나타나는 문자의 코드값 정보와 미리 저장된 코드범위데이터를 비교할 수 있다. 언어 판별부(123)는 입력 문서 내에서 미리 저장된 코드범위특성데이터와 일치 또는 유사한 코드값 정보가 존재하는 영역을 검출할 수 있다. 언어 판별부(123)는 입력 문서 내에서 검출된 영역을 입력 문서에서 분리하여, 분리된 영역에 대한 문서의 언어가 상기 일치 또는 유사한 것으로 검출된, 미리 저장된 코드범위특성데이터에 대응하는 언어인 것으로 판별할 수 있다. 언어 판별부(123)는 상술한 방식으로 문서를 적어도 두 개의 영역을 분리하여 분리한 영역에 대한 문서의 언어를 판별할 수 있다.
문자 인코딩 판별부(124)는 각 언어 별 자주 사용되는 단어 데이터베이스를 이용하여 입력 문서에 적합한 하나의 문자 인코딩을 판별할 수 있다.
구체적으로, 문자 인코딩 판별부(124)는 입력 문서의 언어를 판별 또는 입력 문서를 언어별로 분리 한 후 해당 입력 문서를 형태소 분석하여 입력 문서 내에 포함된 단어를 추출할 수 있다. 문자 인코딩 판별부(124)는 입력 문서 내 포함된 단어와 해당 언어에 대해 미리 저장된 단어 데이터베이스를 비교하여 입력 문서 내 포함된 단어 중 해당 언어에 대한 단어 데이터베이스에 포함된 단어와 일치하는 단어를 추출할 수 있다. 이때, 미리 저장된 단어 데이터베이스는 각 언어 별로 해당 언어를 사용하는 국가에서 자주 사용하는 단어들의 집합을 의미할 수 있다. 문자 인코딩 판별부(124)는 입력 문서에 해당하는 문자 인코딩 후보 별로 입력 문서를 읽어, 입력 문서에 해당하는 문자 인코딩 후보 별로 입력 문서에 포함된 문자의 코드값의 범위를 추출할 수 있으며, 추출된 코드값의 범위를 문자의 출현 빈도 별로 배열할 수 있다. 문자 인코딩 판별부(124)는 입력 문서에 해당하는 2차 문자 인코딩 후보 중에서 문자 인코딩 별로 입력 문서를 읽었을 때 나타나는 문자의 출현 빈도를 확인하여 단어 데이터베이스를 통해 추출된 단어의 출현 빈도가 가장 높은 문자 인코딩 후보를 검출할 수 있다. 문자 인코딩 판별부(124)는 검출된 문자 인코딩 후보를 입력 문서의 문자 인코딩인 것으로 판별할 수 있다.
한편, 본 발명의 일 실시예에 따른 문자 인코딩 판별부(124)는 입력 문서 내 포함된 단어와 해당 입력 문서의 언어에 대해 미리 저장된 단어 데이터베이스를 비교했을 시 입력 문서 내 포함된 단어 중 입력 문서의 언어에 대한 단어 데이터베이스에 포함된 단어와 일치하는 단어가 복수 개 추출되는 경우, 해당 언어를 사용하는 국가에서 자주 사용되는 단어의 순서를 나타내는 활용순위데이터를 이용하여 추출된 복수 개의 단어 중 하나의 단어를 선택할 수 있다. 이때, 활용순위데이터를 이용하여 추출된 복수 개의 단어 중 하나의 단어를 선택하는 것은, 추출된 복수 개의 단어 중 활용순위데이터에 따라 가장 활용 순위가 높은 단어를 선택하는 것일 수 있다.
한편, 활용순위데이터를 이용하여 추출된 복수 개의 단어 중 하나의 단어를 선택하는 것은, 문자 인코딩은 문자를 표현하기 위한 것으로 대중적으로 사용되는 문자 인코딩을 사용하여 문자를 표현하여야 그 실용성이 높아질 수 있으므로, 복수 개의 단어가 추출되는 경우 해당 언어를 사용하는 국가에서 많이 활용되는 순위에 따라 단어를 선택하면 입력 문서에 가장 적합한 문자 인코딩을 선택할 수 있기 때문이다.
문자 인코딩 판별부(124)는 입력 문서에 해당하는 2차 문자 인코딩 후보 중에서, 문자 인코딩 별로 입력 문서를 읽었을 때 나타나는 문자의 출현 빈도를 확인하여 선택된 단어의 출현 빈도가 가장 높은 문자 인코딩 후보를 검출할 수 있다. 문자 인코딩 판별부(124)는 검출된 문자 인코딩 후보를 입력 문서의 문자 인코딩인 것으로 판별할 수 있다.
문자 인코딩 판별부(124)는 입력 문서가 언어 별로 분리된 경우, 분리된 각각의 문서에 해당하는 언어의 단어 데이터베이스를 이용하여 분리된 각각의 문서에 대한 문자 인코딩을 판별할 수 있다.
코드 변환부(140)는 문자 인코딩 판별부(124)로부터 판별된 문자 인코딩의 정보를 기반으로 입력 문서를 유니코드로 변환할 수 있다. 코드 변환부(140)는 입력 문서를 유니코드로 변환하여 텍스트 파일을 생성할 수 있으며, 생성된 텍스트 파일을 출력부(150)로 전달할 수 있다.
출력부(150)는 코드 변환부(140)에 의해 유니코드로 변환된 입력 문서의 텍스트 파일을 출력할 수 있다.
이하에서는, 도 3a, 3b 를 통하여 본 발명의 일 실시예에 따른 문자 인코딩 변환 방법에 대해 설명한다.
도 3a 를 참조하면, 먼저 입력부(110)를 통해 문서를 입력받고(210), 입력 문서를 분석하여 입력 문서의 코드값을 추출한다(215).
입력 문서의 코드값을 추출(215)한 후, 추출된 코드값을 분석하여 입력 문서 내에 이스케이프(Escape) 문자의 특정한 조합이 포함되어 있는지 여부를 확인한다(220).
이때, 추출한 코드값을 분석하여 문서 내에 이스케이프 문자가 포함되어 있는지 여부를 확인하는 것은, 입력 문서를 각 문자 인코딩으로 읽었을 때 코드가 출력되는 부분에 특수 문자가 표시되어 있는지 여부를 확인하는 것일 수 있다. 예를 들어, 일본의 JIS 문자 인코딩의 경우, 문자가 출력되는 첫 부분에 1B 24 42(ESC $ B)의 코드값이 출력되어 입력 문서에 이스케이프 문자가 포함되어 있는 것으로 확인할 수 있다.
한편, 이스케이프 문자를 사용하여 문자를 표현하는 문자 인코딩은 JIS, ISO-2022-KR, ISO-2022-CN로 한정적이고, 문자 인코딩 별로 다르게 표현되기 때문에, 문서 내에서 사용되는 이스케이프 문자를 검출하면 검출된 이스케이프 문자를 사용하는 문자 인코딩을 검출함으로써 문서에 대한 문자 인코딩을 판별할 수 있다.
입력 문서 내에서 이스케이프 문자가 포함되어 있는 것으로 확인(220)되면, 입력 문서에 포함된 이스케이프 문자에 대응되는 문자 인코딩을 검색(225)하고, 검색된 문자 인코딩이 해당 입력 문서에 적용된 문자 인코딩인 것으로 인식하여, 검색된 문자 인코딩으로 입력 문서를 유니코드 텍스트 파일로 변환한다(230).
또한, 입력 문서 내에서 이스케이프 문자가 포함되어 있지 않은 것으로 확인(220)되면, 입력 문서의 코드값 범위가 유니코드의 코드값 범위에 속하는지 여부를 확인한다(235).
이때, 입력 문서의 코드값 범위가 유니코드의 코드값 범위에 속하는지 여부를 확인하는 것은, 입력 문서에 포함된 모든 문자에 대한 코드값이 유니코드의 코드값 범위에 속하는지 여부를 확인하는 것일 수 있다.
입력 문서의 코드값 범위가 유니코드의 코드값 범위에 속하는 것으로 확인(235)되면, 입력 문서가 유니코드로 기술된 것으로 인식하여 바로 유니코드 텍스트 파일로 변환한다(230).
또한, 입력 문서의 코드값 범위가 유니코드의 코드값 범위에 속하지 않는 것으로 확인(235)되면, 입력 문서에 적용된 문자 인코딩을 1차적으로 판별하기 위해, 복수 개의 문자 인코딩 중 임의의 문자 인코딩의 코드값 범위와 입력 문서에 포함된 문자의 코드값을 비교하여 입력 문서에 포함된 문자 중 해당 문자 인코딩의 코드값 범위에 속하지 않는 코드값을 갖는 문자의 수를 검출한다(240).
또한, 입력 문서에 포함된 총 문자의 수 대비 해당 문자 인코딩에 대해 검출된 문자의 수의 비율을 산출(245)하고, 해당 문자 인코딩에 대해 산출한 비율이 미리 정해진 비율 이상인지 여부를 확인한다(250).
이때, 산출한 비율이 미리 정해진 비율 미만인 것으로 확인(250)되면 해당 문자 인코딩을 입력 문서의 1차 문자 인코딩 후보로 선정한다(255).
또한, 산출한 비율이 미리 정해진 비율 이상인 것으로 확인(250)되면 해당 문자 인코딩이 입력 문서에 해당하지 않는 것으로 판단하고, 복수 개의 문자 인코딩 중 다른 하나의 문자 인코딩에 대해 상술한 과정을 반복하여 복수의 문자 인코딩 중 입력 문서에 해당하는 1차 문자 인코딩 후보를 선정한다.
도 3b 를 참조하면, 입력 문서에 해당하는 1차 문자 인코딩 후보를 판별한 후, 미리 저장된 언어별 코드범위특성데이터 중 입력 문서의 코드값 정보에 대응하는 코드범위특성데이터가 존재하는지 여부를 확인한다(310).
이때, 미리 저장된 언어별 코드범위특성데이터는 각 언어 별로 언어 환경에 해당하는 문자 인코딩에 따른 코드값 범위의 출현 특성을 정리한 데이터로, 언어 별로 작성된 문자들의 코드값 범위를 출현 빈도 별로 정리함으로써 획득될 수 있다.
미리 저장된 언어별 코드범위특성데이터 중 입력 문서의 코드값 정보에 대응하는 코드범위특성데이터가 존재하는 것으로 확인(310)되면, 입력 문서의 코드값 정보에 대응되는 코드범위특성데이터에 대응되는 언어를 입력 문서의 언어로 판별한다(315).
또한, 미리 저장된 언어별 코드범위특성데이터 중 입력 문서의 코드값 정보에 대응하는 코드범위특성데이터가 존재하지 않는 것으로 확인(310)되면, 입력 문서 내에서 언어별 코드범위특성데이터 중 어느 하나와 대응되는 문자 코드값으로 이루어지는 영역을 검출(320)하고, 입력 문서를 검출된 영역 별로 분리시키고(325), 분리된 각각의 영역에 대응되는 코드범위특성의 언어를 분리된 각 문서의 언어로 판별한다(330).
문서의 언어를 판별(320, 330)한 후, 1차 문자 인코딩 후보 중 판별된 언어에 대해 문자 인코딩으로 치환할 수 있는, 즉 판별된 언어에 적용 가능한 문자 인코딩을 추출하여 해당 문서의 2차 문자 인코딩 후보로 선정한다(335).
해당 문서의 2차 문자 인코딩 후보를 선정(335)한 후, 기술된 언어가 판별된 문서 또는 각 언어로 분리된 문서를 형태소 분석하여 해당 문서에 포함된 단어를 추출(340)하고, 해당 문서에 포함된 단어 중 미리 저장된 단어 데이터베이스와 일치하는 단어를 추출한다(345).
2차 문자 인코딩 후보 중 단어 데이터베이스와 일치하는 단어에 대해 가장 높은 출현 빈도를 갖는 문자 인코딩을 검출하여 문서의 최종적인 문자 인코딩으로 판별(350)하고, 판별된 문자 인코딩을 이용하여 문서를 유니코드 텍스트 파일로 변환한다(355).
이와 같은, 문서의 문자 인코딩을 판별 및 변환하는 기술은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드 뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 문자 인코딩 변환 장치
110: 입력부
120: 코드 판별부
130: 코드 변환부
140: 출력부
150: 데이터베이스

Claims (12)

  1. 문자 인코딩 변환 장치에서의 문자 인코딩 변환 방법에 있어서,
    문서를 입력받아 상기 문서의 코드값을 추출하고,
    상기 문서의 코드값이 미리 저장된 문자 인코딩의 코드값 범위에 속하는지 여부에 따라 1차 문자 인코딩 후보를 선정하고,
    상기 문서에 포함된 문자의 코드값을 문자의 출현 빈도에 따라 배열하고, 문자의 출현 빈도에 따라 배열한 상기 문서에 포함된 문자의 코드값과 언어별로 문서 내 문자의 코드값 범위의 출현 특성을 나타내는 언어별 코드범위특성데이터를 비교하여 상기 문서에 해당하는 코드범위특성데이터를 검출하고, 상기 검출한 코드범위특성데이터에 대응하는 언어를 검출하여 상기 문서에 기술된 언어를 판별하고,
    상기 문서에 기술된 언어를 기반으로 하여 상기 1차 문자 인코딩 후보에서 2차 문자 인코딩 후보를 선정하고,
    상기 문서에 포함된 문자의 출현 빈도에 따라 상기 2차 문자 인코딩 후보 중 상기 문서에 해당하는 문자 인코딩을 선택하고,
    상기 선택된 문자 인코딩을 기반으로 상기 문서를 유니코드의 텍스트 파일로 변환하는 문자 인코딩 변환 방법.
  2. 제 1 항에 있어서,
    상기 문서의 코드값을 분석하여 상기 문서 내에 이스케이프 문자가 포함되어 있는지 여부를 확인하고, 상기 문서 내에 이스케이프 문자가 포함되어 있으면 상기 문서 내 포함되어 있는 이스케이프 문자의 조합에 대응되는 문자 인코딩을 검출하고, 상기 문서 내 포함되어 있는 이스케이프 문자에 대응되는 문자 인코딩을 기반으로 상기 문서를 유니코드의 텍스트 파일로 변환하는 것을 더 포함하는 문자 인코딩 변환 방법.
  3. 제 2 항에 있어서,
    상기 문서 내에 이스케이프 문자가 비포함되어 있으면 상기 문서에 포함된 모든 문자의 코드값이 포함되는 코드값 범위를 산출하고, 상기 문서의 코드값 범위가 유니코드의 코드값 범위에 속하는지 여부를 확인하고, 상기 문서의 코드값 범위가 상기 유니코드의 코드값 범위에 속하면 상기 문서를 유니코드의 텍스트 파일로 변환하는 것을 더 포함하는 문자 인코딩 변환 방법.
  4. 청구항 4은(는) 설정등록료 납부시 포기되었습니다.
    제 3 항에 있어서,
    상기 1차 문자 인코딩 후보를 선정하는 것은,
    상기 문서의 코드값 범위가 상기 유니코드의 코드값 범위에 속하지 않는 것으로 확인되면, 상기 미리 저장된 문자 인코딩 별로 상기 문서에 포함된 문자의 코드값과 각 문자 인코딩의 코드값 범위를 비교하여 상기 미리 저장된 문자 인코딩 별로 상기 문서에 포함된 문자 중 문자 인코딩의 코드값 범위에 속하지 않는 문자의 수를 검출하고, 상기 미리 저장된 문자 인코딩 별로 상기 문서에 포함된 총 문자의 수 대비 상기 검출된 문자의 수의 비율을 산출하고, 상기 미리 저장된 문자 인코딩 중 상기 산출한 비율이 미리 정해진 비율 미만인 문자 인코딩을 상기 1차 문자 인코딩 후보로 선정하는 문자 인코딩 변환 방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 문서에 해당하는 문자 인코딩을 선택하는 것은,
    상기 문서를 형태소 분석하여 상기 문서에 포함된 단어를 추출하고, 상기 문서에 포함된 단어와 상기 문서가 기술된 언어에 대해 미리 저장된 단어 데이터베이스를 비교하여 상기 문서에 포함된 단어 중 상기 단어 데이터베이스와 일치하는 단어를 검출하고, 상기 2차 문자 인코딩 후보 중 상기 단어 데이터베이스와 일치하는 단어의 출현 빈도가 가장 높은 문자 인코딩을 검출하여 상기 문서의 문자 인코딩으로 선택하는 문자 인코딩 변환 방법.
  7. 제 1 항에 있어서,
    상기 언어별 코드범위특성데이터 중 상기 문서에 포함된 문자의 코드값에 해당하는 코드범위특성데이터가 검출되지 않으면 상기 문서 내에서 상기 언어별 코드범위특성데이터 중 어느 하나의 코드범위특성이 나타나는 영역을 검출하고, 상기 문서를 검출된 영역 별로 분리하고, 각각의 영역으로 분리된 문서의 언어를 해당 영역에 나타난 코드범위특성에 대응하는 언어로 판별하는 것을 더 포함하는 문자 인코딩 변환 방법.
  8. 청구항 8은(는) 설정등록료 납부시 포기되었습니다.
    제 7 항에 있어서,
    상기 분리된 문서 별로 해당 문서에 포함된 단어를 추출하고, 상기 분리된 문서 별로 해당 문서에 포함된 단어와 해당 문서의 언어에 대해 미리 저장된 단어 데이터베이스를 비교하여 상기 분리된 문서 별로 해당 문서에 포함된 단어 중 해당 문서의 언어에 대해 미리 저장된 단어 데이터베이스와 일치하는 단어를 검출하고, 상기 분리된 문서 별로 상기 2차 문자 인코딩 후보에서 해당 문서의 언어에 대해 미리 저장된 단어 데이터베이스와 일치하는 단어의 출현 빈도가 가장 높은 문자 인코딩을 검출하여 상기 분리된 문서의 문자 인코딩을 선택하는 문자 인코딩 변환 방법.
  9. 문서를 입력받는 입력부;
    상기 문서의 코드값을 추출하고, 상기 문서의 코드값이 미리 저장된 문자 인코딩의 코드값 범위에 속하는지 여부에 따라 1차 문자 인코딩 후보를 선정하고, 상기 문서의 코드값과 언어별로 미리 저장된 코드범위특성데이터를 비교하여 상기 문서에 기술된 언어를 판별하고, 상기 문서에 기술된 언어를 기반으로 하여 상기 1차 문자 인코딩 후보에서 2차 문자 인코딩 후보를 선정하고, 상기 문서의 코드값과 언어별로 미리 저장된 코드범위특성데이터를 비교하여 상기 문서에 기술된 언어를 판별하고, 상기 문서에 기술된 언어를 기반으로 하여 상기 1차 문자 인코딩 후보에서 2차 문자 인코딩 후보를 선정하고, 상기 문서에 포함된 문자의 출현 빈도에 따라 상기 2차 문자 인코딩 후보 중 상기 문서에 해당하는 문자 인코딩을 선택하여 상기 문서에 대한 문자 인코딩을 판별하는 코드 판별부; 및
    상기 코드 판별부에 의해 선택된 문자 인코딩을 기반으로 상기 문서를 유니코드의 텍스트 파일로 변환하는 코드 변환부를 포함하고,
    상기 코드 변환부는,
    상기 문서에 포함된 문자의 코드값을 문자의 출현 빈도에 따라 배열하고, 문자의 출현 빈도에 따라 배열한 상기 문서에 포함된 문자의 코드값과 언어별로 문서 내 문자의 코드값 범위의 출현 특성을 나타내는 언어별 코드범위특성데이터를 비교하여 상기 문서에 해당하는 코드범위특성데이터를 검출하고, 상기 검출한 코드범위특성데이터에 대응하는 언어를 검출하여 상기 문서에 기술된 언어를 판별하는 문자 인코딩 변환 장치.
  10. 제 9 항에 있어서,
    상기 코드 판별부는,
    상기 문서의 코드값을 분석하여 상기 문서 내에 이스케이프 문자가 포함되어 있는지 여부를 확인하고, 상기 문서 내에 이스케이프 문자가 포함되어 있으면 상기 문서 내 포함되어 있는 이스케이프 문자의 조합에 대응되는 문자 인코딩을 검출하고, 상기 문서 내 포함되어 있는 이스케이프 문자에 대응되는 문자 인코딩을 기반으로 상기 문서를 유니코드의 텍스트 파일로 변환하는 문자 인코딩 변환 장치.
  11. 삭제
  12. 제 9 항에 있어서,
    상기 코드 판별부가 상기 문서의 문자 인코딩을 선택하는 것은,
    상기 문서를 형태소 분석하여 상기 문서에 포함된 단어를 추출하고, 상기 문서에 포함된 단어와 상기 문서에 기술된 언어에 대해 미리 저장된 단어 데이터베이스를 비교하여 상기 문서에 포함된 단어 중 상기 단어 데이터베이스와 일치하는 단어를 검출하고, 상기 2차 문자 인코딩 후보 중 상기 단어 데이터베이스와 일치하는 단어의 출현 빈도가 가장 높은 문자 인코딩을 검출하여 상기 문서의 문자 인코딩으로 선택하는 문자 인코딩 변환 장치.
KR1020150141776A 2015-10-08 2015-10-08 문자 인코딩 변환 장치 및 방법 KR101693627B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150141776A KR101693627B1 (ko) 2015-10-08 2015-10-08 문자 인코딩 변환 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150141776A KR101693627B1 (ko) 2015-10-08 2015-10-08 문자 인코딩 변환 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101693627B1 true KR101693627B1 (ko) 2017-01-17

Family

ID=57990167

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150141776A KR101693627B1 (ko) 2015-10-08 2015-10-08 문자 인코딩 변환 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101693627B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180109408A (ko) * 2017-03-28 2018-10-08 주식회사 와이즈넛 언어 판별 장치 및 방법
CN113569534A (zh) * 2020-04-29 2021-10-29 杭州海康威视数字技术股份有限公司 一种检测文档中乱码的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020020409A (ko) * 2000-09-08 2002-03-15 정규석 다양한 포맷을 갖는 문서번역이 가능한 기계번역장치
KR20060091051A (ko) 2005-02-11 2006-08-17 마이크로소프트 코포레이션 효율적인 언어 식별 방법
KR20060092545A (ko) * 2005-02-18 2006-08-23 삼성전자주식회사 문자 코드 변환 장치 및 방법
US7711673B1 (en) * 2005-09-28 2010-05-04 Trend Micro Incorporated Automatic charset detection using SIM algorithm with charset grouping

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020020409A (ko) * 2000-09-08 2002-03-15 정규석 다양한 포맷을 갖는 문서번역이 가능한 기계번역장치
KR20060091051A (ko) 2005-02-11 2006-08-17 마이크로소프트 코포레이션 효율적인 언어 식별 방법
KR20060092545A (ko) * 2005-02-18 2006-08-23 삼성전자주식회사 문자 코드 변환 장치 및 방법
US7711673B1 (en) * 2005-09-28 2010-05-04 Trend Micro Incorporated Automatic charset detection using SIM algorithm with charset grouping

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180109408A (ko) * 2017-03-28 2018-10-08 주식회사 와이즈넛 언어 판별 장치 및 방법
KR101946836B1 (ko) 2017-03-28 2019-04-29 주식회사 와이즈넛 언어 판별 장치 및 방법
CN113569534A (zh) * 2020-04-29 2021-10-29 杭州海康威视数字技术股份有限公司 一种检测文档中乱码的方法及装置

Similar Documents

Publication Publication Date Title
KR101162051B1 (ko) 문자열 비교 기법을 이용한 악성코드 탐지 및 분류 시스템 및 그 방법
CN101510252B (zh) 区域提取方法、字符识别方法以及字符识别装置
CA2945458C (en) Constraint extraction from natural language text for test data generation
RU2474870C1 (ru) Способ автоматизированного анализа текстовых документов
Hämäläinen et al. From the paft to the fiiture: a fully automatic NMT and word embeddings method for OCR post-correction
US20200082083A1 (en) Apparatus and method for verifying malicious code machine learning classification model
US20160232154A1 (en) Automated language detection for domain names
JP2019512127A (ja) 文字列距離計算方法及び装置
KR101520671B1 (ko) 실행코드 유사도 분석 시스템 및 방법
KR101693627B1 (ko) 문자 인코딩 변환 장치 및 방법
KR102334018B1 (ko) 자가 증식된 비윤리 텍스트의 유효성 검증 장치 및 방법
CN112182337B (zh) 从海量短新闻中识别相似新闻的方法及相关设备
CN113642327A (zh) 一种标准知识库的构建方法及装置
WO2018103128A1 (en) System and method for organizing and processing feature based data structures
CN110096481B (zh) 文件编码的识别方法及计算机可读存储介质
JP5853531B2 (ja) 情報処理装置及び情報処理プログラム
CN111291535A (zh) 剧本处理方法、装置、电子设备及计算机可读存储介质
CN103049434A (zh) 一种变形词证认系统及证认方法
US11615636B2 (en) Apparatus and method for document recognition
KR101847144B1 (ko) 자소 결합 코드를 이용한 단어 검색 장치 및 방법
KR101804810B1 (ko) 유사문서 판별장치 및 이를 이용한 유사문서 판별방법
JP2014235584A (ja) 文書分析システム、文書分析方法およびプログラム
JP4192142B2 (ja) 辞書登録装置、辞書登録方法および辞書登録プログラム
CN107427732B (zh) 用于组织和处理基于特征的数据结构的系统和方法
JP2010176237A (ja) 文字コード自動判別システム、文字コード自動判別方法及び文字コード自動判別プログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 4