KR20190040046A - Information collection system, information collection method and recording medium - Google Patents

Information collection system, information collection method and recording medium Download PDF

Info

Publication number
KR20190040046A
KR20190040046A KR1020197008162A KR20197008162A KR20190040046A KR 20190040046 A KR20190040046 A KR 20190040046A KR 1020197008162 A KR1020197008162 A KR 1020197008162A KR 20197008162 A KR20197008162 A KR 20197008162A KR 20190040046 A KR20190040046 A KR 20190040046A
Authority
KR
South Korea
Prior art keywords
data
character string
rule
processing
learning
Prior art date
Application number
KR1020197008162A
Other languages
Korean (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 닛본 덴끼 가부시끼가이샤
Publication of KR20190040046A publication Critical patent/KR20190040046A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • G06F17/2705
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 목적은, 방대한 양의 여러가지 형식의 콘텐츠로부터, 흥미 정보를 효율적으로 수집하는 것이다. 정보 수집 시스템(100)은, 학습부(110) 및 추출부(130)를 포함한다. 학습부(110)는, 학습 데이터를 사용하여, 분석될 문자열들, 즉 특정한 정보를 포함하는 문자열들이 데이터로부터 추출되는 파서 룰들을 생성한다. 추출부(130)는, 파서 룰들을 사용하여, 분석될 문자열들을 데이터로부터 추출한다.An object of the present invention is to efficiently collect interest information from a large amount of various types of contents. The information collection system 100 includes a learning unit 110 and an extraction unit 130. The learning unit 110 uses the learning data to generate parser rules in which strings to be analyzed, i.e., strings containing specific information are extracted from the data. The extracting unit 130 extracts the strings to be analyzed from the data using parser rules.

Description

정보 수집 시스템, 정보 수집 방법 및 기록 매체Information collection system, information collection method and recording medium

본 발명은 정보 수집 시스템, 정보 수집 방법 및 기록 매체에 관한 것이다.The present invention relates to an information collection system, an information collection method, and a recording medium.

SNS(social networking service)들, 블로그들, 홈페이지들 등을 포함하는, 인터넷 상의 여러가지 서비스에서 제공되는 웹 콘텐츠로부터, 필요한 정보 피스를 수집하고, 수집된 정보의 분석 및 제어가 여러가지 방식으로 수행된다. 이러한 웹 콘텐츠들은 방대하기 때문에, 프로그램에 기초한 크롤링(crawling) 등에 의한 정보 수집 및 수집된 정보에 대한 분석 및 제어의 자동화가 요구된다.The necessary pieces of information are collected from web contents provided in various services on the Internet, including social networking services (SNS), blogs, homepages, etc., and analysis and control of the collected information is performed in various ways. Because these Web contents are vast, it is required to collect information by crawling based on the program and to automate analysis and control of collected information.

웹 콘텐츠들은, 일반적으로, HTML(HyperText Markup Language)에 의해 기술되고, 콘텐츠들 상에서 수집해야 할 필요한 정보(예를 들어, SNS들에서의 사용자의 메시지 부분)가 기술되는 위치들은, 서비스들에 따라 서로 상이하다. 또한, 많은 경우에, 이 위치들은, 서비스 제공자들에 의해 명확한 사양들로서 공개되지 않는다. 따라서, 웹 콘텐츠로부터의 정보를 수집하기 위해서는, 개발자가, 각 서비스마다 콘텐츠를 분석하고, 필요한 정보를 추출하기 위한 파서(parser) 프로그램을 개발할 필요가 있다. 또한, 이 경우, 콘텐츠들의 사양이 변경될 때마다 파서 프로그램을 변경할 필요가 있고, 프로그래밍 비용도 증가된다. 상술한 바와 같이, 웹 콘텐츠들로부터의 정보 수집에서는, 이러한 방대한 양의 여러가지 형식(format)의 콘텐츠로부터 목적으로 하는 정보를 효율적으로 수집할 수 없다는 과제가 있다.Web content is typically described by HyperText Markup Language (HTML), and the locations where the necessary information to be collected on the content (e.g., the user's message part in the SNS) is described, They are different. Also, in many cases, these locations are not disclosed as definite specifications by service providers. Therefore, in order to collect information from web contents, a developer needs to develop a parser program for analyzing contents for each service and extracting necessary information. In this case, the parser program needs to be changed every time the specification of the contents is changed, and the programming cost is also increased. As described above, there is a problem in that, in information collection from web contents, it is not possible to collect desired information efficiently from such a large amount of contents in various formats.

웹 콘텐츠들로부터의 정보 수집에 관련된 관련 기술로서, 예를 들어 특허문헌 1에는, 마이크로 블로그 메시지(micro blog message)들을 분류 룰에 따라서 분류하는 기술이 개시된다. 특허문헌 2에는, 사용자가 작성한 문서로부터 사용자의 흥미 및 기호를 학습하고, 학습된 흥미 및 기호를 다른 사용자들 및 블로그들의 권장 및 광고들의 송신을 위해 사용하는 기술이 개시된다. 특허문헌 3에는, 뉴스 등의 기사들로부터 추출 조건에 따라서 기사를 추출하고, 기사로의 코멘트들의 양에 따라서 추출 조건을 갱신하는 기술이 개시된다.As a related art related to information collection from Web contents, for example, Patent Document 1 discloses a technique for classifying micro blog messages according to classification rules. Patent Document 2 discloses a technique in which a user's interests and preferences are learned from a document created by a user, and the learned interests and preferences are used for recommendation of other users and blogs and for transmission of advertisements. Patent Document 3 discloses a technique for extracting an article in accordance with an extraction condition from articles such as news and updating the extraction condition according to the amount of comments to the article.

PCT 국제 특허 출원 공보 제2012-529717호의 일본어 번역문Japanese translation of PCT International Patent Application Publication No. 2012-529717 일본 특허 출원 공개 공보 제2009-098964호Japanese Patent Application Laid-Open Publication No. 2009-098964 일본 특허 출원 공개 공보 제2014-049094호Japanese Patent Application Laid-Open Publication No. 2014-049094

그러나, 상술한 선행기술문헌들 중 임의의 것에서, 모두 방대한 양의 여러가지 형식의 데이터로부터, 목적으로 하는 정보를 효율적으로 수집하기 위한 기술은 개시되지 않는다.However, in any of the above prior art documents, a technique for efficiently collecting information of interest from various types of data of all the vast amounts is not disclosed.

본 발명의 예시적인 목적은, 상술한 과제를 해결하고, 방대한 양의 여러가지 형식의 데이터로부터, 목적으로 하는 정보를 효율적으로 수집할 수 있는, 정보 수집 시스템, 정보 수집 방법 및 기록 매체를 제공하는 것이다.An exemplary object of the present invention is to provide an information collecting system, an information collecting method, and a recording medium that can solve the above-mentioned problems and efficiently collect desired information from a large amount of various types of data .

본 발명의 예시적인 양태에 따른 정보 수집 시스템은, 학습 데이터를 사용하여, 특정한 정보를 포함하는 문자열인 대상 문자열을 데이터로부터 추출하기 위한 파서 룰(parser rule)을 생성하는 학습 수단; 및 파서 룰을 사용하여, 대상 문자열을 데이터로부터 추출하는 추출 수단을 구비한다.An information collection system according to an exemplary aspect of the present invention includes learning means for generating a parser rule for extracting a target character string, which is a character string including specific information, from data using learning data; And extraction means for extracting the target character string from the data using the parser rule.

본 발명의 예시적인 양태에 따른 정보 수집 방법은, 학습 데이터를 사용하여, 특정한 정보를 포함하는 문자열인 대상 문자열을 데이터로부터 추출하기 위한 파서 룰을 생성하는 단계; 및 파서 룰을 사용하여, 대상 문자열을 데이터로부터 추출하는 단계를 포함한다.An information collecting method according to an exemplary aspect of the present invention includes: generating a parser rule for extracting a target character string, which is a character string including specific information, from data using learning data; And extracting the target character string from the data using the parser rule.

본 발명의 예시적인 양태에 따른 컴퓨터 판독가능한 기록 매체는, 컴퓨터로 하여금, 학습 데이터를 사용하여, 특정한 정보를 포함하는 문자열인 대상 문자열을 데이터로부터 추출하기 위한 파서 룰을 생성하는 단계; 및 파서 룰을 사용하여, 대상 문자열을 데이터로부터 추출하는 단계를 포함하는 방법을 수행하게 하는 프로그램을 기록한다.According to an exemplary aspect of the present invention, there is provided a computer-readable medium having embodied thereon a program for causing a computer to execute: generating a parser rule for extracting a target character string, which is a character string containing specific information, from data using learning data; And extracting the target character string from the data using the parser rule.

본 발명의 효과는, 방대한 양의 여러가지 형식의 콘텐츠로부터, 목적으로 하는 정보를 효율적으로 수집하는 것이다.The effect of the present invention is to efficiently collect desired information from a large amount of various types of contents.

도 1은 제1 예시적인 실시예의 특징적인 구성을 도시하는 블록도이다.
도 2는, 제1 예시적인 실시예에 따른 구성을 도시하는 블록도이다.
도 3은 제1 예시적인 실시예에서의, 컴퓨터에 의해 구현된 정보 수집 시스템(100)의 구성을 도시하는 블록도이다.
도 4는 제1 예시적인 실시예에서의, 학습 처리를 나타내는 흐름도이다.
도 5는 제1 예시적인 실시예에서의, 학습 처리의 구체예를 도시하는 도면이다.
도 6은 제1 예시적인 실시예에서의, 파서 룰 기억부(120)에 기억되는 파서 룰들의 예들을 나타내는 도면이다.
도 7은 제1 예시적인 실시예에서의, 추출 처리를 나타내는 흐름도이다.
도 8은 제1 예시적인 실시예에서의, 추출 처리의 구체예를 도시하는 도면이다.
도 9는 제1 예시적인 실시예에서의, 문자열 기억부(140)에 기억되는 테이블들의 예들을 나타내는 도면이다.
도 10은 제1 예시적인 실시예에서의, 처리 룰 입력 화면의 예를 나타내는 도면이다.
도 11은 제1 예시적인 실시예에서의, 분석 및 제어 처리를 나타내는 흐름도이다.
도 12는 제1 예시적인 실시예에서의, 분석 및 제어 처리의 구체예를 도시하는 도면이다.
도 13은 제1 예시적인 실시예에서의, 분석 결과 화면의 예를 나타내는 도면이다.
도 14는 제1 예시적인 실시예에서의, 경보 메일의 예를 나타내는 도면이다.
도 15는 제1 예시적인 실시예에 따른 다른 구성을 도시하는 블록도이다.
도 16은 제1 예시적인 실시예의 또 다른 구성을 도시하는 블록도이다.
도 17은 제2 예시적인 실시예에서의, 처리 룰의 예를 나타내는 도면이다.
도 18은 제2 예시적인 실시예에서의, 문자열 기억부(140)에 기억되는 테이블의 예를 나타내는 도면이다.
도 19는 제2 예시적인 실시예에서의, 분석 및 제어 처리의 구체예를 도시하는 도면이다.
도 20은 제2 예시적인 실시예에서의, 학습 처리의 구체예를 도시하는 도면이다.
1 is a block diagram showing a characteristic configuration of the first exemplary embodiment.
2 is a block diagram showing a configuration according to the first exemplary embodiment.
3 is a block diagram illustrating the configuration of an information gathering system 100 implemented by a computer in a first exemplary embodiment.
Fig. 4 is a flowchart showing a learning process in the first exemplary embodiment. Fig.
5 is a diagram showing a concrete example of the learning process in the first exemplary embodiment.
6 is a diagram showing examples of parser rules stored in the parser rule storage unit 120 in the first exemplary embodiment.
7 is a flowchart showing an extraction process in the first exemplary embodiment.
8 is a diagram showing a specific example of extraction processing in the first exemplary embodiment.
9 is a diagram showing examples of tables stored in the character string storage unit 140 in the first exemplary embodiment.
10 is a diagram showing an example of a processing rule input screen in the first exemplary embodiment.
11 is a flow chart showing the analysis and control processing in the first exemplary embodiment.
12 is a diagram showing an example of analysis and control processing in the first exemplary embodiment.
13 is a diagram showing an example of an analysis result screen in the first exemplary embodiment.
14 is a diagram showing an example of an alarm mail in the first exemplary embodiment.
15 is a block diagram showing another configuration according to the first exemplary embodiment.
16 is a block diagram showing another configuration of the first exemplary embodiment.
17 is a diagram showing an example of processing rules in the second exemplary embodiment.
18 is a diagram showing an example of a table stored in the character string storage unit 140 in the second exemplary embodiment.
19 is a diagram showing an example of the analysis and control processing in the second exemplary embodiment.
20 is a diagram showing a specific example of learning processing in the second exemplary embodiment.

[예시적인 실시예][EXEMPLARY EMBODIMENT]

본 발명의 예시적인 실시예들이 도면을 참조하여 상세하게 설명된다. 도면 및 명세서 기재된 예시적인 실시예들에서, 유사한 구성 요소에는 동일한 참조 부호들을 부여하고, 그 설명을 적절히 생략한다는 점에 유의한다.Exemplary embodiments of the present invention are described in detail with reference to the drawings. In the exemplary embodiments described in the drawings and specification, it is noted that like elements are denoted by like reference numerals, and the description thereof is appropriately omitted.

(제1 예시적인 실시예)(First Exemplary Embodiment)

처음에, 제1 예시적인 실시예에 따른 구성에 대해서 설명할 것이다. 도 2는, 제1 예시적인 실시예에 따른 구성을 도시하는 블록도이다. 정보 수집 시스템(100)은, 인터넷워크(Internetwork) 등의 네트워크(400)를 통해서, 서버 장치(200) 및 단말 장치(300)에 접속된다. 서버 장치(200)는, 예를 들어 SNS 등의 서비스에서, 콘텐츠 데이터(이하, 간단히 데이터로서 또한 지칭)를 제공하는 서버이다. 데이터는, 예를 들어 HTML 등의, 미리 결정된 데이터 기술 언어를 사용하여 기술된다.First, a configuration according to the first exemplary embodiment will be described. 2 is a block diagram showing a configuration according to the first exemplary embodiment. The information collection system 100 is connected to the server apparatus 200 and the terminal apparatus 300 via a network 400 such as an internetwork. The server device 200 is a server that provides content data (hereinafter also simply referred to as data) in a service such as SNS. The data is described using a predetermined data description language, e.g., HTML.

정보 수집 시스템(100)은, 서버 장치(200)로부터 취득되는 데이터로부터, 각종 분석 및 제어 처리를 받는 문자열인, "대상 문자열"을 추출한다. 대상 문자열은, 예를 들어 SNS에서 사용자가 발행한 메시지, 및 사용자의 사용자명, 메시지의 송신 일시 등의 "특정한 정보"를 포함하는 문자열이다. 여기서, 데이터에서의 메시지, 사용자명, 송신 일시 등의 저장 방법을 정의하는 데이터 형식은 서비스들을 제공하는 운영자에 따라 상이하다. 정보 수집 시스템(100)은, 서비스들 각각에 대응하는 파서 룰을 사용하여, 대상 문자열을 추출한다. 정보 수집 시스템(100)은, 추출한 대상 문자열에 기초하여, 분석 및 제어 처리를 수행한다.The information collection system 100 extracts a " target string ", which is a string subjected to various analysis and control processing, from data acquired from the server device 200. [ The target string is a character string including " specific information " such as, for example, a message issued by the user in the SNS and a user name of the user, Here, the data format defining the storage method of the message, the user name, the transmission date and the like in the data differs depending on the operator providing the services. The information collection system 100 extracts a target character string using a parser rule corresponding to each of the services. The information collection system 100 performs analysis and control processing based on the extracted target character string.

도 2를 참조하면, 제1 예시적인 실시예에서의 정보 수집 시스템(100)은: 학습부(110), 파서 룰 기억부(120), 추출부(130), 문자열 기억부(140), 처리부(150); 처리 룰 입력부(160); 및 처리 룰 기억부(170)를 포함한다.2, the information collecting system 100 according to the first exemplary embodiment includes: a learning unit 110; a parser rule storage unit 120; an extraction unit 130; a character string storage unit 140; (150); A processing rule input unit 160; And a processing rule storage unit 170.

학습부(110)는, 서버 장치(200)로부터 학습될 데이터(이하, 학습 데이터로서 또한 지칭함)를 취득하고, 학습 데이터를 사용하여 파서 룰을 생성한다. 파서 룰은, 데이터로부터 상술한 대상 문자열을 추출하기 위한 룰이다. 학습부(110)는, 예를 들어 각 서비스마다, 하나 이상의 학습 데이터 피스를 사용하여 파서 룰을 생성한다. 서비스는, 예를 들어 URL(uniform resource locator)에 포함되는 도메인명에 의해 식별된다.The learning unit 110 acquires data to be learned (hereinafter also referred to as learning data) from the server apparatus 200, and generates a parser rule using the learning data. The parser rule is a rule for extracting the above-described target character string from the data. The learning unit 110 generates a parser rule using one or more pieces of learning data for each service, for example. The service is identified by a domain name included in, for example, a uniform resource locator (URL).

파서 룰은, 예를 들어 데이터 기술 언어의 기술 패턴에 의해 지정된다. 학습부(110)는, 데이터 기술 언어의 기술 패턴- 기술 패턴은 학습 데이터에서, 학습 데이터와 함께 지정된 키워드를 포함하는 문자열을 특정할 수 있는 기술 패턴임 -을 파서 룰로서 생성한다. 예를 들어, 데이터가 HTML에 의해 기재되는 경우, 학습부(110)는, 대상 문자열을 특정할 수 있는(대상 문자열을 둘러싸는) 태그들의 패턴을, 파서 룰로서 생성한다.The parser rule is specified by, for example, a description pattern of a data description language. The learning unit 110 generates, as a parser rule, the description pattern of the data description language-the description pattern is a description pattern that can specify a character string including a keyword specified with the learning data in the learning data. For example, when data is described by HTML, the learning unit 110 generates, as a parser rule, a pattern of tags (surrounding a target character string) capable of specifying a target character string.

파서 룰 기억부(120)는, 학습부(110)에 의해 생성되는 파서 룰을 서비스에 연관하여 기억한다.The parser rule storage unit 120 stores a parser rule generated by the learning unit 110 in association with a service.

추출부(130)는, 서버 장치(200)로부터 대상 문자열의 추출을 받을 데이터(이하, 처리 데이터 또는, 간단히, 데이터로서 또한 지칭함)를 취득하고, 데이터에 관련된 서비스와 연관된 파서 룰을 사용하여, 데이터로부터 대상 문자열을 추출한다.The extracting unit 130 acquires data (hereinafter, referred to as processing data or simply data) to be extracted from the server 200 from the server 200 and uses the parser rules associated with the data- Extract the target string from the data.

문자열 기억부(140)는, 추출부(130)에 의해 추출된 대상 문자열을 기억한다. 대상 문자열은, 예를 들어 KVS(Key-Value Store) 등의 테이블 형식으로 기억된다.The character string storage unit 140 stores the target character string extracted by the extraction unit 130. [ The target string is stored in a table format such as a KVS (Key-Value Store).

처리부(150)는, 관리자 등에 의해 지정된 처리 룰(processing rule)에 따라, 추출한 대상 문자열들에 기초하여, 분석 및 제어 처리를 수행한다. 처리 룰은, 분석 및 제어의 방법을 정의한다.The processing unit 150 performs analysis and control processing based on the extracted target character strings in accordance with a processing rule specified by an administrator or the like. The processing rules define the methods of analysis and control.

처리 룰 입력부(160)는, 관리자 등으로부터, 처리 룰의 입력을 접수한다.The processing rule input unit 160 accepts input of a processing rule from an administrator or the like.

처리 룰 기억부(170)는, 관리자 등으로부터 입력된 하나 이상의 처리 룰을 기억한다.The processing rule storage unit 170 stores one or more processing rules input from an administrator or the like.

정보 수집 시스템(100)은, CPU(central processing unit)와 프로그램을 기억한 기억 매체를 포함하고, 프로그램에 기초하는 제어에 의해 동작하는 컴퓨터일 수 있다.The information collecting system 100 may be a computer including a central processing unit (CPU) and a storage medium storing a program, and operated by control based on a program.

도 3은 제1 예시적인 실시예에서의, 컴퓨터에 의해 구현된 정보 수집 시스템(100)의 구성을 도시하는 블록도이다.3 is a block diagram illustrating the configuration of an information gathering system 100 implemented by a computer in a first exemplary embodiment.

이 경우, 정보 수집 시스템(100)은, CPU(101); 하드 디스크 및 메모리 등의 기억 디바이스(102)(기억 매체); 키보드, 디스플레이 등을 포함하는 입/출력 디바이스(103); 및 다른 장치들 등과 통신하는 통신 디바이스(104)를 포함한다. CPU(101)는, 학습부(110), 추출부(130), 처리부(150) 및 처리 룰 입력부(160)를 구현하기 위한 프로그램을 실행한다. 기억 디바이스(102)는, 파서 룰 기억부(120), 문자열 기억부(140) 및 처리 룰 기억부(170)에서의 정보를 기억한다. 입/출력 디바이스(103)는, 관리자 등으로부터, 학습 데이터, 처리 데이터 및 처리 룰의 지정을 접수한다. 또한, 통신 디바이스(104)가, 다른 장치들로부터, 학습 데이터, 처리 데이터 및 처리 룰의 지정을 접수할 수 있다.In this case, the information collection system 100 includes a CPU 101; A storage device 102 (storage medium) such as a hard disk and a memory; An input / output device 103 including a keyboard, a display, and the like; And other devices and the like. The CPU 101 executes a program for implementing the learning unit 110, the extraction unit 130, the processing unit 150 and the processing rule input unit 160. [ The storage device 102 stores information in the parser rule storage unit 120, the character string storage unit 140, and the processing rule storage unit 170. [ The input / output device 103 accepts designation of learning data, processing data, and processing rules from an administrator or the like. In addition, the communication device 104 can accept designation of learning data, processing data, and processing rules from other devices.

또한, 정보 수집 시스템(100)의 각 구성 요소들의 일부 또는 전부는, 범용 또는 전용의 회로, 프로세서, 및 이들의 조합에 의해 구현될 수 있다. 이들의 회로 및 프로세서는, 단일 칩에 의해 구성될 수 있고, 버스를 통해 서로 접속되는 복수의 칩에 의해 구성될 수 있다. 또한, 정보 수집 시스템(100)의 각 구성 요소들의 일부 또는 전부는, 상술한 회로 등과 프로그램과의 조합에 의해 구현될 수 있다.In addition, some or all of the components of the information collection system 100 may be implemented by a general purpose or dedicated circuit, a processor, and a combination thereof. These circuits and processors can be constituted by a single chip and can be constituted by a plurality of chips connected to each other via a bus. In addition, some or all of the components of the information collecting system 100 may be implemented by a combination of the above-described circuit and the like and the program.

정보 수집 시스템(100)의 각 구성 요소들의 일부 또는 전부가, 복수의 정보 처리 장치, 회로 등에 의해 구현되는 경우, 복수의 정보 처리 장치, 회로 등은, 집중 배치될 수 있거나, 분산 배치될 수 있다. 예를 들어, 정보 처리 장치들, 회로들 등은, 각각의 구성 요소들이 클라이언트 및 서버 시스템, 클라우드 컴퓨팅 시스템 등과 같은 통신 네트워크를 통해 서로 접속되는 시스템으로서 구현될 수 있다.When some or all of the components of the information collection system 100 are implemented by a plurality of information processing apparatuses, circuits, etc., the plurality of information processing apparatuses, circuits, and the like may be concentratedly arranged or distributed . For example, information processing devices, circuits, and the like may be implemented as a system in which each component is connected to each other via a communication network, such as a client and server system, a cloud computing system, and the like.

이어서, 제1 예시적인 실시예의 동작을 설명할 것이다.Next, the operation of the first exemplary embodiment will be described.

여기에서는, 학습 처리에서, SNS의 데이터로부터 대상 문자열을 추출하는 파서 룰을 생성하고, 분석 및 제어 처리에서, 대상 문자열에 포함되는 미리 결정된 키워드를 분석하고, 그 분석 결과에 대한 통지를 발행하는 경우를 예로 들어 설명할 것이다.Here, in the learning process, a parser rule for extracting a target character string from data of the SNS is generated. In the analysis and control processing, a predetermined keyword included in the target character string is analyzed and a notice about the analysis result is issued As an example.

<학습 처리><Learning process>

도 4는 제1 예시적인 실시예에서의, 학습 처리를 나타내는 흐름도이다. 도 5는 제1 예시적인 실시예에서의, 학습 처리의 구체예를 도시하는 도면이다.Fig. 4 is a flowchart showing a learning process in the first exemplary embodiment. Fig. 5 is a diagram showing a concrete example of the learning process in the first exemplary embodiment.

처음에, 학습부(110)는, 관리자 등으로부터, 학습 데이터의 지정을 접수한다(단계 S101).First, the learning unit 110 accepts designation of learning data from an administrator or the like (step S101).

예를 들어, 학습부(110)는, 도 5에 도시한 바와 같이, 서비스 "SNS 1"에 대해서, 3개의 학습 데이터 피스의 지정을 URL들 "URL 1", "URL 2" 및 "URL 3"에 의해 접수한다. 또한, 각 학습 데이터 피스와 함께, 키워드들 "Keyword 1", "Keyword 2", "Keyword 3"이 지정된다. 키워드들 각각에 대해서는, 대응하는 학습 데이터 피스에서의, 사용자의 메시지(이하, 사용자 메시지로서 또한 지칭함)의 문자열이 지정된다. 또한, 이들 학습 데이터 피스와 함께, 후술하는 추출 처리에서 사용되는, 테이블명 "SNS 1" 및 데이터 라벨 "Post"가 지정된다. 테이블명은 처리 데이터로부터 추출된 대상 문자열들을 기억하는 테이블의 명칭이다. 데이터 라벨은 테이블에 사용자 메시지들을 저장하는 열의 명칭이다.For example, as shown in FIG. 5, the learning unit 110 assigns three pieces of learning data pieces to the URLs " URL 1 ", " URL 2 ", and " URL 3 ". Key words "Keyword 1", "Keyword 2", and "Keyword 3" are specified along with each learning data piece. For each of the keywords, a character string of the user's message (hereinafter also referred to as a user message) in the corresponding learning data piece is designated. In addition, the table name " SNS 1 " and the data label " Post " used in the extraction process to be described later are specified along with these learning data pieces. The table name is the name of the table that stores the target strings extracted from the process data. A data label is the name of a column that stores user messages in a table.

학습부(110)는, 서버 장치(200)로부터, 지정된 학습 데이터를 취득한다(단계 S102).The learning unit 110 acquires the designated learning data from the server apparatus 200 (step S102).

예를 들어, 학습부(110)는, 도 5에 도시한 바와 같이, 서버 장치(200)로부터, URL들 "URL 1", "URL 2" 및 "URL 3"에 의해 지정된 학습 데이터 피스를 취득한다.For example, as shown in FIG. 5, the learning unit 110 acquires a learning data piece designated by URLs "URL 1", "URL 2", and "URL 3" from the server apparatus 200 do.

학습부(110)는, 취득한 학습 데이터를 사용하여, 파서 룰을 생성한다(단계 S103).The learning unit 110 generates a parser rule using the acquired learning data (step S103).

예를 들어, 학습부(110)는, 각각의 학습 데이터 피스에서, 지정된 키워드들을 포함하는 문자열들을 추출하기 위한 태그 패턴들 "<a><b Class="post" id=xx><c name="userx">Keywordx</c></b></a>"를 식별한다. 그 후, 학습부(110)는, 도 5에 도시한 바와 같이, 각 학습 데이터 피스에 대하여 식별된 태그 패턴들 간에, 태그들 및 태그들의 속성을 비교하고, 공통의 태그 및 공통의 태그에서의 공통의 값을 갖는 속성을 추출함으로써, 파서 룰 "<a><b Class="post"><c>Value</c></b></a>"를 생성한다. 여기서, Value는 추출되는 대상 문자열을 나타낸다.For example, the learning unit 110 generates tag patterns &quot; <a> <b Class = "post" id = xx> <c name = "userx"> Keywordx </ c> </ b> </a> ". Then, as shown in Fig. 5, the learning unit 110 compares the attributes of the tags and the tags between the tag patterns identified for each piece of learning data, <C> Value </ c> </ b> </a> "by extracting a property having a common value. Here, Value indicates a target character string to be extracted.

또한, 학습부(110)는, 도 5에 도시된 바와 같이, 테이블명 "SNS 1", 데이터 라벨 "Post", URL "http://hoge.com" 및 생성한 파서 룰 "<a><b Class="post"><c>Value</c></b></a>"을 서로 연관시킨다. 여기서, URL "http://hoge.com"은, 서비스 "SNS 1"에 대응하는 URL이며, 예를 들어 상술한 URL들 "URL 1", "URL 2" 및 "URL 3"에 공통으로 포함되는 도메인명이다.As shown in Fig. 5, the learning unit 110 also stores the table name " SNS 1 ", the data label " Post ", the URL " http://hoge.com " b Class = "post"> <c> Value </ c> </ b> </a>. Here, the URL &quot; http://hoge.com &quot; is a URL corresponding to the service &quot; SNS 1 ", and is commonly included in the URLs " URL 1 ", " URL 2 & Domain name.

또한, 학습부(110)는, 사용자 메시지들 이외에, 사용자명들(데이터 라벨 "User"), 및 메시지들의 송신 일시들(데이터 라벨 "Date")에 대해서도, 동일한 방식으로 학습 처리를 수행한다. 도 5의 학습 데이터에서는, 태그 "c"의 속성 "name"에 의해, 사용자명들이 지정된다는 점에 유의한다. 도 5의 학습 데이터에서는, 송신 일시들은 생략된다.The learning unit 110 also performs learning processing on user names (data label " User "), and transmission dates and times of messages (data label " Date ") in the same manner in addition to user messages. Note that, in the learning data of Fig. 5, user names are designated by the attribute " name " of the tag " c ". In the learning data of Fig. 5, the transmission dates and times are omitted.

학습부(110)는, 생성한 파서 룰을 파서 룰 기억부(120)에 보존한다(단계 S104).The learning unit 110 stores the generated parser rule in the parser rule storage unit 120 (step S104).

도 6은 제1 예시적인 실시예에서의, 파서 룰 기억부(120)에 기억되는 파서 룰들의 예들을 나타내는 도면이다.6 is a diagram showing examples of parser rules stored in the parser rule storage unit 120 in the first exemplary embodiment.

예를 들어, 학습부(110)는, 도 6에 도시된 바와 같이, 서비스 "SNS 1"의 사용자 메시지(데이터 라벨 "Post"), 사용자명(데이터 라벨 "User"), 및 송신 일시(데이터 라벨 "Date")에서, 생성한 파서 룰들을 파서 룰 기억부(120)에 보존한다.6, for example, the learning unit 110 generates a user message (data label "Post") of the service "SNS 1", a user name (data label "User" In the label " Date "), the generated parser rules are stored in the parser rule storage unit 120. [

또한, 학습부(110)는, 다른 서비스 "SNS 2", "SNS 3"에 대해서도, 마찬가지로 학습 처리를 수행한다. 이 결과, 파서 룰 기억부(120)에는, 도 6과 같이, 각 서비스의 사용자 메시지, 사용자명, 송신 일시에 대해서, 파서 룰이 기억된다.The learning unit 110 also performs the learning process for the other services " SNS 2 " and " SNS 3 ". As a result, the parser rule storage unit 120 stores parser rules for the user message, the user name, and the transmission date and time of each service, as shown in Fig.

학습부(110)는 파서 룰에 따라서 데이터로부터 대상 문자열을 추출하는 스크립트, 프로그램 모듈, 또는 이들의 소스 코드를 추가로 생성하고, 생성한 스크립트, 프로그램 모듈, 또는 소스 코드를 파서 룰 기억부(120)에 보존할 수 있다는 점에 유의한다.The learning unit 110 may further generate a script, a program module, or a source code thereof to extract a target character string from the data in accordance with a parser rule, and may generate the generated script, program module, or source code into a parser rule storage unit 120 ). &Lt; / RTI &gt;

<추출 처리><Extraction Treatment>

도 7은 제1 예시적인 실시예에서의, 추출 처리를 나타내는 흐름도이다. 도 8은 제1 예시적인 실시예에서의, 추출 처리의 구체예를 도시하는 도면이다. 추출 처리는, 학습 처리에 의해 파서 룰이 생성된 후에 실행된다.7 is a flowchart showing an extraction process in the first exemplary embodiment. 8 is a diagram showing a specific example of extraction processing in the first exemplary embodiment. The extraction process is executed after the parser rule is generated by the learning process.

처음에, 추출부(130)는, 관리자 등으로부터, 데이터의 지정을 접수한다(단계 S201).First, the extracting unit 130 accepts designation of data from an administrator or the like (step S201).

예를 들어, 추출부(130)는, 도 8에 도시하는 바와 같이, 서비스 "SNS 1"에 대해서, 데이터의 지정을 URL "http://hoge.com/index.html"에 의해 접수한다.For example, as shown in FIG. 8, the extracting unit 130 accepts the designation of data for the service "SNS 1" by URL "http://hoge.com/index.html".

추출부(130)는, 서버 장치(200)로부터, 지정된 데이터를 취득한다(단계 S202).The extracting unit 130 acquires the designated data from the server apparatus 200 (step S202).

예를 들어, 추출부(130)는, 도 8에 도시하는 바와 같이, 서버 장치(200)로부터, URL "http://hoge.com/index.html"에 의해 지정된 데이터를 취득한다.For example, as shown in Fig. 8, the extracting unit 130 acquires the data designated by the URL " http://hoge.com/index.html " from the server apparatus 200. [

추출부(130)는, 파서 룰 기억부(120)로부터, 데이터의 서비스에 연관된 파서 룰을 취득한다(단계 S203).The extracting unit 130 acquires the parser rule associated with the data service from the parser rule storage unit 120 (step S203).

예를 들어, 추출부(130)는, 도 6의 파서 룰들 중으로부터, 도 8에 도시하는 바와 같이, 데이터를 지정하는 URL의 도메인명으로부터 취득되는 URL "http://hoge.com", 및 데이터 라벨 "Post"와 연관된, 파서 룰 "<a><b Class="post"><c>Value</c></b></a>"를 취득한다.For example, as shown in Fig. 8, the extracting unit 130 extracts from the parser rules of Fig. 6 the URL " http://hoge.com " obtained from the domain name of the URL specifying the data, and <C> Value </ c> </ b> </a> associated with the data label "Post".

추출부(130)는, 취득한 파서 룰을 사용하여, 데이터로부터, 대상 문자열을 추출한다(단계 S204).The extracting unit 130 extracts the target character string from the data using the acquired parser rule (step S204).

예를 들어, 추출부(130)는, 도 8에 도시하는 바와 같이, 데이터로부터, 파서 룰의 태그 패턴 "<a><b Class="post"><c>Value</c></b></a>"에 의해 특정되는, 사용자 메시지들에 대응하는 문자열들을, 대상 문자열들로서 추출한다. 추출부(130)는, 대상 문자열들 각각과 함께, 관련된 대상 문자열들의 세트를 식별하기 위한, 미리 결정된 태그의 속성 값을, Object ID로서 또한 추출할 수 있다는 점에 유의한다. 도 8의 예에서는, 사용자 메시지, 사용자명, 및 송신 일시의 세트가, 태그 "b"의 속성 "id"에 의해 식별가능한 것으로 가정한다. 이 경우, 추출부(130)는, 도 8에 도시하는 바와 같이, 사용자 메시지들과 함께, 태그 "b"의 속성 "id"의 값들을, Object ID로서 추출한다.For example, as shown in FIG. 8, the extracting unit 130 extracts, from the data, the tag pattern "<a> <b Class =" post "> <c> Value </ c> </ b &gt; &quot; &gt; ", as target strings. Note that the extracting unit 130 can also extract, as object IDs, attribute values of a predetermined tag for identifying a set of related target strings together with each of the target strings. In the example of Fig. 8, it is assumed that the set of the user message, user name, and transmission date and time is identifiable by the attribute " id " of the tag " b ". In this case, the extracting unit 130 extracts the values of the attribute " id " of the tag " b &quot; together with the user messages as the object ID, as shown in Fig.

또한, 추출부(130)는, 사용자 메시지들 이외에, 사용자명들(데이터 라벨 "User"), 및 메시지들의 송신 일시들(데이터 라벨 "Date")에 대해서도, 동일한 방식으로 대상 문자열들을 추출한다.In addition to user messages, the extracting unit 130 also extracts target strings in the same manner for user names (data label "User") and transmission dates and times of messages (data label "Date").

추출부(130)는, 추출한 대상 문자열들을 문자열 기억부(140)에 보존한다(단계 S205).The extracting unit 130 stores the extracted target character strings in the character string storage unit 140 (step S205).

도 9는 제1 예시적인 실시예에서의, 문자열 기억부(140)에 기억되는 테이블들의 예를 나타내는 도면이다.9 is a diagram showing an example of tables stored in the character string storage unit 140 in the first exemplary embodiment.

예를 들어, 추출부(130)는, 도 9에 도시된 바와 같이, 테이블 "SNS 1"에, 대상 문자열들로서 추출한 사용자 메시지들(데이터 라벨 "Post"), 사용자명들(데이터 라벨 "User"), 및 송신 일시들(데이터 라벨 "Date")을 설정하고, 이 테이블을 문자열 기억부(140)에 보존한다. 여기서, 추출부(130)는, 테이블의 각 열에, 동일한 Object ID를 갖는 사용자 메시지, 사용자명, 및 송신 일시를 설정한다.9, the extracting unit 130 extracts user messages (data label " Post "), user names (data label " User " (Data label " Date "), and stores this table in the character string storage unit 140. [ Here, the extracting unit 130 sets a user message, a user name, and a transmission date / time with the same Object ID in each column of the table.

또한, 추출부(130)는, 다른 서비스들 "SNS 2" 및 "SNS 3"에 대해서도, 동일한 방식으로 추출 처리를 수행한다. 이 결과, 문자열 기억부(140)에는, 도 9에 도시된 바와 같이, 테이블들 "SNS 1", "SNS 2", 및 "SNS 3"이 기억된다.The extracting unit 130 also performs extraction processing for other services "SNS 2" and "SNS 3" in the same manner. As a result, the strings "SNS 1", "SNS 2", and "SNS 3" are stored in the character string storage unit 140 as shown in FIG.

<분석 및 제어 처리><Analysis and control processing>

도 10은 제1 예시적인 실시예에서의, 처리 룰 입력 화면의 예를 나타내는 도면이다. 도 10의 입력 화면에서는, 처리 룰을 구성하기 위한 부품들과 처리 룰의 편집 영역이 표시된다. 관리자 등은, 예를 들어 표시된 부품들 중으로부터 부품을 선택하고 선택한 부품을 편집 영역에 배치하고, 파라미터를 설정함으로써, 처리 룰을 편집한다. 도 10의 예에서는, 처리 룰 "Rule 1"이 입력된다. 처리 룰 "Rule 1"로서, 테이블들 "SNS 1", "SNS 2", 및 "SNS 3"에서, 키워드 "지진", "흔들리다"를 포함하는 대상 문자열들의 수가 임계값 "20" 이상인 경우에, 대상 문자열들에 타입 "재해"를 부여하고, 경보 메일을 송신하는 처리가 기술된다.10 is a diagram showing an example of a processing rule input screen in the first exemplary embodiment. In the input screen of Fig. 10, the parts for constituting the processing rule and the editing area of the processing rule are displayed. The manager or the like edits processing rules by, for example, selecting parts from the displayed parts, placing the selected parts in the editing area, and setting the parameters. In the example of FIG. 10, the processing rule "Rule 1" is input. When the number of target strings including keywords "earthquake" and "shake" in the tables "SNS 1", "SNS 2" and "SNS 3" as the processing rule "Rule 1" Quot; disaster " to the target strings, and an alarm mail is transmitted.

여기에서는, 처리 룰 입력부(160)가, 미리, 입/출력 디바이스(103)를 통해서, 관리자 등으로부터 도 10에서와 같은 처리 룰 "Rule 1"의 입력을 접수하고, 접수한 처리 룰 "Rule 1"을 처리 룰 기억부(170)에 보존하는 것으로 가정한다.Here, the processing rule input unit 160 receives input of the processing rule "Rule 1" as shown in FIG. 10 from the manager or the like in advance through the input / output device 103 and receives the accepted processing rule "Rule 1 Quot; is stored in the processing rule storage unit 170. [

처리 룰 입력부(160)는 처리 룰에 따라서 분석 및 제어 처리를 수행하는 스크립트, 프로그램 모듈, 또는 이들의 소스 코드를 추가로 생성하고, 생성한 스크립트, 프로그램 모듈, 또는 소스 코드를 처리 룰 기억부(170)에 보존할 수 있다는 점에 유의한다.The processing rule input unit 160 may further generate a script, a program module, or a source code thereof for performing the analysis and control processing in accordance with the processing rule, and transmit the generated script, program module, or source code to a processing rule storage unit 170). &Lt; / RTI &gt;

도 11은 제1 예시적인 실시예에서의, 분석 및 제어 처리를 나타내는 흐름도이다. 도 12는 제1 예시적인 실시예에서의, 분석 및 제어 처리의 구체예를 도시하는 도면이다. 분석 및 제어 처리는, 추출 처리에 의해 대상 문자열들이 추출된 후에 실행된다.11 is a flow chart showing the analysis and control processing in the first exemplary embodiment. 12 is a diagram showing an example of analysis and control processing in the first exemplary embodiment. The analysis and control processing is executed after the object strings are extracted by the extraction processing.

처음에, 처리부(150)는, 관리자 등으로부터, 분석 및 제어 처리를 받는 대상 문자열들에 대한 조건 및 이용하는 처리 룰의 지정들을 접수한다(단계 S301).Initially, the processing unit 150 accepts, from an administrator or the like, the conditions for the target character strings subjected to the analysis and control processing and the specification of the processing rule to be used (step S301).

도 13은 제1 예시적인 실시예에서의, 분석 결과 화면의 예를 나타내는 도면이다.13 is a diagram showing an example of an analysis result screen in the first exemplary embodiment.

처리부(150)는, 예를 들어 도 13에서와 같은 분석 결과 화면을, 입/출력 디바이스(103)를 통해 관리자 등에 출력하고, 대상 문자열들에 대한 조건(송신 일시 "date>=2015/12/15") 및 처리 룰 "Rule 1"의 지정들을 접수한다.The processing unit 150 outputs an analysis result screen as shown in FIG. 13, for example, to an administrator through the input / output device 103, and sets a condition (transmission date " date & 15 ") and the processing rule " Rule 1 ".

처리부(150)는, 문자열 기억부(140)로부터, 지정된 조건을 충족하는 대상 문자열들을 취득한다(단계 S302).The processing unit 150 acquires, from the character string storage unit 140, target strings that satisfy the specified condition (step S302).

예를 들어, 처리부(150)는, 도 9에서의 테이블들 "SNS 1", "SNS 2", 및 "SNS 3"으로부터, 취득 일시 "date>=2015/12/15"의 조건을 충족하는 대상 문자열들을 취득한다.For example, the processing unit 150 acquires from the tables " SNS 1 ", " SNS 2 ", and " SNS 3 " in FIG. 9 the condition of acquisition date " date> = 2015/12/15 " Get target strings.

처리부(150)는, 처리 룰 기억부(170)로부터, 지정된 처리 룰을 취득한다(단계 S303).The processing unit 150 acquires the specified processing rule from the processing rule storage unit 170 (step S303).

예를 들어, 처리부(150)는, 도 10에서와 같은 처리 룰 "Rule 1"을 취득한다.For example, the processing unit 150 acquires the processing rule "Rule 1" as shown in FIG.

처리부(150)는, 취득한 처리 룰에 따라, 취득한 대상 문자열들에 기초하여, 분석 및 제어 처리를 수행한다(단계 S304).The processing unit 150 performs analysis and control processing based on the obtained target character strings in accordance with the acquired processing rule (step S304).

예를 들어, 처리부(150)는, 도 10에서의 처리 룰 "Rule 1"에 따라, 각 테이블들의 대상 문자열들 중, 키워드 "지진" 또는 "흔들리다"를 포함하는 대상 문자열들의 수를, 도 12에서와 같이 카운트한다. 카운트한 결과로서, 그 수가 "20" 이상인 경우, 처리부(150)는, 도 12에서와 같이, 키워드 "지진" 또는 "흔들리다"를 포함하는 대상 문자열들에, 타입(데이터 라벨 "Type")으로서 "재해"를 부여한다.For example, in accordance with the processing rule " Rule 1 " in FIG. 10, the processing unit 150 sets the number of target strings including the keyword " earthquake & Count as in 12. As a result of the counting, if the number is greater than or equal to 20, the processing unit 150 sets the type (data label " Type ") to target strings including the keyword " As a "disaster".

처리부(150)는, 도 13에서와 같이, 분석 결과 화면의 분석 결과에, 타입 "재해"를 부여한 대상 문자열들을 설정하고, 이 분석 결과 화면을 관리자 등에 출력한다. 또한, 처리부(150)는, 타입 "재해"를 부여한 대상 문자열들에 대해서, 문자열 기억부(140)에 기억되는 테이블들을 갱신할 수 있다.As shown in FIG. 13, the processing unit 150 sets target strings to which the type "disaster" is assigned to the analysis result of the analysis result screen, and outputs the analysis result screen to the manager or the like. The processing unit 150 can also update the tables stored in the character string storage unit 140 for the target character strings to which the type "disaster" is assigned.

도 14는 제1 예시적인 실시예에서의, 경보 메일의 예를 나타내는 도면이다.14 is a diagram showing an example of an alarm mail in the first exemplary embodiment.

또한, 처리부(150)는, 재해(지진)가 발생한 것을 나타내는, 도 14에서와 같은 경보 메일을, 네트워크(400)를 통해, 미리 통지 수신자로서 등록된 단말 장치(300)에 송신한다. 여기서, 처리부(150)는, 예를 들어 처리 룰에 따라, 메일의 내용을 설정한다. 이 경우, 처리부(150)는, 처리 룰에 의해 지정된 다른 장치들로부터 메일의 내용을 취득하고, 설정할 수 있다.The processing unit 150 also transmits an alert mail such as that shown in Fig. 14 indicating occurrence of a disaster (earthquake) to the terminal device 300 registered as a notification receiver in advance via the network 400. Fig. Here, the processing unit 150 sets the contents of the mail according to, for example, a processing rule. In this case, the processing unit 150 can acquire and set contents of mail from other devices specified by the processing rule.

상술한 바와 같이, SNS들의 데이터에서의 사용자 메시지들 등이 각 서비스들마다 여러가지 형식의 데이터에 의해 제공되는 경우에도, 메시지들을 효율적으로 수집하고, 분석할 수 있다.As described above, even when user messages and the like in data of SNSs are provided by various types of data for each service, messages can be efficiently collected and analyzed.

따라서, 제1 예시적인 실시예의 동작들이 완료된다.Thus, the operations of the first exemplary embodiment are completed.

상술한 실시예에서는, 데이터가 HTML에 의해 기재되는 경우를 예로 들어 설명했지만, 데이터 기술 언어들에 의한 기술을 분석함으로써, 특정한 정보를 대상 문자열들로서 추출할 수 있는 한, 데이터는, 다른 데이터 기술 언어들에 의해 기술될 수 있다는 점에 유의한다. 예를 들어, 데이터는, XML(Extensible Markup Language) 등의 다른 마크업 언어들에 의해 기술될 수 있고, JSON(JAVA(등록 상표) Script Object Notation)을 포함하는 마크업 언어들 이외의 언어들에 의해 기술될 수 있다.In the above-described embodiment, the case where data is described by HTML has been described as an example. However, as long as specific information can be extracted as target strings by analyzing a technique by data description languages, &Lt; / RTI &gt; For example, the data may be described by other markup languages such as Extensible Markup Language (XML), and may be written in languages other than markup languages including JAVA (registered trademark) Script Object Notation &Lt; / RTI &gt;

또한, 상술한 예시적인 실시예에서는, 추출부(130)는, 처리 데이터로서, 관리자 등으로부터 지정된 URL들에 의해 나타나는 데이터를 취득한다. 그러나, 이에 한정하지 않고, 추출부(130)는, 네트워크(400)를 통한 크롤링에 의해, 데이터를 취득할 수 있다. 이 경우, 추출부(130)는, 어떤 기점의 URL에 의해 나타난 데이터로부터, 미리 결정된 수의 링크를 통과하는 것에 의해 데이터를 취득할 수 있고, 취득한 데이터를 사용할 수 있다. 또한, 추출부(130)는, 검색 엔진의 검색 결과에 의해 취득된 미리 결정된 수의 URL에 의해 제공되는 데이터를 취득할 수 있고, 취득한 데이터를 사용할 수 있다.Further, in the above-described exemplary embodiment, the extracting unit 130 acquires, as processing data, data represented by URLs specified by an administrator or the like. However, the present invention is not limited to this, and the extracting unit 130 can acquire data by crawling through the network 400. [ In this case, the extracting unit 130 can acquire the data by passing a predetermined number of links from the data indicated by the URL of a starting point, and use the acquired data. Also, the extracting unit 130 can acquire the data provided by the predetermined number of URLs acquired by the search result of the search engine, and use the acquired data.

또한, 추출부(130)는, 처리 데이터로서, 네트워크(400)를 통해 송신 및 수신되는 데이터를 프록시 서버 등의 네트워크 장치를 사용하여 취득할 수 있다.In addition, the extracting unit 130 can acquire, as processing data, data transmitted and received via the network 400 using a network device such as a proxy server.

또한, 상술한 예시적인 실시예에서는, 추출부(130)에 의해 추출된 복수의 대상 문자열에 기초하여, 처리부(150)에 의해 분석 및 제어 처리가 실행된다. 그러나, 이에 한정하지 않고, 추출부(130)가 처리 데이터를 취득하고, 대상 문자열을 추출할 때마다, 처리부(150)가, 추출된 대상 문자열에 기초하여, 분석 및 제어 처리를 실행할 수 있다.In the above-described exemplary embodiment, analysis and control processing are executed by the processing unit 150 based on a plurality of target characters extracted by the extraction unit 130. [ However, the present invention is not limited to this, and the processing unit 150 can execute analysis and control processing based on the extracted target character each time the extraction unit 130 acquires the processing data and extracts the target character string.

또한, 상술한 예시적인 실시예에서는, 학습 처리에서, SNS들의 데이터로부터 사용자 메시지들, 사용자명들, 송신 일시 등을 대상 문자열들로서 추출하기 위한 파서 룰들이 생성된다. 또한, 분석 및 제어 처리에서, 대상 문자열들에 포함되는 미리 결정된 키워드들의 수를 산출하고, 그 산출 결과에 대한 통지가 발행된다.Further, in the above-described exemplary embodiment, in the learning process, parser rules are generated for extracting user messages, user names, transmission date and time, etc. from the data of the SNSs as target strings. Further, in the analysis and control processing, the number of predetermined keywords included in the target strings is calculated, and a notification is issued about the calculation result.

그러나, 이에 한정하지 않고, 파서 룰에 의해 대상 문자열로서 추출되는 정보는, 그 정보가 데이터 기술 언어에 의한 기술을 분석함으로써 취득되는 한, 임의의 정보일 수 있다. 또한, 분석 및 제어 처리는, 그 분석 및 제어 처리가 추출된 대상 문자열에 기초하여 수행되는 처리인 한, 임의의 처리일 수 있다.However, the present invention is not limited to this, and the information extracted as the target character string by the parser rule may be arbitrary information as long as the information is acquired by analyzing the description in the data description language. In addition, the analysis and control processing may be any processing as long as the analysis and control processing is performed based on the extracted target character string.

예를 들어, 대상 문자열로서, 높은 조작 가능성 및 취약성을 갖는 IP(internet protocol) 어드레스들 또는 도메인명들의 리스트(즉, 블랙리스트)를 제공하기 위한 데이터로부터, 블랙리스트를 추출할 수 있다. 또한, 대상 문자열로서, 멀웨어의 파일명들 및 URL들(즉, 멀웨어 리스트)을 제공하기 위한 데이터로부터, 멀웨어 리스트를 추출할 수 있다. 이 경우, 분석 및 제어 처리에서, 블랙리스트나 멀웨어 리스트에 관련된 통신을 차단하기 위한 정책을 설정할 수 있다.For example, as a target string, a blacklist may be extracted from data to provide a list of IP (internet protocol) addresses or domain names (i.e., blacklists) with high operability and vulnerability. Further, as the target string, a malware list can be extracted from data for providing file names of malware and URLs (i.e., a malware list). In this case, in the analysis and control processing, a policy for blocking communication related to the black list or the malware list can be set.

도 15는 제1 예시적인 실시예에 따른 다른 구성을 도시하는 블록도이다. 도 15에서의 정보 수집 시스템(100)은, 도 2에서의 정보 수집 시스템(100)의 구성 요소들과 동일한 구성 요소들을 포함한다.15 is a block diagram showing another configuration according to the first exemplary embodiment. The information collecting system 100 in FIG. 15 includes the same components as those of the information collecting system 100 in FIG.

도 15에서는, 서버 장치(200)가, 상술한 블랙리스트나 멀웨어 리스트를 제공하는 서버이다. 정보 수집 시스템(100)은, IPS(intrusion prevention system) 장치(500)에 접속된다. IPS 장치(500)는, 네트워크(400)와 로컬 네트워크(600)에 접속된 단말 장치(601) 사이의 통신을, 정책에 따라 제어한다.15, the server device 200 is a server that provides the above-described black list or malware list. The information collection system 100 is connected to an intrusion prevention system (IPS) The IPS device 500 controls the communication between the network 400 and the terminal device 601 connected to the local network 600 according to a policy.

예를 들어, 도 15에서의 학습부(110)는, 서버 장치(200)로부터 취득한 학습 데이터와, 키워드로서 지정된, 학습 데이터에 포함되는 블랙리스트나 멀웨어 리스트를 사용하여, 파서 룰을 생성한다.For example, the learning unit 110 in FIG. 15 generates a parser rule using the learning data acquired from the server apparatus 200 and the black list or the malware list included in the learning data designated as the keyword.

추출부(130)는, 파서 룰을 사용하여, 서버 장치(200)로부터 취득한 데이터로부터, 대상 문자열(블랙리스트나, 멀웨어 리스트)을 추출한다.The extraction unit 130 extracts a target character string (black list or malware list) from the data acquired from the server apparatus 200 by using the parser rule.

처리부(150)는, 처리 룰에 따라, 대상 문자열로부터, 블랙리스트에 포함되는 IP 어드레스들 또는 도메인명들, 또는 멀웨어 리스트에 포함되는 파일명들이나 URL들을 추출한다. 그 후, 처리부(150)는, 추출한 IP 어드레스들이나 도메인명들과의 통신, 또는, 추출한 파일명들이나 URL들을 포함하는 메시지들의 통신을 차단하기 위한 정책을, IPS 장치(500)에 설정한다.The processing unit 150 extracts, from the target character string, IP addresses or domain names included in the black list, or file names or URLs included in the malware list, according to the processing rule. Thereafter, the processing unit 150 sets a policy for interrupting the communication with the extracted IP addresses or domain names, or the communication of the messages including the extracted file names and URLs, to the IPS device 500.

이러한 방식으로, 블랙리스트나 멀웨어 리스트가 서비스들 각각마다 여러가지 형식의 데이터에 의해 제공되는 경우에도, 서비스들에 따라서 블랙리스트나 멀웨어 리스트를 효율적으로 수집하고, 수집한 블랙리스트나 멀웨어 리스트를 통신 정책에 반영할 수 있다.In this way, even if the black list or the malware list is provided by various types of data for each service, the black list or the malware list can be efficiently collected according to the services, .

또한, 예를 들어 대상 문자열로서, 블로그 페이지에 대한 사용자 코멘트를 추출할 수 있다. 이 경우, 분석 및 제어 처리에서, 사용자 코멘트에 포함되는 부적절한 표현을 검출하고, 사용자 코멘트의 기입이 차단될 수 있거나, 사용자 코멘트의 로그를 취득할 수 있다.Also, as a target string, for example, a user comment on a blog page can be extracted. In this case, in the analysis and control processing, an inappropriate expression included in the user comment can be detected, the writing of the user comment can be blocked, or a log of the user comment can be obtained.

도 16은 제1 예시적인 실시예의 또 다른 구성을 도시하는 블록도이다. 도 16에서의 정보 수집 시스템(100)은, 도 2에서의 정보 수집 시스템(100)의 구성 요소들과 동일한 구성 요소들을 포함한다.16 is a block diagram showing another configuration of the first exemplary embodiment. The information collecting system 100 in FIG. 16 includes the same components as those of the information collecting system 100 in FIG.

도 16에서는, 서버 장치(200)가, 블로그들을 제공하는 서버이다. 정보 수집 시스템(100)은, 프록시 서버(700)에 접속된다. 프록시 서버(700)는, 네트워크(400)와 로컬 네트워크(800)에 접속된 단말 장치(801) 사이의 통신을 제어한다.In Fig. 16, the server device 200 is a server that provides blogs. The information collection system 100 is connected to the proxy server 700. The proxy server 700 controls communication between the network 400 and the terminal device 801 connected to the local network 800. [

예를 들어, 도 16에서의 학습부(110)는, 단말 장치(801)로부터 서버 장치(200)에 송신되고 있는, 블로그들로의 사용자 코멘트들을 포함하는 학습 데이터와, 키워드들로서 지정되고 데이터에 포함되는 사용자 코멘트들을 사용하여, 파서 룰을 생성한다.For example, the learning unit 110 shown in Fig. 16 is configured to include learning data including user comments to blogs, which are transmitted from the terminal device 801 to the server apparatus 200, Using the included user comments, a parser rule is generated.

추출부(130)는, 프록시 서버(700)를 통해, 단말 장치(801)로부터 서버 장치(200)에 송신되는 데이터를 취득한다. 추출부(130)는, 파서 룰을 사용하여, 취득한 데이터로부터, 대상 문자열들(사용자 코멘트들)을 추출한다.The extraction unit 130 acquires data transmitted from the terminal device 801 to the server device 200 via the proxy server 700. [ The extracting unit 130 extracts target strings (user comments) from the acquired data using the parser rule.

처리부(150)는, 처리 룰에 따라, 대상 문자열들로부터 악의적인 중상에 대응하는 표현 등의, 부적절한 표현을 추출한다. 그 후, 처리부(150)는, 부적절한 표현이 추출된 데이터의 서버 장치(200)로의 송신을 차단하도록, 프록시 서버(700)를 제어한다. 또한, 처리부(150)는 부적절한 표현이 검출된 데이터의 송신원인 단말 장치(801)의 IP 어드레스 등을 나타내는 로그를, 로그 기억부(도시되지 않음)에 추가로 보존할 수 있다.The processing unit 150 extracts an inappropriate expression, such as a representation corresponding to a malignant middle ear, from the target strings in accordance with the processing rule. Thereafter, the processing unit 150 controls the proxy server 700 so as to block transmission of the extracted data to the server apparatus 200. In addition, the processing unit 150 can additionally store in the log storage unit (not shown) a log indicating the IP address or the like of the terminal device 801, which is the transmission source of the data in which the inappropriate representation is detected.

이러한 방식으로, SNS들 및 블로그들로의 기입이 서비스들 각각마다 여러가지 형식의 콘텐츠에 의해 수행되는 경우에도, 서비스들에 따라서 기입된 엔트리들을 효율적으로 수집할 수 있고, 부적절한 기입된 엔트리들을 검출할 수 있다.In this way, even if the writing to the SNSs and blogs is performed by various types of contents for each of the services, it is possible to efficiently collect the entries written according to the services, and to detect the improperly written entries .

또한, 예를 들어 대상 문자열들로서, 뉴스 사이트들의 콘텐츠 데이터로부터, 뉴스 기사들, 일기 예보들, 프로그램 정보 등을 추출할 수 있다. 또한, 대상 문자열들로서, 인터넷 상의 사람들의 네트워크들, 사람들의 흥미들 등을 포함하는 정보를 분석하고 제공하는 사이트들의 콘텐츠 데이터로부터, 분석 결과 등을 추출할 수 있다.Also, news strings, weather forecasts, program information, and the like can be extracted from the content data of news sites as target strings, for example. Also, as the target strings, analysis results and the like can be extracted from content data of sites that analyze and provide information including networks of people on the Internet, interests of people, and the like.

또한, 예를 들어, 분석 및 제어 처리에서, 대상 문자열들로서 취득된 SNS의 메시지들로부터 멀웨어의 파일명을 검출하고, 다른 분석기 등에 멀웨어를 분석시킬 수 있다. 또한, 분석 및 제어 처리에서, 대상 문자열들로서 취득된 사람들의 네트워크들 및 사람들의 흥미들의 분석 결과들로부터, 특정한 사람들의 네트워크들 및 흥미들을 추출하거나, 특정한 흥미를 갖는 사람을 추출할 수 있다.Further, for example, in the analysis and control processing, the file name of the malware can be detected from the messages of the SNS acquired as the target strings, and the malware can be analyzed in other analyzers and the like. Further, in the analysis and control processing, it is possible to extract networks and interests of a specific person, or extract persons with a particular interest, from analysis results of networks of people and interest of people acquired as target strings.

이어서, 제1 예시적인 실시예의 특징적인 구성을 설명할 것이다. 도 1은 제1 예시적인 실시예의 특징적인 구성을 도시하는 블록도이다.Next, the characteristic configuration of the first exemplary embodiment will be described. 1 is a block diagram showing a characteristic configuration of the first exemplary embodiment.

도 1을 참조하면, 정보 수집 시스템(100)은, 학습부(110) 및 추출부(130)를 포함한다. 학습부(110)는, 학습 데이터를 사용하여, 특정한 정보를 포함하는 문자열인 대상 문자열을 데이터로부터 추출하기 위한 파서 룰을 생성한다. 추출부(130)는, 파서 룰을 사용하여, 대상 문자열을 데이터로부터 추출한다.Referring to FIG. 1, the information collection system 100 includes a learning unit 110 and an extraction unit 130. The learning unit 110 generates a parser rule for extracting a target character string, which is a character string including specific information, from the data using the learning data. The extracting unit 130 extracts the target character string from the data using the parser rule.

이어서, 제1 예시적인 실시예의 이로운 효과에 대해서 설명할 것이다.The beneficial effects of the first exemplary embodiment will now be described.

제1 예시적인 실시예에 따르면, 방대한 양의 여러가지 형식의 콘텐츠로부터, 목적으로 하는 정보를 효율적으로 수집할 수 있다. 상술한 것에 대한 이유는, 학습부(110)가, 학습 데이터를 사용하여, 특정한 정보를 포함하는 문자열인 대상 문자열을 추출하기 위한 파서 룰을 생성하고, 추출부(130)가, 생성한 파서 룰을 사용하여, 대상 문자열을 데이터로부터 추출하기 때문이다.According to the first exemplary embodiment, target information can be efficiently collected from a large amount of various types of contents. The reason for the above is that the learning unit 110 generates a parser rule for extracting a target character string which is a character string including specific information by using the learning data and the extracting unit 130 extracts the parser rule To extract the target string from the data.

이러한 방식으로, 여러가지 형식의 콘텐츠로부터 필요한 정보를 추출하기 위한 파서 프로그램을, 개발자가 콘텐츠를 분석하지 않고, 단 시간에 생성할 수 있다. 또한, 콘텐츠의 사양들이 변경되어도, 파서 프로그램의 재프로그래밍을 저비용으로 실행할 수 있다. 또한, 여러가지 형식의 콘텐츠에 대하여 파서 프로그램의 표기법이 통합되고, 따라서 그 가독성 및 재이용성이 향상된다.In this way, a parser program for extracting necessary information from various types of contents can be created by the developer in a short time without analyzing the contents. Also, even if the specifications of the contents are changed, the reprogramming of the parser program can be executed at low cost. In addition, the notation of the parser program is integrated for various types of content, thus improving its readability and reusability.

또한, 제1 예시적인 실시예에 따르면, 방대한 양의 여러가지 형식의 콘텐츠로부터 추출된 정보에 기초하여, 각종 분석 및 제어를 효율적으로 실행할 수 있다. 상술한 것에 대한 이유는, 처리부(150)가, 처리 룰에 따라, 추출부(130)에 의해 추출된 대상 문자열들에 기초하여, 분석 및 제어 처리를 수행하기 때문이다.Further, according to the first exemplary embodiment, it is possible to efficiently perform various analyzes and controls based on information extracted from a large amount of various types of contents. The reason for the above is that the processing section 150 performs the analysis and control processing based on the target strings extracted by the extraction section 130 according to the processing rule.

또한, 제1 예시적인 실시예에 따르면, 여러가지 방법의 분석들 및 제어들을 효율적으로 실행할 수 있다. 상술한 것에 대한 이유는, 처리 룰 기억부(170)가 하나 이상의 처리 룰을 기억하고, 처리부(150)가, 관리자 등에 의해 지정된 처리 룰에 따라, 분석 및 제어 처리를 수행하기 때문이다.Further, according to the first exemplary embodiment, various methods of analysis and controls can be efficiently executed. The reason for the above is that the processing rule storage unit 170 stores one or more processing rules and the processing unit 150 performs analysis and control processing in accordance with processing rules specified by an administrator or the like.

(제2 예시적인 실시예)(Second Exemplary Embodiment)

이어서, 제2 예시적인 실시예에 대해서 설명할 것이다.Next, a second exemplary embodiment will be described.

제2 예시적인 실시예는, 처리부(150)가, 추출한 대상 문자열들에 기초하여 새로운 학습 데이터를 결정한다는 점에서, 제1 예시적인 실시예와 상이하다.The second exemplary embodiment differs from the first exemplary embodiment in that the processing unit 150 determines new learning data based on the extracted target strings.

처리부(150)는, 처리 룰에 따라, 추출한 대상 문자열들에 기초하여, 새로운 학습 데이터를 결정한다. 여기서, 처리부(150)는, 대상 문자열들에 특정한 키워드와 URL이 포함되는 경우, URL에 의해 나타나는 데이터를 새로운 학습 데이터로서 결정한다.The processing unit 150 determines new learning data based on the extracted target characters in accordance with the processing rule. Here, when the target character strings include a specific keyword and URL, the processing unit 150 determines data indicated by the URL as new learning data.

학습부(110)는, 새로운 학습 데이터를 사용하여 파서 룰을 생성한다.The learning unit 110 generates a parser rule using the new learning data.

도 17은 제2 예시적인 실시예에서의, 처리 룰의 예를 나타내는 도면이다. 도 17의 예에서는, 처리 룰 "Rule 2"이 정의된다. 처리 룰 "Rule 2"에서는, 테이블 "SNS 1"에서, 특정한 키워드 "지진" 및 공통의 도메인명의 URL을 포함하는 복수의 대상 문자열이 검출된 경우에, 학습부(110)에 대하여 새로운 학습 데이터를 지정하는 처리가 기술된다. 새로운 학습 데이터는, 검출된 URL에 의해 지정된다. 또한, 추출해야 할 문자열로서, 키워드 "지진"이 지정된다.17 is a diagram showing an example of processing rules in the second exemplary embodiment. In the example of Fig. 17, the processing rule " Rule 2 " is defined. In the processing rule " Rule 2 ", when a plurality of target strings including a specific keyword " earthquake " and a common domain name URL are detected in the table " SNS 1 & The processing to specify is described. The new learning data is specified by the detected URL. In addition, the keyword " earthquake " is designated as a string to be extracted.

여기에서는, 처리 룰 입력부(160)가, 미리, 관리자 등으로부터 도 17에서와 같은 처리 룰 "Rule 2"의 입력을 접수하고, 접수한 처리 룰 "Rule 2"를 처리 룰 기억부(170)에 보존하는 것으로 가정한다.Here, the processing rule input unit 160 receives the input of the processing rule " Rule 2 " as shown in Fig. 17 from the manager or the like in advance and sends the received processing rule " Rule 2 " to the processing rule storage unit 170 And preserve it.

도 18은 제2 예시적인 실시예에서의, 문자열 기억부(140)에 기억되는 테이블의 예를 나타내는 도면이다.18 is a diagram showing an example of a table stored in the character string storage unit 140 in the second exemplary embodiment.

또한, 파서 룰 기억부(120)에는, 제1 예시적인 실시예와 동일한 방식으로 도 6에서와 같은 파서 룰들이 기억되고, 문자열 기억부(140)에는, 추출 처리에 의해, 도 18에서와 같이 테이블 "SNS 1"이 기억되는 것으로 가정한다.6 are stored in the parser rule storage unit 120 in the same manner as in the first exemplary embodiment and the character string storage unit 140 stores the parser rules as shown in FIG. It is assumed that the table " SNS 1 " is stored.

도 19는 제2 예시적인 실시예에서의, 분석 및 제어 처리의 구체예를 도시하는 도면이다.19 is a diagram showing an example of the analysis and control processing in the second exemplary embodiment.

처리부(150)는, 도 17에서의 처리 룰 "Rule 2"에 따라, 도 18의 테이블에서의 대상 문자열로부터, 키워드 "지진" 및 공통의 도메인명 "news.com"의 URL을 포함하는 대상 문자열들을, 도 19에서와 같이 검출한다. 처리부(150)는, 검출한 대상 문자열들의 URL들 "http://news.com/news1.html" 및 "http://news.com/news2.html"을 새로운 학습 데이터를 나타내는 URL들로서, 키워드 "지진"과 함께, 학습부(110)에 입력한다.The processing unit 150 searches the target character string in the table of Fig. 18 for the target character string including the URL of the keyword " earthquake " and the common domain name " news.com " Are detected as shown in Fig. The processing unit 150 stores the URLs "http://news.com/news1.html" and "http://news.com/news2.html" of the detected target strings as URLs representing new learning data, And inputs it to the learning unit 110 together with " earthquake ".

도 20은 제2 예시적인 실시예에서의, 학습 처리의 구체예를 도시하는 도면이다.20 is a diagram showing a specific example of learning processing in the second exemplary embodiment.

학습부(110)는, 각 URL들에 의해 지정된 학습 데이터를 취득하고, 파서 룰을 생성한다. 여기서, 그 후 학습부(110)는, 학습 데이터에 의해 지정된 키워드 "지진"을 포함하는 경우, 이 키워드를 포함하는 문자열을 추출하기 위한 태그 패턴을 특정하고, 도 20에서와 같이, 새로운 파서 룰 "<x><y>Value</y></x>"를 생성한다. 학습부(110)는, 도 20에서와 같이, URL "http://news.com" 및 새로운 파서 룰 "<x><y>Value</y></x>"를 서로 연관시키고, 그것들을 파서 룰 기억부(120)에 보존한다.The learning unit 110 acquires the learning data designated by each of the URLs, and generates a parser rule. Hereinafter, when the learning unit 110 includes the keyword " earthquake " specified by the learning data, the learning unit 110 specifies a tag pattern for extracting a character string including the keyword, and, as shown in FIG. 20, "<x> <y> Value </ y> </ x>". The learning unit 110 associates the URL "http://news.com" and the new parser rule "<x> <y> Value </ y> </ x>" with each other as shown in FIG. 20, In the parser rule storage unit 120. [

이후, 추출부(130)에 의한, 새로운 파서 룰을 사용하여 대상 문자열들의 추출, 처리부(150)에 의한, 새로운 학습 데이터의 결정 및 학습부(110)에 의한, 새로운 파서 룰의 생성이 반복된다.Thereafter, extraction of the target character strings by the extraction unit 130 using the new parser rule, determination of new learning data by the processing unit 150, and generation of a new parser rule by the learning unit 110 are repeated .

이러한 방식으로, 특정한 키워드에 관련된 정보에 대해서, 최초에 학습 데이터로서 지정된 서비스에 더하여, 여러가지 서비스로부터 대상 문자열들을 추출하기 위한 파서 룰들이, 관리자가 학습 데이터를 지정하지 않고서, 효율적으로 생성된다.In this manner, parser rules for extracting target characters from various services, in addition to the service initially designated as learning data, are efficiently generated with respect to information related to a specific keyword, without specifying the learning data by the administrator.

이어서, 본 발명의 제2 예시적인 실시예의 이로운 효과를 설명할 것이다.Next, the beneficial effects of the second exemplary embodiment of the present invention will be described.

본 발명의 제2 예시적인 실시예에 따르면, 제1 예시적인 실시예의 이로운 효과들에 더하여, 여러가지 서비스로부터 대상 문자열들을 추출하기 위한 파서 룰을 또한 효율적으로 생성할 수 있다. 상술한 것에 대한 이유는, 처리부(150)가, 처리 룰에 따라, 추출된 대상 문자열들에 기초하여, 새로운 학습 데이터를 결정하고, 학습부(110)가, 결정된 새로운 학습 데이터를 사용하여, 파서 룰을 생성하기 때문이다.In accordance with the second exemplary embodiment of the present invention, in addition to the beneficial effects of the first exemplary embodiment, a parser rule for extracting target strings from various services can also be efficiently generated. The reason for the above is that the processing unit 150 determines new learning data based on the extracted target strings in accordance with the processing rule, and the learning unit 110 uses the determined new learning data, Because it generates rules.

예시적인 실시예들을 참조하여 본 발명을 자세히 도시하고 설명했지만, 본 발명은 이 실시예들에 한정되는 것은 아니다. 본 명세서에서는 다양한 형태 및 상세의 변경이 본 발명의 사상 및 범위를 벗어나지 않고 청구항에 의해 정의된 바와 같이 행해질 수 있다는 것을 본 기술분야의 통상의 기술자라면 이해할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, the present invention is not limited to these embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

이 출원은, 2016년 9월 26일에 출원된 일본 특허 출원 제2016-187064호를 기초로 하고, 그로부터 우선권의 이익을 주장하고, 그 개시내용은 본 명세서에 그 전체가 참고로서 포함된다.This application is based on and claims the benefit of priority from Japanese Patent Application No. 2016-187064, filed on September 26, 2016, the disclosure of which is incorporated herein by reference in its entirety.

[참조 부호 목록]
100 정보 수집 시스템
101 CPU
102 기억 디바이스
103 입/출력 디바이스
104 통신 디바이스
110 학습부
120 파서 룰 기억부
130 추출부
140 문자열 기억부
150 처리부
160 처리 룰 입력부
170 처리 룰 기억부
200 서버 장치
300 단말 장치
400 네트워크
500 IPS 장치
600 로컬 네트워크
601 단말 장치
700 프록시 서버
800 로컬 네트워크
801 단말 장치
[Reference List]
100 information collection system
101 CPU
102 storage device
103 Input / output devices
104 communication device
110 Department of Education
120 parser rule storage
130 extraction unit
140 String storage unit
150 processor
160 Processing rule input unit
170 processing rule storage unit
200 server device
300 terminal device
400 network
500 IPS devices
600 local network
601 terminal device
700 Proxy Server
800 local network
801 terminal device

Claims (9)

정보 수집 시스템으로서,
학습 데이터를 사용하여, 대상 문자열을 데이터로부터 추출하기 위한 파서 룰(parser rule)을 생성하는 학습 수단- 상기 대상 문자열은 특정한 정보를 포함하는 문자열임 -; 및
상기 파서 룰을 사용하여, 상기 대상 문자열을 데이터로부터 추출하는 추출 수단을 포함하는, 정보 수집 시스템.
As an information collection system,
Learning means for generating a parser rule for extracting a target character string from data using training data, the target character string being a character string including specific information; And
And extracting means for extracting the target character string from the data using the parser rule.
제1항에 있어서,
처리 룰에 따라, 상기 추출된 대상 문자열에 기초하여, 미리 결정된 분석 및 제어 중 적어도 하나를 수행하는 처리 수단을 추가로 포함하는, 정보 수집 시스템.
The method according to claim 1,
And processing means for performing at least one of predetermined analysis and control based on the extracted target character string in accordance with a processing rule.
제2항에 있어서,
상기 처리 수단은, 상기 처리 룰에 따라, 상기 추출된 대상 문자열에 기초하여, 새로운 학습 데이터를 결정하고,
상기 학습 수단은 상기 결정된 새로운 학습 데이터를 사용하여, 상기 파서 룰을 추가로 생성하는, 정보 수집 시스템.
3. The method of claim 2,
The processing means determines new learning data based on the extracted target character string in accordance with the processing rule,
Wherein the learning means further generates the parser rule using the determined new learning data.
제3항에 있어서,
상기 처리 수단은, 상기 추출된 대상 문자열에서 지정되는 다른 데이터를 상기 새로운 학습 데이터로서 결정하는, 정보 수집 시스템.
The method of claim 3,
And said processing means determines other data designated in said extracted target character string as said new learning data.
제1항 내지 제4항 중 어느 한 항에 있어서,
상기 학습 수단은, 상기 학습 데이터에 관련된 서비스와 연관하여, 상기 생성된 파서 룰을 파서 룰 기억 수단에 보존하고,
상기 추출 수단은, 상기 데이터에 관련된 서비스와 연관된 상기 파서 룰을 사용하여, 상기 대상 문자열을 상기 데이터로부터 추출하는, 정보 수집 시스템.
5. The method according to any one of claims 1 to 4,
The learning means stores the generated parser rule in the parser rule storage means in association with the service related to the learning data,
Wherein the extracting means extracts the target character string from the data using the parser rule associated with the service related to the data.
제1항 내지 제5항 중 어느 한 항에 있어서,
상기 데이터는, 미리 결정된 데이터 기술 언어에 의해 기술되고,
상기 학습 수단은, 상기 학습 데이터에서, 지정된 키워드를 포함하는 문자열을 특정할 수 있는, 상기 미리 결정된 데이터 기술 언어에 의한 기술 패턴을, 상기 파서 룰로서 생성하는, 정보 수집 시스템.
6. The method according to any one of claims 1 to 5,
Said data being described by a predetermined data description language,
Wherein said learning means generates, as said parser rule, a description pattern in said predetermined data description language that can specify a character string including a specified keyword in said learning data.
제2항 내지 제4항 중 어느 한 항에 있어서,
하나 이상의 처리 룰을 기억하는, 처리 룰 기억 수단을 추가로 포함하고,
상기 처리 수단은, 상기 하나 이상의 처리 룰 중, 지정된 처리 룰에 따라, 상기 미리 결정된 분석 및 제어 중 적어도 하나의 처리를 수행하는, 정보 수집 시스템.
5. The method according to any one of claims 2 to 4,
Further comprising processing rule storage means for storing one or more processing rules,
Wherein the processing means performs at least one of the predetermined analysis and control according to a specified processing rule among the one or more processing rules.
정보 수집 방법으로서,
학습 데이터를 사용하여, 대상 문자열을 데이터로부터 추출하기 위한 파서 룰을 생성하는 단계- 상기 대상 문자열은 특정한 정보를 포함하는 문자열임 -; 및
상기 파서 룰을 사용하여, 상기 대상 문자열을 데이터로부터 추출하는 단계를 포함하는, 정보 수집 방법.
As an information collection method,
Generating a parser rule for extracting a target character string from the data using the training data, wherein the target character string is a character string containing specific information; And
And using the parser rule to extract the target character string from the data.
컴퓨터로 하여금 방법을 수행하게 하는 프로그램을 기록하는 컴퓨터 판독가능한 기록 매체로서,
상기 방법은:
학습 데이터를 사용하여, 대상 문자열을 데이터로부터 추출하기 위한 파서 룰을 생성하는 단계- 상기 대상 문자열은 특정한 정보를 포함하는 문자열임 -; 및
상기 파서 룰을 사용하여, 상기 대상 문자열을 데이터로부터 추출하는 단계를 포함하는, 컴퓨터 판독가능한 기록 매체.
A computer-readable recording medium recording a program that causes a computer to perform a method,
The method comprising:
Generating a parser rule for extracting a target character string from the data using the training data, wherein the target character string is a character string containing specific information; And
And using the parser rule to extract the target character string from the data.
KR1020197008162A 2016-09-26 2017-09-20 Information collection system, information collection method and recording medium KR20190040046A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016187064 2016-09-26
JPJP-P-2016-187064 2016-09-26
PCT/JP2017/033876 WO2018056299A1 (en) 2016-09-26 2017-09-20 Information collection system, information collection method, and recording medium

Publications (1)

Publication Number Publication Date
KR20190040046A true KR20190040046A (en) 2019-04-16

Family

ID=61689547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197008162A KR20190040046A (en) 2016-09-26 2017-09-20 Information collection system, information collection method and recording medium

Country Status (5)

Country Link
US (1) US11308091B2 (en)
JP (1) JP6763433B2 (en)
KR (1) KR20190040046A (en)
CN (1) CN109791563B (en)
WO (1) WO2018056299A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7173315B2 (en) * 2019-05-21 2022-11-16 日本電信電話株式会社 Analysis device, analysis system, analysis method and program
CN112101022B (en) * 2020-08-12 2024-02-20 新华智云科技有限公司 Entity linking method for seismic event
CN114900387B (en) * 2022-05-10 2024-06-04 中移(杭州)信息技术有限公司 Cross-platform fusion access method, system, gateway and storage medium of equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009098964A (en) 2007-10-17 2009-05-07 Oki Telecommunication Systems Co Ltd Network service system, server, method and program
JP2012529717A (en) 2009-06-09 2012-11-22 イービーエイチ エンタープライズィーズ インコーポレイテッド How to analyze microblog message content
JP2014049094A (en) 2012-09-04 2014-03-17 Yahoo Japan Corp Information processing apparatus, information processing method, and computer program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6085190A (en) * 1996-11-15 2000-07-04 Digital Vision Laboratories Corporation Apparatus and method for retrieval of information from various structured information
US8812435B1 (en) * 2007-11-16 2014-08-19 Google Inc. Learning objects and facts from documents
JP5143057B2 (en) * 2009-03-02 2013-02-13 日本電信電話株式会社 Important keyword extraction apparatus, method and program
JP2011100403A (en) * 2009-11-09 2011-05-19 Sony Corp Information processor, information extraction method, program and information processing system
US20140136494A1 (en) * 2012-11-14 2014-05-15 Homer Tlc, Inc. System and method for automatic wrapper induction by applying filters
JP6033136B2 (en) * 2013-03-18 2016-11-30 三菱電機株式会社 Information processing apparatus and navigation apparatus
JP6184840B2 (en) * 2013-11-07 2017-08-23 株式会社Nttドコモ Information processing apparatus and display priority determination method
JP5792871B1 (en) * 2014-05-23 2015-10-14 日本電信電話株式会社 Representative spot output method, representative spot output device, and representative spot output program
US9842160B2 (en) * 2015-01-30 2017-12-12 Splunk, Inc. Defining fields from particular occurences of field labels in events

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009098964A (en) 2007-10-17 2009-05-07 Oki Telecommunication Systems Co Ltd Network service system, server, method and program
JP2012529717A (en) 2009-06-09 2012-11-22 イービーエイチ エンタープライズィーズ インコーポレイテッド How to analyze microblog message content
JP2014049094A (en) 2012-09-04 2014-03-17 Yahoo Japan Corp Information processing apparatus, information processing method, and computer program

Also Published As

Publication number Publication date
US11308091B2 (en) 2022-04-19
JPWO2018056299A1 (en) 2019-07-04
CN109791563B (en) 2023-06-06
JP6763433B2 (en) 2020-09-30
CN109791563A (en) 2019-05-21
WO2018056299A1 (en) 2018-03-29
US20190213190A1 (en) 2019-07-11

Similar Documents

Publication Publication Date Title
US10362050B2 (en) System and methods for scalably identifying and characterizing structural differences between document object models
US8584233B1 (en) Providing malware-free web content to end users using dynamic templates
US20150295942A1 (en) Method and server for performing cloud detection for malicious information
CN103888490B (en) A kind of man-machine knowledge method for distinguishing of full automatic WEB client side
US20150033331A1 (en) System and method for webpage analysis
CN107391675B (en) Method and apparatus for generating structured information
CN108090104B (en) Method and device for acquiring webpage information
US10621255B2 (en) Identifying equivalent links on a page
US10901730B2 (en) Identifying equivalent javascript events
JP6763433B2 (en) Information gathering system, information gathering method, and program
US11841975B2 (en) Privacy-preserving data collection
Carlson et al. Open source vulnerability notification
JP2012088803A (en) Malignant web code determination system, malignant web code determination method, and program for malignant web code determination
CN111131236A (en) Web fingerprint detection device, method, equipment and medium
CN113656737A (en) Webpage content display method and device, electronic equipment and storage medium
JP5216654B2 (en) Importance determination device, importance determination method, and program
CN111414523A (en) Data acquisition method and device
CN111125605A (en) Page element acquisition method and device
JP2018022248A (en) Log analysis system, log analysis method and log analysis device
US20150135324A1 (en) Hyperlink data presentation
CN105677827B (en) A kind of acquisition methods and device of list
CN111723259A (en) Webpage data monitoring method and device, terminal equipment and storage medium
JP7408530B2 (en) Security management system and security management method
CN112989195B (en) Whole-process consultation method and device based on big data, electronic equipment and storage medium
US20200311170A1 (en) Method, apparatus and computer program for collecting url in web page

Legal Events

Date Code Title Description
A201 Request for examination
WITB Written withdrawal of application