KR102298395B1 - System and Method for User Behavior Analysis and Agent for Collection of Event - Google Patents

System and Method for User Behavior Analysis and Agent for Collection of Event Download PDF

Info

Publication number
KR102298395B1
KR102298395B1 KR1020190162976A KR20190162976A KR102298395B1 KR 102298395 B1 KR102298395 B1 KR 102298395B1 KR 1020190162976 A KR1020190162976 A KR 1020190162976A KR 20190162976 A KR20190162976 A KR 20190162976A KR 102298395 B1 KR102298395 B1 KR 102298395B1
Authority
KR
South Korea
Prior art keywords
event
input
time
information
user terminal
Prior art date
Application number
KR1020190162976A
Other languages
Korean (ko)
Other versions
KR20210072872A (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 KR1020190162976A priority Critical patent/KR102298395B1/en
Publication of KR20210072872A publication Critical patent/KR20210072872A/en
Application granted granted Critical
Publication of KR102298395B1 publication Critical patent/KR102298395B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems

Abstract

본 기술의 일 실시예에 의한 사용자 행위 분석 시스템은 사용자 단말기에 구비되며, 사용자 단말기가 기동됨에 따라, 사용자 단말기에서 실행되는 운영체제 및 어플리케이션을 포함하는 프로그램의 실행 시점부터 종료 시점까지 사용자에 의한 상기 프로그램에 대한 모든 조작 정보를 시간에 따라 수집하여 이벤트 정보를 생성하고 통신망을 통해 전송하는 이벤트 수집 에이전트 및 하나 또는 복수의 사용자 단말기와 통신망을 통해 접속되어, 이벤트 수집 에이전트로부터 이벤트 정보를 수집하는 이벤트 분석 서버를 포함하도록 구성될 수 있다.The user behavior analysis system according to an embodiment of the present technology is provided in the user terminal, and as the user terminal is started, the program by the user from the execution time to the end time of the program including the operating system and the application executed in the user terminal An event collection agent that collects all operation information for the user over time, generates event information and transmits it through a communication network, and an event analysis server that is connected to one or more user terminals through a communication network and collects event information from the event collection agent It may be configured to include

Figure 112019127107248-pat00001
Figure 112019127107248-pat00001

Description

사용자 행위 분석 시스템 및 방법과, 이를 위한 이벤트 수집 에이전트{System and Method for User Behavior Analysis and Agent for Collection of Event}System and Method for User Behavior Analysis and Agent for Collection of Events

본 기술은 데이터를 수집하여 데이터베이스를 구성하고 이에 기초하여 데이터를 분석하는 기술에 관한 것으로, 보다 구체적으로는 사용자 행위 분석 시스템 및 방법과, 이를 위한 이벤트 수집 에이전트에 관한 것이다.The present technology relates to a technology for collecting data to configure a database and analyzing data based thereon, and more particularly, to a user behavior analysis system and method, and an event collection agent for the same.

개인용 컴퓨팅 장치의 보급 및 확산에 따라 이를 통한 다양한 서비스가 개발되고 있으며, 사용자들은 업무나 사회적 활동 등에 컴퓨팅 장치에서 실행되는 다양한 어플리케이션을 사용하고 있다.With the spread and spread of personal computing devices, various services are being developed through them, and users use various applications executed on the computing devices for work or social activities.

특정 사용자 또는 특정 집단에 포함된 사용자들의 다양한 행동을 분석하여 특징을 도출하는 기술을 사용자 행위 분석(User Behavior Analysis; UBA) 기술이라 일컬을 수 있다.A technique for deriving characteristics by analyzing various behaviors of a specific user or users included in a specific group may be referred to as a user behavior analysis (UBA) technique.

최근 들어, 업무 자동화 또는 보안 네트워크 상의 이상 탐지 등을 위해 컴퓨팅 장치의 로그를 분석하는 기술이 개발되고 있다. 하지만 현재의 행위 분석 기술은 기 생성된 정보의 조작 이력만을 단편적으로 수집할 뿐이며, 이를 통해 개인화된 서비스를 제공하거나 서비스 수준을 향상시키는 데에는 한계가 있다.Recently, a technology for analyzing a log of a computing device has been developed for task automation or detection of anomalies on a security network. However, the current behavior analysis technology only collects the manipulation history of previously generated information in fragments, and there is a limit to providing personalized services or improving the service level through this.

따라서, 컴퓨팅 장치를 통한 사용자의 다양한 행위를 더욱 정확하게 분석할 수 있는 방안이 필요하다.Accordingly, there is a need for a method capable of more accurately analyzing various actions of a user through a computing device.

본 기술의 실시예는 컴퓨팅 장치를 통한 사용자의 모든 행위, 예를 들어 키보드와 마우스를 통한 입력 행위를 수집하고 분석하여 컴퓨팅 장치에 대한 사용자의 입력 행위에 도움이 되는 피드백을 제공할 수 있는 사용자 행위 분석 시스템 및 방법과, 이를 위한 이벤트 수집 에이전트를 제공할 수 있다.An embodiment of the present technology collects and analyzes all actions of a user through a computing device, for example, input actions through a keyboard and a mouse, and provides feedback helpful for a user's input actions to the computing device. It is possible to provide an analysis system and method, and an event collection agent for the same.

본 기술의 일 실시예에 의한 사용자 행위 분석 시스템은 사용자 단말기에 구비되며, 상기 사용자 단말기가 기동됨에 따라, 상기 사용자 단말기에서 실행되는 운영체제 및 어플리케이션을 포함하는 프로그램의 실행 시점부터 종료 시점까지 사용자에 의한 상기 프로그램에 대한 모든 조작 정보를 시간에 따라 수집하여 이벤트 정보를 생성하고 통신망을 통해 전송하는 이벤트 수집 에이전트; 및 하나 또는 복수의 사용자 단말기와 상기 통신망을 통해 접속되어, 상기 이벤트 수집 에이전트로부터 상기 이벤트 정보를 수집하는 이벤트 분석 서버;를 포함하도록 구성될 수 있다.The user behavior analysis system according to an embodiment of the present technology is provided in the user terminal, and as the user terminal is activated, the user an event collection agent that collects all operation information for the program over time, generates event information, and transmits it through a communication network; and an event analysis server that is connected to one or more user terminals and the communication network and collects the event information from the event collection agent.

본 기술의 일 실시예에 의한 사용자 행위 분석 방법은 사용자 단말기에 구비되어 상기 사용자 단말기의 프로세스 상태 변화, 키 입력 이벤트, 마우스 입력 이벤트 및 화면 캡쳐 이벤트를 감지하여 이벤트 정보를 생성하는 이벤트 수집 에이전트 및, 상기 이벤트 수집 에이전트로부터 상기 이벤트 정보를 수신하는 이벤트 분석 서버를 포함하는 사용자 행위 분석 시스템에서의 사용자 행위 분석 방법으로서, 상기 사용자 단말기가 기동됨에 따라, 상기 이벤트 수집 에이전트가 실행되는 단계; 상기 사용자 단말기에서 실행되는 운영체제 및 어플리케이션을 포함하는 프로그램의 실행 시점부터 종료 시점까지 사용자에 의한 상기 프로그램에 대한 모든 조작 정보를 시간에 따라 수집하여 이벤트 정보를 생성하는 단계; 및 상기 이벤트 분석 서버가 상기 이벤트 정보를 제공받아 데이터베이스로 구축하는 단계; 및 상기 데이터베이스에 기초하여 상기 이벤트 정보를 분석하는 단계;를 포함하도록 구성될 수 있다.A user behavior analysis method according to an embodiment of the present technology includes an event collection agent provided in a user terminal to detect a process state change, a key input event, a mouse input event, and a screen capture event of the user terminal to generate event information; A user behavior analysis method in a user behavior analysis system including an event analysis server for receiving the event information from the event collection agent, the method comprising: executing the event collection agent as the user terminal is activated; generating event information by collecting all operation information for the program by the user over time from the execution time to the end time of the program including the operating system and the application executed in the user terminal; and constructing, by the event analysis server, the event information as a database; and analyzing the event information based on the database.

본 기술의 일 실시예에 의한 이벤트 수집 에이전트는 사용자 단말기에 구비되며, 상기 사용자 단말기에서 실행되는 운영체제 및 어플리케이션을 포함하는 프로그램의 실행 시점부터 종료 시점까지 상기 사용자 단말기의 프로세스 상태 변화, 사용자에 의한 상기 프로그램에 대한 키 입력 이벤트, 마우스 입력 이벤트 및 화면 캡쳐 이벤트를 감지하는 이벤트 감지부; 상기 이벤트 감지부에서 감지된 이벤트 정보를 설정된 포맷으로 가공하도록 구성되는 이벤트 가공부; 및 상기 이벤트 가공부에서 생성한 이벤트 정보를 이벤트의 종류별로 지정된 목적지로 전송하도록 구성되는 이벤트 전송 매니저;를 포함하도록 구성될 수 있다.The event collection agent according to an embodiment of the present technology is provided in the user terminal, and the process state change of the user terminal from the execution time to the end time of the program including the operating system and the application executed in the user terminal, an event detection unit for detecting a key input event, a mouse input event, and a screen capture event for the program; an event processing unit configured to process the event information detected by the event sensing unit into a set format; and an event transmission manager configured to transmit the event information generated by the event processing unit to a destination designated for each type of event.

본 기술에 의하면, 컴퓨팅 장치에 대한 사용자의 모든 입력 행위를 수집하고 데이터베이스를 구축 및 분석할 수 있다. 이에 따라, 사용자가 어려움을 겪는(미숙한) 조작 행위에 도움을 줌으로써 사용자가 용이하게 컴퓨팅 장치를 조작하도록 할 수 있다.According to the present technology, it is possible to collect all input actions of a user to a computing device, and to build and analyze a database. Accordingly, it is possible to allow the user to easily operate the computing device by helping the user to a difficult (immature) operation.

나아가, 여러 사용자들이 어떤 어플리케이션을 어떻게 사용하며 입력에 있어서 어떠한 어려움을 겪는지 분석할 수 있으므로 각 어플리케이션 제작자들은 사용자의 입력 행위가 용이하도록 어플리케이션을 개선할 수 있다.Furthermore, since it is possible to analyze which applications are used by several users and how and what difficulties they experience in input, each application creator can improve the application so that the user's input behavior is easy.

도 1은 일 실시예에 의한 사용자 행위 분석 시스템의 구성도이다.
도 2는 일 실시예에 의한 사용자 단말기의 구성도이다.
도 3은 일 실시예에 의한 이벤트 수집 에이전트의 구성도이다.
도 4는 일 실시예에 의한 이벤트 분석 서버의 구성도이다.
도 5는 일 실시예에 의한 사용자 행위 수집 방법을 설명하기 위한 흐름도이다.
도 6은 일 실시예에 의한 사용자 행위 분석 방법을 설명하기 위한 흐름도이다.
1 is a block diagram of a user behavior analysis system according to an embodiment.
2 is a block diagram of a user terminal according to an embodiment.
3 is a block diagram of an event collection agent according to an embodiment.
4 is a configuration diagram of an event analysis server according to an embodiment.
5 is a flowchart illustrating a method for collecting user actions according to an embodiment.
6 is a flowchart illustrating a user behavior analysis method according to an embodiment.

이하, 첨부된 도면을 참조하여 본 기술의 실시예를 보다 구체적으로 설명한다.Hereinafter, embodiments of the present technology will be described in more detail with reference to the accompanying drawings.

도 1은 일 실시예에 의한 사용자 행위 분석 시스템의 구성도이다.1 is a block diagram of a user behavior analysis system according to an embodiment.

도 1을 참조하면, 일 실시예에 의한 사용자 행위 분석 시스템(10)은 통신망(200)을 통해 상호 접속되는 하나 또는 복수의 사용자 단말기(100) 및 이벤트 분석 서버(300)를 포함할 수 있다.Referring to FIG. 1 , a user behavior analysis system 10 according to an embodiment may include one or a plurality of user terminals 100 and an event analysis server 300 that are interconnected through a communication network 200 .

사용자 단말기(100)는 데스크 톱 컴퓨터와 같은 단말기(101), 또는 랩톱 컴퓨터(103)와 같은 유선 또는 무선 통신이 가능한 다양한 컴퓨팅 장치를 포함할 수 있다.The user terminal 100 may include a terminal 101 such as a desktop computer, or various computing devices capable of wired or wireless communication such as a laptop computer 103 .

사용자 단말기(100)는 이벤트 수집 에이전트(160)를 구비할 수 있다.The user terminal 100 may include an event collection agent 160 .

이벤트 수집 에이전트(160)는 사용자 단말기(100)의 부팅 후 자동 또는 수동으로 실행되어 사용자 단말기(100)에 대한 사용자의 모든 행위를 수집하고 이벤트 분석 서버(300)로 전송할 수 있다.The event collection agent 160 may be automatically or manually executed after booting of the user terminal 100 to collect all actions of the user with respect to the user terminal 100 and transmit it to the event analysis server 300 .

이벤트 분석 서버(300)는 사용자 단말기(100)로부터 이벤트 수집 정보를 전송받아 저장하고 분석하도록 구성될 수 있다.The event analysis server 300 may be configured to receive, store, and analyze event collection information received from the user terminal 100 .

일 실시예에서, 이벤트 수집 에이전트(160)는 사용자 단말기(100)에서 실행되는 모든 프로세스의 상태 이벤트, 실행 중인 프로세스에 대한 사용자의 모든 조작 행위 이벤트를 수집 및 저장하고, 기 설정된 주기 또는 기 설정된 조건이 만족하는 경우 수집된 이벤트를 이벤트 분석 서버(300)로 전송할 수 있다.In one embodiment, the event collection agent 160 collects and stores the status events of all processes executed in the user terminal 100 and all manipulation action events of the user for the running process, and a preset cycle or a preset condition. When this is satisfied, the collected event may be transmitted to the event analysis server 300 .

예를 들어, 이벤트 수집 에이전트(160)는 사용자 단말기(100)에서 실행되는 운영체제(OS) 및 어플리케이션을 포함하는 프로그램의 실행 시점부터 종료 시점까지 사용자에 의한 상기 프로그램에 대한 모든 조작 정보, 즉 키보드 이력, 마우스 입력 및 디스플레이 구성 변경 내역 등의 모든 입력 정보를 시간에 따라 수집할 수 있다.For example, the event collection agent 160 includes all the operation information for the program by the user from the execution time to the end time of the program including the operating system (OS) and the application executed in the user terminal 100, that is, the keyboard history. , all input information such as mouse input and display configuration change history can be collected over time.

예를 들어, OS 조작에 관한 모든 입력 정보, "어플리케이션 A"를 실행하였다가 "어플리케이션 B"를 실행하는 모든 과정에서의 키보드/마우스 입력 정보, 디스플레이 구성 변경 내역 등을 모두 수집할 수 있다.For example, all input information related to OS operation, keyboard/mouse input information in all processes of executing “application A” and then executing “application B”, and display configuration change history, etc. may all be collected.

이벤트 분석 서버(300)는 사용자 단말기(100)로부터 전송된 이벤트 정보를 설정된 인덱스에 따라 데이터베이스화하고 인덱스별 이벤트 정보를 분석할 수 있다.The event analysis server 300 may database the event information transmitted from the user terminal 100 according to a set index and analyze the event information for each index.

특정 응용 프로그램이 실행되고 조작된 후의 결과만을 이벤트 데이터로 수집하는 것은 물론이며, 실행 이후부터 종료까지의 전 과정에 대한 조작 이벤트를 모두 수집할 수 있음에 따라 사용자의 행위를 정확하게 분석할 수 있다.In addition to collecting only the results after a specific application program is executed and manipulated as event data, it is possible to accurately analyze user behavior as all manipulation events for the entire process from execution to termination can be collected.

도 2는 일 실시예에 의한 사용자 단말기의 구성도이다.2 is a block diagram of a user terminal according to an embodiment.

도 2를 참조하면, 일 실시예에 의한 사용자 단말기(100)는 컨트롤러(110), 주기억장치(120), 보조기억장치(130), IO 디바이스(140), 통신모듈(150) 및 이벤트 수집 에이전트(160)를 포함할 수 있다.Referring to FIG. 2 , the user terminal 100 according to an embodiment includes a controller 110 , a main memory device 120 , a secondary memory device 130 , an IO device 140 , a communication module 150 , and an event collection agent. (160).

컨트롤러(110)는 사용자 단말기(100)의 제반 동작을 제어하며, 소프트웨어 및 이를 실행하는 하드웨어가 결합된 형태로 구성될 수 있다. 일 실시예에서, 컨트롤러(100)는 운영체체(OS)를 실행시켜 각 하드웨어 구성부를 관리하도록 구성될 수 있다.The controller 110 controls the overall operation of the user terminal 100 , and may be configured in a form in which software and hardware for executing the same are combined. In an embodiment, the controller 100 may be configured to run an operating system (OS) to manage each hardware component.

주기억장치(120)는 컨트롤러(110)에서 실행할 프로그램 및 데이터, 또는 컨트롤러(110)에서 처리한 결과를 임시 저장할 수 있다.The main memory device 120 may temporarily store a program and data to be executed by the controller 110 , or a result processed by the controller 110 .

보조기억장치(130)는 컨트롤러(110)에서 실행할 프로그램 및 데이터가 유지되도록 저장하는 디스크일 수 있다. 구현하기에 따라, 사용자 단말기(100)는 보조기억장치(130)를 생략하여 구현하는 것도 가능하다.The auxiliary storage device 130 may be a disk for storing programs and data to be executed by the controller 110 to be maintained. Depending on implementation, the user terminal 100 may be implemented by omitting the auxiliary storage device 130 .

IO 디바이스(130)는 입력 디바이스 및 출력 디바이스를 포함할 수 있다. 입력 디바이스는 키보드, 마우스, 조이스틱, 터치패드, 전자 펜, 디스플레이부를 구비한 스마트 터치 패드 중 적어도 하나를 포함할 수 있다. 출력 디바이스는 모니터, 스피커, 프린터, 영상 프로젝터 중 적어도 하나를 포함할 수 있다.The IO device 130 may include an input device and an output device. The input device may include at least one of a keyboard, a mouse, a joystick, a touchpad, an electronic pen, and a smart touchpad having a display unit. The output device may include at least one of a monitor, a speaker, a printer, and an image projector.

통신모듈(150)은 사용자 단말기(100)가 통신망(200)을 통해 다른 컴퓨팅 장치와 통신할 수 있는 환경을 제공할 수 있다.The communication module 150 may provide an environment in which the user terminal 100 can communicate with other computing devices through the communication network 200 .

이벤트 수집 에이전트(160)는 사용자 단말기(100)에서 어떤 프로세스가 실행되는지 모니터링하고, 사용자 단말기(100)의 기동 후 종료시까지, 및/또는 특정 어플리케이션의 실행부터 종료시점까지, 해당 어플리케이션에 대한 사용자의 IO 디바이스(140)를 통한 조작 이력 및/또는 설정된 조건에 따라 캡쳐된 디스플레이된 화면의 정보를 모두 수집하도록 구성될 수 있다.The event collection agent 160 monitors which process is executed in the user terminal 100, and from the start of the user terminal 100 until the end, and/or from the execution of a specific application to the end time of the user for the corresponding application. It may be configured to collect all the information of the captured screen according to the operation history and / or set conditions through the IO device 140 .

도 3은 일 실시예에 의한 이벤트 수집 에이전트의 구성도이다.3 is a block diagram of an event collection agent according to an embodiment.

도 3을 참조하면, 이벤트 수집 에이전트(160)는 이벤트 감지부(161), 이벤트 가공부(163) 및 이벤트 전송 매니저(165)를 포함할 수 있다.Referring to FIG. 3 , the event collection agent 160 may include an event detection unit 161 , an event processing unit 163 , and an event transmission manager 165 .

이벤트 감지부(161)는 사용자 단말기(100)의 변화 상태를 감지하도록 구성될 수 있다.The event detection unit 161 may be configured to detect a change state of the user terminal 100 .

일 실시예에서, 이벤트 감지부(161)는 프로세스 이벤트 감지부(1611), 키 이벤트 감지부(1613), 마우스 이벤트 감지부(1615) 및 화면 캡쳐 이벤트 감지부(1617)를 포함할 수 있다.In an embodiment, the event detector 161 may include a process event detector 1611 , a key event detector 1613 , a mouse event detector 1615 , and a screen capture event detector 1617 .

프로세스 이벤트 감지부(1611)는 컨트롤러(110)의 제어에 따라 사용자 단말기(100)에서 실행되는 프로세스의 변화를 감지하도록 구성될 수 있다.The process event detection unit 1611 may be configured to detect a change in a process executed in the user terminal 100 under the control of the controller 110 .

일 실시예에서, 프로세스 이벤트 감지부(1611)는 실행, 변경 및 종료되는 프로세스의 상태 정보를 시간에 따라 수집하여 프로세스 이벤트 정보를 생성할 수 있다. 일 실시예에서, 프로세스 이벤트 감지부(1611)는 특정 어플리케이션이 실행됨에 따른 프로세스 변화에 응답하여 실행된 어플리케이션의 종류, 버전, 사용자 인터페이스 구성 정보를 추가로 감지할 수 있다.In an embodiment, the process event detection unit 1611 may generate process event information by collecting status information of processes that are executed, changed, and terminated over time. In an embodiment, the process event detecting unit 1611 may additionally detect the type, version, and user interface configuration information of the executed application in response to a process change as the specific application is executed.

키 이벤트 감지부(1613)는 컨트롤러(110)를 통해 키 입력시 발생하는 이벤트를 감지하도록 구성될 수 있다.The key event detection unit 1613 may be configured to detect an event that occurs when a key is input through the controller 110 .

일 실시예에서, 키 이벤트 감지부(1613)는 키보드를 통해 입력되는 개개의 키 입력 정보를 시간 순서에 따라 수집할 수 있다. 여기에서, 수집하는 키 입력 정보는 문자키, 숫자키, 스페이스키, 엔터키, 기능키, 쉬프트키, 언어 변환키, 백스페이스(Backspace)키, 딜리트(Delete) 키, 화살표키(arrow key) 등 키보드에 마련된 모든 키에 대한 입력 정보일 수 있다. 키 이벤트 감지부(1613)는 각각의 키 입력 정보에 대하여 입력 시간을 부가하여 키 이벤트 정보를 생성할 수 있다. 각각의 키 입력 정보에 대한 입력 시간은 10분의 1초 단위, 바람직하게는 100분의 1초 단위 이하의 시간까지 저장할 수 있다.In an embodiment, the key event detecting unit 1613 may collect individual key input information input through the keyboard according to time sequence. Here, the key input information to be collected is a character key, a number key, a space key, an enter key, a function key, a shift key, a language conversion key, a backspace key, a delete key, an arrow key ) may be input information for all keys provided on the keyboard. The key event detecting unit 1613 may generate key event information by adding an input time to each key input information. The input time for each key input information may be stored in units of tenths of a second, preferably up to a time of less than or equal to tenths of a second.

