KR20200019824A - 엔티티 관계 데이터 생성 방법, 장치, 기기 및 저장 매체 - Google Patents

엔티티 관계 데이터 생성 방법, 장치, 기기 및 저장 매체 Download PDF

Info

Publication number
KR20200019824A
KR20200019824A KR1020190085858A KR20190085858A KR20200019824A KR 20200019824 A KR20200019824 A KR 20200019824A KR 1020190085858 A KR1020190085858 A KR 1020190085858A KR 20190085858 A KR20190085858 A KR 20190085858A KR 20200019824 A KR20200019824 A KR 20200019824A
Authority
KR
South Korea
Prior art keywords
key value
web page
target
block
value block
Prior art date
Application number
KR1020190085858A
Other languages
English (en)
Other versions
KR102237702B1 (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 KR20200019824A publication Critical patent/KR20200019824A/ko
Application granted granted Critical
Publication of KR102237702B1 publication Critical patent/KR102237702B1/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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • 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
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 실시예는 엔티티 관계 데이터 생성 방법, 장치, 기기 및 저장 매체를 개시한다. 상기 방법은, 목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하는 단계; 상기 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록을 인식하는 단계 - 상기 키 값 블록은 적어도 하나의 키 값 쌍을 포함함 -; 상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계; 및 상기 키 값 블록 및 상기 키 값 블록에 대응되는 주체 값에 따라 상기 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하는 단계를 포함한다. 본 발명의 기술안에 따르면 웹 페이지 호환성을 향상하고 인건비를 저감하며 엔티티 관계 데이터의 산출량을 향상할 수 있다.

Description

엔티티 관계 데이터 생성 방법, 장치, 기기 및 저장 매체{Entity relationship data generating method, apparatus, equipment and storage medium}
본 발명의 실시예는 정보 처리 기술에 관한 것으로, 특히 엔티티 관계 데이터 생성 방법, 장치, 기기 및 저장 매체에 관한 것이다.
엔티티 관계 데이터는, SPO 트리플 데이터로도 불리는 바, 엔티티 pair(주체S - 객체O pair) 및 그들 사이의 관계(P)로 구성되는 트리플을 가리킨다. 엔티티 관계는 지식 그래프의 핵심 구성 부분으로, 지식 그래프 구축의 시각에서 보면, 엔티티 관계 마이닝은 그래프 중의 관계 지식을 풍부히 하고, 엔티티 사이의 연관 관계를 구축하며; 제품 응용의 시각에서 보면, 엔티티 관계는 한 측면으로 사용자가 지식류에 대한 검색 수요를 직접 만족시킬 수 있는 바, 예컨대 어느 한 스타의 와이프 ’××× 와이프’를 검색할 시, 엔티티 관계 데이터를 통해 답안을 직접 줄 수 있고, 다른 한 측면으로 또한 엔티티 관계를 기반으로 사용자한테 연관되는 지식을 추천하고, 사용자한테 정보 확장의 열독 경험을 제공할 수 있는 바, 예컨대 어느 한 유명인의 이름 ’××’를 검색할 시, 엔티티 관계를 통해 사용자한테 당해 유명인에 관련되는 기타 엔티티를 제공할 수 있다.
선행 기술에서, 엔티티 관계 마이닝은 주요하게 이하 두 가지의 방식으로 진행된다.
여기서, 제1 종류의 방식은, 백과(百科)류 웹 사이트에 대하여 추출을 진행한다. 백과류 웹 사이트의 양호한 구조를 갖고 있고 데이터가 매우 규범화되어 있는 특징점에 따라 백과류 웹 사이트의 정보 박스 또는 속성 테이블(백과류 웹 사이트의 엔티티 아래, 엔티티 속성을 설명하기 위한 웹 페이지 구조)로부터 직접 엔티티 관계를 추출한다. 백과류 웹 사이트 구조가 간단하고 안정적인 특징점을 이용하여 추출을 할 백과류 사이트에서 몇몇 전형적인 페이지에 대하여 샘플링 및 레이블링하고, 이러한 페이지에 대하여 모드 학습 알고리즘을 통해 자동으로 유사 xpath 하나 또는 복수로 표시되는 모드를 구축하고, 이를 당해 사이트의 기타 상세 페이지에 응용함으로써, 추출을 구현한다.
제2 종류의 방식은, 웹 사이트에 대해 래퍼(템플릿)를 생성하는 추출 방법이다. 추출이 필요한 웹 사이트의 구조 및 HTML 태그 등 정보를 분석하여 대응되는 래퍼를 구축하고 이 래퍼를 사용하여 당해 웹 페이지에 대해 엔티티 관계 추출을 진행한다. 일반적인 규칙적 페이지에 대하여, 래퍼는 통상적으로는 수동으로 정규표현식을 사용하는 방식에 의하여 xpath 및 CSS 선택자 표현식을 작성하여 웹 페이지 중의 요소를 추출한다.
선행 기술의 결함은, 제1 종류의 방식은 추출 가능안 데이터 양이 적고 데이터의 적시성이 높지 않으며; 제2 종류의 방식은 인건비가 아주 높고 호환성이 높지 않다.
본 발명의 실시예는 엔티티 관계 데이터 생성 방법, 장치, 기기 및 저장 매체를 제공하는 바, 웹 페이지 호환성의 향상, 인건비의 저감, 엔티티 관계 데이터의 산출량의 향상을 구현한다.
제1 측면으로, 본 발명의 실시예는 엔티티 관계 데이터 생성 방법을 제공하는 바,
목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하는 단계;
상기 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록을 인식하는 단계 -상기 키 값 블록은 적어도 하나의 키 값 쌍을 포함함 -;
상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계; 및
상기 키 값 블록 및 상기 키 값 블록에 대응되는 주체 값에 따라 상기 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하는 단계를 포함한다.
제2 측면으로, 본 발명의 실시예는 또한 엔티티 관계 데이터의 생성 장치를 제공하는 바, 당해 장치는,
목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하기 위한 소스 코드 획득 모듈;
상기 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록을 인식하기 위한 키 값 블록 인식 모듈 - 상기 키 값 블록은 적어도 하나의 키 값 쌍을 포함함 -;
상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하기 위한 주체 값 인식 모듈; 및
상기 키 값 블록 및 상기 키 값 블록에 대응되는 주체 값에 따라 상기 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하기 위한 데이터 생성 모듈을 포함한다.
제3 측면으로, 본 발명의 실시예는 또한 컴퓨터 기기를 제공하는 바, 당해 기기는,
하나 또는 복수의 프로세서; 및
하나 또는 복수의 프로그램을 저장하기 위한 저장 장치를 포함하고,
상기 하나 또는 복수의 프로그램이 상기 하나 또는 복수의 프로세서에 의해 실행될 시, 상기 하나 또는 복수의 프로세서가 본 발명의 실시예 중 임의 하나에 기술된 바와 같은 엔티티 관계 데이터 생성 방법을 구현하도록 한다.
제4 측면으로, 본 발명의 실시예는 또한, 컴퓨터 판독 가능 저장 매체를 제공하고, 이에는 컴퓨터 프로그램이 저장되는 바, 당해 프로그램이 프로세서에 의해 실행될 시, 본 발명의 실시예 중 임의 하나에 기술된 바와 같은 엔티티 관계 데이터 생성 방법을 구현한다.
본 발명의 실시예는 목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하고, 당해 웹 페이지 소스 코드 데이터에 포함되는 적어도 하나의 키 값 블록 및 각 키 값 블록에 대응되는 주체 값을 인식하고, 각 키 값 블록 및 이에 대응되는 주체 값에 따라 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하는 바, 이는 웹 페이지 소스 코드 데이터로부터 엔티티 관계를 인식하는 것이므로 웹 페이지 유형, 웹 페이지 구조, 사이트 등의 제한을 받지 않게 되고, 또한 자동으로 웹 페이지에 대하여 엔티티 관계 데이터의 추출을 진행할 수 있으므로 인력을 통한 유지가 과도하게 필요하지 않게 되고,.동시에, 엄청난 양의 인터넷 웹 페이지로부터 추출을 진행하여 방대한 규모의 엔티티 관계 데이터을 획득할 수 있는 것으로, 웹 페이지 호환성을 향상하고 인건비를 저감하며 엔티티 관계 데이터의 산출량을 향상시킨다.
도1a는 본 발명의 실시예1에 의해 제공되는 엔티티 관계 데이터 생성 방법의 개략적인 흐름도이다
도1b는 본 발명의 실시예1에 적용되는 웹 페이지 데이터 전처리 방법의 개략적인 흐름도이다.
도1c는 본 발명의 실시예1에 적용되는, 조회식에 기반하는 주체 값 인식 방법의 개략적인 흐름도이다.
도1d는 본 발명의 실시예1에 적용되는 주체 값 인식 방법의 개략적인 흐름도이다.
도2a는 본 발명의 실시예2에 의해 제공되는 엔티티 관계 데이터 생성 방법의 개략적인 흐름도이다.
도2b는 본 발명의 실시예2에 적용되는 키 값 블록 인식 방법의 개략적인 흐름도이다.
도2c는 본 발명의 실시예2에 적용되는 반정형 SPO 데이터 추출 시스템의 개략적인 구조도이다.
도3은 본 발명의 실시예3에 의해 제공되는 엔티티 관계 데이터의 생성 장치의 개략적인 구조도이다.
도4는 본 발명의 실시예4에 의해 제공되는 컴퓨터 기기의 개략적인 구조도이다.
이하 첨부 도면 및 실시예를 결부하여 본 발명에 대해 더 나아가 상세히 설명하고자 한다. 여기서 설명되는 구체 실시예는 단지 본 발명을 해석하기 위한 것으로, 본 발명을 한정하기 위한 것이 아님을 이해할 수 있다. 그 외 또 설명하여야 할 것은, 설명의 편의를 위하여, 첨부 도면에는 전체 구조가 아닌, 단지 본 발명과 상관되는 부분만 도시하였을 뿐이다.
그 외 또 설명하여야 할 것은, 설명의 편의를 위하여, 첨부 도면에는 전부의 내용이 아닌, 본 발명과 관련되는 부분만 도시한다. 예시적 실시예에 대하여 더욱 상세하게 토론하기 전에 언급해야 할 것은, 일부 예시적 실시예는 흐름도가 보여주는 처리 또는 방법으로 설명되고, 비록 흐름도에서 각 조작(또는 단계)은 순차적인 처리로 설명되지만 그 중의 허다한 조작은 병렬로, 병행으로 또는 동시에 구현될 수 있다. 이 외에, 각 조작의 순차는 다시 배치될 수 있다. 그 조작이 완료될 시, 상기 처리는 종료될 수 있고, 그러나 또한 첨부 도면에 포함되지 않은 추가 단계를 구비할 수도 있다. 상기 처리는 방법, 함수, 프로시저, 서브루틴, 서브-프로그램 등에 대응될 수 있다 .
실시예1
도1a은 본 발명의 실시예1에 의해 제공되는 엔티티 관계 데이터 생성 방법의 개략적인 흐름도인 바, 본 실시예는 웹 페이지로부터 엔티티 관계 데이터를 획득하는 상황에 적용 가능한 바, 당해 방법은 본 발명의 실시예에 의해 제공되는 엔티티 관계 데이터의 생성 장치에 의해 실행될 수 있고, 당해 장치는 하드웨어 및/또는 소프트웨어로 구성될 수 있고, 일반적으로 컴퓨터 기기에 집적될 수 있다. 도1에 도시한 바와 같이, 본 실시예의 방법은 구체적으로 이하를 포함한다.
S110, 이는 목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하는 단계이다.
본 실시예에서, 목표 웹 페이지는 인터넷 상의 임의 웹 페이지일 수 있고, 웹 페이지 소스 코드 데이터는 당해 목표 웹 페이지의 소스 코드 데이터일 수 있다. 인터넷 상에는 여러 가지 웹 페이지가 혼잡되어 있으므로 우선 획득된 웹 페이지에 대하여 전처리를 진행할 수 있는 바, 이로써, 획득된 웹 페이지 소스 코드 데이터의 유효성과 신뢰성을 향상시킨다.
구체적으로, 목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하는 단계는, 목표 웹 페이지의 유니폼 리소스 로케이터(Uniform Resource Locator, URL)에 따라 웹 페이지 라이브러리로부터 목표 웹 페이지에 대응되는 소스 코드 데이터를 획득하여 검증할 소스 코드 데이터로 하고, 만약 검증할 소스 코드 데이터가 웹 페이지 필터링 조건을 만족시키지 않음이 결정된다면 검증할 소스 코드 데이터를 목표 웹 페이지의 웹 페이지 소스 코드 데이터로 하는 단계를 포함할 수 있다. 여기서, 웹 페이지 라이브러리에는 복수의 웹 페이지에 각각 대응되는 소스 코드 데이터가 미리 저장되고; 웹 페이지 필터링 조건은, 웹 페이지가 위치하는 사이트가 블랙 리스트 사이트임, 웹 페이지의 품질 평가 등급이 선설정 역치보다 작음, 웹 페이지의 언어가 외국어임, 웹 페이지가 음란 웹 페이지임, 웹 페이지의 유형이 사진 유형임 등 필터링조건을 포함하나 이에 한정되지 않고; 소스 코드 데이터는 ulpack 데이터로 불릴 수도 있는 바, 당해 데이터는 wdbtools 등 도구를 통해 웹 페이지 라이브러리로부터 획득될 수 있다. 이 외에, 검증할 소스 코드 데이터에 대한 필터링는 Nlpc antiporn 등 도구를 사용하여 구현할 수 있다.
웹 페이지에 포함되는 엔티티 관계 데이터를 더 전체적으로 획득하기 위하여, 선택적으로, 목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하는 단계 이후, 검색 엔진의 클릭 표시 로그에서, 목표 웹 페이지의 유니폼 리소스 로케이터에 대응되는 적어도 하나의 조회식을 획득하고, 획득된 적어도 하나의 조회식을 웹 페이지 소스 코드 데이터와 연관시키는 단계를 더 포함한다.
여기서, 클릭 표시 로그는 사용자가 조회식을 입력한 후, 표시되는 각각의 웹 페이지에서 클릭을 하여 연 웹 페이지에 대하여 기록한 로그일 수 있다. 조회식은 query 데이터일 수 있고, 목표 웹 페이지의 URL에 대응되는 적어도 하나의 query 데이터를 획득하는 목적은, 후속의 단계에서 주체 값의 인식에 대하여 더 많은 참조를 제공하기 위한 것이다. 이 외에, 또한 획득된 조회식에 근거하여 규정 위반 조회식을 인식할 수 있는 바, 이로써 나아가 규정 위반 웹 페이지를 필터링할 수 있다. 최종으로, 동일한 URL에 대응되는 조회식 및 이에 대응되는 웹 페이지 소스 코드 데이터를 병합하여 조회식과 웹 페이지 소스 코드 데이터 사이의 연관 관계를 수립한다.
실제 예를 하나 들면, 도1b이 도시하는 개략적인 흐름도와 같이, 획득된 목표 웹 페이지의 URL를 전처리하는 것은, 세 개 단계를 통하여 완료될 수 있는 바,
ulpack 데이터를 획득하는 단계: 이는 웹 페이지 라이브러리에서 목표 웹 페이지의 URL에 대응되는 ulpack 데이터를 획득하는 단계임;
웹 페이지를 필터링하는 단계: 이는 웹 페이지 라이브러리의 데이터를 획득한 후, 웹 페이지가 위치한 사이트, 웹 페이지의 품질, 웹 페이지의 언어, 음란 웹 페이지인지 여부, 웹 페이지의 유형 등 정보에 따라 필터링하는 단계임; 및
음란 query 웹 페이지를 필터링하고 query를 병합하는 단계: 이는 URL의 검색 query를 획득하고, URL의 query에 따라 음란 query 인식을 진행하고, 나아가 음란 웹 페이지를 필터링하고, 음란 query를 필터링한 후 query와 웹 페이지 데이터를 병합하는 단계임;가 포함된다.
S120, 이는 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록을 인식하는 단계이며,키 값 블록은 적어도 하나의 키 값 쌍을 포함한다.
본 실시예에서, 키 값 쌍은 KV 유형의 텍스트 데이터일 수 있고, 적어도 하나의 KV 유형의 텍스트 데이터는 하나의 키 값 블록을 구성할 수 있다. 예컨대, 만약 웹 페이지 정보에 ‘성별: 여’가 포함된다면, 웹 페이지 소스 코드 데이터에 대한 파싱을 통하여 나아가 하나의 키 값 쌍으로 인식할 수 있고, 하나의 키 값 쌍은 하나의 키 이름 및 하나의 키 값을 포함할 수 있는 바, 여기서, 키 이름(K)은 예컨대 ‘성별’일 수 있고, 키 값(V)은 예컨대 ‘여’일 수 있다.
구체적으로, 웹 페이지 소스 코드 데이터에서, 키 값 쌍을 최소 인식 단위로 할 수 있는 바, 적어도 하나의 키 값 쌍을 인식하고, 이러한 키 값을 선설정된 분할 규칙에 따라 분할하여 적어도 하나의 키 값 블록을 획득할 수 있다. 이렇게 설정하는 이점은, 후속의 단계 중의 처리 대상을 감소하고 처리 효율을 향상할 수 있는 것이다.
여기서, 웹 페이지 소스 코드 데이터에서 KV 유형의 텍스트 데이터를 인식하는 방식은, 도구 인식, 기존 인식 결과에 따른 인식 및 특정 태그를 통한 인식 등을 포함하나 이에 한정되지 않는다.
S130, 이는 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계이다.
본 실시예에서, 키 값 블록에 대응되는 주체 값은 엔티티 관계 데이터 중의 주체(S)일 수 있고, 주체 값에 대한 인식은 웹 페이지 유형, 키 값 블록의 유형 및 목표 웹 페이지가 위치하는 사이트의 xpath 템플릿에 따라 키 값 블록한테 하나의 적합한 웹 페이지 노드를 찾아 주어 이를 주체 값으로 하는 것일 수 있다. 여기서, xpath는 바로 표준 일반화 마크 업 언어의 서브 집합(Extensible Markup Language, XML)의 경로 언어로서, 이는 XML 파일에서 어느 한 부분의 위치를 결정하기 위한 언어이다.
여기서, 매개 키 값 블록에 대응되는 주체 값을 각각 인식하는 방식은, 엔티티 페이지에 기반하는 주체 값 인식, 스트롱 스타일(strong style) 노드에 기반하는 주체 값 인식, 화이트 리스트에 기반하는 주체 값 인식, 조회식에 기반하는 주체 값 인식 및 사이트 템플릿에 기반하는 주체 값 인식 등을 포함하나 이에 한정되지 않는다.
예컨대, 만약 웹 페이지 정보에 ‘성별: 여, 연령: 18세, 졸업 시간: 2018년 6월’이 포함되고 여기 대응되는 인물 성명이 ‘장효정’이라면, 이전 한 그룹 상세 정보를 하나의 키 값 블록으로 하고, ‘장효정’을 당해 키 값 블록에 대응되는 주체 값으로 인식한다.
선택적으로, 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계는, 만약 현재 처리하는 목표 키 값 블록이 메인 키 값 블록이고, 웹 페이지 소스 코드 데이터에 제1 태그 조건을 만족하는 엔티티 페이지 노드가 포함된다고 결정될 경우, 엔티티 페이지 평점 규칙에 따라 목표 웹 페이지가 엔티티 페이지인지 여부를 판단하는 단계; 및 “예”의 경우, 엔티티 페이지 노드에 대응되는 텍스트 데이터를 목표 키 값 블록의 주체 값으로 하는 단계를 포함할 수 있는 바, 여기서, 메인 키 값 블록은 웹 페이지 소스 코드 데이터에 대응하는 적어도 하나의 키 값 블록에서 포함되는 키 값 쌍의 수량이 최대인 하나의 키 값 블록이다.
예시적으로, 엔티티 페이지에 기반하는 주체 값 인식은 두 개 단계를 포함하는 바, 우선 웹 페이지가 엔티티 페이지인지 여부를 판단하고, 엔티티 페이지에 대하여 주체 값 인식을 진행한다. 여기서, 엔티티 페이지의 판단 방법에서, 페이지 내의 텍스트 특징에 따라 가중 평점하여 득점이 역치를 초과하는 것을 엔티티 페이지 유형의 웹 페이지로 간주할 수 있다.
하나의 구체적인 예에서, 페이지 내의 텍스트 특징은, 페이지 내에 어떤 키워드(예컨대: 간단 소개, 개요 등)가 있는지 여부, 점수를 묘사하는 텍스트(예컨대, 평점, 득점 등)가 있는지 여부, 제목 길이, 제목이 페이지 내의 텍스트에 중첩되는지 여부 또는 단어 빈도 등을 포함한다. 가중 평점의 방식은 매개 텍스트 특징에 대하여 부동한 가중치(전형적으로, 샘플링 통계를 통해 각각의 특징의 구분도에 따라 가중치를 수동 설정할 수 있음)를 부여하여 가산 평점을 진행하는 것이다.
목표 웹 페이지가 엔티티 페이지이라고 결정된 후, 엔티티 페이지에 대한 주체 값 인식은 구체적으로, 웹 페이지 소스 코드 데이터에서 엔티티 페이지 노드에 대응되는 텍스트 데이터를 직접 현재 인식 중인 목표 키 값 블록의 주체 값으로 할 수 있다. 여기서, 엔티티 페이지 노드는 예컨대 웹 페이지 소스 코드 데이터에서 <h1> 태그를 구비하는 노드일 수 있다. 이 외에 강조할 부분은, 현재 인식 중인 목표 키 값 블록은 당해 웹 페이지 소스 코드 데이터에 대응되는 복수의 키 값 블록에서 키 값 쌍의 수량이 최대인 키 값 블록, 즉 메인 키 값 블록이어야 하는 바, 이렇게 설정하는 목적은, 일부 작은 키 값 블록에 대응되는 내용 정보가 목표 웹 페이지의 큰 제목에 대응되어야 할 내용으로 오인식되는 것을 피면함으로써 주체 값의 인식 정확률을 향상하는 것이다.
선택적으로, 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계는, 현재 처리하는 목표 키 값 블록이 목표 웹 페이지에서의 페이지 위치에 따라 웹 페이지 소스 코드 데이터에서 제2 태그 조건을 만족하는 스트롱 스타일 노드를 앞방향으로 검색하는 단계; 및 만약 스트롱 스타일 노드가 검색?고 스트롱 스타일 노드의 xpath가 목표 키 값 블록에 대응되는 xpath와 불일치할 경우, 스트롱 스타일 노드에 대응되는 텍스트 데이터를 목표 키 값 블록의 주체 값으로 하는 단계를 포함할 수 있다.
예시적으로, 스트롱 스타일 노드에 기반하는 주체 값 인식에서, 주요하게는 키 값 블록의 위치에 따라 웹 페이지에서 제2 태그 조건에 부합되는 스트롱 스타일 노드를 앞방향으로 검색하는 바, 여기서 일정한 규칙에 부합되는 스트롱 스타일 노드에 대응되는 텍스트 데이터를 당해 키 값 블록의 주체 값으로 한다. 여기서, 스트롱 스타일 노드는 예컨대 웹 페이지 소스 코드 데이터에서 <strong> 태그 또는 <h1>~<h7> 태그를 구비하는 노드일 수 있다. 만약 스트롱 스타일 노드의 xpath가 당해 키 값 블록에 대응되는 xpath와 불일치할 경우, 스트롱 스타일 노드의 등급이 당해 키 값 블록보다 높음을 보여주고, 당해 스트롱 스타일 노드는 또한, 당해 키 값 블록이 처하는 웹 페이지 중의 위치에서 시작하여 앞방향으로 검색된 것이므로, 이는 당해 키 값 블록에 대응되는 내용의 제목 정보일 가능성이 높은 바, 따라서 당해 스트롱 스타일 노드에 대응되는 텍스트 데이터를 당해 키 값 블록의 주체 값으로 하여 주체 값의 오인식률을 감소한다.
선택적으로, 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계는, 현재 처리하는 목표 키 값 블록에 포함되는 키 값 쌍의 키 이름을 설정된 화이트 리스트에 매칭하는 단계; 및 만약 목표 키 값 블록에 포함되는 목표 키 이름이 화이트 리스트에 매칭되면 목표 키 이름에 대응되는 목표 키 값을 획득하여 이를 목표 키 값 블록의 주체 값으로 하는 단계를 포함할 수 있다
예시적으로, 키 값 블록에서 어떤 키 값 쌍의 키 이름은 분명한 특징을 구비-예컨대 명칭류의 엔티티 관계에서 대응되는 객체 값은 분명한 특징을 구비함-하므로 분명한 특징을 구비하는 키 이름에 대응되는 키 값을 직접 주체 값으로 할 수 있다. 예컨대, 화이트 리스트에서 ‘성명’, ‘영화 명칭’ 등 분명한 특징을 구비하는 키 이름을 선설정할 수 있는 바, 만약 키 값 블록에 키 값 쌍 ‘성명: 장효정’이 포함된다면, 키 이름 ’성명’에 대응되는 키 값 ’장효정’을 직접 당해 키 값 블록의 주체 값으로 할 수 있다.
선택적으로, 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계는, 만약 현재 처리하는 목표 키 값 블록이 메인 키 값 블록이라고 결정될 경우, 웹 페이지 소스 코드 데이터에 연관되는 적어도 하나의 조회식 중의 각각의 분할 단어의 단어 빈도에 따라 목표 분할 단어를 결정하는 단계; 웹 페이지 소스 코드 데이터에서 텍스트 데이터 및 목표 분할 단어가 유사도 조건을 만족하는 적어도 하나의 조회식 노드를 검색하는 단계; 및 만약 검색된 조회식 노드의 xpath가 현재 처리하는 목표 키 값 블록에 대응되는 xpath와 동일하지 않고 목표 웹 페이지에서 조회식 노드의 페이지 위치가 목표 키 값 블록의 페이지 위치와 설정 거리 조건을 만족한다면 조회식 노드의 텍스트 데이터를 목표 키 값 블록의 주체 값으로 하는 단계를 포함할 수 있다.
예시적으로, 조회식에 기반하는 주체 값 인식 메인 키 값 블록에 대하여 설계한 주체 값 인식 책략, 하나의 URL의 조회식query는 이 페이지의 내용과의 연관성이 보다 높아야 하는 것이므로, 동시에 하나의 웹 페이지의 메인 키 값 블록은 또한 페이지의 주요한 내용 정보를 포함하게 되고, 따라서 query 및 메인 키 값 블록의 정보가 설명하는 내용은 보다 유사할 확률이 아주 크고, 때문에, query에 포함되는 정보, 즉 목표 분할 단어에 따라 메인 키 값 블록의 주체 값을 인식할 수 있다. query의 주체 값을 기반으로 입력이 query인 세그먼팅 결과 및 대응되는 단어 빈도를 인식하고, 이상의 인식 책략을 통하면, 만약 조건을 만족하는 노드가 있다면 인식된 조회식 노드를 제공하고 조회식 노드에 대응되는 텍스트 데이터를 당해 메인 키 값 블록의 주체 값으로 하고, 아니라면, 인식이 실패한 것이다.
여기서, 조회식 노드의 페이지 위치를 설정함에 있어서, 이것이 목표 키 값 블록의 페이지 위치와는 설정 거리 조건을 만족하여야 하는 목적은, 당해 조회식 노드가 목표 키 값 블록에서 너무 멀지 않도록 보장하여 오인식의 확률을 감소하고자 하는 것이다.
선택적으로, 웹 페이지 소스 코드 데이터에 연관되는 적어도 하나의 조회식에서 각각의 분할 단어의 단어 빈도에 따라 목표 분할 단어를 결정하는 단계는, 적어도 하나의 조회식을 단어 분할하고, 각 분할 단어의 단어 빈도를 계산하는 단계; 만약 단어 빈도 계산 결과에 따라 적어도 두 개의 분할 단어가 단어 결합 조건을 만족시킨다고 결정된다면 적어도 두 개의 분할 단어를 결합시켜 새로운 분할 단어를 생성하고 새로운 분할 단어에 대응되는 단어 빈도를 업데이트하는 단계; 및 만약 단어 빈도에 따라 각 분할 단어에 대해 정렬한 결과로 결정되는 제1 순위 분할 단어와 제2 순위 분할 단어 사이의 단어 빈도 차이 값이 단어 빈도 역치 조건을 만족시킨다면 제1 순위 분할 단어를 목표 분할 단어로 하는 단계를 포함할 수 있다.
예시적으로, 세그먼팅 도구를 사용하여 각 조회식을 단어 분할하고 매개 분할 단어가 출현한 횟수에 따라 각 분할 단어의 단어 빈도를 계산할 수 있는 바, 만약 여기서 두 개의 분할 단어의 단어 빈도가 모두 선설정된 최저 역치보다 낮다면 당해 두 개의 분할 단어를 결합시켜 새로운 분할 단어를 형성하고 각 분할 단어에 대응되는 단어 빈도를 계산하고, 마지막으로, 단어 빈도에 따라 정렬하여 단어 빈도가 최고인 분할 단어 및 단어 빈도가 두번째로 높은 분할 단어 사이의 단어 빈도 차이 값이 선설정 역치보다 큰지 여부, 즉 단어 빈도 역치 조건을 만족하는지 여부를 결정하는 바, “예”의 경우, 단어 빈도가 최고인 분할 단어가 바로 조회식의 주요 내용을 대표할 수 있는 분할 단어임을 설명하는 바, 당해 분할 단어를 목표 분할 단어로 하여 메인 키 값 블록 중의 내용과 비교함으로써 메인 키 값 블록에 대응되는 주체 값을 최종 결정한다.
이해의 편의를 위하여, 조회식에 기반하는 주체 값 인식 과정을 구체적 흐름도를 통하여 표시할 수 있는 바, 예컨대 도1c에 도시한 바와 같이, 구체적으로, 우선 조회식을 단어 분할하고 상응하는 단어 빈도를 계산하고 단어 결합을 진행하고 상응하는 단어 빈도를 계산하고 단어 빈도가 최대인 두 개의 분할 단어에 대응되는 단어 빈도가 근접한지 여부를 판단하는 바, “예”의 경우, 당해 조회식을 통하여 주체 값을 인식할 수가 없으며 때문에 출력이 없고; 만약 아니라면 웹 페이지에서 당해 단어 빈도가 최고인 분할 단어와 유사한 노드를 획득하여 이를 후보 노드로 한다. 이러한 후보 노드가 존재하는지 여부를 판단하여 만약 아니라면 출력이 없으며 당해 방법은 무효화되고, “예”의 경우 각 후보 노드에 대한 정렬을 진행한 후, 각 후보 노드가 현재 처리하는 목표 키 값 블록과 동일한 xpath가 있는지 여부, 후보 노드가 웹 페이지 인터페이스에서의 위치와 목표 키 값 블록이 웹 페이지 인터페이스에서의 위치 사이의 거리가 너무 먼지 여부를 차례로 판단하고, 만약 이 중 하나가 그러하다면 당해 후보 노드를 삭제하고, 만약 모두 아니라면 당해 후보 노드를 목표 키 값 블록의 주체 값이 위치하는 노드로 결정하는 바, 당해 노드에 대응되는 텍스트 데이터가 바로 목표 키 값 블록의 주체 값이다.
선택적으로, 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계는, 목표 웹 페이지의 유니폼 리소스 로케이터에 따라 목표 웹 페이지에 대응되는 목표 사이트를 결정하는 단계; 미리 저장된 목표 사이트에 대응되는 적어도 하나의 후보 템플릿을 획득하고, 후보 템플릿을 통해 현재 처리하는 키 값 블록에 대응되는 주체 값을 인식하는 단계를 포함할 수 있는 바, 여기서 목표 사이트 중의 후보 템플릿은 목표 사이트의 복수의 웹 페이지을 키 값 쌍 인식한 후, 인식 결과를 통해 생성된 것이다.
예시적으로, 사이트 템플릿의 주체 값에 기반하는 인식은, 사이트 템플릿 데이터에 따라 키 값 블록에 대응되는 주체 값을 인식하는 것이다. 주요하게, 사이트 템플릿으로부터 후보 템플릿을 획득하는 단계 및 후보 템플릿을 이용하여 주체 값을 인식하는 단계, 두 개 단계를 포함한다. 여기서, 목표 사이트는 목표 웹 페이지가 속하는 사이트일 수 있는 바, 매개 웹 페이지의 URL은 웹 페이지가 위치하는 사이트의 정보를 휴대하게 되므로 당해 URL에 따라서 목표 웹 페이지에 대응되는 목표 사이트를 인식할 수 있다. 구체적으로, 일부 사이트에는 상응하는 인식 템플릿이 사전 저장되어 있을 수 있으므로 당해 템플릿을 직접 사용하여 키 값 블록에 대응되는 주체 값을 획득할 수 있다.
S140, 이는 키 값 블록 및 키 값 블록에 대응되는 주체 값에 따라 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하는 단계이다.
본 실시예의 키 값 블록 및 그 주체 값에는 복수 S-KV 데이터가 포함될 수 있는 바, 여기서, S는 키 값 블록의 주체 값이고, K는 키 값 블록에서 키 값 쌍의 키 이름이고, V는 키 값 블록에서 키 값 쌍의 키 값이다. S-KV 데이터와 엔티티 관계 데이터 사이에 대응 관계가 존재하므로 목표 웹 페이지 중의 키 값 블록을 해체하고 대응되는 주체 값과 다시 조합하여 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성한다.
선택적으로, 키 값 블록 및 키 값 블록에 대응되는 주체 값에 따라 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하는 단계는, 키 값 블록에 포함되는 각 키 값 쌍을 각각 키 값 블록에 대응되는 주체 값과 조합하여 트리플 데이터를 구축하는 단계; 및 트리플 데이터에 포함되는 키 이름을 주체-객체 관계 값으로 하고 키 이름에 대응되는 키 값을 객체 값으로 하여 엔티티 관계 데이터를 생성하는 단계를 포함할 수 있다.
예시적으로, 하나의 키 값 쌍과 이가 속하는 키 값 블록에 대응되는 주체 값을 조합한 후, 하나의 SPO 트리플 데이터로 구축할 수 있는 바, 여기서, 키 값 쌍이 속하는 키 값 블록에 대응되는 주체 값을 당해 SPO 트리플 데이터 중의 S, 즉 엔티티 관계 데이터 중의 주체 값으로 하고, 키 값 쌍의 키 이름을 SPO 트리플 데이터 중의 P, 즉 엔티티 관계 데이터 중의 엔티티 관계 값으로 하고, 키 값 쌍의 키 값을 SPO 트리플 데이터 중의 O, 즉 엔티티 관계 데이터 중의 객체 값으로 하여 엔티티 관계 데이터를 최종 생성한다.
본 실시예의 기술안은, 목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하고, 당해 웹 페이지 소스 코드 데이터에 포함되는 적어도 하나의 키 값 블록 및 각 키 값 블록에 대응되는 주체 값을 인식하고, 각 키 값 블록 및 이에 대응되는 주체 값에 따라 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하는 바, 이는 웹 페이지 소스 코드 데이터로부터 엔티티 관계를 인식하는 것이므로 웹 페이지 유형, 웹 페이지 구조, 사이트 등의 제한을 받지 않게 되고, 또한 자동으로 웹 페이지에 대하여 엔티티 관계 데이터의 추출을 진행할 수 있으므로 인력을 통한 유지가 과도하게 필요하지 않게 되고,.동시에, 엄청난 양의 인터넷 웹 페이지로부터 추출을 진행하여 방대한 규모의 엔티티 관계 데이터을 획득할 수 있는 것으로, 웹 페이지 호환성을 향상하고 인건비를 저감하며 엔티티 관계 데이터의 산출량을 향상시킨다.
상술한 실시예에 기초하여 선택적으로, 상술한 목표 키 값 블록에 대한 다섯 가지 주체 값 인식 방식으로부터 임의로 하나 또는 복수의 방식을 선택하여 주체 값 인식을 진행할 수 있는 바, 여기서, 만약 복수 가지 방식을 적용하여 인식을 진행한다면 당해 복수 가지 방식을 일정한 순차에 따라 조합한 후 종합 인식을 진행하여 주체 값의 인식 정확률 및 성공률을 향상할 수 있다. 예컨대, 이러한 다섯 가지의 방식으로 조합을 진행한 후, 도1d에 도시한 바와 같은 흐름을 적용하여 키 값 블록의 주체 값을 인식한다. 구체 인식 순차는, 엔티티 페이지에 기반하는 주체 값 인식, 스트롱 스타일 노드에 기반하는 주체 값 인식, 화이트 리스트에 기반하는 주체 값 인식, 조회식에 기반하는 주체 값 인식 및 사이트 템플릿에 기반하는 주체 값 인식이다. 엔티티 페이지에 대하여서는, 제1 종류의 인식 방식만을 적용하여 주체 값 인식을 진행할 수 있는 바, 만약 주체 값이 인식되었다면 대응되는 결과를 출력하고, 만약 주체 값이 인식되지 않았다면 직접으로 출력이 없는 바, 즉 당해 키 값 블록의 주체 값 인식이 성공하지 못함을 결정한다. 비 엔티티 페이지 중의 주체 값 인식에 대하여서는, 제1 종류의 인식 방식 이외의 하나의 인식 방식이라도 주체 값을 인식하였다면, 즉 인식 결과가 있다면, 당해 결과를 출력하고, 아니라면, 계속하여 다음 인식 방식을 적용하여 인식을 진행하는 바, 확실히 주체 값을 인식하지 못하였다고 최종 결정될 때에야 당해 키 값 블록의 주체 값 인식이 성공하지 못함을 결정한다.
실시예2
도2 a는 본 발명의 실시예2에 의해 제공되는 엔티티 관계 데이터 생성 방법의 개략적인 흐름도인 바, 본 실시예는 상술한 실시예에 기초하여 구체화된다. 본 실시예에서, 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록을 인식하는 단계는 나아가, 기초 파싱 도구를 적용하여 웹 페이지 소스 코드 데이터를 데이터 파싱하여 적어도 하나의 기초 키 값 쌍을 획득하여 키 값 쌍 집합에 추가하는 단계; 기초 키 값 쌍을 키 값 쌍 확장하여 적어도 하나의 확장 키 값 쌍을 획득하여 키 값 쌍 집합에 추가하는 단계; 및 키 값 쌍 집합에 포함되는 키 값 쌍을 병합 처리하여 적어도 하나의 키 값 블록을 획득하는 단계를 포함하는 것으로 최적화된다.
상응하게, 본 실시예의 방법은, 이하의 단계를 포함한다.
S210, 이는 목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하는 단계이다.
S220, 이는 기초 파싱 도구를 적용하여 웹 페이지 소스 코드 데이터를 데이터 파싱하여 적어도 하나의 기초 키 값 쌍을 획득하여 키 값 쌍 집합에 추가하는 단계이다.
여기서, 기초 파싱 도구는 KV 파싱 도구일 수가 있는 바, 목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터에 대한 데이터 파싱을 진행하는 목적은, 여기에 포함되는 적어도 하나의 키 값 쌍을 획득하여 이를 기초 키 값 쌍으로 하여 선설정된 키 값 쌍 집합에 추가하려는데 있다.
예시적으로, 일부 파싱 도구가 웹 페이지 소스 코드 데이터 중에서 일부 KV 유형에 부합되는 데이터에 대하여 자동 인식이 가능하므로 우선 기초 파싱 도구를 사용하여 목표 웹 페이지에 포함되는 키 값 쌍에 대하여 초벌 인식한다.
실제 예를 하나 들면, mars파싱 도구를 사용하여 ulpack 데이터에 대한 파싱을 진행하여 파싱 결과 중의 웹 페이지 내의 KV 형식에 대하여 설명하는 텍스트 데이터거나 또는 파싱 결과 중의 간단한 <table> 태그에 대응되는 텍스트 데이터를 취출하여 이를 기초 키 값 쌍으로 할 수 있다.
S230, 이는 기초 키 값 쌍을 키 값 쌍 확장하여 적어도 하나의 확장 키 값 쌍을 획득하여 키 값 쌍 집합에 추가하는 단계이다.
본 실시예에서, 기초 파싱 도구는 일정한 국한성을 가지므로 데이터 파싱 결과로부터 획득 가능한 키 값 쌍은 유한한 것인 바, 따라서 획득한 기초 키 값 쌍을 기초로, 또한 더 나아가 목표 웹 페이지에 포함되는 기타 키 값 쌍에 대하여 인식을 진행하는 것이 필요하다.
여기서, 키 값 쌍을 확충하는 목적은, 기초 파싱 도구가 파싱할 수 없는 내용을 찾아오는데 있는 바, 여기서 키 값 쌍을 확충하는 방식은, 파싱 결과에서와 동일한 xpath를 구비하는 KV 유형의 텍스트에 대한 확충, 및 특정 HTML 태그 중의 KV 유형의 텍스트에 대한 확충 등을 포함하나 이에 한정되지 않는다.
선택적으로, 기초 키 값 쌍을 키 값 쌍 확장하여 적어도 하나의 확장 키 값 쌍을 획득하여 키 값 쌍 집합에 추가하는 단계는, 웹 페이지 소스 코드 데이터에서 기초 키 값 쌍에 매칭되는 기초 노드의 기초 xpath를 획득하고 xpath가 기초 xpath와 동일한 확장 노드를 검색하는 단계; 확장 노드에 대응되는 텍스트 데이터를 획득하여 이를 확장 키 값 쌍으로 하는 단계; 및/또는, 웹 페이지 소스 코드 데이터에서 기초 키 값 쌍에 매칭되는 기초 노드의 기초 html 태그를 획득하는 단계; 기초 html 태그에 따라 적어도 하나의 확장 html 태그를 결정하고
Figure pat00001
웹 페이지 소스 코드 데이터에서, 확장 html 태그에 매칭되는 확장 노드를 검색하는 단계; 확장 노드에 대응되는 텍스트 데이터를 획득하여 이를 확장 키 값 쌍으로 하는 단계를 포함할 수 있다.
제1 종류의 방식에서, 이미 인식된 기초 키 값 쌍이 위치하는 노드와 동일한 xpath 하에서 기타 키 값 쌍을 인식하는 확률이 보다 높으므로, 기초 키 값 쌍이 위치하는 노드와 동일한 xpath 하의 기타 노드에 대응되는 텍스트 데이터를 획득함으로써 키 값 쌍을 확충하고 더 많은 키 값 쌍을 획득할 수 있다.
제2 종류의 방식에서, 매개 웹 페이지 소스 코드 데이터는 복수 html 태그 - 예컨대 <h1> 태그, <strong> 태그, <table> 태그 등-를 포함하므로, 인식된 기초 키 값 쌍에 대응되는 html 태그와 같은, 이러한 유형의 태그 하에 기타 키 값 쌍이 존재하는 확률이 보다 높으며, 따라서, 기초 키 값 쌍에 대응되는 html 태그-즉 기초 html 태그-와 동일한 유형의 태그 하의 모든 매칭되는 노드에 대응되는 텍스트 데이터를 획득하는 것을 통하여 키 값 쌍에 대한 확충을 진행할 수도 있다.
상술한 두 종류의 방식은 단독 택일하여 사용 가능하기도 하고 종합하여 사용 가능하기도 하는 바, 여기서는 한정하지 않기로 한다.
본 실시예의 하나의 선택 가능한 구현 방식에서, 선택적으로, 기초 키 값 쌍을 키 값 쌍 확장하여 적어도 하나의 확장 키 값 쌍을 획득하여 키 값 쌍 집합에 추가하는 단계 이후, 또한 키 값 쌍 집합에 포함되는 키 값 쌍에 대하여 중복 제거 처리를 진행하는 단계를 포함할 수 있다. 구체적으로, 확충하여 얻은 키 값 쌍은 도구로 인식된 키 값 쌍과 중복이 있거나 또는 노드 정보에 충돌이 있을 수 있으므로, 확충 후의 결과에 대하여 통합 중복 제거 처리를 진행하는 것이 필요하다.
하나의 구체적인 예에서, 노드 정보의 충돌은 위치 정보(노드가 웹 페이지에서의 위치)의 충돌 또는 텍스트 정보의 충돌 등을 포함할 수 있다. 예컨대, 도구가 키 값 쌍을 인식할 시 위치 편차가 있어서 인식된 동일한 키 값 쌍에 대응되는 위치 정보에 충돌이 발생할 수 있으며; 또 예컨대, 인식된 두 개 또는 복수의 키 값 쌍에서, 동일한 키 이름이 부동한 키 값에 대응되어 텍스트 정보의 충돌을 초래하기도 한다.
S240, 이는 키 값 쌍 집합에 포함되는 키 값 쌍을 병합 처리하여 적어도 하나의 키 값 블록을 획득하는 단계인 바, 여기서, 키 값 블록은 적어도 하나의 키 값 쌍을 포함한다.
후속의 단계에서 매개 키 값 쌍에 대하여 각각 주체 값을 인식하는 번거로움을 경감하고 엔티티 관계 데이터의 생성 효율을 향상하기 위하여, 본 실시예에서는 인식된 모든 키 값 쌍을 선설정된 병합 규칙에 따라 병합 처리하는 바, 따라서 후속의 주체 값 인식은 키 값 블록을 단위로 인식을 진행하기만 하면 되고, 매개 키 값 블록에 대하여 각각 하나의 주체 값만 인식하면 된다. 구체적으로, 매개 키 값 블록에는 동일한 수량의 키 값 쌍이 배분될 수도 있고 부동한 수량의 키 값 쌍이 배분될 수도 있는 바, 여기서는 한정하지 않기로 한다.
선택적으로, 키 값 쌍 집합에 포함되는 키 값 쌍을 병합 처리하여 적어도 하나의 키 값 블록을 획득하는 단계는, 키 값 쌍 집합 중의 키 값 쌍이 목표 웹 페이지에서의 페이지 위치를 위치 결정하는 단계; 및 페이지 위치가 연속되는 적어도 두 개의 키 값 쌍을 병합하여 동일한 하나의 키 값 블록에 추가하는 단계를 포함할 수 있다.
예시적으로, 목표 웹 페이지에서 키 값 쌍이 위치하는 페이지 위치가 연속되는, 즉, 키 값 쌍이 위치하는 페이지 위치 사이에 기타 텍스트가 포함되지 않은 복수의 키 값 쌍을 하나의 키 값 블록으로 병합할 수 있다. 매개 웹 페이지로부터 하나 또는 복수의 키 값 블록을 병합하여 얻을 수 있는 바, 여기서, 키 값 쌍을 가장 많이 포함하는 키 값 블록이 메인 키 값 블록이다.
선택적으로, 키 값 쌍 집합에 포함되는 키 값 쌍을 병합 처리하여 적어도 하나의 키 값 블록을 획득하는 단계 이후, 키 값 쌍 필터링 규칙에 따라 적어도 하나의 키 값 블록에 포함되는 키 값 쌍을 필터링 처리하는 단계; 및 키 값 블록 필터링 규칙에 따라 적어도 하나의 키 값 블록을 필터링 처리하는 단계를 더 포함할 수 있다.
예시적으로, 키 값 필터링는 두 개 입도를 포함할 수 있는 바, 각각 키 값 쌍 입도와 키 값 블록 입도이다. 구체적으로, 우선 키 값 쌍 입도로 필터링하고, 키 값 블록 입도로 필터링할 수 있다. 필터링하는 유익한 효과는, 일부 무효한 키 값 쌍 또는 키 값 블록을 삭제할 수 있는 바, 이로써 엔티티 관계 데이터의 유효성과 신뢰성을 향상시킨다.
여기서, 키 값 쌍 입도에 따른 필터링는, 주요하게는 키 값 쌍의 길이, 텍스트 유형 및 그 중의 부호에 따라 필터링하는 것인 바, 예컨대, 키 값 쌍 중에서 키 이름이 너무 길거나 또는 키 값이 너무 긴 키 값 쌍은 무효 키 값 쌍으로 간주할 수 있는 바, 따라서 필터링가 필요한 것이고, 또 예하면, 키 값 쌍에 대응되는 텍스트가 인식할 수 없는 부호를 포함하거나, 또는 전부 부호이거나 하면, 이를 무효 키 값 쌍으로 간주하여야 한다.
이 외에 키 값 블록 입도에 따른 필터링는, 주요하게는 키 값 블록 중에서 엔티티 관계 의미가 없는 키 값 블록을 필터링하여 버리기 위한 것인 바, 예컨대, ‘친절한 알림: ×××’등의 실질적 의미가 없는 키 값 블록, 또 예하면, ‘기술 능력A: ×××’등 명사 해석류의 텍스트이다.
하나의 실시예에서, 키 값 블록에 대하여 인식하는 전체 처리 과정은 도2b에 도시한 바와 같은 흐름도에 따라 진행될 수 있는 바, 우선, mars 파싱 도구를 이용하여 웹 페이지 내용을 파싱하고, 파싱한 KV 데이터 및 웹 페이지 정보에 따라 KV의 확충, 중복 제거, 분할 및 필터링하고 최종의 웹 페이지 내의 유효 KV 데이터를 산출하여 KV 블록을 단위로 출력하는 바, 여기서 KV 블록의 분할은 바로 키 값 쌍의 병합이다.
S250, 이는 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계이다.
S260, 이는 키 값 블록 및 키 값 블록에 대응되는 주체 값에 따라 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하는 단계이다.
본 실시예의 기술안은, 획득된 목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 데이터 파싱하고, 적어도 하나의 기초 키 값 쌍을 획득하고, 기초 파싱 도구을 이용하여 획득한 기초 키 값 쌍을 키 값 쌍 확충하고, 기초 키 값 쌍 및 확충으로 획득한 확충 키 값 쌍을 모두 키 값 쌍 집합에 추가하고, 당해 키 값 쌍 집합에 포함되는 키 값 쌍을 병합 처리하여 적어도 하나의 키 값 블록을 획득하고, 마지막으로, 웹 페이지 소스 코드 데이터에서 인식되고 당해 적어도 하나의 키 값 블록에 대응되는 주체 값을 결합하여 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하는 바, 웹 페이지 소스 코드 데이터를 파싱하여 획득한 기초 키 값 쌍 및 당해 기초 키 값 쌍에 기반하는 확충으로 획득한 확충 키 값 쌍을 이용하여 매개 웹 페이지가 모두 더 많은 키 값 쌍을 획득할 수 있도록 하고, 이로써 엄청난 양의 인터넷 웹 페이지로부터 방대한 규모의 엔티티 관계 데이터를 획득하는 것을 구현하는 바, 이는 핫한 엔티티 검색 추천 수요를 만족시킬 수 있을뿐만 아니라, 롱-테일 엔티티에 대한 커버 문제도 잘 해결하게 된다.
상술한 각 실시예에 기초하여 최종 생성된 엔티티 관계 데이터의 유효성를 향상하기 위하여, 획득한 키 값 블록 및 이에 대응되는 주체 값을 필터링할 수 있다. 선택적으로, 웹 페이지 소스 코드 데이터에서, 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계 이후, 적어도 하나의 통계 검증 템플릿 및 적어도 하나의 규칙 검증 템플릿 중 적어도 하나를 적용하여 적어도 하나의 키 값 블록에 대응되는 주체 값에 따라 적어도 하나의 키 값 블록을 필터링하는 단계를 더 포함할 수 있다.
예시적으로, 키 값 블록에 대한 필터링는 상위에서 발생하는 키 값 블록 및 이에 대응되는 주체 값에 대하여 품질 제어를 하는 것으로, 주요하게는 통계에 기반하는 검증 및 규칙에 기반하는 검증, 두 종류의 방식을 포함하는 바, 여기서 조건에 부합되지 않는 데이터를 필터링하여 고품질의 키 값 블록을 출력한다.
구체적으로, 통계 검증 템플릿은 주요하게는 단일한 페이지 정보에 있어서 해결하기 어려운 오류를 필터링하기 위한 것으로, 키 값 쌍과 키 값 블록 두 개 입도로 각각 통계 필터링할 수 있다. 이 외에 규칙 검증 템플릿은 주요하게는 인위적으로 설정된 규칙을 기반으로 하는 것으로, S-KV 데이터, 즉 키 값 쌍(또는 키 값 블록) 및 그에 대응되는 주체 값에 대하여 처리를 진행하고 S 및 KV를 각각 필터링한다.
선택적으로, 또한, 목표 웹 페이지의 유니폼 리소스 로케이터에 대응되는 목표 사이트 중의 각각의 웹 페이지로부터, 인식된 키 값 블록에 대응되는 주체 값을 각각 획득하여 처리 주체 값으로 하는 단계; 만약 xpath가 동일한 목표 처리 주체 값의 수량이 제1 수량 역치 목표 주체 값에 따른 xpath 및 목표 주체 값에 각각 대응되는 키 값 블록을 초과한다면 적어도 하나의 대안 통계 검증 템플릿을 구축하는 단계; 대안 통계 검증 템플릿에 각각 대응되는 키 값 블록을 획득하는 단계; 만약 하나의 목표 대안 통계 검증 템플릿에 대응되는 복수의 키 값 블록에서 동일한 키 값 블록의 수량이 제2 수량 역치를 초과한다면 대안 통계 검증 템플릿에서 당해 목표 대안 통계 검증 템플릿을 삭제하여 통계 검증 템플릿을 획득하는 단계를 포함할 수 있다.
예시적으로, 통계 검증 템플릿은, 두 개 검증 단계를 통하여 구축될 수 있는 것으로, 제1 단계는, 사이트-S xpath 레벨 통계 검증인 바, 즉 URL가 위치하는 사이트 및 당해 URL가 인식하는 주체 값의 xpath를 key로하여 머징(merging)을 진행하고 머징 결과를 기반으로 복수 초기 템플릿을 수립하여 실제의 S-KV 인식 결과를 각각의 초기 템플릿에 매칭하고 조건을 만족하지 않는 초기 템플릿을 필터링하는 바, 즉, 대안 통계 검증 템플릿을 획득하는 것이고; 제2 단계는, S xpath-KV 블록 레벨 통계 검증 템플릿인 바, 즉, 대안 통계 검증 템플릿에 기초하여, S xpath, 즉, 주체 값의 xpath, 그리고 대응되는 KV 블록의 xpath, 즉, 키 값 블록의 xpath를 key로 하여 머징을 진행하고, 머징 후, 복수 URL下KV完全동일한 템플릿, 즉, 최종 획득한 통계 검증 템플릿을 삭제한다. 최종 획득한 통계 검증 템플릿은 주요하게는 웹 페이지의 사이드바 또는 푸터의 공공 정보에 포함되는 KV 데이터에 대하여 필터링한다.
상술한 각 실시예에 기초하여, 도2 c가 도시하는 바와 같은 하나의 반정형 SPO 데이터 추출 시스템을 구축할 수 있는 바, 당해 시스템은, 전처리 유닛(50), KV 인식 유닛(60), S 인식 유닛(70) 및 S-KV 품질 제어 유닛(80)을 포함한다. 여기서, 전처리 유닛(50)은 입력된 웹 페이지 URL를 전처리하여 웹 페이지 소스 코드 데이터를 획득하기 위한 것이고; KV 인식 유닛(60)은 웹 페이지 소스 코드 데이터 중의 키 값 블록을 인식하기 위한 것이고; S 인식 유닛(70)은 웹 페이지 소스 코드 데이터 중의 주체 값을 인식하기 위한 것이고; S-KV 품질 제어 유닛(80)은 요구에 부합되지 않는 S-KV 데이터를 필터링하여 요구에 부합되는 SPO 트리플 데이터를 출력하기 위한 것이다.
당해 반정형 SPO 데이터 추출 시스템의 목표는, 웹 페이지로부터 KV 형식으로 표시되는 정보를 추출하여 트리플 형식의 데이터로 정리하는 시스템을 구현하려는 것이다. 즉, 하나의 목표 웹 페이지의 URL을 입력으로 제공할 시, 본 시스템은 이러한 목표 웹 페이지에서 더블 형식으로 식별된 엔티티 관계(P) 및 엔티티 속성 값(O)에 대하여 대응되는 엔티티(S)를 인식하고 이를 SPO 트리플의 형식으로 출력함으로써, 임의 유형의 웹 페이지 중의 SPO 데이터, 즉 엔티티 관계 데이터의 자동 추출을 구현한다. 도2c에 도시한 바와 같이, URL이 입력된 후, 반정형 SPO 데이터 추출 시스템을 거치고, 상응하는 외부 데이터, 예컨대 전처리 과정에 필요하는 클릭 표시 로그 및 사이트 템플릿에 기반하는 주체 값 인식 과정에 필요하는 사이트 템플릿 등을 이용하게 되는 바, 대응되는 SPO 트리플 데이터를 최종 획득한다.
실시예3
도3은 본 발명의 실시예3에 의해 제공되는 엔티티 관계 데이터의 생성 장치의 개략적인 구조도이다. 도3을 참조하면, 엔티티 관계 데이터의 생성 장치는, 소스 코드 획득 모듈(310), 키 값 블록 인식 모듈(320), 주체 값 인식 모듈(330) 및 데이터 생성 모듈(340)을 포함하는 바, 아래 각 모듈에 대하여 구체적으로 설명하고자 한다.
소스 코드 획득 모듈(310)은, 목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하기 위한 것이다.
키 값 블록 인식 모듈(320)은, 상기 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록을 인식하기 위한 것이며, 상기 키 값 블록은 적어도 하나의 키 값 쌍을 포함한다.
주체 값 인식 모듈(330)은, 상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하기 위한 것이다
데이터 생성 모듈(340)은, 상기 키 값 블록 및 상기 키 값 블록에 대응되는 주체 값에 따라 상기 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하기 위한 것이다.
본 실시예는 엔티티 관계 데이터의 생성 장치를 제공하는 바, 목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하고, 당해 웹 페이지 소스 코드 데이터에 포함되는 적어도 하나의 키 값 블록 및 각 키 값 블록에 대응되는 주체 값을 인식하고, 각 키 값 블록 및 이에 대응되는 주체 값에 따라 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하는 바, 이는 웹 페이지 소스 코드 데이터로부터 엔티티 관계를 인식하는 것이므로 웹 페이지 유형, 웹 페이지 구조, 사이트 등의 제한을 받지 않게 되고, 또한 자동으로 웹 페이지에 대하여 엔티티 관계 데이터의 추출을 진행할 수 있으므로 인력을 통한 유지가 과도하게 필요하지 않게 되고,.동시에, 엄청난 양의 인터넷 웹 페이지로부터 추출을 진행하여 방대한 규모의 엔티티 관계 데이터을 획득할 수 있는 것으로, 웹 페이지 호환성을 향상하고 인건비를 저감하며 엔티티 관계 데이터의 산출량을 향상시킨다.
선택적으로, 키 값 블록 인식 모듈(320)은,
기초 파싱 도구를 적용하여 상기 웹 페이지 소스 코드 데이터를 데이터 파싱하여 적어도 하나의 기초 키 값 쌍을 획득하여 키 값 쌍 집합에 추가하기 위한 기초 키 값 획득 서브모듈;
상기 기초 키 값 쌍을 키 값 쌍 확장하여 적어도 하나의 확장 키 값 쌍을 획득하여 상기 키 값 쌍 집합에 추가하기 위한 확장 키 값 획득 서브모듈; 및
상기 키 값 쌍 집합에 포함되는 키 값 쌍을 병합 처리하여 상기 적어도 하나의 키 값 블록을 획득하기 위한 키 값 블록 결정 서브모듈을 포함할 수 있다.
선택적으로, 확장 키 값 획득 서브모듈은 구체적으로,
상기 웹 페이지 소스 코드 데이터에서 상기 기초 키 값 쌍에 매칭되는 기초 노드의 기초 xpath를 획득하고 xpath가 상기 기초 xpath와 동일한 확장 노드를 검색하는 단계; 상기 확장 노드에 대응되는 텍스트 데이터를 획득하여 상기 확장 키 값 쌍으로 하는 단계; 및/또는
상기 웹 페이지 소스 코드 데이터에서 상기 기초 키 값 쌍에 매칭되는 기초 노드의 기초 html 태그를 획득하는 단계; 상기 기초 html 태그에 따라 적어도 하나의 확장 html 태그를 결정하고 상기 웹 페이지 소스 코드 데이터에서 상기 확장 html 태그에 매칭되는 확장 노드를 검색하는 단계; 상기 확장 노드에 대응되는 텍스트 데이터를 획득하여 상기 확장 키 값 쌍으로 하는 단계에 사용될 수 있다.
선택적으로, 키 값 블록 결정 서브모듈은 구체적으로,
상기 키 값 쌍 집합 중의 키 값 쌍이 상기 목표 웹 페이지에서의 페이지 위치를 위치 결정하는 단계; 및
페이지 위치가 연속되는 적어도 두 개의 키 값 쌍을 병합하여 동일한 하나의 키 값 블록에 추가하는 단계에 사용될 수 있다.
선택적으로, 키 값 블록 인식 모듈(320)은,
상기 키 값 쌍 집합에 포함되는 키 값 쌍을 병합 처리하여 상기 적어도 하나의 키 값 블록을 획득하는 단계 이후, 키 값 쌍 필터링 규칙에 따라 상기 적어도 하나의 키 값 블록에 포함되는 키 값 쌍을 필터링 처리하기 위한 키 값 쌍 필터링 서브모듈; 및
키 값 블록 필터링 규칙에 따라 상기 적어도 하나의 키 값 블록을 필터링 처리하기 위한 키 값 블록 필터링 서브모듈을 더 포함할 수 있다.
선택적으로, 주체 값 인식 모듈(330)은 구체적으로,
만약 현재 처리하는 목표 키 값 블록이 메인 키 값 블록이고, 상기 웹 페이지 소스 코드 데이터에 제1 태그 조건을 만족하는 엔티티 페이지 노드가 포함된다고 결정될 경우, 엔티티 페이지 평점 규칙에 따라 상기 목표 웹 페이지가 엔티티 페이지인지 여부를 판단하는 단계; 및
“예”의 경우 상기 엔티티 페이지 노드에 대응되는 텍스트 데이터를 상기 목표 키 값 블록의 주체 값으로 하는 단계;
-여기서, 상기 메인 키 값 블록은 상기 웹 페이지 소스 코드 데이터에 대응되는 적어도 하나의 키 값 블록에서 포함되는 키 값 쌍의 수량이 최대인 하나의 키 값 블록임-에 사용될 수 있다.
선택적으로, 주체 값 인식 모듈(330)은 구체적으로,
현재 처리하는 목표 키 값 블록의 상기 목표 웹 페이지에서의 페이지 위치에 따라 상기 웹 페이지 소스 코드 데이터에서 제2 태그 조건을 만족하는 스트롱 스타일 노드를 앞방향으로 검색하는 단계; 및
만약 상기 스트롱 스타일 노드가 검색?고 상기 스트롱 스타일 노드의 xpath가 상기 목표 키 값 블록에 대응되는 xpath와 불일치할 경우, 상기 스트롱 스타일 노드에 대응되는 텍스트 데이터를 상기 목표 키 값 블록의 주체 값으로 하는 단계에 사용될 수 있다.
선택적으로, 주체 값 인식 모듈(330)은 구체적으로,
현재 처리하는 목표 키 값 블록에 포함되는 키 값 쌍의 키 이름을 설정된 화이트 리스트에 매칭하는 단계; 및
만약 상기 목표 키 값 블록에 포함되는 목표 키 이름이 상기 화이트 리스트에 매칭되면 상기 목표 키 이름에 대응되는 목표 키 값을 획득하여 상기 목표 키 값 블록의 주체 값으로 하는 단계에 사용될 수 있다.
상기 엔티티 관계 데이터의 생성 장치는,
목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하는 단계 이후, 검색 엔진의 클릭 표시 로그에서 상기 목표 웹 페이지의 유니폼 리소스 로케이터에 대응되는 적어도 하나의 조회식을 획득하고 획득된 상기 적어도 하나의 조회식을 상기 웹 페이지 소스 코드 데이터에 연관시키기 위한 조회식 획득 모듈을 더 포함할 수 있다.
상응하게, 주체 값 인식 모듈(330)은,
만약 현재 처리하는 목표 키 값 블록이 메인 키 값 블록이라고 결정될 경우, 상기 웹 페이지 소스 코드 데이터에 연관되는 상기 적어도 하나의 조회식 중의 각각의 분할 단어의 단어 빈도에 따라 목표 분할 단어를 결정하기 위한 분할 단어 결정 서브모듈;
상기 웹 페이지 소스 코드 데이터에서 텍스트 데이터 및 상기 목표 분할 단어가 유사도 조건을 만족하는 적어도 하나의 조회식 노드를 찾기 위한 노드 찾기 서브모듈; 및
만약 검색된 조회식 노드의 xpath가 현재 처리하는 목표 키 값 블록에 대응되는 xpath와 동일하지 않고 상기 목표 웹 페이지에서 상기 조회식 노드의 페이지 위치와 상기 목표 키 값 블록의 페이지 위치가 설정 거리 조건을 만족시킨다면, 상기 조회식 노드의 텍스트 데이터를 상기 목표 키 값 블록의 주체 값으로 하기 위한 주체 값 결정 서브모듈을 포함할 수 있다.
선택적으로, 분할 단어 결정 서브모듈은 구체적으로,
상기 적어도 하나의 조회식을 단어 분할하고 각 상기 분할 단어의 단어 빈도를 계산하는 단계;
만약 단어 빈도 계산 결과에 따라 적어도 두 개의 분할 단어가 단어 결합 조건을 만족시킨다고 결정된다면 상기 적어도 두 개의 분할 단어를 결합시켜 새로운 분할 단어를 생성하고 상기 새로운 분할 단어에 대응되는 단어 빈도를 업데이트하는 단계; 및
만약 단어 빈도에 따라 각 분할 단어에 대해 정렬한 결과로 결정되는 제1 순위 분할 단어와 제2 순위 분할 단어 사이의 단어 빈도 차이 값이 단어 빈도 역치 조건을 만족시킨다면 상기 제1 순위 분할 단어를 상기 목표 분할 단어로 하는 단계에 사용될 수 있다.
선택적으로, 주체 값 인식 모듈(330)은 구체적으로,
상기 목표 웹 페이지의 유니폼 리소스 로케이터에 따라 상기 목표 웹 페이지에 대응되는 목표 사이트를 결정하는 단계; 및
미리 저장된 상기 목표 사이트에 대응되는 적어도 하나의 후보 템플릿을 획득하고 상기 후보 템플릿을 통해 현재 처리하는 키 값 블록에 대응되는 주체 값을 인식하는 단계;
-상기 목표 사이트 중의 후보 템플릿은, 상기 목표 사이트의 복수의 웹 페이지를 키 값 쌍 인식한 후, 인식 결과를 통해 생성된 것임-에 사용될 수 있다.
선택적으로, 엔티티 관계 데이터의 생성 장치는, 템플릿 필터링 모듈을 더 포함할 수 있다.
템플릿 필터링 모듈은 상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계 이후, 적어도 하나의 통계 검증 템플릿 및 적어도 하나의 규칙 검증 템플릿 중 적어도 하나를 적용하여 상기 적어도 하나의 키 값 블록에 대응되는 주체 값에 따라 상기 적어도 하나의 키 값 블록을 필터링하기 위한 것이다.
선택적으로, 엔티티 관계 데이터의 생성 장치는, 하기의 모듈을 더 포함할 수 있다.
주체 값 획득 모듈은 상기 목표 웹 페이지의 유니폼 리소스 로케이터에 대응되는 목표 사이트 중의 각각의 웹 페이지로부터, 인식된 키 값 블록에 대응되는 주체 값을 각각 획득하여 처리 주체 값으로 하기 위한 것이다.
템플릿 구축 모듈은 만약 xpath가 동일한 목표 처리 주체 값의 수량이 제1 수량 역치를 초과할 경우, 상기 목표 주체 값에 따른 xpath에 따라, 상기 목표 주체 값에 각각 대응되는 키 값 블록에 따라, 적어도 하나의 대안 통계 검증 템플릿을 구축하기 위한 것이다.
키 값 블록 획득 모듈은 대안 통계 검증 템플릿에 각각 대응되는 키 값 블록을 획득하기 위한 것이다.
템플릿 결정 모듈은 만약 하나의 목표 대안 통계 검증 템플릿에 대응되는 복수의 키 값 블록에서 동일한 키 값 블록의 수량이 제2 수량 역치를 초과한다면 상기 대안 통계 검증 템플릿에서 당해 목표 대안 통계 검증 템플릿을 삭제하여 상기 통계 검증 템플릿을 획득하기 위한 것이다.
선택적으로, 데이터 생성 모듈(340)는 구체적으로,
상기 키 값 블록에 포함되는 각 키 값 쌍을 각각 상기 키 값 블록에 대응되는 주체 값과 조합하여 트리플 데이터를 구축하며,
상기 트리플 데이터에 포함되는 키 이름을 주체-객체 관계 값으로 하고 키 이름에 대응되는 키 값을 객체 값으로 하여 상기 엔티티 관계 데이터를 생성하는 단계에 사용될 수 있다.
상술한 제품은 본 발명의 임의 실시예에 의해 제공되는 방법을 실행할 수 있는 바, 실행 방법에 대응되는 기능 모듈 및 유익한 효과를 구비한다.
실시예4
도4는 본 발명의 실시예4에 의해 제공되는 컴퓨터 기기의 개략적인 구조도이다. 도4는 본 발명의 구현 방식을 구현하기에 적합한 예시적 컴퓨터 기기(12)의 블록도를 도시한다. 도4가 표시하는 컴퓨터 기기(12)는 하나의 예시일 뿐, 본 발명의 실시예의 기능과 사용 범위에 대하여 어떠한 제한을 주어서도 안된다.
도4에 도시한 바와 같이, 컴퓨터 기기(12)는 범용 컴퓨팅 기기의 형식으로 표현된다. 컴퓨터 기기(12)의 컴포넌트는 하나 또는 복수의 프로세서 또는 처리 유닛(16), 시스템 메모리(28), 부동한 시스템 컴포넌트(시스템 메모리(28)와 처리 유닛(16)을 포함)를 연결하는 버스(18)를 포함할 수 있으나 이에 한정되지 않는다.
버스(18)는 여러 유형의 버스 구조중의 한 가지 또는 여러가지 가지를 표시하는 바, 메모리 버스 또는 메모리 제어기, 주변 버스, 가속 그래픽 포트, 프로세서 또는 복수 가지 버스 구조에서의 임의 버스 구조를 사용하는 로컬 버스를 포함한다. 예를 들면, 이러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 마이크로채널 아키텍처 버스(MAC) 버스, 확장 ISA버스, 비디오 전자공학 표준위원회(VESA) 로컬 버스 및 주변 컴포넌트 상호 연결(PCI) 버스를 포함하나 이에 한정되지 않는다.
컴퓨터 기기(12)는 전형적으로 복수 가지 컴퓨터 시스템 판독 가능 매체를 포함한다. 이러한 매체는 임의의 컴퓨터 기기(12)에 의해 액세스될 수 있는 사용 가능 매체일 수 있는 바, 휘발성 및 비휘발성 매체, 제거 가능한 및 제거 불가능한 매체를 포함할 수 있다.
시스템 메모리(28)는 휘발성 메모리 형식의 컴퓨터 시스템 판독 가능 매체, 예컨대 랜덤 액세스 메모리(RAM)(30) 및/또는 캐시 메모리(32)를 포함할 수 있다. 컴퓨터 기기(12)는 기타 제거 가능한/제거 불가능한, 휘발성/비휘발성 컴퓨터 시스템 저장 매체를 나아가 더 포함할 수 있다. 그냥 예로 들면, 저장 시스템(34)은 제거 불가능한, 비휘발성 자기 매체(도4에 미도시, 통상적으로는 ’하드 디스크 드라이브’임)에 대해 판독 및 기록하기 위한 것일 수 있다. 비록 도4에는 미도시하였지만, 제거 가능한 비휘발성 자기 디스크(예컨대 ‘플로피 디스크’)에 대해 판독 및 기록하기 위한 자기 디스크 드라이브, 그리고 제거 가능한 비휘발성 광디스크(예컨대 CD-ROM, DVD-ROM 또는 기타 광 매체)에 대해 판독 및 기록하기 위한 광디스크 드라이브가 제공될 수 있다. 이러한 상황에서, 매개 드라이브는 하나 또는 복수의 데이터 매체 인터페이스를 통해 버스(18)와 상호 연결될 수 있다. 메모리(28)는 프로그램 제품을 적어도 하나 포함할 수 있는 바, 당해 프로그램 제품은 한 그룹(예컨대 적어도 하나)의 프로그램 모듈을 구비하는 바, 이러한 프로그램 모듈은 본 발명의 각 실시예의 기능을 실행하도록 구성된다.
한 그룹(적어도 하나)의 프로그램 모듈(42)을 구비하는 프로그램/유틸리티 도구(40)는 예컨대 메모리(28)에 저장될 수 있는 바, 이러한 프로그램 모듈(42)은 운영 체제, 하나 또는 복수 응용 프로그램, 기타 프로그램 모듈 및 프로그램 데이터를 포함하나 이에 한정되지 않고, 이러한 예시에서의 매 한 개 또는 일종의 조합에는 네트워크 환경의 구현이 포함될 수 있다. 프로그램 모듈(42)은 통상적으로 본 발명에서 설명된 실시예 중의 기능 및/또는 방법을 실행한다.
컴퓨터 기기(12)는 하나 또는 복수의 주변 기기(14)(예컨대 키보드, 위치 지정 도구, 디스플레이(24) 등)와 통신할 수도 있고, 또한 하나 또는 복수 사용자가 당해 컴퓨터 기기(12)와 인터렉션 가능하도록 하는 기기와 통신할 수도 있고, 및/또는 당해 컴퓨터 기기(12)가 하나 또는 복수 기타 컴퓨팅 기기와 통신을 진행할 수 있도록 하는 임의 기기(예컨대 네트워크 카드, 모뎀 등)와 통신할 수도 있다. 이러한 통신은 입력/출력(I/O) 인터페이스(22)를 통해 진행할 수 있다. 그리고, 컴퓨터 기기(12)는 또한 네트워크 어댑터(20)를 통해 하나 또는 복수의 네트워크(예컨대 근거리 통신망(LAN), 광역 통신망(WAN) 및/또는 공용 네트워크, 예컨대 인터넷)와 통신할 수 있다. 도시한 바와 같이, 네트워크 어댑터(20)는 버스(18)를 통해 컴퓨터 기기(12)의 기타 모듈과 통신한다. 알아야 할 것은, 비록 도시되지 않았지만, 컴퓨터 기기(12)에 결합하여 기타 하드웨어 및/또는 소프트웨어 모듈를 사용할 수 있는 바, 마이크로코드, 기기 드라이버, 리던던트 처리 유닛, 외장 자기 디스크 드라이브 어레이, RAID 시스템, 자기 테이프 드라이브 및 데이터 백업 저장 시스템 등이 포함되나 이에 한정되지 않는다.
처리 유닛(16)은 시스템 메모리(28)에 저장되어 있는 프로그램을 작동시키는 것을 통해 각 종 기능 애플리케이션 및 데이터 처리를 실행하는 바, 예컨대 본 발명의 실시예에 의해 제공되는 엔티티 관계 데이터 생성 방법인, 목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하는 단계; 상기 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록을 인식하는 단계 -상기 키 값 블록은 적어도 하나의 키 값 쌍을 포함함 -; 상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계; 및 상기 키 값 블록 및 상기 키 값 블록에 대응되는 주체 값에 따라 상기 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하는 단계를 구현한다.
실시예5
본 발명의 실시예5는 컴퓨터 판독 가능 저장 매체를 제공하고, 이에는 컴퓨터 프로그램이 저장되는 바, 당해 프로그램이 프로세서에 의해 실행될 시, 본 출원의 모든 발명의 실시예에 의해 제공되는 바와 같은 엔티티 관계 데이터 생성 방법인, 목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하는 단계; 상기 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록을 인식하는 단계 - 상기 키 값 블록은 적어도 하나의 키 값 쌍을 포함함 -; 상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계; 및 상기 키 값 블록 및 상기 키 값 블록에 대응되는 주체 값에 따라 상기 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하는 단계를 구현한다.
하나 또는 복수의 컴퓨터 판독 가능한 매체의 임의 조합을 적용할 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 신호 매체 또는 컴퓨터 판독 가능 저장 매체일 수 있다. 컴퓨터 판독 가능 저장 매체는 예컨대 전기, 자기, 광, 전자기, 적외선, 또는 반도체의 시스템, 장치 또는 디바이스, 또는 이들의 임의 조합일수 있으나 이에 한정되지 않는다. 컴퓨터 판독 가능 저장 매체의 더 구체적인 예(불완전 리스트)는, 하나 또는 복수의 도선을 구비하는 전기적 연결, 휴대용 컴퓨터 자기 디스크, 하드 디스크, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 소거 및 프로그램 가능 읽기 전용 메모리(EPROM 또는 플래시 메모리), 광섬유, 휴대용 콤팩트 디스크 읽기 전용 메모리(CD-ROM), 광 저장 디바이스, 자기 저장 디바이스, 또는 상술한 것의 임의의 적합한 조합을 포함한다. 본 문서에서, 컴퓨터 판독 가능 저장 매체는 프로그램을 포함하거나 저장하는, 임의의 유형 매체일 수 있고, 당해 프로그램은 명령어 실행 시스템, 장치 또는 디바이스에 의해 사용되거나 또는 이들과 결합되어 사용될 수 있다.
컴퓨터 판독 가능 신호 매체는 기저대역에서 또는 반송파의 일부분으로 전파되는 데이터 신호를 포함할 수 있고, 컴퓨터 판독 가능 프로그램 코드가 그 중에 탑재되어 있다. 이렇게 전파되는 데이터 신호는 복수 가지 형식을 적용할 수 있는 바, 이는 전자기 신호, 광 신호 또는 상술한 것의 임의의 적합한 조합을 포함하나 이에 한정되지 않는다. 컴퓨터 판독가능 신호 매체는 또한 컴퓨터 판독가능 저장 매체 이외의 임의의 컴퓨터 판독가능 매체일 수 있고, 당해 컴퓨터 판독가능 매체는 명령어 실행 시스템, 장치 또는 디바이스에 의해 사용되거나 또는 이들과 결합되어 사용되는 프로그램을 송신, 전파, 또는 전송할 수 있다.
컴퓨터 판독가능 매체에 포함되는 프로그램 코드는 임의의 적당한 매엔티티를 사용하여 전송할 수 있는 바, 이는 무선, 전선, 광케이블, RF 등, 또는 상술한 임의의 적합한 조합을 포함하나 이에 한정되지 않는다.
한가지 또는 복수 가지 프로그램 설계 언어 또는 그 조합으로 본 발명의 조작을 실행하기 위한 컴퓨터 프로그램 코드를 작성할 수 있고, 상기 프로그램 설계 언어는 Java, Smalltalk, C++와 같은 객체 지향 프로그램 설계 언어를 포함하고, 또한 ‘C’ 언어 또는 이와 유사한 프로그램 설계 언어와 같은 종래의 절차 지향 프로그램 설계 언어도 포함한다. 프로그램 코드는 사용자 컴퓨터에서 전부 실행되거나, 사용자 컴퓨터에서 일부 실행되거나, 하나의 독립적인 소프트웨어 패키지로서 실행되어 일부는 사용자 컴퓨터에서, 일부는 원격 컴퓨터에서 실행되거나, 혹은 원격 컴퓨터에서 또는 서버에서 전부 실행될 수 있다. 원격 컴퓨터와 관련되는 상황에서, 원격 컴퓨터는 근거리 통신망(LAN) 및 광역 통신망(WAN)을 포함하는 임의 유형의 네트워크를 통해 사용자 컴퓨터에 연결되거나 외부 컴퓨터에 연결될 수 있다(예컨대, 인터넷 서비스 제공자를 이용하여 인터넷을 통해 연결된다).
유의하여야 할 것은, 상술한 것은 단지 본 발명의 보다 바람직한 실시예 및 운용된 기술 원리일뿐이다. 당업자라면, 본 발명은 여기 기술된 특정 실시예에 한정되는 것이 아니고, 당업자에게 있어서 본 발명의 보호 범위를 이탈하지 않으면서 복수 가지 분명한 변화, 재조정 및 치환이 진행 가능하다는 것을 이해하게 될 것이다. 때문에 비록 상술의 실시예를 통해 본 발명에 대한 보다 상세한 설명을 진행하였지만 본 발명은 상술한 실시예에만 한정되는 것이 아니며 본 발명의 구상을 이탈하지 않은 상황에서 또한 기타 등가 실시예를 더 많이 포함할 수가 있고, 본 발명의 범위는 첨부된 특허청구범위의 범위에 의해 결정된다.

Claims (17)

  1. 엔티티 관계 데이터 생성 방법에 있어서,
    목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하는 단계;
    상기 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록을 인식하는 단계 - 상기 키 값 블록은 적어도 하나의 키 값 쌍을 포함함 -;
    상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계; 및
    상기 키 값 블록 및 상기 키 값 블록에 대응되는 주체 값에 따라 상기 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하는 단계; 를 포함하는 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 방법.
  2. 제1항에 있어서,
    상기 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록을 인식하는 단계는,
    기초 파싱 도구를 적용하여 상기 웹 페이지 소스 코드 데이터를 데이터 파싱하여 적어도 하나의 기초 키 값 쌍을 획득하여 키 값 쌍 집합에 추가하는 단계;
    상기 기초 키 값 쌍을 키 값 쌍 확장하여 적어도 하나의 확장 키 값 쌍을 획득하여 상기 키 값 쌍 집합에 추가하는 단계; 및
    상기 키 값 쌍 집합에 포함되는 키 값 쌍을 병합 처리하여 상기 적어도 하나의 키 값 블록을 획득하는 단계; 를 포함하는 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 방법.
  3. 제2항에 있어서,
    상기 기초 키 값 쌍을 키 값 쌍 확장하여 적어도 하나의 확장 키 값 쌍을 획득하여 상기 키 값 쌍 집합에 추가하는 단계는,
    상기 웹 페이지 소스 코드 데이터에서 상기 기초 키 값 쌍에 매칭되는 기초 노드의 기초 xpath를 획득하고, xpath가 상기 기초 xpath와 동일한 확장 노드를 검색하고, 상기 확장 노드에 대응되는 텍스트 데이터를 획득하여 상기 확장 키 값 쌍으로 하는 단계; 및/또는
    상기 웹 페이지 소스 코드 데이터에서 상기 기초 키 값 쌍에 매칭되는 기초 노드의 기초 html 태그를 획득하고, 상기 기초 html 태그에 따라 적어도 하나의 확장 html 태그를 결정하고, 상기 웹 페이지 소스 코드 데이터에서 상기 확장 html 태그에 매칭되는 확장 노드를 검색하고, 상기 확장 노드에 대응되는 텍스트 데이터를 획득하여 상기 확장 키 값 쌍으로 하는 단계; 를 포함하는 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 방법.
  4. 제2항에 있어서,
    상기 키 값 쌍 집합에 포함되는 키 값 쌍을 병합 처리하여 상기 적어도 하나의 키 값 블록을 획득하는 단계는,
    상기 키 값 쌍 집합 중의 키 값 쌍이 상기 목표 웹 페이지에서의 페이지 위치를 위치 결정하는 단계; 및
    페이지 위치가 연속되는 적어도 두 개의 키 값 쌍을 병합하여 동일한 하나의 키 값 블록에 추가하는 단계; 를 포함하는 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 방법.
  5. 제2항에 있어서,
    상기 키 값 쌍 집합에 포함되는 키 값 쌍을 병합 처리하여 상기 적어도 하나의 키 값 블록을 획득하는 단계 이후,
    키 값 쌍 필터링 규칙에 따라 상기 적어도 하나의 키 값 블록에 포함되는 키 값 쌍을 필터링 처리하는 단계; 및
    키 값 블록 필터링 규칙에 따라 상기 적어도 하나의 키 값 블록을 필터링 처리하는 단계; 를 더 포함하는 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 방법.
  6. 제1항에 있어서,
    상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계는,
    만약 현재 처리하는 목표 키 값 블록이 메인 키 값 블록이고, 상기 웹 페이지 소스 코드 데이터에 제1 태그 조건을 만족하는 엔티티 페이지 노드가 포함된다고 결정될 경우, 엔티티 페이지 평점 규칙에 따라 상기 목표 웹 페이지가 엔티티 페이지인지 여부를 판단하는 단계; 및
    "예"의 경우, 상기 엔티티 페이지 노드에 대응되는 텍스트 데이터를 상기 목표 키 값 블록의 주체 값으로 하는 단계; 를 포함하고,
    상기 메인 키 값 블록은 상기 웹 페이지 소스 코드 데이터에 대응되는 적어도 하나의 키 값 블록 중 포함되는 키 값 쌍의 수량이 최대인 하나의 키 값 블록인 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 방법.
  7. 제1항에 있어서,
    상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계는,
    현재 처리하는 목표 키 값 블록의 상기 목표 웹 페이지에서의 페이지 위치에 따라, 상기 웹 페이지 소스 코드 데이터에서 제2 태그 조건을 만족하는 스트롱 스타일 노드를 앞방향으로 검색하는 단계; 및
    만약 상기 스트롱 스타일 노드가 검색?고 상기 스트롱 스타일 노드의 xpath가 상기 목표 키 값 블록에 대응되는 xpath와 불일치할 경우, 상기 스트롱 스타일 노드에 대응되는 텍스트 데이터를 상기 목표 키 값 블록의 주체 값으로 하는 단계; 를 포함하는 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 방법.
  8. 제1항에 있어서,
    상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계는,
    현재 처리하는 목표 키 값 블록에 포함되는 키 값 쌍의 키 이름을 설정된 화이트 리스트에 매칭하는 단계; 및
    만약 상기 목표 키 값 블록에 포함되는 목표 키 이름이 상기 화이트 리스트에 매칭되면, 상기 목표 키 이름에 대응되는 목표 키 값을 획득하여 상기 목표 키 값 블록의 주체 값으로 하는 단계; 를 포함하는 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 방법.
  9. 제1항에 있어서,
    목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하는 단계 이후,
    검색 엔진의 클릭 표시 로그에서 상기 목표 웹 페이지의 유니폼 리소스 로케이터에 대응되는 적어도 하나의 조회식을 획득하고, 획득된 상기 적어도 하나의 조회식을 상기 웹 페이지 소스 코드 데이터에 연관시키는 단계, 를 더 포함하고,
    상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계는,
    만약 현재 처리하는 목표 키 값 블록이 메인 키 값 블록이라고 결정될 경우, 상기 웹 페이지 소스 코드 데이터에 연관되는 상기 적어도 하나의 조회식 중의 각 분할 단어의 단어 빈도에 따라 목표 분할 단어를 결정하는 단계;
    상기 웹 페이지 소스 코드 데이터에서 텍스트 데이터 및 상기 목표 분할 단어가 유사도 조건을 만족하는 적어도 하나의 조회식 노드를 검색하는 단계; 및
    만약 검색된 조회식 노드의 xpath가 현재 처리하는 목표 키 값 블록에 대응되는 xpath와 동일하지 않고, 상기 목표 웹 페이지에서 상기 조회식 노드의 페이지 위치와 상기 목표 키 값 블록의 페이지 위치가 설정 거리 조건을 만족시킨다면, 상기 조회식 노드의 텍스트 데이터를 상기 목표 키 값 블록의 주체 값으로 하는 단계; 를 포함하는 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 방법.
  10. 제9항에 있어서,
    상기 웹 페이지 소스 코드 데이터에 연관되는 상기 적어도 하나의 조회식 중의 각 분할 단어의 단어 빈도에 따라 목표 분할 단어를 결정하는 단계는,
    상기 적어도 하나의 조회식을 단어 분할하고, 각 상기 분할 단어의 단어 빈도를 계산하는 단계;
    만약 단어 빈도 계산 결과에 따라 적어도 두 개의 분할 단어가 단어 결합 조건을 만족시킨다고 결정된다면, 상기 적어도 두 개의 분할 단어를 결합시켜 새로운 분할 단어를 생성하고, 상기 새로운 분할 단어에 대응되는 단어 빈도를 업데이트하는 단계; 및
    만약 단어 빈도에 따라 각 분할 단어에 대해 정렬한 결과로 결정되는 제1 순위 분할 단어와 제2 순위 분할 단어 사이의 단어 빈도 차이 값이 단어 빈도 역치 조건을 만족시킨다면, 상기 제1 순위 분할 단어를 상기 목표 분할 단어로 하는 단계; 를 포함하는 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 방법.
  11. 제1항에 있어서,
    상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계는,
    상기 목표 웹 페이지의 유니폼 리소스 로케이터에 따라 상기 목표 웹 페이지에 대응되는 목표 사이트를 결정하는 단계;
    미리 저장된 상기 목표 사이트에 대응되는 적어도 하나의 후보 템플릿을 획득하고, 상기 후보 템플릿을 통해 현재 처리하는 키 값 블록에 대응되는 주체 값을 인식하는 단계; 를 포함하고,
    상기 목표 사이트 중의 후보 템플릿은, 상기 목표 사이트의 복수의 웹 페이지를 키 값 쌍 인식한 후, 인식 결과를 통해 생성된 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하는 단계 이후,
    적어도 하나의 통계 검증 템플릿 및 적어도 하나의 규칙 검증 템플릿 중 적어도 하나를 적용하여, 상기 적어도 하나의 키 값 블록에 대응되는 주체 값에 따라 상기 적어도 하나의 키 값 블록을 필터링하는 단계, 를 더 포함하는 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 방법.
  13. 제12항에 있어서,
    상기 엔티티 관계 데이터 생성 방법은,
    상기 목표 웹 페이지의 유니폼 리소스 로케이터에 대응되는 목표 사이트 중의 각각의 웹 페이지로부터, 인식된 키 값 블록에 대응되는 주체 값을 각각 획득하여 처리 주체 값으로 하는 단계;
    만약 xpath가 동일한 목표 처리 주체 값의 수량이 제1 수량 역치를 초과할 경우, 상기 목표 주체 값에 따른 xpath에 따라, 상기 목표 주체 값에 각각 대응되는 키 값 블록에 따라, 적어도 하나의 대안 통계 검증 템플릿을 구축하는 단계;
    대안 통계 검증 템플릿에 각각 대응되는 키 값 블록을 획득하는 단계;
    만약 하나의 목표 대안 통계 검증 템플릿에 대응되는 복수의 키 값 블록 중 동일한 키 값 블록의 수량이 제2 수량 역치를 초과한다면, 상기 대안 통계 검증 템플릿에서 당해 목표 대안 통계 검증 템플릿을 삭제하여 상기 통계 검증 템플릿을 획득하는 단계; 를 포함하는 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 방법.
  14. 제1항에 있어서,
    상기 키 값 블록 및 상기 키 값 블록에 대응되는 주체 값에 따라 상기 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하는 단계는,
    상기 키 값 블록에 포함되는 각 키 값 쌍을 각각 상기 키 값 블록에 대응되는 주체 값과 조합하여 트리플 데이터를 구축하는 단계; 및
    상기 트리플 데이터에 포함되는 키 이름을 주체-객체 관계 값으로 하고, 키 이름에 대응되는 키 값을 객체 값으로 하여 상기 엔티티 관계 데이터를 생성하는 단계; 를 포함하는 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 방법.
  15. 엔티티 관계 데이터 생성 장치에 있어서,
    목표 웹 페이지에 대응되는 웹 페이지 소스 코드 데이터를 획득하기 위한 소스 코드 획득 모듈;
    상기 웹 페이지 소스 코드 데이터에서 적어도 하나의 키 값 블록을 인식하기 위한 키 값 블록 인식 모듈 - 상기 키 값 블록은 적어도 하나의 키 값 쌍을 포함함 -;
    상기 웹 페이지 소스 코드 데이터에서 상기 적어도 하나의 키 값 블록에 대응되는 주체 값을 인식하기 위한 주체 값 인식 모듈; 및
    상기 키 값 블록 및 상기 키 값 블록에 대응되는 주체 값에 따라 상기 목표 웹 페이지에 대응되는 엔티티 관계 데이터를 생성하기 위한 데이터 생성 모듈; 을 포함하는 것,
    을 특징으로 하는 엔티티 관계 데이터 생성 장치.
  16. 컴퓨터 기기에 있어서,
    하나 또는 복수의 프로세서; 및
    하나 또는 복수의 프로그램을 저장하기 위한 저장 장치; 를 포함하며,
    상기 하나 또는 복수의 프로그램이 상기 하나 또는 복수의 프로세서에 의해 실행될 시 상기 하나 또는 복수의 프로세서가 제1항 내지 제14항 중 어느 한 항의 엔티티 관계 데이터 생성 방법을 구현하도록 하는 것,
    을 특징으로 하는 컴퓨터 기기.
  17. 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 저장 매체에 있어서,
    당해 프로그램이 프로세서에 의해 실행될 시, 제1항 내지 제14 항 중 어느 한 항의 엔티티 관계 데이터 생성 방법을 구현하는 것,
    을 특징으로 하는 컴퓨터 판독 가능 저장 매체.
KR1020190085858A 2018-08-15 2019-07-16 엔티티 관계 데이터 생성 방법, 장치, 기기 및 저장 매체 KR102237702B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810928930.1 2018-08-15
CN201810928930.1A CN109325201A (zh) 2018-08-15 2018-08-15 实体关系数据的生成方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
KR20200019824A true KR20200019824A (ko) 2020-02-25
KR102237702B1 KR102237702B1 (ko) 2021-04-08

Family

ID=65263682

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190085858A KR102237702B1 (ko) 2018-08-15 2019-07-16 엔티티 관계 데이터 생성 방법, 장치, 기기 및 저장 매체

Country Status (5)

Country Link
US (1) US11321421B2 (ko)
EP (1) EP3611631A1 (ko)
JP (1) JP6901816B2 (ko)
KR (1) KR102237702B1 (ko)
CN (1) CN109325201A (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325201A (zh) 2018-08-15 2019-02-12 北京百度网讯科技有限公司 实体关系数据的生成方法、装置、设备及存储介质
CN110263342A (zh) * 2019-06-20 2019-09-20 北京百度网讯科技有限公司 实体的上下位关系的挖掘方法和装置、电子设备
CN112925856B (zh) * 2019-12-06 2023-09-19 中国移动通信集团重庆有限公司 实体关系分析方法、装置、分析设备及计算机存储介质
CN111241209B (zh) * 2020-01-03 2023-07-11 北京百度网讯科技有限公司 用于生成信息的方法和装置
CN111309200B (zh) 2020-01-17 2021-11-12 百度在线网络技术(北京)有限公司 一种扩展阅读内容的确定方法、装置、设备及存储介质
CN111339125B (zh) * 2020-02-24 2023-07-25 浪潮软件科技有限公司 数据查询方法及装置
CN111309972B (zh) * 2020-02-25 2023-06-30 深圳市元征科技股份有限公司 一种数据处理方法、装置、终端设备及存储介质
CN113538450B (zh) 2020-04-21 2023-07-21 百度在线网络技术(北京)有限公司 用于生成图像的方法及装置
CN111967387B (zh) * 2020-08-17 2023-05-26 北京市商汤科技开发有限公司 表单识别方法、装置、设备及计算机可读存储介质
CN112732196B (zh) * 2021-01-13 2023-04-28 同盾科技有限公司 规则数据存储方法、装置及存储介质
CN113312489B (zh) * 2021-04-13 2023-05-05 武汉烽火众智数字技术有限责任公司 一种基于nlp和图数据库的全景检索系统及方法
US20230004579A1 (en) * 2021-07-02 2023-01-05 Viettel Group Method of controlling and handling a set of conditions in an event handling system with many complex internal conditions
CN114065765A (zh) * 2021-10-29 2022-02-18 北京来也网络科技有限公司 结合ai和rpa的武器装备文本处理方法、装置及电子设备
CN116975067B (zh) * 2023-09-21 2023-12-26 北京四维纵横数据技术有限公司 无模式数据存储方法、装置、计算机设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198058A (ja) * 2009-02-23 2010-09-09 Newswatch Inc 文書処理システム及び方法
JP2010237867A (ja) * 2009-03-30 2010-10-21 Nomura Research Institute Ltd メタデータ自動付与システム及び方法
KR20130037975A (ko) * 2011-10-07 2013-04-17 한국전자통신연구원 이슈 템플릿 추출 기반의 웹 동향 분석 방법 및 장치
US8843490B2 (en) * 2005-07-15 2014-09-23 Connotate, Inc. Method and system for automatically extracting data from web sites
US20160132572A1 (en) * 2014-11-11 2016-05-12 Adobe Systems Incorporated Collecting, organizing, and searching knowledge about a dataset

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030221162A1 (en) * 2000-03-20 2003-11-27 Sridhar Mandayam Andampillai Meta-templates in website development and methods therefor
US6993534B2 (en) * 2002-05-08 2006-01-31 International Business Machines Corporation Data store for knowledge-based data mining system
US20080005086A1 (en) * 2006-05-17 2008-01-03 Moore James F Certificate-based search
JP4427500B2 (ja) * 2005-09-29 2010-03-10 株式会社東芝 意味解析装置、意味解析方法および意味解析プログラム
US8244769B2 (en) * 2007-05-31 2012-08-14 Nec Corporation System and method for judging properties of an ontology and updating same
US20100057586A1 (en) * 2008-09-04 2010-03-04 China Software Venture Offer Reporting Apparatus and Method
US8826443B1 (en) * 2008-09-18 2014-09-02 Symantec Corporation Selective removal of protected content from web requests sent to an interactive website
US20100169311A1 (en) * 2008-12-30 2010-07-01 Ashwin Tengli Approaches for the unsupervised creation of structural templates for electronic documents
US8700682B2 (en) * 2009-12-24 2014-04-15 Vertafore, Inc. Systems, methods and articles for template based generation of markup documents to access back office systems
US8555157B1 (en) * 2010-01-21 2013-10-08 Google Inc. Document update generation
US8560610B2 (en) * 2010-06-16 2013-10-15 Brighttag Inc. Unified collection and distribution of data
GB2486002A (en) * 2010-11-30 2012-06-06 Youview Tv Ltd Media Content Provision
GB201108709D0 (en) * 2011-05-24 2011-07-06 Corethree Ltd Core engine
US8793273B1 (en) * 2011-06-29 2014-07-29 Google Inc. Parsing framework method and device
US20130031457A1 (en) * 2011-07-28 2013-01-31 Peter Griffiths System for Creating and Editing Temporal Annotations of Documents
US10129211B2 (en) * 2011-09-15 2018-11-13 Stephan HEATH Methods and/or systems for an online and/or mobile privacy and/or security encryption technologies used in cloud computing with the combination of data mining and/or encryption of user's personal data and/or location data for marketing of internet posted promotions, social messaging or offers using multiple devices, browsers, operating systems, networks, fiber optic communications, multichannel platforms
JP5756386B2 (ja) * 2011-09-30 2015-07-29 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 動的なウェブ・アプリケーションの問題を修正するメタデータの生成・管理の支援方法、装置、およびプログラム
US10289658B1 (en) * 2013-03-13 2019-05-14 Ca, Inc. Web page design scanner
US10061687B2 (en) * 2014-06-17 2018-08-28 Paypal, Inc. Self-learning and self-validating declarative testing
CN104516949B (zh) * 2014-12-10 2018-12-25 北京百度网讯科技有限公司 网页数据处理方法和装置、查询处理方法及问答系统
US9596265B2 (en) * 2015-05-13 2017-03-14 Google Inc. Identifying phishing communications using templates
CN104933168B (zh) * 2015-06-30 2018-08-14 南京烽火星空通信发展有限公司 一种网页内容自动采集方法
US10002292B2 (en) * 2015-09-30 2018-06-19 Microsoft Technology Licensing, Llc Organizational logo enrichment
CN107169079B (zh) * 2017-05-10 2019-09-20 浙江大学 一种基于Deepdive的领域文本知识抽取方法
CN107590219A (zh) * 2017-09-04 2018-01-16 电子科技大学 网页人物主题相关信息提取方法
US10810110B1 (en) * 2018-01-25 2020-10-20 Intuit Inc. Methods, systems, and articles of manufacture for testing web services using a behavior-driven development domain specific language framework
CN108363816A (zh) * 2018-03-21 2018-08-03 北京理工大学 基于句义结构模型的开放式实体关系抽取方法
US10817506B2 (en) * 2018-05-07 2020-10-27 Microsoft Technology Licensing, Llc Data service provisioning, metering, and load-balancing via service units
CN109325201A (zh) * 2018-08-15 2019-02-12 北京百度网讯科技有限公司 实体关系数据的生成方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843490B2 (en) * 2005-07-15 2014-09-23 Connotate, Inc. Method and system for automatically extracting data from web sites
JP2010198058A (ja) * 2009-02-23 2010-09-09 Newswatch Inc 文書処理システム及び方法
JP2010237867A (ja) * 2009-03-30 2010-10-21 Nomura Research Institute Ltd メタデータ自動付与システム及び方法
KR20130037975A (ko) * 2011-10-07 2013-04-17 한국전자통신연구원 이슈 템플릿 추출 기반의 웹 동향 분석 방법 및 장치
US20160132572A1 (en) * 2014-11-11 2016-05-12 Adobe Systems Incorporated Collecting, organizing, and searching knowledge about a dataset

Also Published As

Publication number Publication date
KR102237702B1 (ko) 2021-04-08
US11321421B2 (en) 2022-05-03
JP6901816B2 (ja) 2021-07-14
JP2020027649A (ja) 2020-02-20
EP3611631A1 (en) 2020-02-19
US20200057788A1 (en) 2020-02-20
CN109325201A (zh) 2019-02-12

Similar Documents

Publication Publication Date Title
KR20200019824A (ko) 엔티티 관계 데이터 생성 방법, 장치, 기기 및 저장 매체
WO2022022045A1 (zh) 基于知识图谱的文本比对方法、装置、设备及存储介质
US10489454B1 (en) Indexing a dataset based on dataset tags and an ontology
CN107992585B (zh) 通用标签挖掘方法、装置、服务器及介质
CN112084383A (zh) 基于知识图谱的信息推荐方法、装置、设备及存储介质
JP2020520485A (ja) 視覚的分析との相互作用のため語用論の原理を適用するシステムおよび方法
CN108959559B (zh) 问答对生成方法和装置
CN111831911A (zh) 查询信息的处理方法、装置、存储介质和电子装置
US10303704B2 (en) Processing a data set that is not organized according to a schema being used for organizing data
CN111382341A (zh) 一种基于大数据的科技信息资源检索查询系统及方法
CN112988784A (zh) 数据查询方法、查询语句生成方法及其装置
CN111324705A (zh) 自适应性调整关连搜索词的系统及其方法
CN107368923B (zh) 景点热度预测方法及装置
CN116383412B (zh) 基于知识图谱的功能点扩增方法和系统
CN112926297B (zh) 处理信息的方法、装置、设备和存储介质
CN112989011B (zh) 数据查询方法、数据查询装置和电子设备
CN113157857B (zh) 面向新闻的热点话题检测方法、装置及设备
US20140164432A1 (en) Ontology enhancement method and system
CN107220249B (zh) 基于分类的全文搜索
CN111368036B (zh) 用于搜索信息的方法和装置
WO2021135103A1 (zh) 一种语义分析方法、装置、计算机设备及存储介质
CN111695031A (zh) 基于标签的搜索方法、装置、服务器及存储介质
US11720531B2 (en) Automatic creation of database objects
CN113971216B (zh) 数据处理方法、装置、电子设备和存储器
CN115270777A (zh) 一种合同文件信息抽取方法、装置、系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant