KR20230160601A - 사이버 보안을 위한 난독화 텍스트 해독 방법 및 장치 - Google Patents

사이버 보안을 위한 난독화 텍스트 해독 방법 및 장치 Download PDF

Info

Publication number
KR20230160601A
KR20230160601A KR1020220060306A KR20220060306A KR20230160601A KR 20230160601 A KR20230160601 A KR 20230160601A KR 1020220060306 A KR1020220060306 A KR 1020220060306A KR 20220060306 A KR20220060306 A KR 20220060306A KR 20230160601 A KR20230160601 A KR 20230160601A
Authority
KR
South Korea
Prior art keywords
string
obfuscated
text
target
recognized
Prior art date
Application number
KR1020220060306A
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 KR1020220060306A priority Critical patent/KR20230160601A/ko
Priority to US18/198,562 priority patent/US20230377358A1/en
Publication of KR20230160601A publication Critical patent/KR20230160601A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • G06V20/63Scene text, e.g. street names
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/19007Matching; Proximity measures
    • G06V30/19093Proximity measures, i.e. similarity or distance measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19147Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/196Recognition using electronic means using sequential comparisons of the image signals with a plurality of references
    • G06V30/1983Syntactic or structural pattern recognition, e.g. symbolic string recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2125Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

사이버 보안을 위한 난독화 텍스트 해독 방법 및 장치가 제공된다. 본 개시의 몇몇 실시예에 따른 난독화 텍스트 해독 방법 및 장치는, 타깃 문자열을 포함하는 텍스트를 이미지로 변환하는 단계, 텍스트 인식 모델을 이용하여 상기 이미지에서 문자열을 인식하는 단계 및 상기 타깃 문자열과 상기 인식된 문자열의 유사도가 제1 기준값 이하인 경우, 상기 타깃 문자열이 난독화 텍스트인 것으로 판정하는 단계를 포함한다.

Description

사이버 보안을 위한 난독화 텍스트 해독 방법 및 장치 {METHOD AND APPARATUS FOR DECIPHERING OBFUSCATED TEXT FOR CYBER SECURITY}
본 개시는 난독화 텍스트 해독 방법 및 장치에 관한 것이다. 보다 자세하게는, 사이버 보안과 관련된 텍스트들의 난독화 여부를 판정하고, 난독화된 텍스트를 해독하는 방법 및 장치에 관한 것이다.
사이버 보안과 관련된 비정형 문서에는 알파벳, 한글 또는 한자 등을 다른 기호로 변환해서 적은 난독화(된) 텍스트(coded text)가 상당히 자주 등장한다. 사용된다. 난독화 방식의 대표적인 예로는 리트(leet)어를 들 수 있다.
리트어란, 컴퓨터 문서상에서 알파벳을 다른 기호로 치환해서 적는 방법이다. 리트어는 주로 인터넷 상에서 사용되며, 'A'를 '@'이나 'aye'로, 'B'를 '!3'이나 'P>'와 같은 형태로 표기하는 것이 그 예시이다.
리트어의 경우, 앞서의 예시처럼, 알파벳 하나를 치환하는 방법에도 다양한 방법이 있어 일대일 대응이 불가능하며, 이에 따라 텍스트를 일반적인 방식으로 분석하여 컴퓨터가 해독하도록 하는 것은 어려운 점이 있었다. 뿐만 아니라, 리트어가 포함된 비정형 문서는 정확하게 임베딩이 되지 않기 때문에, 모델 기반의 자동화된 자연어 처리도 정확하게 수행될 수 없다는 문제점도 있었다.
따라서, 사이버 보안과 관련된 비정형 문서에서 리트어와 같은 난독화 텍스트를 정확히 인식하고 해독할 수 있는 방법이 요구된다.
대한민국 공개특허공보 제10-2019-0083438호 (2019.07.12 공개)
본 개시가 해결하고자 하는 기술적 과제는, 난독화된 텍스트를 정확하게 해독하는 방법 및 장치를 제공하는 것이다.
본 개시가 해결하고자 하는 다른 기술적 과제는, 주어진 텍스트가 난독화되었는지 여부를 정확하게 판정하는 방법 및 장치를 제공하는 것이다.
본 개시가 해결하고자 하는 또 다른 기술적 과제는, 난독화된 텍스트를 해독하기 위하여 이용되는 데이터베이스를 제공하는 것이다.
본 개시가 해결하고자 하는 또 다른 기술적 과제는, 난독화된 텍스트를 포함하는 비정형 문서에 대한 자연어 처리를 정확하게 수행하는 방법 및 장치를 제공하는 것이다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 개시의 일 실시예에 따른 난독화 텍스트 해독 방법은, 타깃 문자열을 포함하는 텍스트를 이미지로 변환하는 단계 텍스트 인식 모델을 이용하여 상기 이미지에서 문자열을 인식하는 단계 및 상기 타깃 문자열과 상기 인식된 문자열의 유사도가 제1 기준값 이하인 경우, 상기 타깃 문자열이 난독화 문자열인 것으로 판정하는 단계를 포함할 수 있다.
몇몇 실시예에서, 상기 유사도가 제1 기준값을 초과한 경우, 상기 타깃 문자열이 난독화 문자열이 아닌 것으로 판정하는 단계를 더 포함하는 것일 수 있다.
몇몇 실시예에서, 상기 텍스트 인식 모델은 텍스트 이미지 셋을 이용하여 학습된 것이고, 상기 텍스트 이미지 셋은 컬러 지터링(color jittering), 로테이션(rotation), 투영 변환(perspective transform) 또는 블러링(blurring) 기법을 통해 생성된 텍스트 이미지를 포함하는 것일 수 있다.
몇몇 실시예에서, 상기 타깃 문자열이 난독화 문자열이라는 판정에 기초하여 상기 타깃 문자열을 해독하는 단계를 더 포함하되, 상기 해독하는 단계는, 상기 인식된 문자열을 이용하여 데이터베이스를 검색함으로써 하나 이상의 후보 문자열을 획득하는 단계 - 상기 데이터베이스에는 문자열과 상기 문자열에 대응되는 난독화 문자열 목록이 저장되어 있음 - 및 상기 인식된 문자열과 상기 하나 이상의 후보 문자열과의 유사도에 기초하여 상기 타깃 문자열의 해독 결과를 도출하는 단계를 포함하는 것일 수 있다. 여기서, 상기 해독 결과를 도출하는 단계는, 상기 인식된 문자열과 상기 하나 이상의 후보 문자열과의 유사도가 제2 기준값 이하인 경우, 상기 타깃 문자열이 신규 난독화 텍스트인 것으로 판정하는 단계를 포함하는 것일 수 있다. 여기서, 상기 해독 결과를 도출하는 단계는, 상기 하나 이상의 후보 문자열 중에서, 상기 인식된 문자열과의 유사도가 제2 기준값을 초과하는 문자열을 상기 타깃 문자열에 대한 해독 결과로 결정하는 단계를 포함하는 것일 수 있다. 여기서, 상기 해독 결과를 도출하는 단계는, 상기 하나 이상의 후보 문자열을 이용하여 문자열 탐색 트리를 구성하는 단계 및 상기 인식된 문자열을 이용하여 상기 문자열 탐색 트리를 탐색함으로써 상기 인식된 문자열과 상기 하나 이상의 후보 문자열 간의 유사도를 산출하는 단계를 포함하는 것일 수 있다. 여기서, 상기 데이터베이스에는 상기 문자열이 특정 난독화 텍스트의 후보 문자열 또는 해독 결과로 도출된 횟수를 나타내는 히트 카운트(hit count)가 더 저장되어 있고, 상기 획득된 하나 이상의 후보 문자열은 상기 히트 카운트가 제2 기준값 이상인 문자열로 구성되는 것일 수 있다. 여기서, 상기 데이터베이스에는 상기 문자열의 ID, 상기 난독화 문자열 목록에 포함된 난독화 문자열의 ID와 최초 저장 시간 및 상기 문자열이 특정 난독화 문자열의 후보 문자열 또는 해독 결과로 도출된 횟수를 나타내는 히트 카운트가 더 저장되어 있는 것일 수 있다. 여기서, 상기 타깃 문자열이 신규 난독화 문자열이라는 판정에 기초하여 상기 타깃 문자열을 상기 데이터베이스에 저장하는 단계를 더 포함하는 것일 수 있다.
몇몇 실시예에서, 상기 텍스트 인식 모델은 STR(Scene Text Recognition) 모델인 것일 수 있다.
몇몇 실시예에서, 상기 난독화 문자열은 리트(leet)어로 이루어진 문자열인 것일 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 다른 실시예에 따른 난독화 텍스트 해독 장치는, 하나 이상의 프로세서, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 타깃 문자열을 포함하는 텍스트를 이미지로 변환하는 동작, 텍스트 인식 모델을 이용하여 상기 이미지에서 문자열을 인식하는 동작 및 상기 타깃 문자열과 상기 인식된 문자열의 유사도가 제1 기준값 이하인 경우 상기 타깃 문자열을 난독화 텍스트로 판정하는 동작을 수행하는 것일 수 있다. 여기서, 상기 타깃 문자열이 난독화 텍스트라는 판정에 기초하여 데이터베이스를 통해 상기 타깃 문자열을 해독하거나 상기 타깃 문자열이 신규 난독화 문자열인지 여부를 판정하는 동작 - 상기 데이터베이스에는 문자열과 상기 문자열에 대응되는 난독화 문자열의 목록이 저장되어 있음 - 및 상기 타깃 문자열이 신규 난독화 문자열이라는 판정에 기초하여 상기 타깃 문자열을 상기 데이터베이스에 저장하는 동작을 수행하도록 하는 인스트럭션을 더 포함하는 것일 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 타깃 문자열을 포함하는 텍스트를 이미지로 변환하는 단계, 텍스트 인식 모델을 이용하여 상기 이미지에서 문자열을 인식하는 단계 및 상기 타깃 문자열과 상기 인식된 문자열의 유사도가 제1 기준값 이하인 경우, 상기 타깃 문자열이 난독화 문자열인 것으로 판정하는 단계를 실행시키기 위하여 컴퓨터 판독가능한 기록매체에 저장된 것일 수 있다.
도 1은 본 개시의 일 실시예에 따른 난독화 텍스트 해독 장치의 구성도이다.
도 2는 본 개시의 다른 실시예에 따른 난독화 텍스트 해독 방법의 순서도이다.
도 3은 도 2를 참조하여 설명한 타깃 문자열의 난독화 문자열 여부 판정 방법의 동작을 상세하게 설명하기 위한 상세 순서도이다.
도 4는 도 2를 참조하여 설명한 난독화 문자열로 판정된 타깃 문자열 해독 방법의 동작을 상세하게 설명하기 위한 상세 순서도이다.
도 5 내지 도 7은 도 4를 참조하여 설명한 후보 문자열을 결정하는 방법의 실시예들을 설명하기 위한 상세 순서도들이다.
도 8은 도 4를 참조하여 설명한 타깃 문자열의 해독 결과를 도출하는 방법을 설명하기 위한 상세 순서도이다.
도 9는 도 8을 참조하여 설명한 타깃 문자열과 인식된 문자열의 유사도 비교 방법의 동작을 상세하게 설명하기 위한 상세 순서도이다.
도 10은 본 개시의 몇몇 실시예들에서의 트리를 이용하여 신규의 난독화 문자열 여부를 판정하는 예시적인 방법을 설명하기 위한 도면이다.
도 11 및 도 12는 본 개시의 데이터베이스에 저장된 문자열의 예시적인 방법을 설명하기 위한 도면이다.
도 13은 본 개시의 다양한 실시예들이 구현되는 컴퓨팅 장치의 예시적인 하드웨어 구성을 나타내는 블록도이다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하, 도면들을 참조하여 본 개시의 몇몇 실시예들을 설명한다.
도 1은 본 개시의 일 실시예에 따른 난독화 텍스트 해독 장치(100)의 구성도이다.
도 1을 참조하면, 본 실시예에 따른 난독화 텍스트 해독 장치(100)은 이미지 변환부(110), 문자열 인식부(120) 및 난독화 판정부(130)을 포함할 수 있다. 본 실시예에 따른 난독화 텍스트 해독 시스템은 해독부(140) 또는 저장부(150)를 더 포함할 수 있다.
이미지 변환부(110)는 타깃 문자열을 포함하는 입력 텍스트를 이미지로 변환할 수 있다. 여기서, 타깃 문자열은 난독화의 판정 대상이 되는 문자열로서, 난독화된 문자열일 수도 있고, 난독화되지 않은 일반 문자열일 수도 있다. 예를 들어, 상기 타깃 문자열은 리트(leet)어와 같이 알파벳을 시각적(또는 형태적)으로 유사한 다른 기호로 치환함으로써 난독화된 문자열일 수 있다. 또 다른 예로, 상기 타깃 문자열은 한글 또는 한자를 시각적(또는 형태적)으로 유사한 다른 기호로 치환함으로써 난독화된 문자열일 수도 있다. 이하에서는, 설명의 편의상 난독화된 문자열을 난독화 문자열이란 용어와 혼용하여 사용하도록 한다.
여기서, 입력 텍스트는 예를 들어 컴퓨터와 같은 전자 장치를 통해 타이핑되어 인쇄된 문서, 수기로 작성된 문서 또는 인터넷 문서일 수 있다. 또한, 이미지는 반드시 문서의 형식을 가질 필요는 없으며, 컴퓨터와 같은 전자 장치로 처리할 수 있는 다양한 형식의 이미지를 모두 포함할 수 있다.
본 개시의 일 실시예에 따르면, 이미지 변환부(110)는 입력 텍스트의 길이에 따라 입력 텍스트를 복수 개의 이미지로 변환할 수 있다. 또는, 이미지 변환부(110)는 입력 텍스트를 하나의 이미지로 변환하고, 변환된 이미지를 복수 개의 부분 이미지들로 분할할 수도 있다.
본 개시의 일 실시예에 따르면, 이미지 변환부(110)는 변환된 이미지 내에서 특정 문자열(e.g., 타깃 문자열)의 위치(좌표값)를 저장할 수 있다.
문자열 인식부(120)는 이미지 변환부(110)로부터 상기 이미지를 수신하고, 텍스트 인식 모델을 이용하여 상기 이미지에서 문자열을 인식할 수 있다. 상기 텍스트 인식 모델은, 예를 들어 장면 텍스트 인식(Scene Text Recognition) 모델, 일반적인 광학 문자 인식(Optical Character Recognition) 모델과 같이 이미지에서 문자열을 인식할 수 있는 다양한 모델들(e.g., 딥러닝 모델)을 모두 포함할 수 있다. 참고로, 장면 텍스트 인식 모델은 이미지에 포함된 텍스트에 변형이 있더라도, 높은 정확도로 텍스트를 인식할 수 있다. 장면 텍스트 인식 모델은 예를 들어 이미지 내에서 문자열 영역을 검출하는 CNN(Convolutional Neural Network) 기반의 모델과 검출된 문자열 영역에서 문자열을 인식하는 RNN(Recurrent Neural Network) 기반의 모델로 구성될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다. 당해 기술 분야의 종사자라면, 장면 텍스트 인식 모델의 구조와 동작 원리에 대해 이미 숙지하고 있을 것인 바, 장면 텍스트 인식 모델 자체에 관한 자세한 설명은 생략하도록 한다.
일 실시예에서, 상기 텍스트 인식 모델은 텍스트 이미지 셋을 이용하여 학습된 것이고, 텍스트 이미지셋은 데이터 증강(data augmentation) 기법을 통해 생성된 다양한 텍스트 이미지들을 포함할 수 있다. 이러한 경우, 원본 텍스트 이미지 셋의 양이 적은 경우라도, 고성능의 텍스트 인식 모델이 구축될 수 있다. 데이터 증강 기법의 예로는 컬러 지터링(color jittering), 로테이션(rotation), 투영 변환(perspective transform) 또는 블러링(blurring) 기법을 들 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다.
난독화 판정부(130)는 문자열 인식부(120)에 의해 인식된 문자열과 타깃 문자열의 유사도에 기초하여 타깃 문자열이 난독화된 문자열인지 여부를 판정할 수 있다. 가령, 두 문자열의 유사도가 미리 지정된 제1 기준값 이하인 경우, 난독화 판정부(130)는 상기 타깃 문자열이 난독화된 것으로 판정할 수 있다(e.g., 타깃 문자열이 리트어인 것으로 판정함). 또는, 두 문자열의 유사도가 제1 기준값 초과인 경우, 난독화 판정부(130)는 타깃 문자열이 난독화되지 않은 것으로 판정할 수 있다. 두 문자열의 유사도는 레벤슈타인 거리(Levenshtein distance) 알고리즘 등과 같이 다양한 문자열(텍스트) 유사도 측정 알고리즘에 기초하여 측정될 수 있으며, 어떠한 알고리즘이 이용되더라도 무방하다.
해독부(140)는 상기 타깃 문자열이 난독화된 텍스트라는 난독화 판정부(130)의 판정에 기초하여, 상기 타깃 문자열을 해독할 수 있다. 예를 들어, 해독부(140)는 난독화 문자열과 그에 대응되는 문자열(즉, 해독된 문자열)이 저장되어 있는 데이터베이스를 이용하여 타깃 문자열을 해독할 수 있다. 또한, 해독부(140)는 해독 결과에 기초하여 타깃 문자열이 신규 난독화 문자열인지 여부를 결정할 수 있다. 해독부(140)의 구체적인 동작에 관하여서는 추후 보다 상세하게 설명하도록 한다.
저장부(150)는 해독부(140)에 의해 신규 난독화 문자열로 판정된 상기 타깃 문자열을 데이터베이스에 저장할 수 있다. 여기서, 상기 저장된 신규 난독화 문자열은 문자열 인식부(120)의 텍스트 인식 모델의 학습에 이용될 수 있다.
본 개시의 일 실시예에 따르면, 데이터베이스에는 문자열(즉, 해독 문자열)과 상기 문자열에 대응되는 난독화 문자열의 목록이 저장되어 있으며, 문자열의 ID, 난독화 문자열 목록에 포함된 난독화 문자열의 ID, 최초 저장 시간 및 히트 카운트(hit count) 등의 정보가 저장될 수 있다. 여기서, 히트 카운트는 상기 문자열이 후보 문자열 또는 해독 결과로 도출된 횟수를 나타내는 것일 수 있다. 후보 문자열에 관하여서는 추후에 상세하게 설명하도록 한다.
본 개시의 일 실시예에 따르면, 데이터베이스는 클라우드 스토리지의 형태로 구현될 수 있다.
한편, 본 개시의 일 실시예에 따르면, 난독화 텍스트 처리 장치(100)는 자연어 처리부(미도시)를 더 포함할 수도 있다. 자연어 처리부(미도시)는 해독부(140)의 해독 결과가 반영된 텍스트에 대해 다양한 자연어 처리를 수행할 수 있다. 가령, 입력 텍스트에 포함된 타깃 문자열이 리트어로 판정되었고, 해독부(140)에 의해 타깃 문자열이 해독되었다고 가정하자. 이러한 경우, 자연어 처리부(미도시)는 타깃 문자열을 해독 텍스트로 치환하여 입력 텍스트를 변환하고, 학습된 자연어 처리 모델을 통해 변환된 텍스트에 대한 자연어 처리(e.g., 토큰화, 임베딩, 개체명 인식 등)를 수행할 수 있다. 그렇게 함으로써, 임베딩 정확도가 향상되고, 자연어 처리 결과의 정확도도 향상될 수 있다.
지금까지 상술한 난독화 텍스트 해독 장치(100)는 프로세서를 구비한 하나 이상의 컴퓨팅 장치로 구현될 수 있다. 예를 들어, 이미지 변환부(110)와 같은 각각의 구성요소가 하나의 컴퓨팅 장치로 구현될 수도 있고, 복수의 구성요소들 또는 난독화 텍스트 해독 장치(100)가 하나의 컴퓨팅 장치로 구현될 수도 있다. 컴퓨팅 장치는 컴퓨팅 기능을 구비한 임의의 장치를 의미할 수 있으며, 이러한 장치의 일 예시에 관하여서는 도 13을 참조하도록 한다.
다음으로, 본 개시의 다른 실시예에 따른 난독화 텍스트 해독 방법에 대해 도 2 이하의 도면을 참조하여 설명한다. 본 실시예에 따른 난독화 텍스트 해독 방법은 하나 이상의 컴퓨팅 장치에 의하여 수행될 수 있다. 예를 들어, 본 실시예에 따른 난독화 텍스트 해독 방법은 하나의 컴퓨팅 장치에 의하여 모든 동작이 수행될 수도 있고, 일부의 동작이 다른 컴퓨팅 장치에 의하여 수행될 수도 있다. 이하에서는, 후술된 방법이 도 1에 예시된 난독화 텍스트 해독 장치(100)에 의하여 수행되는 것을 가정하여 설명하도록 한다. 따라서, 이하의 설명에서 일부 동작의 수행 주체에 대한 기재가 생략된 경우, 난독화 텍스트 해독 장치(100)에 의해 수행되는 것으로 이해될 수 있다.
도 2는 본 개시의 다른 실시예에 따른 난독화 텍스트 해독 방법의 순서도이다.
S100 단계에서, 이미지 변환부(110)에 의해 타깃 문자열을 포함하는 텍스트가 이미지로 변환된다.
S200 단계에서, 문자열 인식부(120)의 텍스트 인식 모델을 이용하여 상기 변환된 이미지에서 문자열이 인식된다. 상기 텍스트 인식 모델은, 예를 들어 앞서 설명한 장면 텍스트 인식 모델일 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다.
S300 단계에서, 타깃 문자열이 난독화 문자열인지 여부가 판정된다.
도 3은 도 2의 S300 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 3을 참조하면, 타깃 문자열과 인식된 문자열의 유사도를 비교(S310)하여, 제1 기준값 이하인 경우, 타깃 문자열이 난독화 문자열인 것으로 판정될 수 있다(S320). 유사도가 제1 기준값 초과인 경우에는, 타깃 문자열이 난독화 문자열이 아닌 것으로 판정될 수 있다(S330). 여기서, 두 문자열의 유사도는 예를 들어 레벤슈타인 거리(Levenshtein distance) 알고리즘에 기초하여 산출될 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다.
다시 도 2를 참조하면, S400 단계에서, 상기 타깃 문자열이 난독화 문자열이라는 판정에 기초하여 타깃 문자열이 해독된다(S400).
도 4는 도 2의 S400 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 4를 참조하면, 먼저 인식된 문자열을 이용하여 데이터베이스를 검색하여 하나 이상의 후보 문자열을 결정하고(S410), 인식된 문자열과 후보 문자열과의 유사도에 기초하여 타깃 문자열의 해독 결과를 도출할 수 있다(S420).
이하 도 5 내지 도 7을 참조하여, 도 4의 S410 단계에서 후보 문자열을 결정하는 방법에 관한 다양한 실시예를 설명한다.
도 5는 본 개시의 일 실시예에 따른 후보 문자열 결정 방법을 나타내는 순서도이다. 도 5를 참조하면, 먼저 데이터베이스에서 인식된 문자열과 연관된 문자열을 검색하고(S411a), 검색된 문자열 중 히트 카운트가 제2 기준값 이상인 문자열을 후보 문자열로 결정할 수 있다(S412a). 예를 들어, 인식된 문자열의 일부분(즉, 부분 문자열)을 이용하여 데이터베이스가 검색될 수 있고, 검색된 문자열 중 히트 카운트가 10 이상인 문자열이 후보 문자열로 결정될 수 있다.
도 6은 본 개시의 다른 일 실시예에 따른 후보 문자열 결정 방법을 나타내는 순서도이다. 도 6을 참조하면, 데이터베이스에서 히트 카운트가 제2 기준값 이상인 문자열을 검색하고(S411b), 검색된 문자열 중에서 인식된 문자열과 연관된 문자열이 후보 문자열로 결정될 수 있다(S412b). 가령, 히트 카운트 기반으로 검색된 문자열에 대해, 인식된 문자열의 일부분(즉, 부분 문자열)을 이용하여 재검색을 수행함으로써 후보 문자열이 결정될 수 있다.
도 7은 본 개시의 또 다른 일 실시예에 따른 후보 문자열 결정 방법을 나타내는 순서도이다. 도 7을 참조하면, 인식된 문자열의 부분 문자열을 이용하여 데이터베이스를 검색하여 후보 문자열을 결정할 수 있다(S410c).
예를 들어, 인식된 문자열이 TE-MM-P- 인 경우, TE, MM, TEM, MP 등과 같이 부분 문자열로 데이터베이스를 검색하여 후보 문자열을 결정할 수 있다.
상술한 실시예들에 따르면, 데이터베이스에 저장된 모든 문자열들과 유사도를 산출하는 것이 아니라, 데이터베이스 검색을 통해 후보 문자열을 결정하고, 후보 문자열들에 대해서만 인식된 문자열과의 유사도를 산출함으로써 컴퓨팅 비용을 절감하는 효과가 달성될 수 있다. 다시 말해, 상술한 실시예들을 통해 난독화 문자열의 해독 과정에서 소요되는 컴퓨팅 비용이 크게 절감될 수 있다.
도 8은 도 4의 S420 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 8을 참조하면, 인식된 문자열과 하나 이상의 후보 문자열의 유사도를 비교(S421)하여, 제2 기준값 이하인 경우, 타깃 문자열이 신규 난독화 문자열인 것으로 판정될 수 있다(S422). 예를 들어, 하나 이상의 후보 문자열과 인식된 문자열 간의 최고 유사도가 제2 기준값 이하인 경우, 타깃 문자열은 신규 난독화 문자열인 것으로 판정될 수 있다. 반대의 경우라면, 제2 기준값을 초과하는 후보 문자열(e.g., 최고 유사도를 갖는 후보 문자열)이 상기 타깃 문자열에 대한 해독 결과로 결정될 수 있다. 즉, 타깃 문자열이 기존의 난독화 문자열인 것으로 판정될 수 있다(S423).
도 9는 도 8의 S421 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 9를 참조하면, 먼저 상기 하나 이상의 후보 문자열을 이용하여 문자열 탐색 트리를 구성할 수 있다(S421a). 그리고 상기 인식된 문자열을 이용하여 상기 문자열 탐색 트리를 탐색하여(S421b) 상기 인식된 문자열과 상기 하나 이상의 후보 문자열 간의 유사도를 산출할 수 있다(S421c).
도 10은 도 9의 본 개시의 일 실시예에 따라 문자열 탐색 트리를 이용하여 문자열 유사도를 산출하는 방법을 설명하기 위한 도면이다.
도 10을 참조하면, 먼저 타깃 문자열(80a)을 포함하는 텍스트가 이미지 변환부(110)에 의하여 이미지(80b)로 변환된다. 그리고 문자열 인식부(120)에 의해 상기 이미지(80b)에서 문자열(80c)이 인식된다.
다음으로, 문자열 탐색 트리를 구성하기 위하여, 데이터베이스를 검색하여 하나 이상의 후보 문자열이 결정된다. 이에 관한 내용은 도 5 내지 도 7의 설명 내용을 참조하도록 한다. 도 10은 6개의 후보 문자열이 검색된 것을 예로서 도시하고 있다.
다음으로, 후보 문자열(80d)을 이용하여 문자열 탐색 트리(80e)를 구성한다. 여기서 문자열 탐색 트리는, 예를 들어 각 노드(또는 에지)가 하나 이상의 문자에 대응되고 루트 노드부터 리프 노드까지의 경로가 하나의 문자열에 대응되는 트리를 의미할 수 있다.
다음으로, 문자열 탐색 트리(80e)를 탐색함으로써, 인식된 문자열(80c)과 후보 문자열(80d) 간의 유사도가 산출된다. 가령, 인식된 문자열(80c)을 구성하는 각 문자와 각 노드에 대응되는 문자가 일치하는 경로를 따라 탐색이 이루어질 수 있고, 탐색 경로에 대응되는 후보 문자열(e.g., TEMP)(또는 가장 길이가 긴 탐색 경로에 대응되는 후보 문자열)이 가장 유사도가 높은 것으로 판정될 수 있다. 다시 말해, 인식된 문자열(80c)과 후보 문자열(80d)의 유사도는 탐색 경로의 길이에 기초하여 산출될 수 있다.
다음으로, 상기 문자열 탐색 트리(80e)를 통해 산출된 최고 유사도가 제2 기준값을 초과하는 경우, 인식된 문자열(80c)이 기존의 난독화 문자열로 판정되고, 최고 유사도를 갖는 후보 문자열(80f)이 타깃 문자열(80a)의 해독 결과로 도출될 수 있다. 상술한 바와 같이, 최고 유사도가 제2 기준값 이하인 경우라면, 타깃 문자열(80a)은 신규 난독화 텍스트인 것으로 판정된다.
도 10은 후보 문자열(80f)가 타깃 텍스트(80a)의 해독 결과로 도출되는 경우를 예로서 도시하고 있다.
다시 도 2를 참조하면, S500 단계에서, 신규 난독화 문자열로 판정된 타깃 문자열과 관련된 데이터들이 데이터베이스에 저장된다.
본 개시의 일 실시예에 따르면, 상기 신규 난독화 문자열에 대응되는 본래의 문자열이 데이터베이스에 저장될 수 있다. 또한, 상기 본래의 문자열 자체, 카테고리, 대응되는 인코딩된 텍스트 목록, 히트 카운트, 문자열에 대한 설명 텍스트 또는 문자열과 관련된 참고자료 등이 저장될 수 있다.
본 개시의 일 실시예에 따르면, 상기 신규 난독화 문자열로 판정된 타깃 문자열이 데이터베이스에 저장될 수 있다. 또한, 상기 타깃 문자열에 부여된 ID, 본래의 문자열, 상기 난독화 문자열이 포함된 이미지 파일, 위치 정보, 후보 문자열로써 참조된 횟수 또는 데이터베이스에 저장된 시간 등이 데이터베이스에 저장될 수 있다.
도 11 및 도 12는, 본 개시의 데이터베이스에 저장된 문자열의 예시적인 방법을 설명하기 위한 도면이다.
본 개시의 일 실시예에 따르면, 도 11은 본래의 문자열이 "LEET"인 경우, 데이터베이스에 본래의 문자열과 관련된 데이터들이 저장되는 예시(90a)를 나타낸다. 도 11은, 상기 본래의 문자열이 후보 문자열로써 94회 참조(91a)된 경우의 예시이다.
본 개시의 일 실시예에 따르면, 도 12는 본래의 문자열에 대응되는 난독화 문자열이 데이터베이스에 저장되는 예시(90b, 90c)를 나타낸다. 도 12는, 난독화 문자열"|337"이 3회 참조(91b)되었으며, 난독화 문자열 "1337"이 91회 참조(91c)된 경우의 예시이다.
도 13은 본 개시의 몇몇 실시예들에 따른 난독화 텍스트 해독 장치(100)를 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다. 도 13에 도시된 바와 같이, 컴퓨팅 장치(1000)는 하나 이상의 프로세서(1100), 시스템 버스(1600), 통신 인터페이스(1200), 프로세서(1100)에 의하여 수행되는 컴퓨터 프로그램(1500)을 로드(load)하는 메모리(1400)와, 컴퓨터 프로그램(1500)을 저장하는 스토리지(1300)를 포함할 수 있다.
프로세서(1100)는 컴퓨팅 장치(1000)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1100)는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다.
메모리(1400)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1400)는 본 개시의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(1300)로부터 하나 이상의 컴퓨터 프로그램(1500)을 로드(load) 할 수 있다.
스토리지(1300)는 하나 이상의 컴퓨터 프로그램(1500)을 비임시적으로 저장할 수 있다.
컴퓨터 프로그램(1500)은 본 개시의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 컴퓨터 프로그램(1500)이 메모리(1400)에 로드되면, 프로세서(1100)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 개시의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
컴퓨터 프로그램(1500)은 예를 들어 타깃 문자열을 포함하는 텍스트를 이미지로 변환하는 동작, 텍스트 인식 모델을 이용하여 이미지에서 문자열을 인식하는 동작 및 타깃 문자열과 인식된 문자열의 유사도가 제1 기준값 이하인 경우 타깃 문자열을 난독화 문자열로 판정하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(1000)를 통해 본 개시의 일 실시예에 따른 난독화 텍스트 해독 장치(100)가 구현될 수 있다.
지금까지 도 1 내지 도 13을 참조하여 본 개시의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 이상 첨부된 도면을 참조하여 본 개시의 실시예들을 설명하였지만, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (15)

  1. 컴퓨팅 장치에 의하여 수행되는 방법에 있어서,
    타깃 문자열을 포함하는 텍스트를 이미지로 변환하는 단계;
    텍스트 인식 모델을 이용하여 상기 이미지에서 문자열을 인식하는 단계; 및
    상기 타깃 문자열과 상기 인식된 문자열의 유사도가 제1 기준값 이하인 경우, 상기 타깃 문자열이 난독화 문자열인 것으로 판정하는 단계를 포함하는,
    난독화 텍스트 해독 방법.
  2. 제1 항에 있어서,
    상기 유사도가 제1 기준값을 초과한 경우, 상기 타깃 문자열이 난독화 문자열이 아닌 것으로 판정하는 단계를 더 포함하는,
    난독화 텍스트 해독 방법.
  3. 제1 항에 있어서,
    상기 텍스트 인식 모델은 텍스트 이미지 셋을 이용하여 학습된 것이고,
    상기 텍스트 이미지 셋은 컬러 지터링(color jittering), 로테이션(rotation), 투영 변환(perspective transform) 또는 블러링(blurring) 기법을 통해 생성된 텍스트 이미지를 포함하는,
    난독화 텍스트 해독 방법.
  4. 제1 항에 있어서,
    상기 타깃 문자열이 난독화 문자열이라는 판정에 기초하여 상기 타깃 문자열을 해독하는 단계를 더 포함하되,
    상기 해독하는 단계는,
    상기 인식된 문자열을 이용하여 데이터베이스를 검색함으로써 하나 이상의 후보 문자열을 획득하는 단계 - 상기 데이터베이스에는 문자열과 상기 문자열에 대응되는 난독화 문자열 목록이 저장되어 있음 - ; 및
    상기 인식된 문자열과 상기 하나 이상의 후보 문자열과의 유사도에 기초하여 상기 타깃 문자열의 해독 결과를 도출하는 단계를 포함하는,
    난독화 텍스트 해독 방법.
  5. 제4 항에 있어서,
    상기 해독 결과를 도출하는 단계는,
    상기 인식된 문자열과 상기 하나 이상의 후보 문자열과의 유사도가 제2 기준값 이하인 경우, 상기 타깃 문자열이 신규 난독화 문자열인 것으로 판정하는 단계를 포함하는,
    난독화 텍스트 해독 방법.
  6. 제4 항에 있어서,
    상기 해독 결과를 도출하는 단계는,
    상기 하나 이상의 후보 문자열 중에서, 상기 인식된 문자열과의 유사도가 제2 기준값을 초과하는 문자열을 상기 타깃 문자열에 대한 해독 결과로 결정하는 단계를 포함하는,
    난독화 텍스트 해독 방법.
  7. 제4 항에 있어서,
    상기 해독 결과를 도출하는 단계는,
    상기 하나 이상의 후보 문자열을 이용하여 문자열 탐색 트리를 구성하는 단계; 및
    상기 인식된 문자열을 이용하여 상기 문자열 탐색 트리를 탐색함으로써 상기 인식된 문자열과 상기 하나 이상의 후보 문자열 간의 유사도를 산출하는 단계를 포함하는,
    난독화 텍스트 해독 방법.
  8. 제4 항에 있어서,
    상기 데이터베이스에는 상기 문자열이 특정 난독화 문자열의 후보 문자열 또는 해독 결과로 도출된 횟수를 나타내는 히트 카운트(hit count)가 더 저장되어 있고,
    상기 획득된 하나 이상의 후보 문자열은 상기 히트 카운트가 제2 기준값 이상인 문자열로 구성되는,
    난독화 텍스트 해독 방법.
  9. 제4 항에 있어서,
    상기 데이터베이스에는 상기 문자열의 ID, 상기 난독화 문자열 목록에 포함된 난독화 문자열의 ID와 최초 저장 시간 및 상기 문자열이 특정 난독화 문자열의 후보 문자열 또는 해독 결과로 도출된 횟수를 나타내는 히트 카운트가 더 저장되어 있는,
    난독화 텍스트 해독 방법.
  10. 제5 항에 있어서,
    상기 타깃 문자열이 신규 난독화 문자열이라는 판정에 기초하여 상기 타깃 문자열을 상기 데이터베이스에 저장하는 단계를 더 포함하는,
    난독화 텍스트 해독 방법.
  11. 제1 항에 있어서,
    상기 텍스트 인식 모델은 STR(Scene Text Recognition) 모델인,
    난독화 텍스트 해독 방법.
  12. 제1 항에 있어서,
    상기 난독화 문자열은 리트(leet)어로 이루어진 문자열인,
    난독화 텍스트 해독 방법.
  13. 하나 이상의 프로세서;
    상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
    상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은,
    타깃 문자열을 포함하는 텍스트를 이미지로 변환하는 동작;
    텍스트 인식 모델을 이용하여 상기 이미지에서 문자열을 인식하는 동작; 및
    상기 타깃 문자열과 상기 인식된 문자열의 유사도가 제1 기준값 이하인 경우 상기 타깃 문자열을 난독화 문자열로 판정하는 동작을 수행하도록 하는 인스트럭션들을 포함하는,
    난독화 텍스트 해독 장치.
  14. 제13 항에 있어서,
    상기 컴퓨터 프로그램은,
    상기 타깃 문자열이 난독화 문자열이라는 판정에 기초하여 데이터베이스를 통해 상기 타깃 문자열을 해독하거나 상기 타깃 문자열이 신규 난독화 텍스트인지 여부를 판정하는 동작; - 상기 데이터베이스에는 문자열과 상기 문자열에 대응되는 난독화 문자열의 목록이 저장되어 있음 - 및
    상기 타깃 문자열이 신규 난독화 문자열이라는 판정에 기초하여 상기 타깃 문자열을 상기 데이터베이스에 저장하는 동작을 수행하도록 하는 인스트럭션을 더 포함하는,
    난독화 텍스트 해독 장치.
  15. 컴퓨팅 장치와 결합되어,
    타깃 문자열을 포함하는 텍스트를 이미지로 변환하는 단계;
    텍스트 인식 모델을 이용하여 상기 이미지에서 문자열을 인식하는 단계; 및
    상기 타깃 문자열과 상기 인식된 문자열의 유사도가 제1 기준값 이하인 경우, 상기 타깃 문자열이 난독화 문자열인 것으로 판정하는 단계를 실행시키기 위하여 컴퓨터 판독가능한 기록매체에 저장된,
    컴퓨터 프로그램.
KR1020220060306A 2022-05-17 2022-05-17 사이버 보안을 위한 난독화 텍스트 해독 방법 및 장치 KR20230160601A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220060306A KR20230160601A (ko) 2022-05-17 2022-05-17 사이버 보안을 위한 난독화 텍스트 해독 방법 및 장치
US18/198,562 US20230377358A1 (en) 2022-05-17 2023-05-17 Method and apparatus for dechipering obfuscated text for cyber security

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220060306A KR20230160601A (ko) 2022-05-17 2022-05-17 사이버 보안을 위한 난독화 텍스트 해독 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20230160601A true KR20230160601A (ko) 2023-11-24

Family

ID=88791877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220060306A KR20230160601A (ko) 2022-05-17 2022-05-17 사이버 보안을 위한 난독화 텍스트 해독 방법 및 장치

Country Status (2)

Country Link
US (1) US20230377358A1 (ko)
KR (1) KR20230160601A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190083438A (ko) 2018-01-04 2019-07-12 주식회사 셀바스에이아이 한국어 대화 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190083438A (ko) 2018-01-04 2019-07-12 주식회사 셀바스에이아이 한국어 대화 장치

Also Published As

Publication number Publication date
US20230377358A1 (en) 2023-11-23

Similar Documents

Publication Publication Date Title
Chen et al. Coverless information hiding method based on the Chinese mathematical expression
US10133965B2 (en) Method for text recognition and computer program product
KR101064845B1 (ko) 문서 이미지 인코딩 시스템, 코드북 생성 시스템 및 방법, 코드북 탐색 시스템, 및 정보 인코딩 방법
CN112926327B (zh) 一种实体识别方法、装置、设备及存储介质
US10963717B1 (en) Auto-correction of pattern defined strings
CN111695343A (zh) 错词纠正方法、装置、设备及存储介质
CN110532381A (zh) 一种文本向量获取方法、装置、计算机设备及存储介质
JP5809381B1 (ja) 自然言語処理システム、自然言語処理方法、および自然言語処理プログラム
CN111488732B (zh) 一种变形关键词检测方法、系统及相关设备
CN111401099A (zh) 文本识别方法、装置以及存储介质
US9870351B2 (en) Annotating embedded tables
Baró et al. Towards a generic unsupervised method for transcription of encoded manuscripts
CN116484420A (zh) 文本脱敏处理方法及装置
WO2019092868A1 (ja) 情報処理装置、情報処理方法及びコンピュータ読み取り可能な記録媒体
US10402489B2 (en) Transliteration of text entry across scripts
CN114580371A (zh) 基于自然语言处理的程序语义混淆方法及系统
Choudhury et al. Automatic metadata extraction incorporating visual features from scanned electronic theses and dissertations
Hakak et al. Residual-based approach for authenticating pattern of multi-style diacritical Arabic texts
CN109902162B (zh) 基于数字指纹的文本相似性的识别方法、存储介质及装置
Yasin et al. Transformer-Based Neural Machine Translation for Post-OCR Error Correction in Cursive Text
US20180174572A1 (en) Transliteration using machine translation pipeline
CN117421423A (zh) 一种获取实体识别模型的方法、识别实体的方法及装置
Cowger et al. Icarus: Understanding de facto formats by way of feathers and wax
KR20230160601A (ko) 사이버 보안을 위한 난독화 텍스트 해독 방법 및 장치
JP7365989B2 (ja) 文字の視覚認識符号化