KR20190040046A - 정보 수집 시스템, 정보 수집 방법 및 기록 매체 - Google Patents

정보 수집 시스템, 정보 수집 방법 및 기록 매체 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
English (en)
Inventor
다츠야 이토
유키 아시노
마사토 야마네
Original Assignee
닛본 덴끼 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 닛본 덴끼 가부시끼가이샤 filed Critical 닛본 덴끼 가부시끼가이샤
Publication of KR20190040046A publication Critical patent/KR20190040046A/ko

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

Abstract

본 발명의 목적은, 방대한 양의 여러가지 형식의 콘텐츠로부터, 흥미 정보를 효율적으로 수집하는 것이다. 정보 수집 시스템(100)은, 학습부(110) 및 추출부(130)를 포함한다. 학습부(110)는, 학습 데이터를 사용하여, 분석될 문자열들, 즉 특정한 정보를 포함하는 문자열들이 데이터로부터 추출되는 파서 룰들을 생성한다. 추출부(130)는, 파서 룰들을 사용하여, 분석될 문자열들을 데이터로부터 추출한다.

Description

정보 수집 시스템, 정보 수집 방법 및 기록 매체
본 발명은 정보 수집 시스템, 정보 수집 방법 및 기록 매체에 관한 것이다.
SNS(social networking service)들, 블로그들, 홈페이지들 등을 포함하는, 인터넷 상의 여러가지 서비스에서 제공되는 웹 콘텐츠로부터, 필요한 정보 피스를 수집하고, 수집된 정보의 분석 및 제어가 여러가지 방식으로 수행된다. 이러한 웹 콘텐츠들은 방대하기 때문에, 프로그램에 기초한 크롤링(crawling) 등에 의한 정보 수집 및 수집된 정보에 대한 분석 및 제어의 자동화가 요구된다.
웹 콘텐츠들은, 일반적으로, HTML(HyperText Markup Language)에 의해 기술되고, 콘텐츠들 상에서 수집해야 할 필요한 정보(예를 들어, SNS들에서의 사용자의 메시지 부분)가 기술되는 위치들은, 서비스들에 따라 서로 상이하다. 또한, 많은 경우에, 이 위치들은, 서비스 제공자들에 의해 명확한 사양들로서 공개되지 않는다. 따라서, 웹 콘텐츠로부터의 정보를 수집하기 위해서는, 개발자가, 각 서비스마다 콘텐츠를 분석하고, 필요한 정보를 추출하기 위한 파서(parser) 프로그램을 개발할 필요가 있다. 또한, 이 경우, 콘텐츠들의 사양이 변경될 때마다 파서 프로그램을 변경할 필요가 있고, 프로그래밍 비용도 증가된다. 상술한 바와 같이, 웹 콘텐츠들로부터의 정보 수집에서는, 이러한 방대한 양의 여러가지 형식(format)의 콘텐츠로부터 목적으로 하는 정보를 효율적으로 수집할 수 없다는 과제가 있다.
웹 콘텐츠들로부터의 정보 수집에 관련된 관련 기술로서, 예를 들어 특허문헌 1에는, 마이크로 블로그 메시지(micro blog message)들을 분류 룰에 따라서 분류하는 기술이 개시된다. 특허문헌 2에는, 사용자가 작성한 문서로부터 사용자의 흥미 및 기호를 학습하고, 학습된 흥미 및 기호를 다른 사용자들 및 블로그들의 권장 및 광고들의 송신을 위해 사용하는 기술이 개시된다. 특허문헌 3에는, 뉴스 등의 기사들로부터 추출 조건에 따라서 기사를 추출하고, 기사로의 코멘트들의 양에 따라서 추출 조건을 갱신하는 기술이 개시된다.
PCT 국제 특허 출원 공보 제2012-529717호의 일본어 번역문 일본 특허 출원 공개 공보 제2009-098964호 일본 특허 출원 공개 공보 제2014-049094호
그러나, 상술한 선행기술문헌들 중 임의의 것에서, 모두 방대한 양의 여러가지 형식의 데이터로부터, 목적으로 하는 정보를 효율적으로 수집하기 위한 기술은 개시되지 않는다.
본 발명의 예시적인 목적은, 상술한 과제를 해결하고, 방대한 양의 여러가지 형식의 데이터로부터, 목적으로 하는 정보를 효율적으로 수집할 수 있는, 정보 수집 시스템, 정보 수집 방법 및 기록 매체를 제공하는 것이다.
본 발명의 예시적인 양태에 따른 정보 수집 시스템은, 학습 데이터를 사용하여, 특정한 정보를 포함하는 문자열인 대상 문자열을 데이터로부터 추출하기 위한 파서 룰(parser rule)을 생성하는 학습 수단; 및 파서 룰을 사용하여, 대상 문자열을 데이터로부터 추출하는 추출 수단을 구비한다.
본 발명의 예시적인 양태에 따른 정보 수집 방법은, 학습 데이터를 사용하여, 특정한 정보를 포함하는 문자열인 대상 문자열을 데이터로부터 추출하기 위한 파서 룰을 생성하는 단계; 및 파서 룰을 사용하여, 대상 문자열을 데이터로부터 추출하는 단계를 포함한다.
본 발명의 예시적인 양태에 따른 컴퓨터 판독가능한 기록 매체는, 컴퓨터로 하여금, 학습 데이터를 사용하여, 특정한 정보를 포함하는 문자열인 대상 문자열을 데이터로부터 추출하기 위한 파서 룰을 생성하는 단계; 및 파서 룰을 사용하여, 대상 문자열을 데이터로부터 추출하는 단계를 포함하는 방법을 수행하게 하는 프로그램을 기록한다.
본 발명의 효과는, 방대한 양의 여러가지 형식의 콘텐츠로부터, 목적으로 하는 정보를 효율적으로 수집하는 것이다.
도 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 예시적인 실시예)
처음에, 제1 예시적인 실시예에 따른 구성에 대해서 설명할 것이다. 도 2는, 제1 예시적인 실시예에 따른 구성을 도시하는 블록도이다. 정보 수집 시스템(100)은, 인터넷워크(Internetwork) 등의 네트워크(400)를 통해서, 서버 장치(200) 및 단말 장치(300)에 접속된다. 서버 장치(200)는, 예를 들어 SNS 등의 서비스에서, 콘텐츠 데이터(이하, 간단히 데이터로서 또한 지칭)를 제공하는 서버이다. 데이터는, 예를 들어 HTML 등의, 미리 결정된 데이터 기술 언어를 사용하여 기술된다.
정보 수집 시스템(100)은, 서버 장치(200)로부터 취득되는 데이터로부터, 각종 분석 및 제어 처리를 받는 문자열인, "대상 문자열"을 추출한다. 대상 문자열은, 예를 들어 SNS에서 사용자가 발행한 메시지, 및 사용자의 사용자명, 메시지의 송신 일시 등의 "특정한 정보"를 포함하는 문자열이다. 여기서, 데이터에서의 메시지, 사용자명, 송신 일시 등의 저장 방법을 정의하는 데이터 형식은 서비스들을 제공하는 운영자에 따라 상이하다. 정보 수집 시스템(100)은, 서비스들 각각에 대응하는 파서 룰을 사용하여, 대상 문자열을 추출한다. 정보 수집 시스템(100)은, 추출한 대상 문자열에 기초하여, 분석 및 제어 처리를 수행한다.
도 2를 참조하면, 제1 예시적인 실시예에서의 정보 수집 시스템(100)은: 학습부(110), 파서 룰 기억부(120), 추출부(130), 문자열 기억부(140), 처리부(150); 처리 룰 입력부(160); 및 처리 룰 기억부(170)를 포함한다.
학습부(110)는, 서버 장치(200)로부터 학습될 데이터(이하, 학습 데이터로서 또한 지칭함)를 취득하고, 학습 데이터를 사용하여 파서 룰을 생성한다. 파서 룰은, 데이터로부터 상술한 대상 문자열을 추출하기 위한 룰이다. 학습부(110)는, 예를 들어 각 서비스마다, 하나 이상의 학습 데이터 피스를 사용하여 파서 룰을 생성한다. 서비스는, 예를 들어 URL(uniform resource locator)에 포함되는 도메인명에 의해 식별된다.
파서 룰은, 예를 들어 데이터 기술 언어의 기술 패턴에 의해 지정된다. 학습부(110)는, 데이터 기술 언어의 기술 패턴- 기술 패턴은 학습 데이터에서, 학습 데이터와 함께 지정된 키워드를 포함하는 문자열을 특정할 수 있는 기술 패턴임 -을 파서 룰로서 생성한다. 예를 들어, 데이터가 HTML에 의해 기재되는 경우, 학습부(110)는, 대상 문자열을 특정할 수 있는(대상 문자열을 둘러싸는) 태그들의 패턴을, 파서 룰로서 생성한다.
파서 룰 기억부(120)는, 학습부(110)에 의해 생성되는 파서 룰을 서비스에 연관하여 기억한다.
추출부(130)는, 서버 장치(200)로부터 대상 문자열의 추출을 받을 데이터(이하, 처리 데이터 또는, 간단히, 데이터로서 또한 지칭함)를 취득하고, 데이터에 관련된 서비스와 연관된 파서 룰을 사용하여, 데이터로부터 대상 문자열을 추출한다.
문자열 기억부(140)는, 추출부(130)에 의해 추출된 대상 문자열을 기억한다. 대상 문자열은, 예를 들어 KVS(Key-Value Store) 등의 테이블 형식으로 기억된다.
처리부(150)는, 관리자 등에 의해 지정된 처리 룰(processing rule)에 따라, 추출한 대상 문자열들에 기초하여, 분석 및 제어 처리를 수행한다. 처리 룰은, 분석 및 제어의 방법을 정의한다.
처리 룰 입력부(160)는, 관리자 등으로부터, 처리 룰의 입력을 접수한다.
처리 룰 기억부(170)는, 관리자 등으로부터 입력된 하나 이상의 처리 룰을 기억한다.
정보 수집 시스템(100)은, CPU(central processing unit)와 프로그램을 기억한 기억 매체를 포함하고, 프로그램에 기초하는 제어에 의해 동작하는 컴퓨터일 수 있다.
도 3은 제1 예시적인 실시예에서의, 컴퓨터에 의해 구현된 정보 수집 시스템(100)의 구성을 도시하는 블록도이다.
이 경우, 정보 수집 시스템(100)은, CPU(101); 하드 디스크 및 메모리 등의 기억 디바이스(102)(기억 매체); 키보드, 디스플레이 등을 포함하는 입/출력 디바이스(103); 및 다른 장치들 등과 통신하는 통신 디바이스(104)를 포함한다. CPU(101)는, 학습부(110), 추출부(130), 처리부(150) 및 처리 룰 입력부(160)를 구현하기 위한 프로그램을 실행한다. 기억 디바이스(102)는, 파서 룰 기억부(120), 문자열 기억부(140) 및 처리 룰 기억부(170)에서의 정보를 기억한다. 입/출력 디바이스(103)는, 관리자 등으로부터, 학습 데이터, 처리 데이터 및 처리 룰의 지정을 접수한다. 또한, 통신 디바이스(104)가, 다른 장치들로부터, 학습 데이터, 처리 데이터 및 처리 룰의 지정을 접수할 수 있다.
또한, 정보 수집 시스템(100)의 각 구성 요소들의 일부 또는 전부는, 범용 또는 전용의 회로, 프로세서, 및 이들의 조합에 의해 구현될 수 있다. 이들의 회로 및 프로세서는, 단일 칩에 의해 구성될 수 있고, 버스를 통해 서로 접속되는 복수의 칩에 의해 구성될 수 있다. 또한, 정보 수집 시스템(100)의 각 구성 요소들의 일부 또는 전부는, 상술한 회로 등과 프로그램과의 조합에 의해 구현될 수 있다.
정보 수집 시스템(100)의 각 구성 요소들의 일부 또는 전부가, 복수의 정보 처리 장치, 회로 등에 의해 구현되는 경우, 복수의 정보 처리 장치, 회로 등은, 집중 배치될 수 있거나, 분산 배치될 수 있다. 예를 들어, 정보 처리 장치들, 회로들 등은, 각각의 구성 요소들이 클라이언트 및 서버 시스템, 클라우드 컴퓨팅 시스템 등과 같은 통신 네트워크를 통해 서로 접속되는 시스템으로서 구현될 수 있다.
이어서, 제1 예시적인 실시예의 동작을 설명할 것이다.
여기에서는, 학습 처리에서, SNS의 데이터로부터 대상 문자열을 추출하는 파서 룰을 생성하고, 분석 및 제어 처리에서, 대상 문자열에 포함되는 미리 결정된 키워드를 분석하고, 그 분석 결과에 대한 통지를 발행하는 경우를 예로 들어 설명할 것이다.
<학습 처리>
도 4는 제1 예시적인 실시예에서의, 학습 처리를 나타내는 흐름도이다. 도 5는 제1 예시적인 실시예에서의, 학습 처리의 구체예를 도시하는 도면이다.
처음에, 학습부(110)는, 관리자 등으로부터, 학습 데이터의 지정을 접수한다(단계 S101).
예를 들어, 학습부(110)는, 도 5에 도시한 바와 같이, 서비스 "SNS 1"에 대해서, 3개의 학습 데이터 피스의 지정을 URL들 "URL 1", "URL 2" 및 "URL 3"에 의해 접수한다. 또한, 각 학습 데이터 피스와 함께, 키워드들 "Keyword 1", "Keyword 2", "Keyword 3"이 지정된다. 키워드들 각각에 대해서는, 대응하는 학습 데이터 피스에서의, 사용자의 메시지(이하, 사용자 메시지로서 또한 지칭함)의 문자열이 지정된다. 또한, 이들 학습 데이터 피스와 함께, 후술하는 추출 처리에서 사용되는, 테이블명 "SNS 1" 및 데이터 라벨 "Post"가 지정된다. 테이블명은 처리 데이터로부터 추출된 대상 문자열들을 기억하는 테이블의 명칭이다. 데이터 라벨은 테이블에 사용자 메시지들을 저장하는 열의 명칭이다.
학습부(110)는, 서버 장치(200)로부터, 지정된 학습 데이터를 취득한다(단계 S102).
예를 들어, 학습부(110)는, 도 5에 도시한 바와 같이, 서버 장치(200)로부터, URL들 "URL 1", "URL 2" 및 "URL 3"에 의해 지정된 학습 데이터 피스를 취득한다.
학습부(110)는, 취득한 학습 데이터를 사용하여, 파서 룰을 생성한다(단계 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는 추출되는 대상 문자열을 나타낸다.
또한, 학습부(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"에 공통으로 포함되는 도메인명이다.
또한, 학습부(110)는, 사용자 메시지들 이외에, 사용자명들(데이터 라벨 "User"), 및 메시지들의 송신 일시들(데이터 라벨 "Date")에 대해서도, 동일한 방식으로 학습 처리를 수행한다. 도 5의 학습 데이터에서는, 태그 "c"의 속성 "name"에 의해, 사용자명들이 지정된다는 점에 유의한다. 도 5의 학습 데이터에서는, 송신 일시들은 생략된다.
학습부(110)는, 생성한 파서 룰을 파서 룰 기억부(120)에 보존한다(단계 S104).
도 6은 제1 예시적인 실시예에서의, 파서 룰 기억부(120)에 기억되는 파서 룰들의 예들을 나타내는 도면이다.
예를 들어, 학습부(110)는, 도 6에 도시된 바와 같이, 서비스 "SNS 1"의 사용자 메시지(데이터 라벨 "Post"), 사용자명(데이터 라벨 "User"), 및 송신 일시(데이터 라벨 "Date")에서, 생성한 파서 룰들을 파서 룰 기억부(120)에 보존한다.
또한, 학습부(110)는, 다른 서비스 "SNS 2", "SNS 3"에 대해서도, 마찬가지로 학습 처리를 수행한다. 이 결과, 파서 룰 기억부(120)에는, 도 6과 같이, 각 서비스의 사용자 메시지, 사용자명, 송신 일시에 대해서, 파서 룰이 기억된다.
학습부(110)는 파서 룰에 따라서 데이터로부터 대상 문자열을 추출하는 스크립트, 프로그램 모듈, 또는 이들의 소스 코드를 추가로 생성하고, 생성한 스크립트, 프로그램 모듈, 또는 소스 코드를 파서 룰 기억부(120)에 보존할 수 있다는 점에 유의한다.
<추출 처리>
도 7은 제1 예시적인 실시예에서의, 추출 처리를 나타내는 흐름도이다. 도 8은 제1 예시적인 실시예에서의, 추출 처리의 구체예를 도시하는 도면이다. 추출 처리는, 학습 처리에 의해 파서 룰이 생성된 후에 실행된다.
처음에, 추출부(130)는, 관리자 등으로부터, 데이터의 지정을 접수한다(단계 S201).
예를 들어, 추출부(130)는, 도 8에 도시하는 바와 같이, 서비스 "SNS 1"에 대해서, 데이터의 지정을 URL "http://hoge.com/index.html"에 의해 접수한다.
추출부(130)는, 서버 장치(200)로부터, 지정된 데이터를 취득한다(단계 S202).
예를 들어, 추출부(130)는, 도 8에 도시하는 바와 같이, 서버 장치(200)로부터, URL "http://hoge.com/index.html"에 의해 지정된 데이터를 취득한다.
추출부(130)는, 파서 룰 기억부(120)로부터, 데이터의 서비스에 연관된 파서 룰을 취득한다(단계 S203).
예를 들어, 추출부(130)는, 도 6의 파서 룰들 중으로부터, 도 8에 도시하는 바와 같이, 데이터를 지정하는 URL의 도메인명으로부터 취득되는 URL "http://hoge.com", 및 데이터 라벨 "Post"와 연관된, 파서 룰 "<a><b Class="post"><c>Value</c></b></a>"를 취득한다.
추출부(130)는, 취득한 파서 룰을 사용하여, 데이터로부터, 대상 문자열을 추출한다(단계 S204).
예를 들어, 추출부(130)는, 도 8에 도시하는 바와 같이, 데이터로부터, 파서 룰의 태그 패턴 "<a><b Class="post"><c>Value</c></b></a>"에 의해 특정되는, 사용자 메시지들에 대응하는 문자열들을, 대상 문자열들로서 추출한다. 추출부(130)는, 대상 문자열들 각각과 함께, 관련된 대상 문자열들의 세트를 식별하기 위한, 미리 결정된 태그의 속성 값을, Object ID로서 또한 추출할 수 있다는 점에 유의한다. 도 8의 예에서는, 사용자 메시지, 사용자명, 및 송신 일시의 세트가, 태그 "b"의 속성 "id"에 의해 식별가능한 것으로 가정한다. 이 경우, 추출부(130)는, 도 8에 도시하는 바와 같이, 사용자 메시지들과 함께, 태그 "b"의 속성 "id"의 값들을, Object ID로서 추출한다.
또한, 추출부(130)는, 사용자 메시지들 이외에, 사용자명들(데이터 라벨 "User"), 및 메시지들의 송신 일시들(데이터 라벨 "Date")에 대해서도, 동일한 방식으로 대상 문자열들을 추출한다.
추출부(130)는, 추출한 대상 문자열들을 문자열 기억부(140)에 보존한다(단계 S205).
도 9는 제1 예시적인 실시예에서의, 문자열 기억부(140)에 기억되는 테이블들의 예를 나타내는 도면이다.
예를 들어, 추출부(130)는, 도 9에 도시된 바와 같이, 테이블 "SNS 1"에, 대상 문자열들로서 추출한 사용자 메시지들(데이터 라벨 "Post"), 사용자명들(데이터 라벨 "User"), 및 송신 일시들(데이터 라벨 "Date")을 설정하고, 이 테이블을 문자열 기억부(140)에 보존한다. 여기서, 추출부(130)는, 테이블의 각 열에, 동일한 Object ID를 갖는 사용자 메시지, 사용자명, 및 송신 일시를 설정한다.
또한, 추출부(130)는, 다른 서비스들 "SNS 2" 및 "SNS 3"에 대해서도, 동일한 방식으로 추출 처리를 수행한다. 이 결과, 문자열 기억부(140)에는, 도 9에 도시된 바와 같이, 테이블들 "SNS 1", "SNS 2", 및 "SNS 3"이 기억된다.
<분석 및 제어 처리>
도 10은 제1 예시적인 실시예에서의, 처리 룰 입력 화면의 예를 나타내는 도면이다. 도 10의 입력 화면에서는, 처리 룰을 구성하기 위한 부품들과 처리 룰의 편집 영역이 표시된다. 관리자 등은, 예를 들어 표시된 부품들 중으로부터 부품을 선택하고 선택한 부품을 편집 영역에 배치하고, 파라미터를 설정함으로써, 처리 룰을 편집한다. 도 10의 예에서는, 처리 룰 "Rule 1"이 입력된다. 처리 룰 "Rule 1"로서, 테이블들 "SNS 1", "SNS 2", 및 "SNS 3"에서, 키워드 "지진", "흔들리다"를 포함하는 대상 문자열들의 수가 임계값 "20" 이상인 경우에, 대상 문자열들에 타입 "재해"를 부여하고, 경보 메일을 송신하는 처리가 기술된다.
여기에서는, 처리 룰 입력부(160)가, 미리, 입/출력 디바이스(103)를 통해서, 관리자 등으로부터 도 10에서와 같은 처리 룰 "Rule 1"의 입력을 접수하고, 접수한 처리 룰 "Rule 1"을 처리 룰 기억부(170)에 보존하는 것으로 가정한다.
처리 룰 입력부(160)는 처리 룰에 따라서 분석 및 제어 처리를 수행하는 스크립트, 프로그램 모듈, 또는 이들의 소스 코드를 추가로 생성하고, 생성한 스크립트, 프로그램 모듈, 또는 소스 코드를 처리 룰 기억부(170)에 보존할 수 있다는 점에 유의한다.
도 11은 제1 예시적인 실시예에서의, 분석 및 제어 처리를 나타내는 흐름도이다. 도 12는 제1 예시적인 실시예에서의, 분석 및 제어 처리의 구체예를 도시하는 도면이다. 분석 및 제어 처리는, 추출 처리에 의해 대상 문자열들이 추출된 후에 실행된다.
처음에, 처리부(150)는, 관리자 등으로부터, 분석 및 제어 처리를 받는 대상 문자열들에 대한 조건 및 이용하는 처리 룰의 지정들을 접수한다(단계 S301).
도 13은 제1 예시적인 실시예에서의, 분석 결과 화면의 예를 나타내는 도면이다.
처리부(150)는, 예를 들어 도 13에서와 같은 분석 결과 화면을, 입/출력 디바이스(103)를 통해 관리자 등에 출력하고, 대상 문자열들에 대한 조건(송신 일시 "date>=2015/12/15") 및 처리 룰 "Rule 1"의 지정들을 접수한다.
처리부(150)는, 문자열 기억부(140)로부터, 지정된 조건을 충족하는 대상 문자열들을 취득한다(단계 S302).
예를 들어, 처리부(150)는, 도 9에서의 테이블들 "SNS 1", "SNS 2", 및 "SNS 3"으로부터, 취득 일시 "date>=2015/12/15"의 조건을 충족하는 대상 문자열들을 취득한다.
처리부(150)는, 처리 룰 기억부(170)로부터, 지정된 처리 룰을 취득한다(단계 S303).
예를 들어, 처리부(150)는, 도 10에서와 같은 처리 룰 "Rule 1"을 취득한다.
처리부(150)는, 취득한 처리 룰에 따라, 취득한 대상 문자열들에 기초하여, 분석 및 제어 처리를 수행한다(단계 S304).
예를 들어, 처리부(150)는, 도 10에서의 처리 룰 "Rule 1"에 따라, 각 테이블들의 대상 문자열들 중, 키워드 "지진" 또는 "흔들리다"를 포함하는 대상 문자열들의 수를, 도 12에서와 같이 카운트한다. 카운트한 결과로서, 그 수가 "20" 이상인 경우, 처리부(150)는, 도 12에서와 같이, 키워드 "지진" 또는 "흔들리다"를 포함하는 대상 문자열들에, 타입(데이터 라벨 "Type")으로서 "재해"를 부여한다.
처리부(150)는, 도 13에서와 같이, 분석 결과 화면의 분석 결과에, 타입 "재해"를 부여한 대상 문자열들을 설정하고, 이 분석 결과 화면을 관리자 등에 출력한다. 또한, 처리부(150)는, 타입 "재해"를 부여한 대상 문자열들에 대해서, 문자열 기억부(140)에 기억되는 테이블들을 갱신할 수 있다.
도 14는 제1 예시적인 실시예에서의, 경보 메일의 예를 나타내는 도면이다.
또한, 처리부(150)는, 재해(지진)가 발생한 것을 나타내는, 도 14에서와 같은 경보 메일을, 네트워크(400)를 통해, 미리 통지 수신자로서 등록된 단말 장치(300)에 송신한다. 여기서, 처리부(150)는, 예를 들어 처리 룰에 따라, 메일의 내용을 설정한다. 이 경우, 처리부(150)는, 처리 룰에 의해 지정된 다른 장치들로부터 메일의 내용을 취득하고, 설정할 수 있다.
상술한 바와 같이, SNS들의 데이터에서의 사용자 메시지들 등이 각 서비스들마다 여러가지 형식의 데이터에 의해 제공되는 경우에도, 메시지들을 효율적으로 수집하고, 분석할 수 있다.
따라서, 제1 예시적인 실시예의 동작들이 완료된다.
상술한 실시예에서는, 데이터가 HTML에 의해 기재되는 경우를 예로 들어 설명했지만, 데이터 기술 언어들에 의한 기술을 분석함으로써, 특정한 정보를 대상 문자열들로서 추출할 수 있는 한, 데이터는, 다른 데이터 기술 언어들에 의해 기술될 수 있다는 점에 유의한다. 예를 들어, 데이터는, XML(Extensible Markup Language) 등의 다른 마크업 언어들에 의해 기술될 수 있고, JSON(JAVA(등록 상표) Script Object Notation)을 포함하는 마크업 언어들 이외의 언어들에 의해 기술될 수 있다.
또한, 상술한 예시적인 실시예에서는, 추출부(130)는, 처리 데이터로서, 관리자 등으로부터 지정된 URL들에 의해 나타나는 데이터를 취득한다. 그러나, 이에 한정하지 않고, 추출부(130)는, 네트워크(400)를 통한 크롤링에 의해, 데이터를 취득할 수 있다. 이 경우, 추출부(130)는, 어떤 기점의 URL에 의해 나타난 데이터로부터, 미리 결정된 수의 링크를 통과하는 것에 의해 데이터를 취득할 수 있고, 취득한 데이터를 사용할 수 있다. 또한, 추출부(130)는, 검색 엔진의 검색 결과에 의해 취득된 미리 결정된 수의 URL에 의해 제공되는 데이터를 취득할 수 있고, 취득한 데이터를 사용할 수 있다.
또한, 추출부(130)는, 처리 데이터로서, 네트워크(400)를 통해 송신 및 수신되는 데이터를 프록시 서버 등의 네트워크 장치를 사용하여 취득할 수 있다.
또한, 상술한 예시적인 실시예에서는, 추출부(130)에 의해 추출된 복수의 대상 문자열에 기초하여, 처리부(150)에 의해 분석 및 제어 처리가 실행된다. 그러나, 이에 한정하지 않고, 추출부(130)가 처리 데이터를 취득하고, 대상 문자열을 추출할 때마다, 처리부(150)가, 추출된 대상 문자열에 기초하여, 분석 및 제어 처리를 실행할 수 있다.
또한, 상술한 예시적인 실시예에서는, 학습 처리에서, SNS들의 데이터로부터 사용자 메시지들, 사용자명들, 송신 일시 등을 대상 문자열들로서 추출하기 위한 파서 룰들이 생성된다. 또한, 분석 및 제어 처리에서, 대상 문자열들에 포함되는 미리 결정된 키워드들의 수를 산출하고, 그 산출 결과에 대한 통지가 발행된다.
그러나, 이에 한정하지 않고, 파서 룰에 의해 대상 문자열로서 추출되는 정보는, 그 정보가 데이터 기술 언어에 의한 기술을 분석함으로써 취득되는 한, 임의의 정보일 수 있다. 또한, 분석 및 제어 처리는, 그 분석 및 제어 처리가 추출된 대상 문자열에 기초하여 수행되는 처리인 한, 임의의 처리일 수 있다.
예를 들어, 대상 문자열로서, 높은 조작 가능성 및 취약성을 갖는 IP(internet protocol) 어드레스들 또는 도메인명들의 리스트(즉, 블랙리스트)를 제공하기 위한 데이터로부터, 블랙리스트를 추출할 수 있다. 또한, 대상 문자열로서, 멀웨어의 파일명들 및 URL들(즉, 멀웨어 리스트)을 제공하기 위한 데이터로부터, 멀웨어 리스트를 추출할 수 있다. 이 경우, 분석 및 제어 처리에서, 블랙리스트나 멀웨어 리스트에 관련된 통신을 차단하기 위한 정책을 설정할 수 있다.
도 15는 제1 예시적인 실시예에 따른 다른 구성을 도시하는 블록도이다. 도 15에서의 정보 수집 시스템(100)은, 도 2에서의 정보 수집 시스템(100)의 구성 요소들과 동일한 구성 요소들을 포함한다.
도 15에서는, 서버 장치(200)가, 상술한 블랙리스트나 멀웨어 리스트를 제공하는 서버이다. 정보 수집 시스템(100)은, IPS(intrusion prevention system) 장치(500)에 접속된다. IPS 장치(500)는, 네트워크(400)와 로컬 네트워크(600)에 접속된 단말 장치(601) 사이의 통신을, 정책에 따라 제어한다.
예를 들어, 도 15에서의 학습부(110)는, 서버 장치(200)로부터 취득한 학습 데이터와, 키워드로서 지정된, 학습 데이터에 포함되는 블랙리스트나 멀웨어 리스트를 사용하여, 파서 룰을 생성한다.
추출부(130)는, 파서 룰을 사용하여, 서버 장치(200)로부터 취득한 데이터로부터, 대상 문자열(블랙리스트나, 멀웨어 리스트)을 추출한다.
처리부(150)는, 처리 룰에 따라, 대상 문자열로부터, 블랙리스트에 포함되는 IP 어드레스들 또는 도메인명들, 또는 멀웨어 리스트에 포함되는 파일명들이나 URL들을 추출한다. 그 후, 처리부(150)는, 추출한 IP 어드레스들이나 도메인명들과의 통신, 또는, 추출한 파일명들이나 URL들을 포함하는 메시지들의 통신을 차단하기 위한 정책을, IPS 장치(500)에 설정한다.
이러한 방식으로, 블랙리스트나 멀웨어 리스트가 서비스들 각각마다 여러가지 형식의 데이터에 의해 제공되는 경우에도, 서비스들에 따라서 블랙리스트나 멀웨어 리스트를 효율적으로 수집하고, 수집한 블랙리스트나 멀웨어 리스트를 통신 정책에 반영할 수 있다.
또한, 예를 들어 대상 문자열로서, 블로그 페이지에 대한 사용자 코멘트를 추출할 수 있다. 이 경우, 분석 및 제어 처리에서, 사용자 코멘트에 포함되는 부적절한 표현을 검출하고, 사용자 코멘트의 기입이 차단될 수 있거나, 사용자 코멘트의 로그를 취득할 수 있다.
도 16은 제1 예시적인 실시예의 또 다른 구성을 도시하는 블록도이다. 도 16에서의 정보 수집 시스템(100)은, 도 2에서의 정보 수집 시스템(100)의 구성 요소들과 동일한 구성 요소들을 포함한다.
도 16에서는, 서버 장치(200)가, 블로그들을 제공하는 서버이다. 정보 수집 시스템(100)은, 프록시 서버(700)에 접속된다. 프록시 서버(700)는, 네트워크(400)와 로컬 네트워크(800)에 접속된 단말 장치(801) 사이의 통신을 제어한다.
예를 들어, 도 16에서의 학습부(110)는, 단말 장치(801)로부터 서버 장치(200)에 송신되고 있는, 블로그들로의 사용자 코멘트들을 포함하는 학습 데이터와, 키워드들로서 지정되고 데이터에 포함되는 사용자 코멘트들을 사용하여, 파서 룰을 생성한다.
추출부(130)는, 프록시 서버(700)를 통해, 단말 장치(801)로부터 서버 장치(200)에 송신되는 데이터를 취득한다. 추출부(130)는, 파서 룰을 사용하여, 취득한 데이터로부터, 대상 문자열들(사용자 코멘트들)을 추출한다.
처리부(150)는, 처리 룰에 따라, 대상 문자열들로부터 악의적인 중상에 대응하는 표현 등의, 부적절한 표현을 추출한다. 그 후, 처리부(150)는, 부적절한 표현이 추출된 데이터의 서버 장치(200)로의 송신을 차단하도록, 프록시 서버(700)를 제어한다. 또한, 처리부(150)는 부적절한 표현이 검출된 데이터의 송신원인 단말 장치(801)의 IP 어드레스 등을 나타내는 로그를, 로그 기억부(도시되지 않음)에 추가로 보존할 수 있다.
이러한 방식으로, SNS들 및 블로그들로의 기입이 서비스들 각각마다 여러가지 형식의 콘텐츠에 의해 수행되는 경우에도, 서비스들에 따라서 기입된 엔트리들을 효율적으로 수집할 수 있고, 부적절한 기입된 엔트리들을 검출할 수 있다.
또한, 예를 들어 대상 문자열들로서, 뉴스 사이트들의 콘텐츠 데이터로부터, 뉴스 기사들, 일기 예보들, 프로그램 정보 등을 추출할 수 있다. 또한, 대상 문자열들로서, 인터넷 상의 사람들의 네트워크들, 사람들의 흥미들 등을 포함하는 정보를 분석하고 제공하는 사이트들의 콘텐츠 데이터로부터, 분석 결과 등을 추출할 수 있다.
또한, 예를 들어, 분석 및 제어 처리에서, 대상 문자열들로서 취득된 SNS의 메시지들로부터 멀웨어의 파일명을 검출하고, 다른 분석기 등에 멀웨어를 분석시킬 수 있다. 또한, 분석 및 제어 처리에서, 대상 문자열들로서 취득된 사람들의 네트워크들 및 사람들의 흥미들의 분석 결과들로부터, 특정한 사람들의 네트워크들 및 흥미들을 추출하거나, 특정한 흥미를 갖는 사람을 추출할 수 있다.
이어서, 제1 예시적인 실시예의 특징적인 구성을 설명할 것이다. 도 1은 제1 예시적인 실시예의 특징적인 구성을 도시하는 블록도이다.
도 1을 참조하면, 정보 수집 시스템(100)은, 학습부(110) 및 추출부(130)를 포함한다. 학습부(110)는, 학습 데이터를 사용하여, 특정한 정보를 포함하는 문자열인 대상 문자열을 데이터로부터 추출하기 위한 파서 룰을 생성한다. 추출부(130)는, 파서 룰을 사용하여, 대상 문자열을 데이터로부터 추출한다.
이어서, 제1 예시적인 실시예의 이로운 효과에 대해서 설명할 것이다.
제1 예시적인 실시예에 따르면, 방대한 양의 여러가지 형식의 콘텐츠로부터, 목적으로 하는 정보를 효율적으로 수집할 수 있다. 상술한 것에 대한 이유는, 학습부(110)가, 학습 데이터를 사용하여, 특정한 정보를 포함하는 문자열인 대상 문자열을 추출하기 위한 파서 룰을 생성하고, 추출부(130)가, 생성한 파서 룰을 사용하여, 대상 문자열을 데이터로부터 추출하기 때문이다.
이러한 방식으로, 여러가지 형식의 콘텐츠로부터 필요한 정보를 추출하기 위한 파서 프로그램을, 개발자가 콘텐츠를 분석하지 않고, 단 시간에 생성할 수 있다. 또한, 콘텐츠의 사양들이 변경되어도, 파서 프로그램의 재프로그래밍을 저비용으로 실행할 수 있다. 또한, 여러가지 형식의 콘텐츠에 대하여 파서 프로그램의 표기법이 통합되고, 따라서 그 가독성 및 재이용성이 향상된다.
또한, 제1 예시적인 실시예에 따르면, 방대한 양의 여러가지 형식의 콘텐츠로부터 추출된 정보에 기초하여, 각종 분석 및 제어를 효율적으로 실행할 수 있다. 상술한 것에 대한 이유는, 처리부(150)가, 처리 룰에 따라, 추출부(130)에 의해 추출된 대상 문자열들에 기초하여, 분석 및 제어 처리를 수행하기 때문이다.
또한, 제1 예시적인 실시예에 따르면, 여러가지 방법의 분석들 및 제어들을 효율적으로 실행할 수 있다. 상술한 것에 대한 이유는, 처리 룰 기억부(170)가 하나 이상의 처리 룰을 기억하고, 처리부(150)가, 관리자 등에 의해 지정된 처리 룰에 따라, 분석 및 제어 처리를 수행하기 때문이다.
(제2 예시적인 실시예)
이어서, 제2 예시적인 실시예에 대해서 설명할 것이다.
제2 예시적인 실시예는, 처리부(150)가, 추출한 대상 문자열들에 기초하여 새로운 학습 데이터를 결정한다는 점에서, 제1 예시적인 실시예와 상이하다.
처리부(150)는, 처리 룰에 따라, 추출한 대상 문자열들에 기초하여, 새로운 학습 데이터를 결정한다. 여기서, 처리부(150)는, 대상 문자열들에 특정한 키워드와 URL이 포함되는 경우, URL에 의해 나타나는 데이터를 새로운 학습 데이터로서 결정한다.
학습부(110)는, 새로운 학습 데이터를 사용하여 파서 룰을 생성한다.
도 17은 제2 예시적인 실시예에서의, 처리 룰의 예를 나타내는 도면이다. 도 17의 예에서는, 처리 룰 "Rule 2"이 정의된다. 처리 룰 "Rule 2"에서는, 테이블 "SNS 1"에서, 특정한 키워드 "지진" 및 공통의 도메인명의 URL을 포함하는 복수의 대상 문자열이 검출된 경우에, 학습부(110)에 대하여 새로운 학습 데이터를 지정하는 처리가 기술된다. 새로운 학습 데이터는, 검출된 URL에 의해 지정된다. 또한, 추출해야 할 문자열로서, 키워드 "지진"이 지정된다.
여기에서는, 처리 룰 입력부(160)가, 미리, 관리자 등으로부터 도 17에서와 같은 처리 룰 "Rule 2"의 입력을 접수하고, 접수한 처리 룰 "Rule 2"를 처리 룰 기억부(170)에 보존하는 것으로 가정한다.
도 18은 제2 예시적인 실시예에서의, 문자열 기억부(140)에 기억되는 테이블의 예를 나타내는 도면이다.
또한, 파서 룰 기억부(120)에는, 제1 예시적인 실시예와 동일한 방식으로 도 6에서와 같은 파서 룰들이 기억되고, 문자열 기억부(140)에는, 추출 처리에 의해, 도 18에서와 같이 테이블 "SNS 1"이 기억되는 것으로 가정한다.
도 19는 제2 예시적인 실시예에서의, 분석 및 제어 처리의 구체예를 도시하는 도면이다.
처리부(150)는, 도 17에서의 처리 룰 "Rule 2"에 따라, 도 18의 테이블에서의 대상 문자열로부터, 키워드 "지진" 및 공통의 도메인명 "news.com"의 URL을 포함하는 대상 문자열들을, 도 19에서와 같이 검출한다. 처리부(150)는, 검출한 대상 문자열들의 URL들 "http://news.com/news1.html" 및 "http://news.com/news2.html"을 새로운 학습 데이터를 나타내는 URL들로서, 키워드 "지진"과 함께, 학습부(110)에 입력한다.
도 20은 제2 예시적인 실시예에서의, 학습 처리의 구체예를 도시하는 도면이다.
학습부(110)는, 각 URL들에 의해 지정된 학습 데이터를 취득하고, 파서 룰을 생성한다. 여기서, 그 후 학습부(110)는, 학습 데이터에 의해 지정된 키워드 "지진"을 포함하는 경우, 이 키워드를 포함하는 문자열을 추출하기 위한 태그 패턴을 특정하고, 도 20에서와 같이, 새로운 파서 룰 "<x><y>Value</y></x>"를 생성한다. 학습부(110)는, 도 20에서와 같이, URL "http://news.com" 및 새로운 파서 룰 "<x><y>Value</y></x>"를 서로 연관시키고, 그것들을 파서 룰 기억부(120)에 보존한다.
이후, 추출부(130)에 의한, 새로운 파서 룰을 사용하여 대상 문자열들의 추출, 처리부(150)에 의한, 새로운 학습 데이터의 결정 및 학습부(110)에 의한, 새로운 파서 룰의 생성이 반복된다.
이러한 방식으로, 특정한 키워드에 관련된 정보에 대해서, 최초에 학습 데이터로서 지정된 서비스에 더하여, 여러가지 서비스로부터 대상 문자열들을 추출하기 위한 파서 룰들이, 관리자가 학습 데이터를 지정하지 않고서, 효율적으로 생성된다.
이어서, 본 발명의 제2 예시적인 실시예의 이로운 효과를 설명할 것이다.
본 발명의 제2 예시적인 실시예에 따르면, 제1 예시적인 실시예의 이로운 효과들에 더하여, 여러가지 서비스로부터 대상 문자열들을 추출하기 위한 파서 룰을 또한 효율적으로 생성할 수 있다. 상술한 것에 대한 이유는, 처리부(150)가, 처리 룰에 따라, 추출된 대상 문자열들에 기초하여, 새로운 학습 데이터를 결정하고, 학습부(110)가, 결정된 새로운 학습 데이터를 사용하여, 파서 룰을 생성하기 때문이다.
예시적인 실시예들을 참조하여 본 발명을 자세히 도시하고 설명했지만, 본 발명은 이 실시예들에 한정되는 것은 아니다. 본 명세서에서는 다양한 형태 및 상세의 변경이 본 발명의 사상 및 범위를 벗어나지 않고 청구항에 의해 정의된 바와 같이 행해질 수 있다는 것을 본 기술분야의 통상의 기술자라면 이해할 것이다.
이 출원은, 2016년 9월 26일에 출원된 일본 특허 출원 제2016-187064호를 기초로 하고, 그로부터 우선권의 이익을 주장하고, 그 개시내용은 본 명세서에 그 전체가 참고로서 포함된다.
[참조 부호 목록]
100 정보 수집 시스템
101 CPU
102 기억 디바이스
103 입/출력 디바이스
104 통신 디바이스
110 학습부
120 파서 룰 기억부
130 추출부
140 문자열 기억부
150 처리부
160 처리 룰 입력부
170 처리 룰 기억부
200 서버 장치
300 단말 장치
400 네트워크
500 IPS 장치
600 로컬 네트워크
601 단말 장치
700 프록시 서버
800 로컬 네트워크
801 단말 장치

Claims (9)

  1. 정보 수집 시스템으로서,
    학습 데이터를 사용하여, 대상 문자열을 데이터로부터 추출하기 위한 파서 룰(parser rule)을 생성하는 학습 수단- 상기 대상 문자열은 특정한 정보를 포함하는 문자열임 -; 및
    상기 파서 룰을 사용하여, 상기 대상 문자열을 데이터로부터 추출하는 추출 수단을 포함하는, 정보 수집 시스템.
  2. 제1항에 있어서,
    처리 룰에 따라, 상기 추출된 대상 문자열에 기초하여, 미리 결정된 분석 및 제어 중 적어도 하나를 수행하는 처리 수단을 추가로 포함하는, 정보 수집 시스템.
  3. 제2항에 있어서,
    상기 처리 수단은, 상기 처리 룰에 따라, 상기 추출된 대상 문자열에 기초하여, 새로운 학습 데이터를 결정하고,
    상기 학습 수단은 상기 결정된 새로운 학습 데이터를 사용하여, 상기 파서 룰을 추가로 생성하는, 정보 수집 시스템.
  4. 제3항에 있어서,
    상기 처리 수단은, 상기 추출된 대상 문자열에서 지정되는 다른 데이터를 상기 새로운 학습 데이터로서 결정하는, 정보 수집 시스템.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 학습 수단은, 상기 학습 데이터에 관련된 서비스와 연관하여, 상기 생성된 파서 룰을 파서 룰 기억 수단에 보존하고,
    상기 추출 수단은, 상기 데이터에 관련된 서비스와 연관된 상기 파서 룰을 사용하여, 상기 대상 문자열을 상기 데이터로부터 추출하는, 정보 수집 시스템.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 데이터는, 미리 결정된 데이터 기술 언어에 의해 기술되고,
    상기 학습 수단은, 상기 학습 데이터에서, 지정된 키워드를 포함하는 문자열을 특정할 수 있는, 상기 미리 결정된 데이터 기술 언어에 의한 기술 패턴을, 상기 파서 룰로서 생성하는, 정보 수집 시스템.
  7. 제2항 내지 제4항 중 어느 한 항에 있어서,
    하나 이상의 처리 룰을 기억하는, 처리 룰 기억 수단을 추가로 포함하고,
    상기 처리 수단은, 상기 하나 이상의 처리 룰 중, 지정된 처리 룰에 따라, 상기 미리 결정된 분석 및 제어 중 적어도 하나의 처리를 수행하는, 정보 수집 시스템.
  8. 정보 수집 방법으로서,
    학습 데이터를 사용하여, 대상 문자열을 데이터로부터 추출하기 위한 파서 룰을 생성하는 단계- 상기 대상 문자열은 특정한 정보를 포함하는 문자열임 -; 및
    상기 파서 룰을 사용하여, 상기 대상 문자열을 데이터로부터 추출하는 단계를 포함하는, 정보 수집 방법.
  9. 컴퓨터로 하여금 방법을 수행하게 하는 프로그램을 기록하는 컴퓨터 판독가능한 기록 매체로서,
    상기 방법은:
    학습 데이터를 사용하여, 대상 문자열을 데이터로부터 추출하기 위한 파서 룰을 생성하는 단계- 상기 대상 문자열은 특정한 정보를 포함하는 문자열임 -; 및
    상기 파서 룰을 사용하여, 상기 대상 문자열을 데이터로부터 추출하는 단계를 포함하는, 컴퓨터 판독가능한 기록 매체.
KR1020197008162A 2016-09-26 2017-09-20 정보 수집 시스템, 정보 수집 방법 및 기록 매체 KR20190040046A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2016-187064 2016-09-26
JP2016187064 2016-09-26
PCT/JP2017/033876 WO2018056299A1 (ja) 2016-09-26 2017-09-20 情報収集システム、情報収集方法、及び、記録媒体

Publications (1)

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

Family

ID=61689547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197008162A KR20190040046A (ko) 2016-09-26 2017-09-20 정보 수집 시스템, 정보 수집 방법 및 기록 매체

Country Status (5)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112101022B (zh) * 2020-08-12 2024-02-20 新华智云科技有限公司 一种地震事件实体链接方法
CN114900387A (zh) * 2022-05-10 2022-08-12 中移(杭州)信息技术有限公司 设备的跨平台融合接入方法、系统、网关及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009098964A (ja) 2007-10-17 2009-05-07 Oki Telecommunication Systems Co Ltd ネットワークサービスシステム、サーバ、方法及びプログラム
JP2012529717A (ja) 2009-06-09 2012-11-22 イービーエイチ エンタープライズィーズ インコーポレイテッド マイクロブログメッセージの内容を分析する方法
JP2014049094A (ja) 2012-09-04 2014-03-17 Yahoo Japan Corp 情報処理装置、情報処理方法及びコンピュータプログラム

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 (ja) * 2009-03-02 2013-02-13 日本電信電話株式会社 重要キーワード抽出装置及び方法及びプログラム
JP2011100403A (ja) 2009-11-09 2011-05-19 Sony Corp 情報処理装置、情報抽出方法、プログラム及び情報処理システム
US20140136494A1 (en) 2012-11-14 2014-05-15 Homer Tlc, Inc. System and method for automatic wrapper induction by applying filters
JP6033136B2 (ja) 2013-03-18 2016-11-30 三菱電機株式会社 情報処理装置およびナビゲーション装置
JP6184840B2 (ja) * 2013-11-07 2017-08-23 株式会社Nttドコモ 情報処理装置及び表示優先度決定方法
JP5792871B1 (ja) 2014-05-23 2015-10-14 日本電信電話株式会社 代表スポット出力方法、代表スポット出力装置および代表スポット出力プログラム
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 (ja) 2007-10-17 2009-05-07 Oki Telecommunication Systems Co Ltd ネットワークサービスシステム、サーバ、方法及びプログラム
JP2012529717A (ja) 2009-06-09 2012-11-22 イービーエイチ エンタープライズィーズ インコーポレイテッド マイクロブログメッセージの内容を分析する方法
JP2014049094A (ja) 2012-09-04 2014-03-17 Yahoo Japan Corp 情報処理装置、情報処理方法及びコンピュータプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
US11606384B2 (en) Clustering-based security monitoring of accessed domain names
US10362050B2 (en) System and methods for scalably identifying and characterizing structural differences between document object models
US9614862B2 (en) System and method for webpage analysis
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
CN107391675B (zh) 用于生成结构化信息的方法和装置
CN108090104B (zh) 用于获取网页信息的方法和装置
US10621255B2 (en) Identifying equivalent links on a page
US10169037B2 (en) Identifying equivalent JavaScript events
JP6763433B2 (ja) 情報収集システム、情報収集方法、及び、プログラム
US11373005B2 (en) Privacy-preserving data collection
JP5216654B2 (ja) 重要度判定装置、重要度判定方法、およびプログラム
CN111131236A (zh) 一种web指纹检测装置、方法、设备及介质
Zachariah An analysis of the Privacy Policy of Browser Extensions
CN117669558A (zh) 网络信息的监控方法、装置、电子设备及存储介质
CN117574010A (zh) 一种数据采集方法、装置、设备以及存储介质

Legal Events

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