상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 바람직한 일 실시예에 따르면, 이동통신 단말기에서 특수 문자를 이용하여 편집된 단문 메시지를 필터링하는 방법으로서, 일반 문자로 이용할 수 있는 특수 문자에 대한 테이블을 생성하는 단계(a); 이동통신 단말기로 전송된 메시지 텍스트에 상기 테이블에 포함된 특수 문자가 존재하는지 여부를 판단하는 단계(b); 상기 단계(b)의 판단 결과, 상기 메시지 텍스트에 상기 테이블에 포함된 특수 문자가 존재할 경우, 상기 메시지에 포함된 특수 문자가 자음으로 사용될 수 있는 특수 문자인지 또는 모음으로 사용될 수 있는 특수 문자 인지 여부를 판단하는 단계(c); 상기 메시지 텍스트에 포함된 특수 문자의 이전 문자 또는 이후 문자를 이용하여 특수 문자를 통해 의미 있는 문자를 형성하였는지 여부를 판단하는 단계(d); 및 상기 단계(d)의 판단 결과에 따라 해당 메시지의 필터링을 수행하는 단계(e)를 포함하는 이동통신 단말기에서 특수 문자를 이용하여 편집된 단문 메시지를 필터링하는 방법이 제공된다.
본 발명의 다른 실시예에 따르면, 특수 문자를 이용하여 편집한 단문 메시지를 필터링하는 이동통신 단말기로서, 일반 문자로 이용할 수 있는 특수 문자에 대한 정보를 저장하는 테이블; 사용자가 전송한 메시지 텍스트에 상기 테이블에 포함된 특수 문자들을 매칭시켜 상기 테이블에 포함된 특수 문자가 존재하는지 여부를 판단하는 캐릭터 매칭 모듈; 상기 캐릭터 매칭 모듈의 비교 결과를 이용하여, 상기 메시지 텍스트에 상기 테이블에 포함된 특수 문자가 존재할 경우, 상기 메시지에 포함된 특수 문자가 자음으로 사용될 수 있는 특수 문자인지 또는 모음으로 사용될 수 있는 특수 문자 인지 여부를 판단하는 특수 문자 감지 모듈; 상기 특수 문자 감지 모듈에서 특수 문자를 감지할 경우, 상기 메시지 텍스트에 포함된 특수 문자의 이전 문자 또는 이후 문자를 이용하여 특수 문자를 통해 의미 있는 문자를 형성하였는지 여부를 판단하는 하는 필터링 판단 모듈; 및 특수 문자를 통해 의미 있는 문자를 형성하였을 경우, 해당 메시지를 필터링하는 필터링 모듈을 포함하는 특수 문자를 이용하여 편집한 메시지를 필터링하는 이동통신 단말기가 제공된다.
본 발명의 또 다른 실시예에 따르면, 이동통신 시스템에서 특수 문자를 이용하여 편집된 단문 메시지를 필터링하기 위해 단문 메시지 서비스 센터에서 실행되는 방법으로서, 일반 문자로 이용할 수 있는 특수 문자에 대한 테이블을 생성하는 단계(a); 상기 단문 메시지 센터로 전송된 메시지 텍스트에 상기 테이블에 포함된 특수 문자가 존재하는지 여부를 판단하는 단계(b); 상기 단계(b)의 판단 결과, 상기 메시지 텍스트에 상기 테이블에 포함된 특수 문자가 존재할 경우, 상기 메시지에 포함된 특수 문자가 자음으로 사용될 수 있는 특수 문자인지 또는 모음으로 사용될 수 있는 특수 문자 인지 여부를 판단하는 단계(c); 상기 메시지 텍스트에 포함된 특수 문자의 이전 문자 또는 이후 문자를 이용하여 특수 문자를 통해 의미 있는 문자를 형성하였는지 여부를 판단하는 단계(d); 및 상기 단계(d)의 판단 결과에 따라 해당 메시지의 필터링을 수행하는 단계(e)를 포함하는 이동통신 시스템에서의 단문 메시지 필터링 방법이 제공된다.
본 발명의 또 다른 실시예에 따르면, 이동통신 단말기에서 특수 문자를 이용하여 편집된 단문 메시지를 필터링하는 방법으로서, 일반 문자로 이용할 수 있는 특수 문자에 대한 테이블을 생성하는 단계-상기 테이블에는 일반 문자로 이용할 수 있는 특수 문자와 각 특수 문자에 상응하는 헥사 코드 및 각 특수 문자와 관련된 일반 문자 정보가 저장됨-(a); 사용자가 전송한 메시지 텍스트의 헥사 코드와 상기 테이블의 헥사 코드들을 비교하는 단계(b); 상기 단계(b)의 비교 결과, 메시지 텍스트의 헥사 코드가 상기 테이블의 헥사 코드들 중 어느 하나와 일치할 경우, 해당 헥사 코드에 상응하는 특수 문자를 테이블에 관련하여 저장되어 있는 일반 문자로 치환하는 단계(c); 상기 단계(b) 및 (c)를 메시지 텍스트의 모든 헥사 코드에 대해 반복하는 단계(d); 치환된 메시지에 대해 미리 설정된 차단 키워드를 이용하여 스트링 매칭을 수행하는 단계(e); 및 스트링 매칭 결과 차단 키워드에 상응하는 문자열이 존재할 경우, 해당 메시지를 필터링하는 단계(f)를 포함하는 이동통신 단말기에서 특수 문자를 이용하여 편집된 단문 메시지를 필터링하는 방법이 제공된다.
본 발명의 또 다른 실시예에 따르면, 이동통신 시스템에서 특수 문자를 이용하여 편집된 단문 메시지를 필터링하기 위해 단문 메시지 서비스 센터에서 실행되는 방법으로서, 일반 문자로 이용할 수 있는 특수 문자에 대한 테이블을 생성하는 단계-상기 테이블에는 일반 문자로 이용할 수 있는 특수 문자와 각 특수 문자에 상응하는 헥사 코드 및 각 특수 문자와 관련된 일반 문자 정보가 저장됨-(a); 사용자가 전송한 메시지 텍스트의 헥사 코드와 상기 테이블의 헥사 코드들을 비교하는 단계(b); 상기 단계(b)의 비교 결과, 메시지 텍스트의 헥사 코드가 상기 테이블의 헥사 코드들 중 어느 하나와 일치할 경우, 해당 헥사 코드에 상응하는 특수 문자를 테이블에 관련하여 저장되어 있는 일반 문자로 치환하는 단계(c); 상기 단계(b) 및 (c)를 메시지 텍스트의 모든 헥사 코드에 대해 반복하는 단계(d); 치환된 메시지에 대해 미리 설정된 차단 키워드를 이용하여 스트링 매칭을 수행하는 단계(e); 및 스트링 매칭 결과 차단 키워드에 상응하는 문자열이 존재할 경우, 해당 메시지를 필터링하는 단계(f)를 포함하는 이동통신 시스템에서의 단문 메시지 필터링 방법이 제공된다.
이하에서 도면을 참조하여 본 발명에 의한 특수 문자를 이용하여 편집한 단문 메시지의 필터링 방법 및 이를 이용한 이동통신 단말기의 실시예를 상세하게 설 명한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 단문메시지에서 특수 문자를 포함한 메시지 필터링 방법의 전체적인 순서도이다.
도 2를 참조하면, 우선 일반 문자로 인식될 수 있는 특수 문자 자음 및 모음에 대한 테이블을 생성한다(단계 200). 여기서 특수 문자는 대표적으로 전각 기호이며, 일반 한글 문자 이외에 문서 편집기 등을 이용하여 삽입할 수 있는 모든 기호를 포함할 수 있을 것이다.
예를 들어, 전각기호 '㉡'은 한글 자음 'ㄴ'으로 사용될 수 있으며, 전각기호 '┧'는 한글 모음 'ㅓ'로 사용될 수 있다. 특수 문자 테이블은 이와 같이 일반 모음 및 일반 자음으로 사용될 수 있는 특수 문자를 집합한 테이블이다. 테이블에 포함되는 특수문자는 관리자의 설정에 따라 다양하게 변경될 수 있을 것이다. 또한, 특수 문자 테이블에는 헥사 코드 필드가 포함되어 있으며, 각 특수 문자에 상응하는 헥사 코드가 함께 기록된다. 특수 문자 테이블의 상세한 예는 후에 설명하기로 한다.
사용자가 이동통신 단말기를 이용하여 단문 메시지를 전송하면, 단문 메시지 텍스트의 헥사 코드 데이터를 추출한다(단계 200).
종래의 필터링 방법의 경우, 단문 메시지의 텍스트와 미리 설정된 차단 키워드를 비교하므로, 메시지 텍스트의 헥사 코드 데이터를 메시지 필터링에 이용하지 않는다. 그러나, 본 발명은 특수 문자를 이용하여 차단 키워드에 상응하는 의미의 문자열을 만들어 전송하는 것을 방지하기 위해, 단문 메시지 텍스트의 헥사 코드를 이용한다.
단문 메시지 텍스트의 헥사 코드를 추출한 후, 메시지 텍스트의 헥사 코드들 중 적어도 하나 이상이 미리 설정된 특수 문자 테이블에 있는 헥사 코드들과 일치하는지 여부를 판단한다(단계 204). 이는 자음 또는 모음으로 활용될 수 있는 특수 문자를 메시지에 포함시켰는지 여부를 판단하는 것이다.
메시지 텍스트의 헥사 코드들 중 적어도 하나 이상이 미리 설정된 테이블의 헥사 코드와 일치할 경우, 특수 문자를 이용하여 의미 있는 문자를 형성하였는지 여부를 판단한다(단계 206). 테이블 상의 특수 문자 자음 및 모음에 상응하는 문자가 단문 메시지에 포함되어 있다고 할지라도 키워드 차단을 회피하기 위해 특수 문자를 통해 의미 있는 문자를 형성하지 않았을 수도 있다. 따라서, 테이블상에 포함된 특수 문자를 사용하였다는 것만으로 메시지를 차단할 경우, 선의의 피해자가 생길 수 있다. 따라서, 본 발명에서는 특수 문자를 통해 의미 있는 문자를 만들었는지 여부를 다시 검사하도록 한다.
본 발명의 바람직한 실시예에 따르면, 다음의 세가지 케이스가 특수 문자를 이용하여 의미 있는 문자를 형성한 케이스라고 판단한다. 그러나, 특수 문자를 통해 의미 있는 문자를 형성하는 케이스가 다음의 세가지 케이스에 한정되는 것은 아니며, 관리자의 설정에 따라 머 많은 케이스가 추가될 수 있다는 것은 당업자에게 있어 자명할 것이다.
첫 번째 케이스는 미리 설정된 특수 문자 자음과 미리 설정된 특수 문자 모음이 함께 쓰이는 경우이다. 예를 들어, 이 '㉠'이 특수 문자 자음으로 설정되어 있고, '┤'가 특수 문자 모음으로 설정되어 있는 경우, '㉠┤'라고 특수 문자 만으로 문자열을 만들어 한글의 '거'와 동일한 문자로 보이도록 문자열을 형성하는 경우이다.
두 번째 케이스는 자음으로는 특수 문자를 이용하고 모음으로는 일반 문자를 이용하는 경우이다. 예를 들어, '㉠ㅓ'와 같은 케이스가 여기에 속한다. 이는, 'ㄱ' 대신에 '㉠'을 사용하여 한글의 '거'와 동일한 문자로 보이도록 문자열을 형성하는 경우이다.
세 번째 케이스는 자음으로는 일반 자음을 사용하고 모음으로 특수 문자를 이용하는 경우이다. 예를 들어, 'ㄱ┤'와 같은 케이스가 여기에 속한다. 이는 모음 'ㅓ' 대신 특수문자 '┤'를 사용하여 한글의 '거'와 동일한 문자로 보이도록 문자열을 형성하는 경우이다.
본 발명에 의하면, 단문 메시지 텍스트에 미리 설정된 테이블상에 있는 헥사 코드가 있는 경우, 해당 헥사 코드의 다음 헥사 코드 또는 이전 헥사 코드를 조사하여 위와 같은 세가지 경우에 속하는지 여부를 판단함으로써 특수 문자를 통해 의미 있는 문자를 형성하였는지 여부를 판단한다.
판단 결과, 상기한 세가지 케이스에 속하는 경우, 해당 메시지 데이터를 필터링한다(단계 208).
도 3a는 본 발명에 의한 단문 메시지 필터링 방법이 사용되는 이동통신 시스템의 일례를 도시한 도면이다.
도 3a를 참조하면, 본 발명에 의한 단문 메시지 필터링 방법이 사용되는 시 스템은 이동통신 단말기(Mobile Station: 300, 316), 기지국(Base Trasceiving Staion: 302, 314), 이동통신 교환기(Mobile Switching Center: 304, 312), 신호 전달 포인트(Signal Transfer Point: 306, 308) 및 단문 메시지 서비스 센터(Short Message Service Center: 310)를 포함할 수 있다.
도 3에서, 이동통신 단말기(110, 116)는 사용자가 편집한 단문 메시지를 기지국(102, 114)에 전송하거나 기지국(102, 114)으로부터 단문 메시지를 수신하는 기능을 한다. 이동통신 단말기(110, 116)는 일반적인 휴대폰은 물론 PDA, 휴대용 노트북과 같은 무선 통신을 수행할 수 있는 단말기를 모두 포함할 수 있다.
기지국(102, 114)은 이동통신 교환기(104, 112)와 이동통신 단말기(110, 116)들 사이의 무선 신호의 전송과 관련된 기능을 처리한다. 사용자가 작성한 단문 메시지 무선 신호는 기지국(102, 114)에 우선적으로 전송되며, 기지국은 수신한 신호를 이동통신 교환기(104, 112)에 전달한다. 도 3a에는 도시되어 있지 않으나, 기지국(102, 114)과 이동통신 단말기(104, 112) 사이에는 기지국 제어기가 구비되며, 기지국 제어기는 사용자가 기지국의 한 섹터에서 다른 섹터로 이동할 때 적절한 자원할당을 하는 기능을 한다.
이동통신 교환기(104, 112)는 시스템의 교환기능을 수행하고 다른 전화와 데이터 시스템들과의 호들을 제어하는 역할을 한다. 이동통신 교환기(104, 112)는 수신딘 신호가 단문 메시지임을 판단하여 단문 메시지 서비스 센터(110)에 단문 메시지 데이터를 전송하고, 단문 메시지 서비스 센터(110)에서 처리된 메시지가 적절한 기지국을 통해 특정 이동 가입자에게 전달되도록 한다.
신호 전달 포인트(106, 108)는 대개 IN 배치에 사용할 수 있는 네트워크 요소로, IN 배치는 다중 네트워크 요소와 SS7(signaling system 7) 링크 위로 IS-41 상호연결을 허용한다.
단문 메시지 서비스 센터(110)는 이동통신 단말기들 사이의 단문 메시지를 전달하고 저장하는 역할을 하는 하드웨어와 소프트웨어의 조합으로 이루어진다.
본 발명의 일 실시예에 따르면, 본 발명에 의한 단문 메시지 필터링 방법은 단문 메시지 서비스 센터(110)에서 수행될 수 있으며, 이 경우 단문 메시지 서비스 센터(110)는 소프트웨어 또는 하드웨어 또는 이들의 조합으로 구현된 단문 메시지 필터링 모듈(118)을 구비할 수 있다. 단문 메시지 필터링 모듈(116)은 단문 메시지 센터로 전송된 메시지에 대해 도 2와 같은 프로세스를 수행하여 단문 메시지를 필터링한다.
본 발명의 다른 실시예에 따르면, 본 발명에 의한 단문 메시지 필터링 방법은 이동통신 단말기(100, 116)에서 수행될 수도 있다. 이 경우, 단문 메시지는 필터링이 되지 않은 채 일단 수신자 이동통신 단말기로 전송되며, 수신자 이동통신 단말기에 구비된 단문 메시지 필터링 모듈은 수신된 메시지에 대해 도 2와 같은 프로세스를 수행하여 단문 메시지를 필터링한다. 전달된 메시지가 특수 문자를 이용하여 의미 있는 문자열을 구성한 메시지일 경우, 수신자 이동통신 단말기는 해당 메시지의 저장을 거부하거나, 메시지를 저장하기는 하되 스팸 메시지로 처리하여 사용자에게 알람 신호를 제공하지 않는 방식으로 필터링을 수행할 수 있을 것이다.
도 3b는 본 발명에 의한 필터링 방법이 이동통신 단말기에서 수행될 경우 단 말기의 내부 구성을 도시한 블록도이다.
도 3b에 도시된 바와 같이, 본 발명의 일 실시예에 따른 이동통신 단말기는 키패드(350), 메모리(352), 호처리 디바이스(354), 디스플레이 디바이스(356), 제어부(358), 음향 디바이스(360), 전원(362), 오퍼레이팅 시스템(364) 및 SMS 처리 모듈(366)을 포함할 수 있다.
도 3b에서, 키패드(350)는 복수의 키 버튼(예를 들어, 숫자 버튼, 문자 버튼, 기능 버튼 등)으로 구성되며, 사용자로부터 탐색 화면 표시 요청, 임의의 수신측 단말기에 상응하는 전화번호 등을 입력받는 수단이다. 키패드를 통해 입력된 사용자의 키 입력 정보는 제어부(358)로 전달되어 사용자가 키패드를 통해 요청한 동작이 이루어지도록 한다.
메모리(352)는 이동 통신 단말기가 통신 서비스를 수행할 수 있도록 하는 통신 관련 정보(예를 들어, 단말기 일련번호(ESN : Electronic Serial Number), 전화번호 등), 사용자 개인 정보(예를 들어, 전화번호부, 단문 메시지 송수신 데이터 등), 최근 통화기록(즉, 최근 발신 전화번호, 최근 수신 전화번호) 등을 저장한다. 메모리(350)는 저장되는 정보의 유형에 따라 복수로 구성되거나 복수의 저장 영역으로 분할될 수 있다. 예를 들어, 통신 관련 정보 등과 같이 필수적인 정보를 저장하기 위한 영역, 단문 메시지를 포함하는 사용자 개인 정보 등과 같이 사용자에 의한 관리가 가능한 정보를 저장하기 위한 영역 및 컴퓨터 등의 자동화 장치와 결합되어 외장형 메모리처럼 동작할 수 있는 자유 저장 영역 등으로 구분될 수 있을 것이다.
호처리 디바이스(354)는 무선 신호의 송수신을 처리하며, 수신된 신호의 변복조 및 데이터 변환, 처리된 신호를 메모리에 저장하는 동작 등을 수행한다.
디스플레이 디바이스(356)는 이동통신 단말기에 사용에 필요한 정보를 단말기에 표시하는 기능을 수행하며, 메모리(352)에 저장된 정보를 이용하여 인터페이스 메뉴, 사용자 저장 정보(SMS, 전화번호) 및 현재 처리 상태(통화중) 등을 표시하는 기능을 한다. 디스플레이는 다양한 디스플레이 수단을 통해 구현될 수 있으며, LCD, OLED 등을 포함할 수 있을 것이다.
음향 디바이스(360)는 특정 이벤트가 발생할 경우 미리 저장되어 있는 음원을 출력하는 기능을 한다. 예를 들어, 음향 디바이스(372)는 알람 이벤트, 통화 착신 이벤트, 단문 메시지 착신 이벤트 등을 감지하여 해당 음향 신호를 출력한다.
오퍼레이팅 시스템(364)은 단말기의 데이터 처리를 위한 운영 체계를 제공하는 기능을 하며, 공지된 다수의 오퍼레이팅 시스템이 사용될 수 있을 것이다.
SMS 처리 모듈(366)은 오퍼레이팅 시스템(364)과 연계하여 단문 메시지의 전송 및 수신을 처리하는 기능을 한다. 그러나, 도 3b와 달리 오퍼레이팅 시스템과 연계하지 않고 독립적으로 SMS 처리 모듈(366)이 단문 메시지를 처리할 수도 있을 것이다.
단문 메시지와 송신과 관련하여, SMS 처리 모듈(366)은 사용자가 단문 메시지를 편집할 수 있는 인터페이스를 제공하고, 편집된 단문 메시지를 변환하여 무신 신호로 송출될 수 있도록 한다.
단문 메시지의 수신과 관련하여, SMS 처리 모듈(366)은 수신된 단문 메시지 를 변환하고 이를 메모리에 저장하는 기능을 한다.
제어부(358)는 도 3b에 도시된 각 모듈들과 연계하여 이동통신 단말기의 전체적인 동작을 제어하는 기능을 한다.
특수 문자를 이용하여 편집된 단문 메시지를 필터링하는 모듈(368)은, 도 3b에 도시된 바와 같이, SMS 처리 모듈 내부에 구비될 수 있으며, 수신된 메시지에 대해 도 2와 같은 프로세스를 수행한다.
도 4는 본 발명의 바람직한 일 실시에에 따른 메시지 필터링 모듈의 구성을 도시한 블록도이다.
도 4에 도시된 바와 같이, 본 발명의 바람직한 일 실시예에 따른 메시지 필터링 모듈은 캐릭터 매칭 모듈(400), 특수 문자 테이블(402), 특수 문자 감지 모듈(404), 필터링 판단 모듈(406), 필터링 모듈(408), 일반 문자 테이블(410)을 포함할 수 있다.
전술한 바와 같이, 단문 메시지 필터링 모듈은 단문 메시지 서비스 센터에 구비될 수도 있으며, 이동통신 단말기 내부에 구비되어 필터링을 수행할 수도 있다.
특수 문자 테이블(402)에는 자음으로 활용할 수 있는 특수 문자와 모음으로 활용할 수 있는 특수 문자가 저장되며, 이들 각각의 헥사 코드도 저장된다.
다음의 표 1은 자음으로 사용될 수 있는 특수 문자를 저장하고 있는 특수 문자 테이블의 일례를 도시한 표이다.
자음 |
HEX Mode |
자음 |
HEX Mode |
자음 |
HEX Mode |
자음 |
HEX Mode |
자음 |
HEX Mode |
|
|
㉯ |
A8 C0 |
|
|
|
|
|
|
㉠ |
A8 B1 |
㉰ |
A8 C1 |
|
|
|
|
|
|
㉡ |
A8 B2 |
㉱ |
A8 C2 |
|
|
|
|
|
|
㉢ |
A8 B3 |
㉲ |
A8 C3 |
|
|
|
|
|
|
㉣ |
A8 B4 |
㉳ |
A8 C4 |
|
|
|
|
|
|
㉤ |
A8 B5 |
㉴ |
A8 C5 |
|
|
|
|
|
|
㉥ |
A8 B6 |
㉵ |
A8 C6 |
|
|
|
|
|
|
㉦ |
A8 B7 |
㉶ |
A8 C7 |
|
|
|
|
|
|
㉧ |
A8 B8 |
㉷ |
A8 C8 |
|
|
|
|
|
|
㉨ |
A8 B9 |
㉸ |
A8 C9 |
|
|
|
|
|
|
㉩ |
A8 BA |
㉹ |
A8 CA |
|
|
|
|
|
|
㉪ |
A8 BB |
㉺ |
A8 CB |
|
|
|
|
|
|
㉫ |
A8 BC |
㉻ |
A8 CC |
|
|
|
|
|
|
㉬ |
A8 BD |
ⓐ |
A8 CD |
|
|
|
|
|
|
㉭ |
A8 BE |
|
|
|
|
|
|
|
A1 E0 |
㉮ |
A8 BF |
|
|
|
|
|
|
|
A1 E1 |
위의 표 1에 나타난 바와 같이, 자음으로 활용될 수 있는 각각의 특수 문자와 이에 상응하는 헥사 코드가 테이블에 저장된다. 위의 표 1은 자음으로 활용될 수 있는 특수 문자의 일례로서, 더 많은 특수 문자가 자음으로 활용될 수 있으며, 이러한 특수 문자들이 테이블에 추가될 수 있다는 것은 당업자에게 있어 자명할 것이다.
다음의 표 2는 모음으로 사용될 수 있는 특수 문자를 저장하고 있는 특수 문자 테이블의 일례를 도시한 표이다.
모음 |
HEX Mode |
모음 |
HEX Mode |
모음 |
HEX Mode |
모음 |
HEX Mode |
모음 |
HEX Mode |
|
|
┛ |
A6 B0 |
╂ |
A6 C0 |
┪ |
A6 D0 |
╆ |
A6 E0 |
─ |
A6 A1 |
┗ |
A6 B1 |
┒ |
A6 C1 |
┭ |
A6 D1 |
╇ |
A6 E1 |
│ |
A6 A2 |
┣ |
A6 B2 |
┑ |
A6 C2 |
┮ |
A6 D2 |
╈ |
A6 E2 |
┌ |
A6 A3 |
┳ |
A6 B3 |
┚ |
A6 C3 |
┱ |
A6 D3 |
╉ |
A6 E3 |
┐ |
A6 A4 |
┫ |
A6 B4 |
┙ |
A6 C4 |
┲ |
A6 D4 |
╊ |
A6 E4 |
┘ |
A6 A5 |
┻ |
A6 B5 |
┖ |
A6 C5 |
┵ |
A6 D5 |
|
|
└ |
A6 A6 |
╋ |
A6 B6 |
┕ |
A6 C6 |
┶ |
A6 D6 |
|
|
├ |
A6 A7 |
┠ |
A6 B7 |
┎ |
A6 C7 |
┹ |
A6 D7 |
|
|
┬ |
A6 A8 |
┯ |
A6 B8 |
┍ |
A6 C8 |
┺ |
A6 D8 |
|
|
┤ |
A6 A9 |
┨ |
A6 B9 |
┞ |
A6 C9 |
┽ |
A6 D9 |
|
|
┴ |
A6 AA |
┷ |
A6 BA |
┟ |
A6 CA |
┾ |
A6 DA |
|
|
┼ |
A6 AB |
┿ |
A6 BB |
┡ |
A6 CB |
╀ |
A6 DB |
|
|
━ |
A6 AC |
┝ |
A6 BC |
┢ |
A6 CC |
╁ |
A6 DC |
|
|
┃ |
A6 AD |
┰ |
A6 BD |
┦ |
A6 CD |
╄ |
A6 DD |
|
|
┏ |
A6 AE |
┥ |
A6 BE |
┧ |
A6 CE |
╄ |
A6 DE |
|
|
┓ |
A6 AF |
┸ |
A6 BF |
┩ |
A6 CF |
╅ |
A6 DF |
|
|
캐릭터 매칭 모듈(400)은 메시지에 포함된 텍스트의 헥사 코드와 특수 문자 테이블(402)에 포함된 특수 문자의 헥사 코드를 비교하는 기능을 한다. 캐릭터 매칭 모듈(402)은 단순히 메시지의 헥사 코드와 특수 문자 테이블상의 헥사 코드에 대한 매칭 작업을 수행하며, 스트링 매칭과 같은 인공지능 관련 프로세스를 수행하지는 않는다.
특수 문자 테이블의 헥사 코드는 그룹별로 일정한 규칙을 가지고 있는 것이 일반적이다. 표 1의 경우, 특수문자 ㉠ 내지 ㉭은 헥사 코드 A8B1 내지 A8BE에 해당된다. 따라서, 메시지 텍스트의 헥사 코드를 테이블 상의 헥사코드와 1:1 대응으로 비교하는 것보다 A8B1~ A8BE의 범위에 속하는지 여부를 판단하는 것과 같이 테이블 상의 데이터에 대해 범위를 지정하고 해당 범위에 메시지의 헥사코드가 포함되는지를 판단하는 방법에 의해 캐릭터 매칭이 더욱 신속하게 처리될 수 있을 것이다.
특수 문자 감지 모듈(404)은 캐릭터 매칭 결과 메시지에 특수 문자 테이블에 있는 특수 문자에 상응하는 헥사 코드가 있는지 여부를 판단하고, 메시지에 특수 문자가 포함되어 있을 경우, 해당 특수 문자가 자음으로 사용되는 특수 문자인지 또는 모음으로 사용되는 특수문자 인지 여부를 판단하는 기능을 한다.
특수 문자 감지 모듈(404)이 메시지에 자음 또는 모음으로 사용될 수 있는 특수 문자가 포함되었다는 것을 감지할 경우, 필터링 판단 모듈(406)은 해당 특수 문자에 의해 의미 있는 문자가 형성되었는지 여부를 판단한다. 의미 있는 문자가 특수 문자를 통해 형성되었다고 판단되는 경우, 필터링 판단 모듈(406)은 해당 메시지를 필터링할 필요가 있다고 판단한다. 이와 달리, 필터링 판단 모듈(406)은 특수 문자를 통해 의미 있는 문자를 만든 케이스를 카운팅하고 미리 설정된 임계치 이상의 케이스가 발생하는 경우 필터링을 하도록 할 수도 있을 것이다.
필터링 판단 모듈(406)은, 메시지에서 감지된 특수 문자가 자음으로 사용되는 특수 문자일 경우, 메시지에서 감지된 특수 문자 다음의 문자가 일반 모음 또는 특수문자 모음에 해당되는지 여부를 판단한다. 이때 다시 한번 캐릭터 매칭 모듈(400)이 동작하여 다음의 문자가 일반 모음 또는 특수 문자 모음에 해당되는지를 판단하며, 일반 문자에 대한 헥사 코드 정보는 일반 문자 테이블(410)에 저장된다. 물론 특수 문자 테이블에 일반 문자에 대한 헥사 코드 정보도 모두 저장될 수 있을 것이다.
감지된 특수 문자 다음의 문자가 일반 모음 또는 특수 문자 모음에 해당되는 경우, 필터링 판단 모듈(406)은 특수 문자를 통해 의미 있는 문자를 형성하였다고 판단한다.
메시지에서 감지된 특수 문자가 모음으로 사용되는 특수 문자일 경우, 필터링 판단 모듈(406)은 메시지에서 감지된 특수 문자 이전의 문자가 일반 자음 또는 특수 문자 자음에 해당되는지 여부를 판단한다.
감지된 특수 문자 이전의 문자가 일반 자음 또는 특수 문자 자음에 해당되는 경우, 필터링 판단 모듈(406)은 특수 문자를 통해 의미 있는 문자를 형성하였다고 판단한다.
필터링 모듈(408)은 필터링 판단 모듈(406)이 메시지를 필터링할 필요가 있다고 판단할 경우, 해당 메시지를 필터링하는 기능을 수행한다. 예를 들어, 단문 메시지 서비스 센터에서 단문 메시지를 필터링할 경우, 필터링 모듈(408)은 해당 단문 메시지의 전송을 차단할 수 있다. 이동통신 단말기에서 단문 메시지를 필터링할 경우, 해당 메시지를 저장하지 않거나 메시지를 저장하기는 하되 알람 신호를 제공하지 않는 방식으로 단문 메시지 필터링이 이루어질 수 있을 것이다.
도 5a는 본 발명의 바람직한 일 실시예에 따른 특수 문자 자음이 메시지에 포함된 경우의 처리 과정을 도시한 순서도이다.
도 5a를 참조하면, 우선 메시지 텍스트의 i(초기에는 1로 설정되어 있다)번째 헥사 코드와 테이블상의 특수 자음을 비교하는 과정을 수행한다(단계 500). 전술한 바와 같이, 테이블 상의 특수 자음 헥사 코드의 범위를 미리 지정하고 지정된 범위에 i번째 헥사 코드가 포함되는지를 판단할 수도 있으며, 테이블 상의 특수 자음 헥사 코드의 범위를 지정할 수 없는 경우 각각의 테이블 데이터에 대해 1:1 매 칭을 수행할 수도 있다. 물론, 위의 양 방법을 병행하여 비교할 수도 있을 것이다.
비교 결과, i번째 헥사 코드가 특수 자음에 포함되는 경우(단계 502), 메시지의 (i+1)번째 헥사 코드가 일반 모음 또는 특수 모음에 해당되는지 여부를 판단한다(단계 504). 비교 방법은 단계 500의 경우와 동일할 것이다.
메시지의 (i+1)번째 헥사 코드가 일반 모음 또는 특수 모음에 해당되는 경우, 해당 메시지는 특수 문자를 통해 의미 있는 문자를 형성하였다고 판단되며, 해당 메시지를 필터링하는 과정이 수행된다(단계 508). 물론, 전술한 바와 같이, 특수 문자를 통해 의미 있는 문자를 형성하는 횟수를 카운팅하고 미리 설정된 임계치를 초과하는 경우 메시지를 필터링하도록 할 수도 있을 것이다.
i번째 헥사 코드가 특수 자음에 해당되지 않는 경우, i번째 헥사 코드가 헥사 코드의 끝인지 여부를 판단하고, 그렇지 않을 경우 (i+1)번째 헥사 코드에 대해 단계 500 내지 단계 508을 반복한다.
도 5b는 본 발명의 다른 실시예에 따른 특수 문자 자음이 메시지에 포함된 경우의 처리 과정을 도시한 순서도이다.
도 5b는 도 5a와 비교하여 메시지 텍스트의 헥사 코드와 테이블의 특수 자음을 비교하는 과정만이 다르며, 나머지 과정은 동일하다. 도 5a의 경우, 메시지 텍스트의 헥사 코드를 기준으로 특수 문자 테이블의 헥사 코드들과 비교를 하였으나, 도 5b에서는 특수 문자 테이블의 헥사 코드를 기준으로 메시지의 헥사코드들과 비교를 수행한다. 메시지의 헥사 코드들은 일반적으로 규칙성이 없어 범위를 지정할 수 없으므로, 특수 문자 테이블의 헥사 코드들이 규칙성이 있는 경우에는 도 5a의 방법이 더 바람직할 것이다.
도 6a는 본 발명의 바람직한 일 실시예에 따른 특수 문자 모음이 메시지에 포함된 경우의 처리 과정을 도시한 순서도이다.
도 6a를 참조하면, 우선 메시지 텍스트의 i(초기에는 1로 설정되어 있다)번째 헥사 코드와 테이블상의 특수 모음을 비교하는 과정을 수행한다(단계 600). 특수 자음을 비교하는 경우와 마찬가지로, 테이블 상의 특수 모음 헥사 코드의 범위를 미리 지정하고 지정된 범위에 i번째 헥사 코드가 포함되는지를 판단할 수도 있으며, 테이블 상의 특수 모음 헥사 코드의 범위를 지정할 수 없는 경우 각각의 테이블 데이터에 대해 1:1 매칭을 수행할 수도 있고 위의 양 방법을 병행하여 비교할 수도 있을 것이다.
비교 결과, i번째 헥사 코드가 특수 모음에 포함되는 경우(단계 602), 메시지의 (i-1)번째 헥사 코드가 일반 자음 또는 특수 자음에 해당되는지 여부를 판단한다(단계 604). 비교 방법은 단계 600의 경우와 동일할 것이다.
메시지의 (i-1)번째 헥사 코드가 일반 자음 또는 특수 자음에 해당되는 경우, 해당 메시지는 특수 문자를 통해 의미 있는 문자를 형성하였다고 판단되며, 해당 메시지를 필터링하는 과정이 수행된다(단계 608). 전술한 바와 같이, 특수 문자를 통해 의미 있는 문자를 형성하는 횟수를 카운팅하고 미리 설정된 임계치를 초과하는 경우 메시지를 필터링하도록 할 수도 있을 것이다.
i번째 헥사코드가 특수 모음에 해당되지 않는 경우, i번째 헥사 코드가 헥사 코드의 끝인지 여부를 판단하고, 그렇지 않을 경우 (i+1)번째 헥사 코드에 대해 단 계 600 내지 단계 608을 반복한다.
도 6b는 본 발명의 다른 실시예에 따른 특수 문자 모음이 메시지에 포함된 경우의 처리 과정을 도시한 순서도로서, 메시지의 헥사 코드와 특수 모음에 상응하는 헥사 코드를 비교하는 방식만이 상이하며, 나머지 프로세스는 동일하다. 다시 말해, 도 6b는, 도 5b와 같이, 테이블상의 특수 모음 헥사 코드를 기준으로 메시지 텍스트의 헥사 코드들과 동일한지 여부를 비교한다.
도 7은 본 발명의 바람직한 일 실시예에 따른 필터링 판단 방법의 전체적인 흐름을 도시한 순서도이다.
도 7은 도 5a의 방법 및 도 6a의 방법을 통합한 방법으로서, 필터링 판단 방법은 도 7의 프로세스에 의해 수행되는 것이 바람직할 것이다.
도 7을 참조하면, 메시지의 i(초기에는 1로 설정)번째 헥사 코드와 특수 문자 테이블에 있는 헥사 코드들을 비교한다(단계 700).
비교 결과, i번째 헥사 코드가 특수 무자 테이블에 있는 헥사 코드들 중 하나와 일치하는지 여부를 판단한다(단계 702).
메시지의 i번째 헥사 코드가 특수 문자 테이블에 있는 헥사 코드들 중 하나와 일치할 경우, 일치하는 헥사 코드가 특수 문자 자음에 해당되는지 또는 모음에 해당되는지 여부를 판단한다(단계 704).
해당 헥사 코드가 특수 문자 자음에 해당되는 경우(, 메시지의 (i+1)번째 헥사 코드가 일반 모음 또는 특수 문자 모음에 해당되는지 여부를 판단한다(단계 706).
(i+1)번째 헥사 코드가 일반 모음 또는 특수 문자 모음에 해당될 경우, 특수 문자를 이용하여 의미 있는 문자를 형성하였다고 판단하고, 메시지에 대한 필터링을 수행한다(단계 710).
단계 704에서, 일치하는 헥사 코드가 특수 문자 모음에 해당되는 경우, 메시지의 (i-1)번째 헥사 코드가 일반 자음 또는 특수 문자 자음에 해당되는지 여부를 판단한다(단계 708).
(i-1)번째 헥사 코드가 일반 자음 또는 특수 문자 자음에 해당될 경우, 특수 문자를 이용하여 의미 있는 문자를 형성하였다고 판단하고, 메시지에 대한 필터링을 수행한다(단계 710).
i번째 헥사 코드가 특수 문자 테이블에 있는 헥사 코드들 중 하나와 일치하지 않거나, 특수 문자를 이용하여 의미 있는 문자를 형성하지 않았다고 판단되는 경우, i가 헥사 코드의 끝인지 여부를 판단하고(단계 712), 끝이 아닐 경우 (i+1)번째 헥사 코드에 대해 단계 700 내지 단계 710을 반복한다.
도 8은 본 발명의 다른 실시예에 따른 메시지 필터링 방법의 전체적인 흐름을 도시한 순서도이다.
전술한 실시예에서는 특수 문자를 이용하여 의미 있는 문자를 형성하는 경우에 필터링을 수행하는 방법(의미 있는 문자를 형성하는 횟수를 설정하여 필터링 하기도 함)에 대해 살펴보았다. 전술한 실시예에 의해 필터링을 수행할 경우, 특수 문자를 통해 의미 있는 문자를 형성하면 필터링이 되기 때문에 특수 문자를 통해 차단 키워드와 다른 문자를 형성한 경우에도 필터링이 될 수 있다. 도 8은 이와 같 이 필터링으로 인해 선의의 피해자가 생길 수 있는 경우를 방지하기 위한 필터링 방법을 제안한다.
도 8을 참조하면, 우선 특수 문자 자음 및 모음 테이블을 생성하고(단계 800), 각 특수 문자 자음 및 모음에 상응하는 일반 자음 및 일반 모음을 테이블상에 설정한다(단계 802).
표 1 및 표 2와 같은 테이블에 하나의 필드를 더 만들어 각각의 특수 문자가 일반 문자로 사용 될 때 어떠한 자음 및 모음으로 활용되는지에 대한 정보를 더 포함하는 테이블을 형성하는 것이다.
테이블이 형성된 후, 단문 메시지 서비스 센터 또는 이동통신 단말기는 메시지를 수신할 경우, 해당 메시지 텍스트의 헥사 코드와 테이블에 포함된 헥사 코드들을 비교한다(단계 804). 메시지 텍스트의 헥사 코드와 테이블의 헥사 코드를 비교하는 방식에 대해서는 도 5a 및 도 5b에서 상세히 설명하였다.
메시지의 헥사 코드가 테이블에 포함된 헥사 코드들 중 하나와 일치하는 경우, 해당 헥사 코드에 상응하는 특수 문자를 일반 문자로 치환한다(단계 808). 예를 들어, '㉠'에 상응하는 헥사 코드가 메시지에 있을 경우, 메시지의 특수 문자 '㉠'을 일반 자음인 'ㄱ'으로 치환하는 것이다.
메시지의 한 헥사 코드에 대해 단계 804 내지 단계 808 과정이 수행되면, 해당 헥사 코드가 메시지의 마지막 헥사 코드인지 여부를 판단하고(단계 810), 마지막 헥사 코드가 아닐 경우 메시지의 다음 헥사 코드에 대해 단계 804 내지 808을 수행한다.
메시지의 모든 헥사 코드에 대해 단계 804 내지 808이 수행되면, 메시지의 모든 특수 문자는 일반 문자로 치환된다. 치환된 메시지에 대해 차단 키워드에 대한 스트링 매칭을 수행한다(단계 812). 예들 들어, 차단 키워드가 '머니'인 경우 '머니'에 대한 스트링 매칭을 치화된 메시지에 대해 수행하는 것이다.
스트링 매칭 결과, 차단 키워드와 동일한 문자열이 존재하는 경우(단계 814), 해당 메시지를 필터링한다(단계 816).
도 8과 같은 방법에 의해, 특수 문자로 의미 있는 문자를 형성한 경우라도 차단 키워드에 상응하는 경우만을 필터링함으로써 필터링에 의한 선의의 피해자를 최소화할 수 있을 것이다.