KR20200047124A - 순환신경망 및 분기예측에 기반한 통신 메시지 해석 장치 및 그 방법 - Google Patents

순환신경망 및 분기예측에 기반한 통신 메시지 해석 장치 및 그 방법 Download PDF

Info

Publication number
KR20200047124A
KR20200047124A KR1020180129185A KR20180129185A KR20200047124A KR 20200047124 A KR20200047124 A KR 20200047124A KR 1020180129185 A KR1020180129185 A KR 1020180129185A KR 20180129185 A KR20180129185 A KR 20180129185A KR 20200047124 A KR20200047124 A KR 20200047124A
Authority
KR
South Korea
Prior art keywords
prediction
prediction result
calculated
result
character
Prior art date
Application number
KR1020180129185A
Other languages
English (en)
Other versions
KR102177741B1 (ko
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 KR1020180129185A priority Critical patent/KR102177741B1/ko
Priority to PCT/KR2018/014463 priority patent/WO2020085567A1/ko
Publication of KR20200047124A publication Critical patent/KR20200047124A/ko
Application granted granted Critical
Publication of KR102177741B1 publication Critical patent/KR102177741B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • H04L29/06006
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/02Protocol performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 기술적 사상에 의한 일 양태에 따른 통신 메시지의 메시지 해석 방법은 전송된 통신 메시지에 포함된, 복수의 입력 문자를 포함하는 스트림을 입력받는 단계; 상기 스트림의 첫번째 문자에 따라 예측되는 결과인 제1 예측 결과를 산출하는 단계; 상기 산출된 제1 예측 결과를 상기 스트림의 두번째 문자와 비교하는 단계; 상기 제1 예측 결과와의 비교 결과를 기초로, 상기 산출된 제1 예측 결과와 상기 두번째 문자가 동일하지 않으면, 동일하지 않은 지점에서부터 분기되는 제2 예측 결과를 산출하고, 상기 제1 예측 결과를 제1 스택(stack)으로 저장하는 단계; 상기 산출된 제2 예측 결과를 상기 두번째 문자와 비교하는 단계; 및 상기 제2 예측 결과와의 비교 결과를 기초로, 상기 산출된 제2 예측 결과와 상기 두번째 문자가 동일하지 않으면, 상기 동일하지 않은 지점에서부터 분기되는 제3 예측 결과를 산출하고, 상기 제2 예측 결과를 제2 스택으로 저장하는 단계를 포함할 수 있다.

Description

순환신경망을 이용한 통신 메시지 해석 장치 및 그 방법{APPARATUS AND METHOD FOR INTERPRETING COMMUNICATION MESSAGE USING RECURRENT NEURAL NETWORK}
본 발명의 기술적 사상은 순환신경망을 이용한 통신 메시지 해석 장치 및 그 방법에 관한 것으로, 보다 상세하게는, 다양한 장치들로부터 전송되는 통신 메시지를 해석하는 통신 메시지 해석 장치 및 그 방법에 관한 것이다.
IoT(Internet of Things) 환경에서는 다양한 사용자 어플리케이션과 통신 프로토콜이 사용된다.
그리고 각각의 사용자 어플리케이션은 프로그램마다 정의된 메시지 구성(structure)를 가져서, 각 어플리케이션이 작성한 메시지는 서로 다른 프로토콜에 의해 전송되고 해석될 수 있다.
그래서 메시지를 수신하는 수신 측 장치 또는 중앙 서버 시스템은 각 프로토콜마다 작성된 수신부를 갖추고, 수신 측 어플리케이션도 각 프로토콜에 맞는 메시지 해석기를 갖춰야 한다.
서로 다른 어플리케이션과 프로토콜을 위해, 개발자는 각 어플리케이션과 프로토콜에서 정의한 규정을 해석해야 하며 해석된 결과를 바탕으로 다양한 수의 수신측 혹은 송신측 소프트웨어 모듈을 제작하여야 한다. 이는 IoT 환경과 같이 매우 다양한 디바이스들이 존재하는 상황에서 매우 큰 부담으로 작용한다.
한편, IoT에 대한 관심이 증가하면서 IoT 산업의 규모는 점차 커지고 있으며, 실생활에서 IoT가 접목된 제품 또는 센서를 쉽게 찾아볼 수 있게 되었다.
그리고 IoT 장치 또는 센서의 수가 증가함에 따라 데이터 해석을 위한 프로세스는 점차 복잡해지고 있으며, 위에서 말한 프로토콜 간 해석 문제는 오히려 증가하고 있다.
본 발명의 기술적 사상에 따른 순환신경망을 이용한 통신 메시지 해석 장치 및 그 방법은 순환신경망 모델과 텍스트 마이닝 모델을 결합하여 다양한 프로토콜의 통신 메시지를 해석하는데 목적이 있다.
또한, 본 발명은 단어 예측 과정에서 분기 예측(fork prediction)을 이용하여 통신 메시지 해석의 신뢰성을 향상시키는데 목적이 있다.
또한, 본 발명은 메시지 재구성 과정에서, 통신 메시지 내의 잡음을 효과적으로 제거하는데 목적이 있다.
본 발명의 기술적 사상에 따른 순환신경망을 이용한 통신 메시지 해석 장치 및 그 방법이 이루고자 하는 기술적 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)는 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 기술적 사상에 의한 일 양태에 따른 통신 메시지의 메시지 해석 방법은 전송된 통신 메시지에 포함된, 복수의 입력 문자를 포함하는 스트림을 입력받는 단계; 상기 스트림의 첫번째 문자에 따라 예측되는 결과인 제1 예측 결과를 산출하는 단계; 상기 산출된 제1 예측 결과를 상기 스트림의 두번째 문자와 비교하는 단계; 상기 제1 예측 결과와의 비교 결과를 기초로, 상기 산출된 제1 예측 결과와 상기 두번째 문자가 동일하지 않으면, 동일하지 않은 지점에서부터 분기되는 제2 예측 결과를 산출하고, 상기 제1 예측 결과를 제1 스택(stack)으로 저장하는 단계; 상기 산출된 제2 예측 결과를 상기 두번째 문자와 비교하는 단계; 및 상기 제2 예측 결과와의 비교 결과를 기초로, 상기 산출된 제2 예측 결과와 상기 두번째 문자가 동일하지 않으면, 상기 동일하지 않은 지점에서부터 분기되는 제3 예측 결과를 산출하고, 상기 제2 예측 결과를 제2 스택으로 저장하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 제1 예측 결과 또는 상기 제2 예측 결과가 상기 복수의 입력 문자와 동일하면, 동일한 예측 결과를 완성된 단어로 저장하는 단계를 더 포함할 수 있다.
예시적인 실시예에 따르면, 상기 완성된 단어로 저장된 예측 결과의 스택을 삭제하는 단계를 더 포함할 수 있다.
예시적인 실시예에 따르면, 상기 입력 문자에 대해 산출되는 예측 결과에 대해, 동일한 지점에서 분기된, 복수의 예측 결과의 스택(stack) 수가 기준 값을 초과하면, 초과된 수의 스택을 삭제하는 단계를 더 포함할 수 있다.
예시적인 실시예에 따르면, 상기 초과된 수의 스택을 삭제하는 단계는 상기 복수의 예측 결과의 스택 중 대기 시간(waiting time)을 기준으로, 상기 초과된 수의 스택을 삭제하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 초과된 수의 스택을 삭제하는 단계는 상기 복수의 예측 결과의 스택 중 상기 입력 문자와의 비교 결과가 일정 횟수 이상 일치하지 않는 스택을 삭제하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 입력 문자에 따라 예측되는 예측 결과에 대해 하나의 지점에서 분기되는 예측 결과의 수에 대한 최소 분기 예측 레벨을 산출하는 단계; 및 상기 산출된 최소 분기 예측 레벨을 기초로, 상기 입력되는 문자에 따라 예측되는 결과인 복수의 예측 결과를 산출하는 단계를 더 포함할 수 있다.
예시적인 실시예에 따르면, 상기 산출된 최소 분기 예측 레벨을 이용하여, 입력으로 사용하는 연속 문자인 어간(stem)의 수를 조절하는 단계를 더 포함할 수 있다.
본 발명의 기술적 사상에 의한 다른 양태에 따른 메시지 해석 장치는 적어도 하나의 프로세서; 및 상기 프로세서에 전기적으로 연결된 메모리를 포함하고, 상기 메모리는, 상기 프로세서가 실행 시에, 전송된 통신 메시지에 포함된, 복수의 입력 문자를 포함하는 스트림을 입력받고, 상기 스트림의 첫번째 문자에 따라 예측되는 결과인 제1 예측 결과를 산출하고, 상기 산출된 제1 예측 결과를 상기 스트림의 두번째 문자와 비교하고, 상기 제1 예측 결과와의 비교 결과를 기초로, 상기 산출된 제1 예측 결과와 상기 두번째 문자가 동일하지 않으면, 동일하지 않은 지점에서부터 분기되는 제2 예측 결과를 산출하고, 상기 제1 예측 결과를 제1 스택(stack)으로 저장하고, 상기 산출된 제2 예측 결과를 상기 두번째 문자와 비교하고, 상기 제2 예측 결과와의 비교 결과를 기초로, 상기 산출된 제2 예측 결과와 상기 두번째 문자가 동일하지 않으면, 상기 동일하지 않은 지점에서부터 분기되는 제3 예측 결과를 산출하고, 상기 제2 예측 결과를 제2 스택으로 저장하도록 하는 인스트럭션들을 저장할 수 있다.
예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 제1 예측 결과 또는 상기 제2 예측 결과가 상기 복수의 입력 문자와 동일하면, 동일한 예측 결과를 완성된 단어로 저장하도록 하는 인스트럭션들을 저장할 수 있다.
예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 완성된 단어로 저장된 예측 결과의 스택을 삭제하도록 하는 인스트럭션들을 저장할 수 있다.
예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 입력 문자에 대해 산출되는 예측 결과에 대해, 동일한 지점에서 분기된, 복수의 예측 결과의 스택(stack) 수가 기준 값을 초과하면, 초과된 수의 스택을 삭제하도록 하는 인스트럭션들을 저장할 수 있다.
예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 복수의 예측 결과의 스택 중 대기 시간(waiting time)을 기준으로, 상기 초과된 수의 스택을 삭제하도록 하는 인스트럭션들을 저장할 수 있다.
예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 복수의 예측 결과의 스택 중 상기 입력 문자와의 비교 결과가 일정 횟수 이상 일치하지 않는 스택을 삭제하도록 하는 인스트럭션들을 저장할 수 있다.
예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 입력 문자에 따라 예측되는 예측 결과에 대해 하나의 지점에서 분기되는 예측 결과의 수에 대한 최소 분기 예측 레벨을 산출하고, 상기 산출된 최소 분기 예측 레벨을 기초로, 상기 입력되는 문자에 따라 예측되는 결과인 복수의 예측 결과를 산출하도록 하는 인스트럭션들을 저장할 수 있다.
예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 산출된 최소 분기 예측 레벨을 이용하여, 입력으로 사용하는 연속 문자인 어간(stem)의 수를 조절하도록 하는 인스트럭션들을 저장할 수 있다.
본 발명의 기술적 사상에 의한 실시예들에 따른 순환신경망을 이용한 통신 메시지 해석 장치 및 그 방법은 순환신경망 모델과 텍스트 마이닝 모델을 결합하여 다양한 프로토콜의 통신 메시지를 해석할 수 있다.
본 발명은 단어 예측 과정에서 분기 예측(fork prediction)을 이용하여 통신 메시지 해석의 신뢰성을 향상시킬 수 있다.
또한, 본 발명은 메시지 재구성 과정에서, 통신 메시지 내의 잡음을 효과적으로 제거할 수 있다.
본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 다양한 실시예에 따른 순환신경망을 이용한 통신 메시지 해석 장치 및 그 방법에 대한 개념도이다.
도 2는 본 발명의 다양한 실시예에 따른 통신 메시지 해석 장치의 구성을 나타내는 블록도이다.
도 3은 본 발명의 다양한 실시예에 따른 예측된 결과의 적층에 대한 개념도이다.
도 4는 본 발명의 다양한 실시예에 따른 분기 적층 방법에 대한 개념도이다.
도 5는 본 발명의 다양한 실시예에 따른 오래된 예측 값의 삭제에 대한 예시도이다.
도 6은 본 발명의 다양한 실시예에 따른 예측 분기 레벨에 대한 개념도이다.
도 7은 본 발명의 다양한 실시예에 따른 어간 크기 조절에 대한 예시도이다.
도 8은 본 발명의 일 실시예에 따른 예측 정확도에 대한 그래프이다.
본 발명의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 기술적 사상의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processor), 어플리케이션 프로세서(Application Processor), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
이하, 본 발명의 기술적 사상에 의한 실시예들을 차례로 상세히 설명한다.
도 1은 본 발명의 다양한 실시예에 따른 순환신경망을 이용한 통신 메시지 해석 장치 및 그 방법에 대한 개념도이다.
도 1을 참조하면, 본 발명의 다양한 실시예에 따른 통신 메시지 해석 장치(100)는 다양한 프로토콜을 따르는 통신 메시지들을 입력받을 수 있고, 입력된 통신 메시지들을 해석하여 출력할 수 있다. 특히, 본원 발명은 수신되는 통신 메시지에 대한 프로토콜 해석기 없이, 순환신경망 모델과 텍스트 마이닝 요소를 결합한 과정 및 구성을 통해, 수신된 통신 메시지에 대한 예측을 수행할 수 있고 통신 메시지를 해석할 수 있다.
구체적으로, 통신 메시지 해석 장치(100)는 복수의 기기들, 예를 들면 IoT 기기들로부터 전송되는 통신 메시지에 포함된, 복수의 입력 문자(letter)를 포함하는 스트림을 입력받을 수 있다. 통신 메시지 해석 장치(100)는 입력되는 스트림을 문자 단위로 입력받을 수 있다.
통신 메시지 해석 장치(100)는 입력 문자에 따라 예측되는 결과를 산출하고, 산출된 결과를 입력되는 스트림에 따른 문자들과 비교할 수 있다. 그리고 통신 메시지 해석 장치(100)는 비교 결과를 기초로 예측 결과와 입력된 문자들이 동일하면 예측 단어를 저장하고, 해석된 결과로 출력할 수 있다.
통신 메시지 해석 장치(100)는 비교 결과를 기초로, 예측 단어와 입력된 문자들이 동일하지 않으면, 예측 결과는 스택(stack)에 저장하고, 동일하지 않은 지점에서부터 분기되는 새로운 예측 결과를 산출할 수 있다.
통신 메시지 해석 장치(100)는 정의된 분기 예측 수준 내에서 상술한 과정을 반복할 수 있고, 이 과정을 통해 입력된 통신 메시지에 대한 프로토콜 해석기 없이, 통신 메시지를 해석할 수 있다.
도 2는 본 발명의 다양한 실시예에 따른 통신 메시지 해석 장치(100)의 구성을 나타내는 블록도이다.
도 2를 참조하면, 메시지 해석 장치(100)는 프로세서(110) 및 메모리(130)를 포함할 수 있다.
프로세서(110)은 적어도 하나의 프로세서를 포함할 수 있다.
프로세서(110)는 입력된 통신 메시지에 포함된 문자들에 대해 예측되는 결과를 산출할 수 있고, 산출된 예측 결과를 입력되는 문자들과 비교할 수 있다. 그리고 프로세서(110)는 예측 결과와 입력되는 문자와의 비교를 통해, 예측되는 결과에 대해, 입력되는 문자와 동일하지 않은 지점에서부터 분기되는 새로운 예측 결과를 산출할 수 있다.
프로세서(110)는 예측 결과들을 스택(stack)에 저장할 수 있고, 설정된 기준에 따라 스택에 저장된 예측 결과를 삭제할 수 있다.
프로세서(110)는 상술한 분기 예측의 수준인 최소 분기 예측 수준(minimum prediction fork level), 반복 예측 횟수를 계산하고 적용할 수 있다.
프로세서(110)는 예측된 결과가 입력되는 문자와 일치하면, 일치하는 단어를 출력할 수 있다.
메모리(130)는 상술한 통신 메시지 해석 장치(100)의 동작과 관련된 다양한 데이터를 저장할 수 있다.
메모리(130)는 스토리지(storage)를 포함할 수 있다.
통신 메시지 해석 장치(100)는 하나의 장치로 구현될 수 있고, 복수의 장치로도 구현될 수 있다.
상술한 구성 이외에도, 통신 메시지 해석 장치(100)는 다양한 구성을 포함할 수 있다.
통신 메시지 해석 장치(100)는 다양한 장치일 수 있다. 예를 들면, 통신 메시지 해석 장치(100)는 다양한 IoT 장치들로부터 데이터를 수신하는 장치일 수 있고, 서버일 수도 있다.
설명의 용이함을 위해, 상술한 통신 메시지 해석 장치(100)에 대해, 이하 장치(100)로 설명하기로 한다.
이하, 본 발명의 다양한 실시예에 따른 통신 메시지 해석 장치 및 그 방법에 대해 자세히 설명한다.
본 발명의 기본이 되는 모델은 다 대 다(many-to-many) 방식의 순환신경망(Recurrent Neural Network)이다.
본 발명의 다양한 실시예에 따른 장치(100)는 통신 메시지에 대한 메시지순환데이터를 입력 문자(input letters)로 사용하여, 출력 문자(output letters)를 얻을 수 있다. 여기서 입력 문자는 byte나 ASCII와 같은 값을 사용할 수 있다.
장치(100)는 입력 문자에 따라 예측한 결과를 스택(stack)에 저장할 수 있다.
도 3을 참조하면, 장치(100)는 입력 문자에 따라 예측한 결과인 예측한 문자(letter)를 스택(stack)에 저장할 수 있다.
장치(100)는 저장된 예측 문자가 다음 입력 문자와 일치하는지 확인할 수 있다. 그리고 장치(100)는 저장된 예측 문자와 다음 입력 문자가 일치하면, 순차적으로 다음에 입력되는 문자와 일치하는지 확인할 수 있다.
구체적인 일 실시예로, 장치(100)는 첫번째 문자로 예측된 예측 문자의 두번째 문자가, 입력된 두번째 문자와 일치하는지 확인할 수 있다.
장치(100)는 예측 문자와 다음 입력 문자가 일치하면, 순환신경망의 학습 과정을 진행할 수 있다.
장치(100)는 예측 문자와 다음 입력 문자가 일치하지 않으면, 해당 지점에서 분기를 나누어서 진행할 수 있다.
구체적으로, 장치(100)는 예측 문자와 다음 입력 문자가 일치하지 않으면, 해당 예측 문자를 다른 예측 문자로 갱신하거나 덮어쓰지 않고, 일치하지 않은 지점에서 분기를 나누어서 진행할 수 있다.
도 4를 참조하면, 장치(100)는 예측 결과와 입력 문자의 비교를 통해, 동일하지 않으면 해당 분기에서 새로운 예측 결과를 적층할 수 있다.
예를 들어, 장치(100)는 두번째 입력 문자가 일치하지 않은 경우, 이전에 예측된 예측 문자를 스택에 남겨둔 상태로, 두번째 입력 문자를 통해 예측되는 새로운 예측 문자를 스택에 추가할 수 있다. 그래서 처음 분기가 나누어진 경우에는, 스택에는 총 2개의 예측 문자가 존재할 수 있다. 장치(100)는 분기가 나누어진 상태에서, 세번째 입력 문자를 2개의 예측 문자와 비교할 수 있고, 일치하는지 확인할 수 있다. 장치(100)는 스택에 저장된 예측 문자 중 입력되는 문자와 일치하는 예측 결과를 확인하면, 이에 해당하는 새로운 예측 결과를 만들어서 스택에 저장할 수 있다. 장치(100)는 스택에 저장된 예측 문자 중 입력되는 문자와 일치하는 예측 결과가 없으면, 해당 지점에서 분기를 추가할 수 있다. 장치(100)는 이와 같은 과정을 통해, 문자(letter)를 입력받아 단어(word)를 예측할 수 있다. 그리고 장치(100)는 단어(word)가 완성되면 미리 정의된 기호를 출력할 수 있고, 완성된 단어를 저장하고 스택에서 제거할 수 있다. 그리고 장치(100)는 새로운 예측을 진행할 수 있다.
일반적인 순환신경망 모델은 예측 결과와 다음 입력 데이터(input data)가 일치하지 않은 경우에는 모델 트레이닝 과정에서 학습이 충분히 이루어지지 않았다고 보거나, 테스트 데이터가 특이치(outlier)인 것으로 해석하였다.
신뢰도가 높은 네트워크인 경우에는 상술한 일반적인 순환신경망 모델에 따른 해석으로도 효과적인 모델을 만들 수 있다. 하지만 IoT 네트워크처럼 신뢰도가 낮은 통신 환경, 다양한 프로토콜이 혼재되어 있는 상황에서 메시지의 구조를 모르는 경우에는 일반적인 순환신경망 모델로는 한계가 존재한다.
예를 들면, 단어를 구성하는 문자들(letters)은 유사하지만 뜻이 전혀 관련 없는 단어도 잡음에 의해 추측될 수 있고, 프로토콜이 2개 이상인 경우에는 반드시 이를 해석해서 사용해야만 한다는 제약이 있다.
다양한 실시예에 따른 본 발명은, 예측 값이 입력 데이터와 일치하지 않아도, 예측 값을 분기 스택에 저장하여 분기마다 다음 스텝에서 예측을 반복 수행할 수 있고 입력 데이터와 비교할 수 있어서, 신뢰도가 낮은 통신 환경에서 발생하는 잡음이나 불필요한 정보들을 걸러낼 수 있다.
이와 같이, 본 발명은 분기 예측이라는 방법을 통해, 예측 가짓수를 늘릴 수 있고, 이후의 예측 값으로부터 분기 중 유용한 분기를 선택하는 과정을 포함할 수 있다.
한편, 본 발명은 순환신경망 모델에서, 스택에 저장되는 예측 결과들을 무한하게 저장하지 않으며, 저장한 예측 결과는 미리 정의된 예측 횟수 내에서 입력 데이터와의 정합성을 검토하고, 예측 횟수 내에서 입력 데이터와의 정합성이 확인되지 않으면 해당 예측 결과를 스택에서 삭제할 수 있다. 이에 따라 본 발명은 잡음으로 인해, 불필요한 예측 결과가 스택에 오래 남아 있는 것을 방지할 수 있다.
구체적으로, 본 발명의 다양한 실시예에 따른 장치(100)는 스택에 저장된 예측 결과가 일정 횟수 이상 일치하지 않는 경우에는 해당 예측 결과를 버릴 수 있다. 예를 들면, 장치(100)는 네트워크의 통신 신뢰도에 따라, 스택에 저장된 예측 결과가 일정 횟수 이상 일치하지 않는 경우에는 해당 예측 결과를 버릴 수 있다.
다른 예로, 도 5에 도시된 것과 같이, 장치(100)는 스택에 저장된 시간, 예를 들면 대기 시간(waiting time)에 따라 예측 결과를 삭제할 수 있다. 이에 따라 장치(100)는 오래된 예측 값을 삭제할 수 있다.
본 발명은 상술한 구조를 통해 입력 문자(input letter)가 들어올 때마다 스택에 저장된 예측 결과와 비교하고, 일치하는 결과에 더해가는 방식으로 단어를 만들 수 있다. 그래서 본 발명은 통신 메시지를 전송하는 장치(예를 들면, IoT 장치)의 프로토콜이나 잡음에 상관없이, 사용자가 원하는 정보를 얻을 수 있다. 그리고 본 발명에서 예측되는 각 예측 결과들은 스택에 저장된 다른 예측 결과들에 영향을 미치지 않는 병렬 구조를 가질 수 있다. 그래서 본 발명은 모델 구성 요소를 GRU(Gated Recurrent Unit)이나 LSTM(Long-Short Term Memory)의 형태로 구성하더라도 스택의 형태를 지켜준다면 성능을 보장할 수 있다. 이는 본 발명에 따른 모델의 핵심 구성 요소가 비교적 단순한 메커니즘으로 구성되었기 때문이다.
본 발명에 따른 해석 모델에서, 다중 스택이 발생하는 경우는 분기 예측이 일어날 때이다. 통신 메시지에는 다양한 키워드들이 존재할 수 있으며, 예측 값의 다양성을 보장하기 위해서는 분기의 수를 일정 수 이상 보장하여야 한다. 이에 따라 본 발명의 다양한 실시예에 따른 장치(100)는 분기가 일어나는 최소 수준을 정할 수 있다. 이를 최소 분기 예측 수준(minimum prediction fork level)이라고 할 수 있다. 최소 분기 예측 수준은 메시지의 해석을 통해 구축하는 키워드 사전 (keyword dictionary)의 크기와 관련 있을 수 있고, 키워드 사전은 키워드 사전은 본 발명에서 예측의 결과로 얻어낼 수 있는 단어들의 모음을 말한다. 키워드 사전은 본 발명에 따른 해석 모델을 학습시키기 전에 메시지에 잘 나타나고 의미를 가진 높은 키워드로 초기 사전을 구성하며, 학습 중에 발견된 키워드를 추가하여 사전의 크기가 가변적으로 변할 수 있다. 키워드 사전 안의 키워드들 중 전혀 다른 문자들(letters)로 구성된 단어도 있지만, 유사한 문자(letter)의 순서로 구성된 단어도 있을 수 있다.
한편, 순환신경망 모델의 특성상 입력이 전부 동일한 패턴을 가지지만 출력이 전혀 다른 값이 있다면 예측하기 어려운 문제가 있다.
예를 들면, contact', 'convert', 'confirm'과 같은 단어가 있는 경우, con이라는 입력(input)에 따라 예측 결과가 t, v, f로 출력될 수 있다. 이 경우, 장치(100)는 스택에 분기시킬 수 있는 가능성이 3가지가 된다. 그러므로, 장치(100)는 con이 입력되면, 이후 예측 값이 최소 3개의 분기를 가질 수 있도록 허용할 수 있다. 그래서, 상술한 t, v, f의 가능성을 본 발명에 따른 예측 모델이 모두 받아들일 수 있다.
여기서 최소 분기 예측 수준의 결정은 예측 모델, 즉 본 발명에 따른 장치(100)에 입력되는 입력(input)에 따라 결정될 수 있다. 입력되는 연속 문자가 길수록 최소 분기 예측 수준을 줄어들 수 있고, 연속 문자가 짧을수록 최소 분기 예측 수준이 커질 수 있다. 여기서 최소 분기 예측 수준을 입력으로 사용하는 연속 문자를 어간(stem)이라고 정의할 수 있다.
도 6을 참조하면, 장치(100)는 어간의 사이즈가 2인 경우의 분기 예측을 생성할 수 있다. 예를 들면, 장치(100)는 in을 어간으로 할 경우, 예측 결과가 c, I, d로 출력할 수 있고, 스택에 분기시킬 수 있다.
장치(100)는 분기 예측 수준으로부터 반복 예측 횟수를 산출할 수 있다. 예를 들면, 장치(100)는 아래 수학식 1을 이용하여, 반복 예측 횟수를 산출할 수 있다. 이를 통해, 장치(100)는 어간을 가지는 키워드를 반복 예측을 통해 충분히 도출할 수 있는 반복 예측 횟수를 계산할 수 있다.
Figure pat00001
본 발명에 따른 수학식 1은 분기 예측 수준에 따라 키워드 사전에 포함된, 같은 어간을 가지는 키워드들을 90% 이상 얻을 수 있도록 보장할 수 있다. 어간의 크기는 분기 예측 횟수를 결정하는 결정자이다.
장치(100)는 수학식 1에 의해 분기 예측 수가 많아질 것으로 예상되면, 어간의 크기를 늘려서 적절한 수준의 분기 예측을 유지하도록 할 수 있다.
예를 들어 도 7을 참조하면, 장치(100)는 입력되는 연속 문자의 길이, 어간을 변경할 수 있다. 예를 들면, 장치(100)는 어간의 길이가 2인 경우에서 어간의 길이가 3인 경우로, 또는 반대로 어간 길이를 변경할 수 있다. 그리고 장치(100)는 변경에 따라, 설정된 어간 길이 각각에 대해 분기 예측을 수행할 수 있다.
분기 예측 수준을 줄이기 위해, 어간의 크기를 크게 설정하면 잡음에 대해 취약함이 발생할 수 있다. 예를 들면, 불안정한 IoT 통신 환경의 데이터를 수신하면, 어간의 길이보다 세밀하게 노이즈가 포함되어 있을 수 있어서, 본 발명의 예측 정확도가 떨어질 수 있다.
한편, 상술한 것과 같이, 장치(100)의 스택에 예측 결과를 유지하는 정도가 중요하다. 본 발명을 적용한 실험에 따르면, 스택에 유지되는 예측 결과는 네트워크(예를 들면, IoT 네트워크)의 통신 신뢰도에 따라 정의하는 것이 바람직하다. 실험 결과로는 1~3 스텝 (1스텝은 입력 문자(input letter) 하나에 예측 값이 한번 발생하는 단위) 사이에서, 스택 유지 수를 정하면 대부분의 잡음을 제거할 수 있었다. 만약 통신이 이루어지는 환경이 간섭이 자주 발생하거나, 동일 주파수 대역을 사용하는 센서나 전자기기가 많이 섞여 있는 경우에는 장치(100)의 스택에 대기하는 시간을 늘려주는 것이 바람직하다. 하지만 스택 유지 정도를 너무 길게 하면, 스택에 많은 예측 결과들이 쌓이게 된다. 이는 메모리적인 손실을 발생시키며, 새로운 입력 문자(input letter)를 매번 비교하도록 해서, 불필요한 컴퓨팅 파워를 소모하게 만든다. 따라서 본 발명의 장치(100)에 입력되는 통신 메시지의 통신 환경 알맞은 스택의 대기 시간을 정의하는 것이 중요할 수 있다.
도 8을 참조하면, 본 발명의 장치(100)에 대한 분기 예측 수준에 따른 해석 모델의 예측 정확도에 대한 실험 결과를 확인할 수 있다. 해당 실험은 단어의 숫자를 100개로 정의하였다. 장치(100)의 분기 예측 수준을 1에서 10까지 적용해 볼 수 있도록 키워드 사전을 구성하여 실험한 결과, 분기 예측 수준이 높아져도 90% 이상의 정확도를 가지고 단어를 추출하였다는 결과를 얻을 수 있었다. 이에 따라, 키워드 사전에 분기 예측 수준이 높아지더라도, 본 발명은 효과적으로 통신 메시지의 키워드들을 검출할 수 있다는 것을 확인할 수 있다.
본 발명은 복수의 프로토콜이 함께 사용되는 경우에도, 각 프로토콜에 대한 메시지 구조를 파악하지 않아도 통신이 가능한 장점이 있다.
또한, 본 발명은 통신 메시지에서 원하는 정보 이외의 다른 정보를 제거할 수 있어서, 불필요한 정보, 불필요한 잡음을 제거할 수 있다. 여기서 불필요한 정보는 프로토콜의 구조가 가지고 있는 헤더 등을 의미할 수 있다. 이러한 불필요한 정보는 사용자가 원하는 결과가 아니며, 통신 메시지를 해석하는 것을 어렵게 할 수 있다. 따라서, 본 발명은 다른 프로토콜을 가지는 센서가 있더라도, 이에 대한 부가적인 해석 없이 필요한 정보를 얻을 수 있다.
이상, 본 발명의 기술적 사상을 다양한 실시 예들을 들어 상세하게 설명하였으나, 본 발명의 기술적 사상은 상기 실시 예들에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다.

Claims (16)

  1. 통신 메시지의 메시지 해석 방법에 있어서,
    전송된 통신 메시지에 포함된, 복수의 입력 문자를 포함하는 스트림을 입력받는 단계;
    상기 스트림의 첫번째 문자에 따라 예측되는 결과인 제1 예측 결과를 산출하는 단계;
    상기 산출된 제1 예측 결과를 상기 스트림의 두번째 문자와 비교하는 단계;
    상기 제1 예측 결과와의 비교 결과를 기초로, 상기 산출된 제1 예측 결과와 상기 두번째 문자가 동일하지 않으면, 동일하지 않은 지점에서부터 분기되는 제2 예측 결과를 산출하고, 상기 제1 예측 결과를 제1 스택(stack)으로 저장하는 단계;
    상기 산출된 제2 예측 결과를 상기 두번째 문자와 비교하는 단계; 및
    상기 제2 예측 결과와의 비교 결과를 기초로, 상기 산출된 제2 예측 결과와 상기 두번째 문자가 동일하지 않으면, 상기 동일하지 않은 지점에서부터 분기되는 제3 예측 결과를 산출하고, 상기 제2 예측 결과를 제2 스택으로 저장하는 단계를 포함하는
    메시지 해석 방법.
  2. 제1항에 있어서,
    상기 제1 예측 결과 또는 상기 제2 예측 결과가 상기 복수의 입력 문자와 동일하면, 동일한 예측 결과를 완성된 단어로 저장하는 단계를 더 포함하는
    메시지 해석 방법.
  3. 제2항에 있어서,
    상기 완성된 단어로 저장된 예측 결과의 스택을 삭제하는 단계를 더 포함하는
    메시지 해석 방법.
  4. 제1항에 있어서,
    상기 입력 문자에 대해 산출되는 예측 결과에 대해, 동일한 지점에서 분기된, 복수의 예측 결과의 스택(stack) 수가 기준 값을 초과하면, 초과된 수의 스택을 삭제하는 단계를 더 포함하는
    메시지 해석 방법.
  5. 제4항에 있어서,
    상기 초과된 수의 스택을 삭제하는 단계는
    상기 복수의 예측 결과의 스택 중 대기 시간(waiting time)을 기준으로, 상기 초과된 수의 스택을 삭제하는 단계를 포함하는
    메시지 해석 방법.
  6. 제4항에 있어서,
    상기 초과된 수의 스택을 삭제하는 단계는
    상기 복수의 예측 결과의 스택 중 상기 입력 문자와의 비교 결과가 일정 횟수 이상 일치하지 않는 스택을 삭제하는 단계를 포함하는
    메시지 해석 방법.
  7. 제1항에 있어서,
    상기 입력 문자에 따라 예측되는 예측 결과에 대해 하나의 지점에서 분기되는 예측 결과의 수에 대한 최소 분기 예측 레벨을 산출하는 단계; 및
    상기 산출된 최소 분기 예측 레벨을 기초로, 상기 입력되는 문자에 따라 예측되는 결과인 복수의 예측 결과를 산출하는 단계를 더 포함하는
    메시지 해석 방법.
  8. 제7항에 있어서,
    상기 산출된 최소 분기 예측 레벨을 이용하여, 입력으로 사용하는 연속 문자인 어간(stem)의 수를 조절하는 단계를 더 포함하는
    메시지 해석 방법.
  9. 적어도 하나의 프로세서; 및
    상기 프로세서에 전기적으로 연결된 메모리를 포함하고,
    상기 메모리는, 상기 프로세서가 실행 시에,
    전송된 통신 메시지에 포함된, 복수의 입력 문자를 포함하는 스트림을 입력받고,
    상기 스트림의 첫번째 문자에 따라 예측되는 결과인 제1 예측 결과를 산출하고,
    상기 산출된 제1 예측 결과를 상기 스트림의 두번째 문자와 비교하고,
    상기 제1 예측 결과와의 비교 결과를 기초로, 상기 산출된 제1 예측 결과와 상기 두번째 문자가 동일하지 않으면, 동일하지 않은 지점에서부터 분기되는 제2 예측 결과를 산출하고, 상기 제1 예측 결과를 제1 스택(stack)으로 저장하고,
    상기 산출된 제2 예측 결과를 상기 두번째 문자와 비교하고,
    상기 제2 예측 결과와의 비교 결과를 기초로, 상기 산출된 제2 예측 결과와 상기 두번째 문자가 동일하지 않으면, 상기 동일하지 않은 지점에서부터 분기되는 제3 예측 결과를 산출하고, 상기 제2 예측 결과를 제2 스택으로 저장하도록 하는 인스트럭션들을 저장하는
    메시지 해석 장치.
  10. 제9항에 있어서,
    상기 메모리는, 상기 프로세서가 실행 시에,
    상기 제1 예측 결과 또는 상기 제2 예측 결과가 상기 복수의 입력 문자와 동일하면, 동일한 예측 결과를 완성된 단어로 저장하도록 하는 인스트럭션들을 저장하는
    메시지 해석 장치.
  11. 제10항에 있어서,
    상기 메모리는, 상기 프로세서가 실행 시에,
    상기 완성된 단어로 저장된 예측 결과의 스택을 삭제하도록 하는 인스트럭션들을 저장하는
    메시지 해석 장치.
  12. 제9항에 있어서,
    상기 메모리는, 상기 프로세서가 실행 시에,
    상기 입력 문자에 대해 산출되는 예측 결과에 대해, 동일한 지점에서 분기된, 복수의 예측 결과의 스택(stack) 수가 기준 값을 초과하면, 초과된 수의 스택을 삭제하도록 하는 인스트럭션들을 저장하는
    메시지 해석 장치.
  13. 제12항에 있어서,
    상기 메모리는, 상기 프로세서가 실행 시에,
    상기 복수의 예측 결과의 스택 중 대기 시간(waiting time)을 기준으로, 상기 초과된 수의 스택을 삭제하도록 하는 인스트럭션들을 저장하는
    메시지 해석 장치.
  14. 제12항에 있어서,
    상기 메모리는, 상기 프로세서가 실행 시에,
    상기 복수의 예측 결과의 스택 중 상기 입력 문자와의 비교 결과가 일정 횟수 이상 일치하지 않는 스택을 삭제하도록 하는 인스트럭션들을 저장하는
    메시지 해석 장치.
  15. 제9항에 있어서,
    상기 메모리는, 상기 프로세서가 실행 시에,
    상기 입력 문자에 따라 예측되는 예측 결과에 대해 하나의 지점에서 분기되는 예측 결과의 수에 대한 최소 분기 예측 레벨을 산출하고,
    상기 산출된 최소 분기 예측 레벨을 기초로, 상기 입력되는 문자에 따라 예측되는 결과인 복수의 예측 결과를 산출하도록 하는 인스트럭션들을 저장하는
    메시지 해석 장치.
  16. 제15항에 있어서,
    상기 메모리는, 상기 프로세서가 실행 시에,
    상기 산출된 최소 분기 예측 레벨을 이용하여, 입력으로 사용하는 연속 문자인 어간(stem)의 수를 조절하도록 하는 인스트럭션들을 저장하는
    메시지 해석 장치.
KR1020180129185A 2018-10-26 2018-10-26 순환신경망 및 분기예측에 기반한 통신 메시지 해석 장치 및 그 방법 KR102177741B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180129185A KR102177741B1 (ko) 2018-10-26 2018-10-26 순환신경망 및 분기예측에 기반한 통신 메시지 해석 장치 및 그 방법
PCT/KR2018/014463 WO2020085567A1 (ko) 2018-10-26 2018-11-22 순환신경망을 이용한 통신 메시지 해석 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180129185A KR102177741B1 (ko) 2018-10-26 2018-10-26 순환신경망 및 분기예측에 기반한 통신 메시지 해석 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20200047124A true KR20200047124A (ko) 2020-05-07
KR102177741B1 KR102177741B1 (ko) 2020-11-11

Family

ID=70330627

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180129185A KR102177741B1 (ko) 2018-10-26 2018-10-26 순환신경망 및 분기예측에 기반한 통신 메시지 해석 장치 및 그 방법

Country Status (2)

Country Link
KR (1) KR102177741B1 (ko)
WO (1) WO2020085567A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006181173A (ja) * 2004-12-28 2006-07-13 Konica Minolta Medical & Graphic Inc 患者情報分類装置及びプログラム
US20080275837A1 (en) * 2007-05-01 2008-11-06 Lambov Branimir Z Method and system for approximate string matching
KR100891358B1 (ko) * 2005-10-20 2009-04-01 (주)트루시스템 사용자의 다음 문자열 입력을 예측하는 글자 입력 시스템및 그 글자 입력 방법
KR20180095260A (ko) * 2017-02-17 2018-08-27 박상준 사물인터넷 서비스 제공 장치 및 그 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4215418B2 (ja) * 2001-08-24 2009-01-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 単語予測方法、音声認識方法、その方法を用いた音声認識装置及びプログラム
WO2009139230A1 (ja) * 2008-05-16 2009-11-19 日本電気株式会社 言語モデルスコア先読み値付与装置およびその方法ならびにプログラム記録媒体
US9298274B2 (en) * 2012-07-20 2016-03-29 Microsoft Technology Licensing, Llc String predictions from buffer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006181173A (ja) * 2004-12-28 2006-07-13 Konica Minolta Medical & Graphic Inc 患者情報分類装置及びプログラム
KR100891358B1 (ko) * 2005-10-20 2009-04-01 (주)트루시스템 사용자의 다음 문자열 입력을 예측하는 글자 입력 시스템및 그 글자 입력 방법
US20080275837A1 (en) * 2007-05-01 2008-11-06 Lambov Branimir Z Method and system for approximate string matching
KR20180095260A (ko) * 2017-02-17 2018-08-27 박상준 사물인터넷 서비스 제공 장치 및 그 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
방성혁 외, 순환신경망 기반의 사용자 의도 예측 모델, 정보과학회논문지 V.45 no.4 pp.360-369 (2018.04) *

Also Published As

Publication number Publication date
WO2020085567A1 (ko) 2020-04-30
KR102177741B1 (ko) 2020-11-11

Similar Documents

Publication Publication Date Title
EP3534283B1 (en) Classification of source data by neural network processing
EP3534284B1 (en) Classification of source data by neural network processing
Melicher et al. Fast, lean, and accurate: Modeling password guessability using neural networks
US12021881B2 (en) Automatic inline detection based on static data
US10496924B1 (en) Dictionary DGA detector model
US9805099B2 (en) Apparatus and method for efficient identification of code similarity
US11165790B2 (en) Malicious communication log detection device, malicious communication log detection method, and malicious communication log detection program
US20140214749A1 (en) System and method for dfa-nfa splitting
CN111723846B (zh) 基于随机性特征的加密和压缩流量识别方法及装置
CN112154420B (zh) 自动智能云服务测试工具
US20220272125A1 (en) Systems and methods for malicious url pattern detection
CN114726823B (zh) 一种基于生成对抗网络的域名生成方法、装置和设备
CN113726545B (zh) 基于知识增强生成对抗网络的网络流量生成方法及装置
CN112926647B (zh) 模型训练方法、域名检测方法及装置
CN111819559A (zh) 以量化步长使用机器学习模型用于恶意软件检测
KR102177741B1 (ko) 순환신경망 및 분기예측에 기반한 통신 메시지 해석 장치 및 그 방법
CN115168857B (zh) 恶意软件检测优化方法、系统、终端及存储介质
CN110601909A (zh) 网络维护方法、装置、计算机设备和存储介质
CN112764791B (zh) 一种增量更新的恶意软件检测方法及系统
US20190349390A1 (en) Packet format inference apparatus and computer readable medium
US20230177393A1 (en) Machine learning apparatus, machine learning system, machine learning method, and program
Cai et al. Communication protocol identification based on data mining and automatic reasoning
Bartoli et al. Compressing regular expression sets for deep packet inspection
CN116151215B (zh) 文本处理方法、深度学习模型训练方法、装置以及设备
Pungila et al. Real-Time Hybrid Compression of Pattern Matching Automata for Heterogeneous Signature-Based Intrusion Detection

Legal Events

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