마우스 이벤트 감지부(1615)는 컨트롤러(110)를 통해 마우스 입력시 발생하는 이벤트를 감지하도록 구성될 수 있다.The mouse event detection unit 1615 may be configured to detect an event that occurs when a mouse is input through the controller 110 .

일 실시예에서, 마우스 이벤트 감지부(1615)는 마우스를 통한 입력 정보, 예를 들어 우측 클릭, 좌측클릭, 클릭 위치를 수집할 수 있다. 일 실시예에서, 클릭 위치는 디스플레이 장치에서의 절대 위치, 또는 실행 중인 응용 프로그램에서의 위치일 수 있으며, 마우스를 통한 각각의 입력 정보에 대하여 10분의 1초 단위, 바람직하게는 100분의 1초 단위 이하의 시간까지 입력 시간을 부가하여 마우스 이벤트 정보를 생성할 수 있다.In an embodiment, the mouse event detecting unit 1615 may collect input information through a mouse, for example, a right click, a left click, and a click position. In one embodiment, the click position may be an absolute position on the display device or a position in a running application, and for each input information through the mouse, in tenths of a second, preferably in hundredths. Mouse event information can be generated by adding an input time up to a time unit of seconds or less.

화면 캡쳐 이벤트 감지부(1617)는 정의된 키 또는 마우스 이벤트 발생시 사용자 단말기(100)의 디스플레이 화면을 캡쳐하도록 구성될 수 있다. 일 실시예에서, 키보드 또는 마우스를 통해 기 정의된 캡쳐 이벤트가 발생하면, 화면 캡쳐 이벤트 감지부(1617)는 캡쳐 이벤트가 발생한 시점의 디스플레이 화면을 캡쳐할 수 있다.The screen capture event detection unit 1617 may be configured to capture the display screen of the user terminal 100 when a defined key or mouse event occurs. In an embodiment, when a predefined capture event occurs through a keyboard or mouse, the screen capture event detection unit 1617 may capture the display screen at the time the capture event occurs.

일 실시예에서,특정 어플리케이션 사용 중 특정 메뉴를 마우스로 클릭한 경우, 클릭한 순간의 디스플레이 화면을 캡쳐하거나 해당 어플리케이션 윈도우 내의 화면 정보를 캡쳐할 수 있고, 이를 통해 사용자가 무엇을 클릭하였는지 분석할 수 있다.In one embodiment, when a specific menu is clicked with a mouse while using a specific application, the display screen at the clicked moment may be captured or screen information within the corresponding application window may be captured, and through this, what the user clicked may be analyzed. have.

이벤트 가공부(163)는 이벤트 감지부(161)에서 이벤트가 감지됨에 따라 감지된 이벤트 정보를 설정된 포맷으로 가공하도록 구성될 수 있다. 일 실시예에서, 이벤트 정보는 JSON(JavaScript Object Notation) 포맷으로 가공될 수 있으나 이에 한정되는 것은 아니다.The event processing unit 163 may be configured to process the event information sensed as an event is detected by the event detection unit 161 into a set format. In an embodiment, the event information may be processed in a JSON (JavaScript Object Notation) format, but is not limited thereto.

이벤트 가공부(163)는 프로세스 이벤트 가공부(1631), 키 이벤트 가공부(1633), 마우스 이벤트 가공부(1635) 및 화면 캡쳐 이벤트 가공부(1637)를 포함할 수 있다.The event processing unit 163 may include a process event processing unit 1631 , a key event processing unit 1633 , a mouse event processing unit 1635 , and a screen capture event processing unit 1637 .

프로세스 이벤트 가공부(1631)는 프로세스 이벤트 감지부(1611)에서 감지한 프로세스 변화 이벤트를 가공하도록 구성될 수 있다.The process event processing unit 1631 may be configured to process the process change event detected by the process event detection unit 1611 .

키 이벤트 가공부(1633)는 키 이벤트 감지부(1613)에서 감지한 키 입력 신호를 가공할 수 있고, 마우스 이벤트 가공부(1635)는 마우스 이벤트 감지부(1615)에서 감지한 마우스 입력 이력을 가공할 수 있다.The key event processing unit 1633 may process the key input signal detected by the key event detection unit 1613 , and the mouse event processing unit 1635 processes the mouse input history detected by the mouse event detection unit 1615 . can do.

화면 캡쳐 이벤트 가공부(1637)는 화면 캡쳐 이벤트 감지부(1617)에서 캡쳐한 화면을 가공, 예를 들어 리사이징하거나 특정 포맷으로 변환할 수 있다.The screen capture event processing unit 1637 may process, for example, resize, or convert the screen captured by the screen capture event detection unit 1617 into a specific format.

이벤트 전송 매니저(165)는 이벤트의 종류별 전송 목적지를 관리할 수 있고, 이벤트 가공부(163)에서 가공한 이벤트 정보를 통신망(200)을 통해 전송 목적지, 예를 들어 이벤트 분석 서버(300)로 전송할 수 있다.The event transmission manager 165 may manage transmission destinations for each type of event, and transmit the event information processed by the event processing unit 163 to the transmission destination, for example, the event analysis server 300 through the communication network 200 . can

사용자 단말기(100)를 통한 모든 입력 정보를 수집함에 따라, 특정 사용자별 입력 장치 조작 패턴을 분석할 수 있고, 이를 통해 사용자가 더욱 용이하게 단말기(100)를 조작할 수 있도록 피드백 데이터를 제공할 수 있다.As all input information through the user terminal 100 is collected, an input device operation pattern for each specific user can be analyzed, and feedback data can be provided so that the user can more easily operate the terminal 100 . have.

아울러, 복수의 사용자 단말기로부터 입력 신호를 수집하여 프로그램의 종류에 따라 분석할 수 있다. 이를 통해 In addition, input signals from a plurality of user terminals may be collected and analyzed according to the type of program. because of this

여러 사용자들이 어떤 어플리케이션을 어떻게 사용하며 입력에 있어서 어떠한 어려움을 겪는지 분석할 수 있으므로 사용자들에게 입력 행위가 용이하도록 도움을 주는 한편, 어플리케이션의 개발 및 개선 등에 대한 데이터를 제공할 수 있다.Since it is possible to analyze which applications how and how many users use which applications and what difficulties they experience in input, it is possible to help users to input easily, and to provide data on application development and improvement.

일 실시예에서, 이벤트 분석 서버(300)는 특정 사용자의 이벤트 정보에 기초하여 키보드 입력에 어려움을 겪고 있는(미숙한) 단어를 분석할 수 있다. 그리고 이러한 단어를 입력 또는 오입력하는 경우 알림 신호를 출력하거나, 해당 단어의 입력 교육, 자동 수정, 자동 완성, 전문가의 조언 등을 제공하여 사용자가 입력에 어려움을 겪는 단어를 보다 용이하게 입력할 수 있도록 한다.In an embodiment, the event analysis server 300 may analyze a word having difficulty (immaturity) in keyboard input based on event information of a specific user. In addition, when such words are input or mistyped, a notification signal is output, or input training of the corresponding word, automatic correction, auto-complete, expert advice, etc. are provided so that the user can more easily enter the word having difficulty in input. let it be

도 4는 일 실시예에 의한 이벤트 분석 서버의 구성도이다.4 is a configuration diagram of an event analysis server according to an embodiment.

도 4를 참조하면, 일 실시예에 의한 이벤트 분석 서버(300)는 컨트롤러(310), 메모리(320), 디스크(330), IO 인터페이스(340), 통신모듈(350), 이벤트 수집부(360) 및 이벤트 분석부(370)를 포함할 수 있다.Referring to FIG. 4 , the event analysis server 300 according to an embodiment includes a controller 310 , a memory 320 , a disk 330 , an IO interface 340 , a communication module 350 , and an event collection unit 360 . ) and an event analysis unit 370 .

컨트롤러(310)는 이벤트 분석 서버(300)를 동작시키는 데 필요한 프로그램 및 이를 실행할 수 있는 하드웨어가 조합된 형태로 구현되어 이벤트 수집 서버(300)의 동작 전반을 제어하도록 구성될 수 있다.The controller 310 may be implemented in the form of a combination of a program necessary to operate the event analysis server 300 and hardware capable of executing the same, and may be configured to control the overall operation of the event collection server 300 .

메모리(320)는 컨트롤러(310)에서 실행할 프로그램 및 데이터, 또는 컨트롤러(110)에서 처리한 결과를 임시 저장하거나, 통신망(200)을 통해 전송되는 사용자 단말기(100) 별 이벤트 정보를 임시 저장할 수 있다.The memory 320 may temporarily store a program and data to be executed by the controller 310 , or a result processed by the controller 110 , or may temporarily store event information for each user terminal 100 transmitted through the communication network 200 . .

디스크(330)는 메모리(320)로부터 이벤트 정보를 전송받아 보관할 수 있다.The disk 330 may receive and store event information from the memory 320 .

IO 인터페이스(340)는 관리자가 이벤트 분석 서버(300)에 접근하여 관리 및 제어할 수 있는 입출력 환경을 제공할 수 있다.The IO interface 340 may provide an input/output environment in which an administrator can access, manage, and control the event analysis server 300 .

통신모듈(350)은 이벤트 분석 서버(300)가 통신망(200)을 통해 사용자 단말기(100)들과 통신할 수 있는 환경을 제공한다.The communication module 350 provides an environment in which the event analysis server 300 can communicate with the user terminals 100 through the communication network 200 .

이벤트 수집부(360)는 사용자 단말기(100)들로부터 전송되는 이벤트 정보를 설정된 인덱스를 기준으로 데이터베이스(3600)에 저장할 수 있다. 일 실시예에서, 데이터베이스(3600)는 NoSQL(Non-Relational Operation Database SQL) DB의 일종이며 JSON 형식의 데이터 구조를 사용하는 MongoDB일 수 있으나 이에 한정되는 것은 아니다.The event collector 360 may store event information transmitted from the user terminals 100 in the database 3600 based on a set index. In an embodiment, the database 3600 is a type of Non-Relational Operation Database SQL (NoSQL) DB and may be MongoDB using a JSON format data structure, but is not limited thereto.

일 실시예에서, 이벤트 수집부(360)는 사용자 단말기(100)에서 실행된 어플리케이션 네임을 인덱스로 하여 사용자별 이벤트 정보를 데이터베이스(3600)에 저장할 수 있다. 다른 실시예에서, 이벤트 수집부(360)는 사용자 ID를 인덱스로 하여 어플리케이션별 이벤트 정보를 데이터베이스화할 수 있다.In an embodiment, the event collection unit 360 may store event information for each user in the database 3600 using the name of the application executed in the user terminal 100 as an index. In another embodiment, the event collection unit 360 may use the user ID as an index to database event information for each application.

이벤트 분석부(370)는 인덱스에 따라 데이터베이스화된 이벤트 정보로부터 특징을 추출하고 분류하도록 구성될 수 있다.The event analyzer 370 may be configured to extract and classify features from databased event information according to an index.

일 실시예에서, 이벤트 분석부(370)는, 특정 사용자가 특정 어플리케이션을 사용할 때, 어려움을 겪는 단어 단위 입력열을 구분하거나, 자주 사용하는 단어 단위 입력열을 구분하여 그에 대한 입력이 용이해지도록 피드백 정보를 제공할 수 있다.In one embodiment, the event analyzer 370 divides a word unit input string that is difficult for a specific user to use when a specific application uses a specific application or divides a frequently used word unit input string to facilitate input thereof. You can provide feedback information.

일 실시예에서, 이벤트 분석부(370)는 이벤트 정보를 분석하기 위하여, 단위시간별로, 또는 기 설정된 이벤트 발생시간까지의 시간동안 수집된 이벤트 셋을 연속되는 수집시간에 따라 연결하고, 연결된 이벤트 셋으로부터 단위 이벤트를 검출할 수 있다. 그리고, 검출된 단위 이벤트 각각에 대한 특징을 분석할 수 있다. 일 실시예에서, 이벤트 셋은 특정 이벤트 발생시 수집 및 전송될 수도 있다.In one embodiment, in order to analyze the event information, the event analyzer 370 connects the event sets collected for each unit time or for a time until a preset event occurrence time according to a continuous collection time, and the connected event set A unit event can be detected from In addition, characteristics of each detected unit event may be analyzed. In one embodiment, an event set may be collected and transmitted when a specific event occurs.

여기에서, 단위시간별 이벤트 셋은 설정된 시간동안 수집되어 전송된 이벤트 정보의 집합을 의미할 수 있다. 단위시간별 이벤트 셋을 연결하는 것은 수집 시간이 연속되는 이벤트 셋을 링크하는 작업일 수 있다. 아울러, 단위 이벤트를 검출하는 것은 설정된 구분자에 기초하여 링크된 이벤트 셋을 설정된 단위로 구분하는 작업일 수 있다.Here, the event set for each unit time may mean a set of event information collected and transmitted for a set time. The linking of the event sets for each unit time may be an operation of linking the event sets of which the collection time is continuous. In addition, detecting a unit event may be a task of classifying a linked event set into a set unit based on a set identifier.

키 이벤트를 분석하는 경우를 예로 들면, 이벤트 분석부(370)는 단위시간별로 수집된 키 입력셋에서 수집시간이 연속되는 이벤트 셋으로서 추출하여 연결하고, 연결된 입력셋으로부터 단어 단위의 입력열을 단위 이벤트로 구분하여 검출하며, 구분된 단어 단위의 입력열 각각에 대한 특징을 분석할 수 있다.Taking the case of analyzing a key event as an example, the event analyzer 370 extracts and connects as an event set with a continuous collection time from the key input set collected for each unit time, and converts the input string in word units from the connected input set as a unit. Events are classified and detected, and characteristics of each input string of the divided word unit can be analyzed.

여기에서, 단위시간별 입력셋은 설정된 시간동안 수집된 키 입력의 집합을 의미할 수 있다. 단위시간별 입력셋을 연결하는 것은 수집 시간이 연속되는 입력셋을 링크하는 작업일 수 있다. 단어 단위의 입력열을 구분하는 것은 설정된 구분자에 기초하여 링크된 입력셋을 설정된 단위, 예를 들어 단어 또는 어절 단위로 구분하는 작업일 수 있다. 일 실시예에서, 단어 단위의 입력열을 구분하기 위한 구분자는 엔터키 입력 이벤트, 스페이스 바 입력 이벤트, 쉼표(,) 또는 구두점(.) 입력 이벤트, 언어 변환키 입력 이벤트 중 적어도 하나를 포함할 수 있으나 이에 한정되는 것은 아니다.Here, the input set for each unit time may mean a set of key inputs collected for a set time. The linking of the input sets for each unit time may be an operation of linking the input sets in which the collection time is continuous. Separating the input string in units of words may be an operation of dividing the linked input set into units of a set, for example, a unit of a word or a word, based on a set delimiter. In one embodiment, the delimiter for separating the input string in units of words may include at least one of an enter key input event, a space bar input event, a comma (,) or punctuation (.) input event, and a language conversion key input event. However, the present invention is not limited thereto.

일 실시예에서, 이벤트 분석부(370)는 키 이벤트 정보로부터 사용자가 입력에 어려움을 갖는 단어 단위의 입력열을 분석할 수 있다.In an embodiment, the event analyzer 370 may analyze an input string in units of words that the user has difficulty in inputting from the key event information.

예를 들어, 사용자가 문서 편집 어플리케이션에서 '입력 어려움의 최저값 '(값 뒤에 스페이스바 입력된 상태)이라는 문자열을 타이핑 하고자 였으나, 타이핑 중 '값'의 입력에 오류가 발생하여'갑'스페이스바를 입력한 후, 뒤에서부터 스페이스바와 '갑'을 모두 백스페이스로 삭제하고 '값'으로 입력(값 뒤에 스페이스바는 입력하지 않음)한 경우를 설명한다.For example, in a document editing application, the user tried to type the string 'the lowest value of input difficulty' (the space bar is entered after the value), but an error occurred in the input of 'value' during typing, and the user entered the space bar for 'A'. Then, a case in which the space bar and 'a' are deleted with backspace from the back and input as 'value' (the space bar after the value is not input) will be described.

이 경우, 이벤트 분석부(370)는 사용자 단말기(100)로부터 'ㅇㅣㅂㄹㅕㄱ_ㅇㅓㄹㅕㅇㅜㅁㅇㅡㅣ_ㅊㅗㅣㅈㅓㄱㅏㅂ_[bs][bs]ㄱㅏㅂㅅ'(_는 스페이스바, [bs]는 백스페이스)의 입력셋을 수신할 수 있다.In this case, the event analysis unit 370 receives from the user terminal 100, 'ㅇㅣㅇㅇㅇㅇㅇ ㅇTTㅁㅇㅡㅣ_cㅗㅣjㅓahav_[bs][bs]aavo' (_ is a space). Bar, [bs] can receive the input set (backspace).

사용자 단말기(100)가 이벤트 분석 서버(300)로 이벤트 정보를 전송하는 시간 간격에 따라, 사용자의 입력셋은 둘 또는 그 이상으로 분할되어 전송될 수 있다. 예를 들어, 상기 입력셋은 제 1 단위시간별 입력셋 'ㅇㅣㅂㄹㅕㄱ_ㅇㅓㄹㅕ'와 제 2 단위시간별 입력셋 'ㅇㅜㅁㅇㅡㅣ_ㅊㅗㅣㅈㅓㄱㅏㅂ_[bs][bs]ㄱㅏㅂㅅ'으로 나뉘어 수집될 수 있다.According to a time interval at which the user terminal 100 transmits event information to the event analysis server 300 , the user's input set may be divided into two or more and transmitted. For example, the input set includes a first input set for each unit time 'ㅇㅣㅇㅇㅕㄱ_ㅇㅓㄹㅕ' and a second input set for each unit time 'ㅇTTㅁㅇㅡㅣ_chㅗㅣjㅓahav_[bs][bs] It can be divided into 'A'.

이벤트 분석부(370)는 수집 시간이 연속되는 단위시간별 입력셋을 연결하기 위하여 단위시간별 입력셋의 선두 또는 말미에 설정된 구분자가 포함되어 있는지 확인하고, 구분자가 포함되지 않은 경우 수집 시간이 연속되는 단위시간별 입력셋을 링킹할 수 있다.The event analyzer 370 checks whether a separator set at the beginning or the end of the input set for each unit time is included in order to connect the input sets for each unit time in which the collection time is continuous, and if the separator is not included, the unit for the collection time is continuous Hourly input sets can be linked.

즉, 제 1 단위시간별 입력셋 'ㅇㅣㅂㄹㅕㄱ_ㅇㅓㄹㅕ'의 말미에 스페이스바, 엔터키, 쉼표 또는 구두점 입력 정보가 수집되지 않았고, 제 2 단위시간별 입력셋 'ㅇㅜㅁㅇㅡㅣ_ㅊㅗㅣㅈㅓㄱㅏㅂ_[bs][bs]ㄱㅏㅂㅅ'의 선두에 스페이스 바, 엔터키, 쉼표 또는 구두점 입력 정보가 수집되지 않았으므로, 'ㅇㅓㄹㅕ'와 'ㅇㅜㅁㅇㅡㅣ'는 연결이 되어야 할 대상인 것으로 판단할 수 있다.That is, no space bar, enter key, comma, or punctuation input information was collected at the end of the first input set for each unit time 'ㅇㅣㅇㅇㅇㅇㅓㄹㅕ', and the second input set for each unit time 'ㅇTTㅁㅇㅡㅣ_ch Since the space bar, enter key, comma, or punctuation input information at the beginning of ㅗㅣj ㅓaa _[bs][bs]aa o ' was not collected, 'ㅇㅓㅕ' and 'ㅇTTㅁㅇㅡㅣ' are not connected. It can be judged as what should be the target.

입력 셋이 연결된 후에는 연결된 입력셋에 포함된 구분자에 기초하여 단어 단위의 입력열을 검출할 수 있다. 이 때, 수정 과정에서 삭제된 것으로 판단되는 스페이스바, 엔터키, 쉼표 또는 구두점은 무시하는 것도 가능하다.After the input sets are connected, the input string in units of words may be detected based on the delimiter included in the connected input set. In this case, it is also possible to ignore the space bar, the enter key, commas, or punctuation which are determined to be deleted during the editing process.

따라서, 상기 제 1 및 제 2 단위시간별 입력셋을 연결한 결과로부터,Therefore, from the result of connecting the first and second input sets for each unit time,

(1)'ㅇㅣㅂㄹㅕㄱ_'(1)'ㅇㅣㅇㅇㅇㅇㅇㅇ_'

(2)'ㅇㅓㄹㅕㅇㅜㅁㅇㅡㅣ_'(2)'ㅇㅓㅕㅇTTㅁㅇㅡㅣ_'

(3)'ㅊㅗㅣㅈㅓㄱㅏㅂ_[bs][bs]ㄱㅏㅂㅅ'의 세 개의 단어 단위 입력열이 검출될 수 있다.(3) A three-word unit input string of 'cㅗㅣjㅓaaf_[bs][bs]aaaw' may be detected.

이 중 세 번째 단어 단위 입력열의 경우에 대해 설명한다. 오류 없이 키 입력을 수행하는 경우 9회의 키 입력 이벤트가 발생하지만, 오입력에 의해 15회의 키 입력 이벤트가 발생하였으며, 이에 따라 정상 입력의 경우보다 긴 시간이 소요될 가능성이 높음을 알 수 있다.Among these, the case of the third word unit input string will be described. When key input is performed without error, 9 key input events occur, but 15 key input events occur due to erroneous input. Accordingly, it can be seen that it is highly likely to take a longer time than in the case of normal input.

여기에서, 특정 단어 단위 입력열의 입력소요시간은 예를 들어 당해 입력열의 첫번째 키입력 정보에 부기된 시간(예를 들어 15:33:01:07)에서 마지막 키입력 정보에 부기된 시간(예를 들어 15:33:02:17)까지의 시간 간격(1초 10)으로 파악할 수 있다.Here, the input time required for the input string for a specific word unit is, for example, the time (for example, 15:33:01:07) appended to the last key input information to the time (for example, 15:33:01:07) appended to the first key input information of the input string. For example, it can be identified as the time interval (1 second 10) up to 15:33:02:17).

이벤트 분석부(370)는 특정 문서, 전체 문서, 또는 일정 시간 수집된 데이터베이스에 포함된 단어 단위 입력열을 검출한 후, 각 단어단위 입력열의 사용빈도, 키 입력 이벤트 발생 횟수, 입력 소요 시간을 포함하는 특징에 따라 단어 단위 입력열을 클러스터링할 수 있다.The event analysis unit 370 detects a specific document, an entire document, or a word unit input string included in a database collected for a certain period of time, and includes the frequency of use of each word unit input string, the number of occurrences of key input events, and the input required time. According to the characteristics of the word unit input string can be clustered.

그리고, 클러스터링 결과에 기초하여, 사용자가 어려움을 겪는 입력열을 분류할 수 있다.And, based on the clustering result, an input string that the user has difficulty with may be classified.

일 실시예에서, 이벤트 분석부(370)는 다양한 클러스터링 방식, 예를 들어 K-Means, 계층적 응집형 클러스터링, 비계층적 클러스터링 방식 중에서 선택된 방법에 기초하여 입력 이벤트를 분류할 수 있다.In an embodiment, the event analyzer 370 may classify an input event based on a method selected from among various clustering methods, for example, K-Means, hierarchical cohesive clustering, and non-hierarchical clustering.

따라서, 자주 사용하면서도 입력에 어려움을 갖는 단어 단위 입력열을 분류하여, 사용자가 이러한 단어를 입력하는 경우 알림 신호를 출력하거나, 해당 단어의 입력 교육(연습), 자동 수정, 자동 완성, 전문가의 조언 등을 제공하여 사용자가 입력에 어려움을 겪는 단어를 보다 용이하게 입력할 수 있도록 할 수 있다.Therefore, by classifying the input string of words that are frequently used but having difficulty in input, a notification signal is output when the user inputs such a word, or input training (practice) of the corresponding word, automatic correction, automatic completion, expert advice etc. may be provided so that the user can more easily input a word having difficulty in input.

또한 복수의 사용자 단말기로부터의 입력 이벤트를 수집하는 경우, 여러 사용자들이 어떤 어플리케이션을 어떻게 사용하며 입력에 있어서 어떠한 어려움을 겪는지 분석할 수 있으므로 사용자들에게 입력 행위가 용이하도록 도움을 주는 한편, 어플리케이션의 개발 및 개선 등에 대한 데이터를 제공할 수 있다.In addition, when input events from a plurality of user terminals are collected, it is possible to analyze which applications and how many users use which applications and what difficulties they experience in input, thus helping users to easily input actions, while We can provide data on development and improvement, etc.

도 5는 일 실시예에 의한 사용자 행위 수집 방법을 설명하기 위한 흐름도이다.5 is a flowchart illustrating a method for collecting user actions according to an embodiment.

도 5를 참조하면, 사용자 단말기(100)가 부팅 후 기동됨에 따라(S101), 이벤트 수집 에이전트(160)가 실행될 수 있다(S103).Referring to FIG. 5 , as the user terminal 100 is booted and started ( S101 ), the event collection agent 160 may be executed ( S103 ).

이벤트 수집 에이전트(160)는 사용자 단말기(100)의 프로세스 변화, 입력 이벤트, 화면 캡쳐 이벤트가 발생하는지 감지하기 위해 모니터링을 개시하고(S105), 이벤트가 발생하면 이벤트 별로 이벤트 정보를 수집 및 저장할 수 있다(S107). 예를 들어, 이벤트 수집 에이전트(160)는 프로세스 변화 이벤트, 키 이벤트, 마우스 이벤트 및 화면 캡쳐 이벤트를 각각 수집 및 저장할 수 있다.The event collection agent 160 starts monitoring to detect whether a process change, an input event, or a screen capture event of the user terminal 100 occurs (S105), and when an event occurs, event information can be collected and stored for each event. (S107). For example, the event collection agent 160 may collect and store a process change event, a key event, a mouse event, and a screen capture event, respectively.

일 실시예에서, 이벤트 수집 단계(S107)는 사용자 단말기(100)가 부팅되고 기동된 후 종료되기까지 발생하는 모든 이벤트, 또는 특정 프로세스나 특정 어플리케이션이 실행된 이후부터 종료될 때까지 발생하는 모든 이벤트, 예를 들어 사용자의 모든 입력 신호를 수집하는 단계일 수 있다.In one embodiment, the event collection step ( S107 ) includes all events that occur after the user terminal 100 is booted and started until it is terminated, or all events that occur after a specific process or a specific application is executed until it is terminated. , for example, may be a step of collecting all input signals of the user.

이벤트 수집 에이전트(160)는 설정된 주기가 도래하거나 설정된 조건이 만족하는 경우 수집된 이벤트를 이벤트 분석 서버(300)로 전송할 수 있다(S109).The event collection agent 160 may transmit the collected event to the event analysis server 300 when a set period arrives or a set condition is satisfied (S109).

도 6은 일 실시예에 의한 사용자 행위 분석 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a user behavior analysis method according to an embodiment.

사용자 단말기(100)의 이벤트 수집 에이전트(160)로부터 이벤트 정보가 전송됨에 따라, 이벤트 분석 서버(300)는 단위시간별로 수집된 이벤트 셋으로부터 수집 시간이 연속하는 이벤트 셋을 연결하고, 연결된 이벤트 셋으로부터 단위 이벤트를 검출할 수 있다. 그리고, 검출된 단위 이벤트 각각에 대한 특징을 분석할 수 있다.As event information is transmitted from the event collection agent 160 of the user terminal 100, the event analysis server 300 connects the event sets of consecutive collection times from the event sets collected for each unit time, and from the connected event sets A unit event can be detected. In addition, characteristics of each detected unit event may be analyzed.

키 이벤트를 기초로 사용자 행위를 분석하는 과정의 일 예를 도 6을 참조하여 설명하면 다음과 같다.An example of a process of analyzing a user behavior based on a key event will be described with reference to FIG. 6 .

도 6을 참조하면, 이벤트 분석 서버(300)는 단위시간별로 수집된 키 입력셋, 예를 들어 설정된 시간동안 수집된 키 입력의 집합을 추출(S201)하여 연결(S203)할 수 있다. 여기에서, 단위시간별 입력셋을 연결하는 것은 수집 시간이 연속하는 입력셋을 링크하는 작업일 수 있다.Referring to FIG. 6 , the event analysis server 300 may extract (S201) and connect (S203) a set of key inputs collected for each unit time, for example, a set of key inputs collected for a set time. Here, the linking of the input sets for each unit time may be an operation of linking the input sets of which the collection time is continuous.

이벤트 분석 서버(300)는 단계 S203에서 연결한 링크된 입력셋에 포함된 구분자를 추출할 수 있다(S205). 일 실시예에서, 구분자는 엔터키 입력 이벤트, 스페이스 바 입력 이벤트, 쉼표나 구두점 입력 이벤트, 언어 변환키 입력 이벤트 중 적어도 하나를 포함할 수 있으나 이에 한정되는 것은 아니다.The event analysis server 300 may extract a delimiter included in the linked input set connected in step S203 (S205). In one embodiment, the delimiter may include at least one of an enter key input event, a space bar input event, a comma or punctuation input event, and a language conversion key input event, but is not limited thereto.

이벤트 분석 서버(300)는 단계 S205에서 추출한 구분자에 기초하여 링크된 입력셋으로부터 단어 단위의 입력열을 구분할 수 있다(S207). 일 실시예에서, 단어 단위의 입력열을 구분하는 단계 S207은 링크된 입력셋을 단어 또는 어절 단위로 구분하는 단계일 수 있다.The event analysis server 300 may classify the input string in units of words from the linked input set based on the delimiter extracted in step S205 (S207). In an embodiment, the step S207 of classifying the input string in units of words may be a step of classifying the linked input set in units of words or words.

이후, 이벤트 분석 서버(300)는 단어 단위 입력열을 설정된 특징에 따라 클러스터링할 수 있다(S209).Thereafter, the event analysis server 300 may cluster the word unit input string according to the set characteristics ( S209 ).

일 실시예에서, 단어 단위 입력열을 분석하는 단계(S209)는 각 단어단위 입력열의 사용빈도, 키 입력 횟수, 입력 소요 시간을 포함하는 특징에 따라 단어 단위 입력열을 클러스터링하는 단계 및 클러스터링 결과에 기초하여, 사용자가 입력에 어려움을 겪는 입력열을 분류하는 단계를 포함할 수 있다.In one embodiment, the step of analyzing the input string in units of words ( S209 ) includes clustering the input strings in units of words according to characteristics including the frequency of use of the input strings in units of words, the number of keystrokes, and the input time required for each word unit, and adding the results of the clustering. The method may include classifying an input string that the user has difficulty in inputting based on.

일 실시예에서, 이벤트 분석부(370)는 다양한 클러스터링 방식, 예를 들어 K-Means, 계층적 응집형 클러스터링, 비계층적 클러스터링 방식 중에서 선택된 방법에 기초하여 입력 이벤트를 분류할 수 있다.In an embodiment, the event analyzer 370 may classify an input event based on a method selected from among various clustering methods, for example, K-Means, hierarchical cohesive clustering, and non-hierarchical clustering.

따라서, 자주 사용하면서도 입력에 어려움을 갖는 단어 단위 입력열을 분류하여, 사용자가 이러한 단어를 입력하는 경우 알림 신호를 출력하거나, 해당 단어의 입력 교육(연습), 자동 수정, 자동 완성, 전문가의 조언 등의 피드백 정보를 제공(S211)하여 사용자가 입력에 어려움을 겪는 단어를 용이하게 입력할 수 있도록 도와줄 수 있다.Therefore, by classifying the input string of words that are frequently used but having difficulty in input, a notification signal is output when the user inputs such a word, or input training (practice) of the corresponding word, automatic correction, automatic completion, expert advice By providing feedback information such as S211, it is possible to help the user to easily input a word having difficulty in input.

또한, 여러 사용자들이 어떤 어플리케이션을 어떻게 사용하며 입력에 있어서 어떠한 어려움을 겪는지 분석하는 경우, 입력방법이나 사용자 인터페이스(UI) 개선 등에 필요한 데이터를 제공할 수 있다.In addition, when several users analyze how and which applications are used and what difficulties they experience in input, data necessary for input method or user interface (UI) improvement may be provided.

이상에서는 키 입력 이벤트를 예로 들어 설명하였으나, 마우스 입력 이벤트 또한 유사한 방식으로 데이터베이스화하여 분석할 수 있음은 물론이다. 아울러, 키 입력 이벤트와 마우스 입력 이벤트가 섞여 있는 경우에도 시간 순으로 입력 이벤트를 나열하거나, 입력 인터페이스별 및 시간 순으로 입력 이벤트를 나열하고 분류할 수 있음은 자명하다.Although the key input event has been described above as an example, it goes without saying that the mouse input event can also be converted into a database and analyzed in a similar manner. In addition, it is self-evident that even when a key input event and a mouse input event are mixed, it is possible to list the input events in chronological order or to list and classify the input events by input interface and in the chronological order.

이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, those skilled in the art to which the present invention pertains will understand that the present invention may be embodied in other specific forms without changing the technical spirit or essential characteristics thereof. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

10 : 사용자 행위 분석 시스템
100 : 사용자 단말기
200 : 통신망
300 : 이벤트 분석 서버
160 : 이벤트 수집 에이전트
10: User behavior analysis system
100: user terminal
200: communication network
300: event analysis server
160: event collection agent

Claims (24)

사용자 단말기에 구비되며, 상기 사용자 단말기가 기동됨에 따라, 상기 사용자 단말기에서 실행되는 운영체제 및 어플리케이션을 포함하는 프로그램의 실행 시점부터 종료 시점까지 사용자에 의한 상기 프로그램에 대한 모든 조작 정보를 시간에 따라 수집하여 이벤트 정보를 생성하고 통신망을 통해 전송하는 이벤트 수집 에이전트; 및
하나 또는 복수의 사용자 단말기와 상기 통신망을 통해 접속되어, 상기 이벤트 수집 에이전트로부터 상기 이벤트 정보를 수집하는 이벤트 분석 서버;
를 포함하고,
상기 이벤트 분석 서버는, 상기 이벤트 수집 에이전트로부터 상기 사용자 단말기에 접속된 키보드에 포함된 모든 키를 통한 입력 신호를 입력 시간에 따라 키 입력 이벤트 정보로 제공받으며,
기 설정된 단위시간 동안 또는 기 설정된 이벤트 발생시간까지의 시간동안 수집된 키 입력 신호의 집합인 키 입력셋에 수집시간이 연속되는 적어도 하나의 키 입력셋을 연결하고, 상기 연결한 입력셋으로부터 단어 단위의 입력열을 설정된 구분자에 따라 구분하여 분류하도록 구성되는 사용자 행위 분석 시스템..
It is provided in the user terminal, and as the user terminal is activated, all operation information for the program by the user from the execution time to the end time of the program including the operating system and the application executed in the user terminal is collected over time. an event collection agent that generates event information and transmits it through a communication network; and
an event analysis server connected to one or more user terminals and the communication network to collect the event information from the event collection agent;
including,
The event analysis server receives, from the event collection agent, input signals through all keys included in the keyboard connected to the user terminal as key input event information according to the input time,
At least one key input set having a continuous collection time is connected to a key input set, which is a set of key input signals collected during a preset unit time or a time until a preset event occurrence time, and a word unit from the connected input set A user behavior analysis system configured to classify and classify the input string of
제 1 항에 있어서,
상기 이벤트 수집 에이전트는, 상기 사용자 단말기에서 실행되는 프로세스 변화 이벤트 정보, 상기 키보드에 의한 키 입력 이벤트 정보, 상기 사용자 단말기와 접속된 마우스에 의한 마우스 입력 이벤트 정보 및 화면 캡쳐 이벤트 정보를 수집하도록 구성되는 사용자 행위 분석 시스템.
The method of claim 1,
The event collection agent is a user configured to collect process change event information executed in the user terminal, key input event information by the keyboard, mouse input event information by a mouse connected to the user terminal, and screen capture event information Behavior analysis system.
삭제delete 제 2 항에 있어서,
상기 이벤트 수집 에이전트는, 상기 마우스의 좌클릭, 우클릭 및 클릭 위치를 포함하는 모든 입력 정보를 입력 시간에 따라 상기 마우스 입력 이벤트 정보로 수집하도록 구성되는 사용자 행위 분석 시스템.
3. The method of claim 2,
The event collection agent is configured to collect all input information including left-click, right-click, and click position of the mouse as the mouse input event information according to an input time.
제 2 항에 있어서,
상기 이벤트 수집 에이전트는, 상기 키보드 또는 상기 마우스에 의해 기 설정된 특정 이벤트가 발생하거나, 설정된 시간 주기에 따라 상기 사용자 단말기와 접속된 디스플레이의 화면을 캡쳐하여 화면 캡쳐 이벤트 정보를 수집하도록 구성되는 사용자 행위 분석 시스템.
3. The method of claim 2,
The event collection agent is configured to collect screen capture event information by capturing a screen of a display connected to the user terminal according to the occurrence of a preset specific event by the keyboard or the mouse or a set time period system.
제 1 항에 있어서,
상기 이벤트 분석 서버는, 기 설정된 단위시간 동안, 또는 기 설정된 이벤트 발생시간까지의 시간동안 수집된 이벤트 정보의 집합인 이벤트 셋을 수집하고, 수집 시간이 연속되는 적어도 하나의 상기 이벤트 셋을 연결하며, 상기 연결한 이벤트 셋을 설정된 구분자에 따라 구분하여 단위 이벤트를 검출하고 분류하도록 구성되는 사용자 행위 분석 시스템.
The method of claim 1,
The event analysis server collects an event set that is a set of event information collected during a preset unit time or a time up to a preset event occurrence time, and connects at least one event set having a continuous collection time, A user behavior analysis system configured to detect and classify a unit event by classifying the connected event set according to a set identifier.
삭제delete 제 1 항에 있어서,
상기 구분자는 엔터키 입력 이벤트, 스페이스 바 입력 이벤트, 쉼표 입력 이벤트, 구두점 입력 이벤트, 언어 변환키 입력 이벤트 중 적어도 하나를 포함하도록 구성되는 사용자 행위 분석 시스템.
The method of claim 1,
The delimiter is a user behavior analysis system configured to include at least one of an enter key input event, a space bar input event, a comma input event, a punctuation input event, and a language conversion key input event.
제 1 항에 있어서,
상기 이벤트 분석 서버는 상기 단어 단위 입력열별 사용빈도, 키 입력 횟수, 입력 소요 시간을 포함하는 특징에 따라 단어 단위 입력열을 분류하도록 구성되는 사용자 행위 분석 시스템.
The method of claim 1,
The event analysis server is configured to classify the input string of the word unit according to characteristics including the frequency of use, the number of times of key input, and the input required time for each input string of the word unit.
제 9 항에 있어서
상기 이벤트 분석 서버는 상기 단어 단위 입력열별 사용빈도, 키 입력 횟수, 입력 소요 시간에 기초하여 피드백 대상 단어 단위 입력열을 검출하여, 상기 피드백 대상 단어 단위 입력열의 입력을 위한 피드백 정보를 상기 사용자 단말기로 제공하도록 구성되는 사용자 행위 분석 시스템.
10. The method of claim 9
The event analysis server detects a feedback target word unit input string based on the frequency of use for each word unit input string, the number of key input, and the input required time, and transmits feedback information for input of the feedback target word unit input string to the user terminal. A user behavior analysis system configured to provide.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 사용자 단말기에 구비되어 상기 사용자 단말기의 프로세스 상태 변화, 키 입력 이벤트, 마우스 입력 이벤트 및 화면 캡쳐 이벤트를 감지하여 이벤트 정보를 생성하는 이벤트 수집 에이전트 및, 상기 이벤트 수집 에이전트로부터 상기 이벤트 정보를 수신하는 이벤트 분석 서버를 포함하는 사용자 행위 분석 시스템에서의 사용자 행위 분석 방법으로서,
상기 사용자 단말기가 기동됨에 따라, 상기 이벤트 수집 에이전트가 실행되는 단계;
상기 사용자 단말기에서 실행되는 운영체제 및 어플리케이션을 포함하는 프로그램의 실행 시점부터 종료 시점까지 사용자에 의한 상기 프로그램에 대한 모든 조작 정보를 시간에 따라 수집하여 이벤트 정보를 생성하는 단계; 및
상기 이벤트 분석 서버가 상기 이벤트 정보를 제공받아 데이터베이스로 구축하는 단계; 및
상기 데이터베이스에 기초하여 상기 이벤트 정보를 분석하는 단계;
를 포함하고,
상기 분석하는 단계는, 상기 이벤트 분석 서버가 상기 이벤트 수집 에이전트로부터 상기 사용자 단말기에 접속된 키보드에 포함된 모든 키를 통한 입력 신호를 입력 시간에 따라 키 입력 이벤트 정보로 수신하는 단계;
설정된 단위시간동안 또는 기 설정된 이벤트 발생시간까지의 시간동안 수집된 키 입력 신호의 집합인 키 입력셋에 수집시간이 연속되는 적어도 하나의 키 입력셋을 연결하는 단계;
상기 연결한 입력셋으로부터 단어 단위의 입력열을 설정된 구분자에 따라 구분하는 단계; 및
상기 구분한 단어 단위의 입력열을 분류하는 단계;
를 포함하도록 구성되는 사용자 행위 분석 방법.
An event collection agent provided in the user terminal to detect a process state change, a key input event, a mouse input event, and a screen capture event of the user terminal to generate event information, and an event analysis for receiving the event information from the event collection agent As a user behavior analysis method in a user behavior analysis system including a server,
executing the event collection agent as the user terminal is activated;
generating event information by collecting all operation information for the program by the user over time from the execution time to the end time of the program including the operating system and the application executed in the user terminal; and
building the event analysis server into a database by receiving the event information; and
analyzing the event information based on the database;
including,
The analyzing may include: receiving, by the event analysis server, input signals through all keys included in a keyboard connected to the user terminal from the event collection agent as key input event information according to an input time;
connecting at least one key input set having a continuous collection time to a key input set that is a set of key input signals collected during a set unit time or a time up to a preset event occurrence time;
classifying an input string in units of words from the connected input set according to a set delimiter; and
classifying the input string of the divided word unit;
User behavior analysis method configured to include.
삭제delete 제 16 항에 있어서,
상기 이벤트 정보를 생성하는 단계는, 상기 이벤트 수집 에이전트가 상기 사용자 단말기와 접속된 마우스의 좌클릭, 우클릭 및 클릭 위치를 포함하는 모든 입력 정보를 입력 시간에 따라 상기 마우스 입력 이벤트로 수집하는 단계를 포함하도록 구성되는 사용자 행위 분석 방법.
17. The method of claim 16,
The generating of the event information includes, by the event collection agent, collecting all input information including left clicks, right clicks, and click positions of a mouse connected to the user terminal as the mouse input event according to an input time. A method of analyzing user behavior that is configured to:
제 16 항에 있어서,
상기 이벤트 정보를 생성하는 단계는, 상기 이벤트 수집 에이전트가 상기 키보드 또는 상기 마우스에 의해 기 설정된 특정 이벤트가 발생하거나, 설정된 시간 주기에 따라 상기 사용자 단말기와 접속된 디스플레이의 화면을 캡쳐하여 화면 캡쳐 이벤트를 수집하는 단계를 포함하도록 구성되는 사용자 행위 분석 방법.
17. The method of claim 16,
In the step of generating the event information, the event collection agent captures the screen of the display connected to the user terminal according to the occurrence of a preset specific event by the keyboard or the mouse or a set time period to capture the screen capture event. A user behavior analysis method configured to include collecting.
제 16 항에 있어서,
상기 분석하는 단계는, 상기 이벤트 분석 서버가 기 설정된 단위시간 동안 또는 기 설정된 이벤트 발생시간까지의 시간동안 수집된 이벤트 정보의 집합인 이벤트 셋을 상기 이벤트 수집 에이전트로부터 수집하는 단계;
수집 시간이 연속되는 적어도 하나의 상기 이벤트 셋을 연결하는 단계;
상기 연결한 이벤트 셋을 설정된 구분자에 따라 구분하여 단위 이벤트를 검출하는 단계;
상기 검출한 단위 이벤트를 분류하는 단계;
를 포함하도록 구성되는 사용자 행위 분석 방법.
17. The method of claim 16,
The analyzing may include: collecting, by the event analysis server, an event set, which is a set of event information collected during a preset unit time or a time up to a preset event occurrence time, from the event collection agent;
concatenating at least one set of events having consecutive collection times;
detecting a unit event by classifying the connected event set according to a set identifier;
classifying the detected unit event;
User behavior analysis method configured to include.
삭제delete 제 16 항에 있어서,
상기 구분자는 엔터키 입력 이벤트, 스페이스 바 입력 이벤트, 쉼표 입력 이벤트, 구두점 입력 이벤트, 언어 변환키 입력 이벤트 중 적어도 하나를 포함하도록 구성되는 사용자 행위 분석 방법.
17. The method of claim 16,
The delimiter is a user behavior analysis method configured to include at least one of an enter key input event, a space bar input event, a comma input event, a punctuation input event, and a language conversion key input event.
제 16 항에 있어서,
상기 분류하는 단계는, 상기 이벤트 분석 서버가 상기 단어 단위 입력열별 사용빈도, 키 입력 횟수, 입력 소요 시간을 포함하는 특징에 따라 단어 단위 입력열을 분류하도록 구성되는 사용자 행위 분석 방법.
17. The method of claim 16,
In the classifying step, the event analysis server is configured to classify the input string of the word unit according to characteristics including the frequency of use for each input string of the word unit, the number of times of key input, and the input required time.
제 23 항에 있어서
상기 분류하는 단계는, 상기 이벤트 분석 서버가 상기 단어 단위 입력열별 사용빈도, 키 입력 횟수, 입력 소요 시간에 기초하여 피드백 대상 단어 단위 입력열을 검출하는 단계; 및
상기 피드백 대상 단어 단위 입력열의 입력을 위한 피드백 정보를 상기 사용자 단말기로 제공하는 단계;
를 포함하도록 구성되는 사용자 행위 분석 방법.
24. The method of claim 23
The classifying may include: detecting, by the event analysis server, a feedback target word unit input string based on a frequency of use for each word unit input string, the number of key input, and an input required time; and
providing feedback information for input of the feedback target word unit input string to the user terminal;
User behavior analysis method configured to include.
KR1020190162976A 2019-12-09 2019-12-09 System and Method for User Behavior Analysis and Agent for Collection of Event KR102298395B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190162976A KR102298395B1 (en) 2019-12-09 2019-12-09 System and Method for User Behavior Analysis and Agent for Collection of Event

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190162976A KR102298395B1 (en) 2019-12-09 2019-12-09 System and Method for User Behavior Analysis and Agent for Collection of Event

Publications (2)

Publication Number Publication Date
KR20210072872A KR20210072872A (en) 2021-06-18
KR102298395B1 true KR102298395B1 (en) 2021-09-08

Family

ID=76623277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190162976A KR102298395B1 (en) 2019-12-09 2019-12-09 System and Method for User Behavior Analysis and Agent for Collection of Event

Country Status (1)

Country Link
KR (1) KR102298395B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102546023B1 (en) * 2021-12-06 2023-06-22 신현준 A method of analyzing work process
WO2023106650A1 (en) * 2021-12-06 2023-06-15 신현준 Operation process analysis method
KR102613084B1 (en) * 2021-12-08 2023-12-11 호남대학교 산학협력단 Electronic apparatus for detecting intrusion and method thereof
KR102651400B1 (en) * 2023-08-25 2024-03-26 주식회사 수주아이티씨 Solution construction system through metadata analysis and feedback provision

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100722975B1 (en) * 2004-10-01 2007-05-30 삼성전자주식회사 Device and method for displaying event in wireless terminal
KR100720137B1 (en) * 2005-02-21 2007-05-18 삼성전자주식회사 Device and method for processing notice of function invitation in wireless terminal

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Bingchuan Yuan 외, 'A Cloud-Based Mobile Data Analytics Framework: Case Study of Activity Recognition Using Smartphone', IEEE, 2014.04.
방재근 외, '모바일 기반 라이프로그를 이용한 사용자 행동 예측 기법', 한국산업정보학회 논문지, 2014.

Also Published As

Publication number Publication date
KR20210072872A (en) 2021-06-18

Similar Documents

Publication Publication Date Title
KR102298395B1 (en) System and Method for User Behavior Analysis and Agent for Collection of Event
US10613838B2 (en) Systems and methods for discovering automatable tasks
US9928155B2 (en) Automated anomaly detection service on heterogeneous log streams
US10514974B2 (en) Log analysis system, log analysis method and program recording medium
US20200184072A1 (en) Analysis device, log analysis method, and recording medium
CN111026470B (en) System and method for verification and conversion of input data
US20180075235A1 (en) Abnormality Detection System and Abnormality Detection Method
KR102589649B1 (en) Machine learning decision-guiding techniques for alerts generated in monitoring systems
US20090064000A1 (en) SYSTEMS, METHODS AND COMPUTER PRODUCTS TO AUTOMATICALLY COMPLETE a GUI TASK
JP4395761B2 (en) Program test support apparatus and method
CN102257487B (en) Analyzing events
JP4381436B2 (en) Scenario generation device and scenario generation program
US10175954B2 (en) Method of processing big data, including arranging icons in a workflow GUI by a user, checking process availability and syntax, converting the workflow into execution code, monitoring the workflow, and displaying associated information
JP2008310582A (en) Maintenance work support apparatus and system, and maintenance work support method
US9043760B2 (en) Creating dynamic interactive views from trace events for performing deterministic performance analysis
US20160092804A1 (en) Apparatus for improving operations of information processing system, and method therefor
CN103262049A (en) Method of gathering data of an event-ike nature from electronic forms
US8335757B2 (en) Extracting patterns from sequential data
EP3987408A1 (en) Regular expression generation using span highlighting alignment
JP2017045238A (en) Information processing system, information processing device, and information processing method
WO2007007410A1 (en) Message analyzing device, message analyzing method and message analyzing program
KR20210036167A (en) Test automation of application
Li et al. Converting unstructured system logs into structured event list for anomaly detection
US9965379B1 (en) Cross-platform API test flow synthesizer
US10083106B2 (en) Computer aided bug reporting system for GUI applications

Legal Events

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