KR20180013095A - 유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 방법 및 장치 - Google Patents

유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 방법 및 장치 Download PDF

Info

Publication number
KR20180013095A
KR20180013095A KR1020160096253A KR20160096253A KR20180013095A KR 20180013095 A KR20180013095 A KR 20180013095A KR 1020160096253 A KR1020160096253 A KR 1020160096253A KR 20160096253 A KR20160096253 A KR 20160096253A KR 20180013095 A KR20180013095 A KR 20180013095A
Authority
KR
South Korea
Prior art keywords
url
similarity
web page
text
web
Prior art date
Application number
KR1020160096253A
Other languages
English (en)
Other versions
KR101873101B1 (ko
Inventor
민덕기
오준
Original Assignee
건국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Priority to KR1020160096253A priority Critical patent/KR101873101B1/ko
Publication of KR20180013095A publication Critical patent/KR20180013095A/ko
Application granted granted Critical
Publication of KR101873101B1 publication Critical patent/KR101873101B1/ko

Links

Images

Classifications

    • G06F17/30864
    • 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
    • G06F17/27
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis

Landscapes

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

Abstract

본 발명은 유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 방법 및 장치에 관한 발명이며, 본 발명의 일 실시예에 따른 웹 크롤링 방법은 핵심어를 포함한 제1 웹 페이지에 포함된 제2 웹 페이지의 위치를 나타내는 제2 URL 및 2 웹 페이지에 포함된 텍스트를 추출하는 단계, 제2 웹 페이지에 포함된 제3 웹 페이지의 위치를 나타내는 제3 URL을 추출하는 단계, 제1 URL과 제2 URL이 유사한지에 대한 URL 유사도 또는 핵심어와 제2 웹 페이지에 포함된 텍스트가 유사한지에 대한 페이지 유사도를 측정하는 단계, 측정한 URL 유사도 또는 페이지 유사도를 기초로 제3 URL들의 유효 여부를 결정하는 단계 및 결정된 유효 여부에 기초하여 제3 웹 페이지를 수집하는 단계를 포함하고, URL 유사도 및 페이지 유사도를 측정하여 유사한 텍스트를 검색하기 위해 입력된 텍스트를 가장 유사하게 포함한 웹 페이지를 제공할 수 있는 포털 사이트 기반 웹 크롤링 방법 및 장치를 제공할 수 있는 효과가 있다.

Description

유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 방법 및 장치{METHOD AND APPARATUS FOR COLLECTING WEB PAGE BY WEB CLAWLING BASED POTAL INCLUDING SIMILAR TEXT}
본 발명은 유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 방법 및 장치에 관한 것으로서, 보다 상세하게는 원하는 텍스트와 유사한 텍스트를 검색하여 효율적 크롤링을 제공할 수 있는 웹 크롤링 방법 및 장치에 관한 것이다.
스마트 폰 시장의 발전에 따른 다양한 콘텐츠의 생성과 소셜 네트워크 서비스의 보편화로 인한 콘텐츠 확산 속도의 가속화에 따라 웹 페이지의 규모가 빠르게 확장되고 있다. 저작권 문제의 발생 횟수도 웹 페이지의 규모에 비례하여 증가하고 있다.
일부 업체는 저작권 문제를 해결하고자 유사한 콘텐츠를 검색할 수 있는 서비스를 제공하고 있다. 콘텐츠 검색 서비스는 동영상, 이미지, 문서와 같은 콘텐츠를 업로드하였을 경우에 유사한 콘텐츠의 검색을 통해 업로더의 부주의로 인한 저작권 침해를 사전에 예방하여 콘텐츠 제작자가 제작한 콘텐츠가 보호받을 수 있도록 유도한다. 텍스트 콘텐츠의 경우, 전체 문장 중에서 다른 문서와 동일한 문장의 개수, 표절 의심 문장의 개수를 기초로 텍스트 표절률을 연산하는 표절 검사를 제공할 수도 있다.
이와 같은 유사 콘텐츠 검색을 위해, 웹 페이지의 다양한 형태의 정보를 수집하고, 분류하여 이용자들이 쉽게 정보를 검색할 수 있도록 지원하는 포털 서비스 업체의 정보 수집 봇인 웹 크롤러 (Web Crawler) 기술을 응용할 수 있다.
하지만, 웹 크롤러를 이용하여 수집한 웹 페이지에는 유용한 정보 뿐만 아니라 큰 규모만큼의 유용하지 못한 정보들이 상당히 많이 존재한다. 이에 따라, 수집한 정보에 대한 데이터 베이스화의 어려움, 웹 크롤러의 수집 범위의 지역화 및 하드웨어 용량과 기능의 제약으로 인해 기존의 웹 크롤러 기반으로는 정확성이 높은 유사 콘텐츠 검색 서비스를 제공하는 것에 있어 한계가 있다. 따라서, 불필요한 페이지를 제거하여 콘텐츠의 유사성 판단의 정확성을 높일 수 있는 방법에 대한 요구가 존재한다.
[관련기술문헌]
웹 컨텐츠 수집방법 및 수집장치, 그 기록매체 (등록특허 10-1287371호)
본 발명이 해결하고자 하는 과제는 예를 들어 포털 사이트의 검색 결과 페이지의 URL을 URL 수집 시작 지점으로하여 검색 결과 페이지의 URL과 연관된 웹 페이지를 우선으로 탐색함으로써 불필요한 웹 페이지를 효과적으로 필터링할 수 있는 포털 사이트 기반 웹 크롤링 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 웹 페이지들의 URL 유사도를 판단하여 효과적인 필터링을 통해 웹 크롤링 범위를 지역화할 수 있는 포털 사이트 기반 웹 크롤링 방법 및 장치를 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 방법은 핵심어를 포함한 제1 웹 페이지에 포함된 제2 웹 페이지의 위치를 나타내는 제2 URL 및 제2 웹 페이지에 포함된 텍스트를 추출하는 단계, 제2 웹 페이지에 포함된 제3 웹 페이지의 위치를 나타내는 제3 URL을 추출하는 단계, 제1 URL과 제2 URL이 유사한지에 대한 URL 유사도 또는 핵심어와 제2 웹 페이지에 포함된 텍스트가 유사한지에 대한 페이지 유사도를 측정하는 단계, 측정한 URL 유사도 또는 페이지 유사도를 기초로 제3 URL들의 유효 여부를 결정하는 단계 및 결정된 유효 여부에 기초하여 제3 웹 페이지를 수집하는 단계를 포함한다.
본 발명의 다른 특징에 따르면, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 방법은 제2 웹페이지에 포함된 텍스트를 추출하는 단계 이전에 웹페이지에 존재하는 유사한 텍스트를 검색하기 위해 입력된 텍스트의 핵심어를 추출하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 핵심어를 추출하는 단계는 텍스트에 포함된 단어 또는 적어도 두 개의 단어를 포함하는 구절을 추출하는 단계일 수 있다.
본 발명의 또 다른 특징에 따르면, 페이지 유사도를 측정하는 단계는 제2 웹 페이지에 포함된 텍스트에 핵심어가 포함된 비율을 측정하는 단계를 포함하고, 제3 URL들의 유효 여부를 결정하는 단계는 측정된 비율과 미리 결정된 비율을 기초로 제3 URL들의 유효 여부를 결정하는 단계를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 방법은 수집된 제3 웹 페이지의 위치를 나타내는 제3 URL을 적어도 포함하고 제2 URL을 더 포함한 제2 URL의 유사도 순위 관리를 위한 URL 세트를 생성하는 단계를 더 포함한다.
본 발명의 또 다른 특징에 따르면, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 방법은 순위 중 높은 순위의 URL 세트를 다음 수집을 위해 제공하는 단계를 더 포함한다.
본 발명의 또 다른 특징에 따르면, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 방법은 측정된 페이지 유사도 및 URL 유사도를 URL 세트에 포함하는 단계를 더 포함한다.
본 발명의 또 다른 특징에 따르면, URL 유사도를 측정하는 단계는 제1 URL 및 제2 URL을 토큰화하는 단계 및 동일한 제1 URL의 토큰과 제2 URL의 토큰의 개수의 비율을 측정하는 단계를 포함하고, 제3 URL들의 유효 여부를 결정하는 단계는 측정된 비율과 미리 결정된 비율을 기초로 제1 URL 및 제2 URL이 유사한지를 결정하여 제3 URL들의 유효 여부를 결정하는 단계를 포함한다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 장치는 핵심어를 포함한 제1 웹 페이지에 포함된 제2 웹 페이지의 위치를 나타내는 제2 URL 및 제2 웹 페이지에 포함된 텍스트를 추출하는 URL 및 텍스트 추출부, 제2 웹 페이지에 포함된 제3 웹 페이지의 위치를 나타내는 제3 URL을 추출하는 URL 추출부, 제1 URL과 제2 URL이 유사한지에 대한 URL 유사도 또는 핵심어와 제2 웹 페이지에 포함된 텍스트가 유사한지에 대한 페이지 유사도를 측정하고, 측정한 URL 유사도 또는 페이지 유사도를 기초로 제3 URL들의 유효 여부를 결정하는 유사도 측정부 및 결정된 유효 여부에 기초하여 제3 웹 페이지를 수집하는 페이지 수집부를 포함한다.
본 발명의 다른 특징에 따르면, 유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 장치는 URL 및 텍스트 추출부가 제2 웹페이지에 포함된 텍스트를 추출하기 전에 웹페이지에 존재하는 유사한 텍스트를 검색하기 위해 입력된 텍스트의 핵심어를 추출하는 핵심어 추출부를 더 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 핵심어 추출부는 텍스트에 포함된 단어 또는 적어도 두 개의 단어를 포함하는 구절을 추출할 수 있다.
본 발명의 또 다른 특징에 따르면, 유사도 측정부는 제2 웹 페이지에 포함된 텍스트에 핵심어가 포함된 비율을 측정하고, 측정된 비율과 미리 결정된 비율을 기초로 제3 URL들의 유효 여부를 결정할 수 있다.
본 발명의 또 다른 특징에 따르면, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 장치는 수집된 제3 웹 페이지의 위치를 나타내는 제3 URL을 적어도 포함하고 제2 URL을 더 포함한 제2 URL의 유사도 순위 관리를 위한 URL 세트를 생성하는 URL 세트 생성부를 더 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 장치는 유사도 순위 중 높은 순위의 URL 세트를 다음 수집을 위해 제공하는 URL 세트 제공부를 더 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, URL 세트 생성부는 측정된 페이지 유사도 및 URL 유사도를 URL 세트에 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 유사도 측정부는, 제1 URL 및 제2 URL을 토큰화하고, 동일한 제1 URL의 토큰과 제2 URL의 토큰의 개수의 비율을 측정하고, 제3 URL들의 유효 여부를 결정하는 경우, 측정된 비율과 미리 결정된 비율을 기초로 제1 URL 및 제2 URL이 유사한지를 결정하여 제3 URL들의 유효 여부를 결정할 수 있다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명은 예를 들어 포털 사이트의 검색 결과 페이지의 URL을 URL 수집 시작 지점으로하여 검색 결과 페이지의 URL과 연관된 웹 페이지를 우선으로 탐색함으로써 불필요한 웹 페이지를 효과적으로 필터링할 수 있는 효과가 있다.
본 발명은 웹 페이지들의 URL 유사도를 판단하여 효과적인 필터링을 통해 웹 크롤링 범위를 지역화할 수 있는 효과가 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 제1 URL, 제2 URL 및 제3 URL의 관계를 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 포털 사이트 기반 웹 크롤링 장치의 개략적인 구성을 도시한 것이다.
도 3은 본 발명의 실시예에 따른 포털 사이트 기반 웹 크롤링 방법에 따라 유사 텍스트를 포함한 웹 페이지를 수집하는 절차를 도시한 것이다.
도 4a 내지 도 4b는 본 발명의 실시예에 따라 페이지 유사도의 측정 방법을 도시한 것이다.
도 5는 본 발명의 실시예에 따라 URL 유사도의 측정 방법을 도시한 것이다.
도 6a 내지 도 6c는 본 발명의 실시예에 따라 링크 구조 기반 웹 크롤링 장치의 BFS 및 BeFS의 전략과 포털 사이트 기반 웹 크롤링 장치의 UPFS의 전략을 도시한 것이다.
도 7a 내지 도 7l은 본 발명의 실시예에 따라 포털 사이트 기반 웹 크롤링의 효과를 도시한 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 본 명세서 상에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우, '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.
구성요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않는다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
별도로 명시하지 않는 한 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
도 1은 본 발명의 일 실시예에 따른 제1 URL, 제2 URL 및 제3 URL의 관계를 도시한 것이다.
도 1을 참조하면, URL 세트 (100) 는 제1 URL (110), 제2 URL (120) 및 제3 URL (130) 을 포함한다. 여기서, 제1 URL (110) 란, 핵심어를 포함한 제1 웹 페이지에 대한 URL로, 제2 URL (120) 이 추출된 상위 웹 페이지의 URL을 의미한다. 또한, 제2 URL (120) 은 제1 URL (110) 의 웹 페이지로부터 추출된 URL로, 제1 URL (110) 의 웹 페이지의 하위 웹 페이지에 대한 URL이다. 제3 URL (130) 은 제2 URL (120) 의 웹 페이지로부터 추출된 URL로, 제2 URL (120) 의 웹 페이지의 하위 웹 페이지에 대한 URL이다. 예를 들어, 제1 URL (110) 은 포털 사이트에서의 핵심어 검색 결과 웹 페이지에 대한 URL일 수 있다. 또한, 제2 URL (120) 은 핵심어 검색 결과 웹 페이지에 포함된 복수의 URL 중 하나의 URL 즉, 핵심어를 포함하는 웹 페이지의 URL일 수 있다. 또한, 제3 URL (130) 은 핵심어를 포함하는 웹 페이지에 포함된 URL일 수 있다. 따라서, 웹 크롤링 장치 (200) 는 제1 URL (110), 제2 URL (120) 및 제3 URL (130) 을 포함한 URL 세트 (100) 를 생성하여, 제1 URL (110) 및 제2 URL (120) 이 유사한 URL 세트 (100) 를 먼저 크롤링한다.
이에 따라, 웹 크롤링 장치 (100) 는 URL 구조를 기초로 포털 사이트 뿐만 아니라, URL 구조의 패턴에 영향을 주고 있는 웹 페이지에서 효과적으로 URL 및 그 웹 페이지들을 수집할 수 있다.
도 2는 본 발명의 일 실시예에 따른 포털 사이트 기반 웹 크롤링 장치의 개략적인 구성을 도시한 것이다. 설명의 편의를 위해 도 1의 구성 요소들과 도면 부호를 참조하여 설명한다.
도 2를 참조하면, 웹 크롤링 장치 (200) 는 핵심어 추출부 (210), URL 및 텍스트 추출부 (220), 수집 명령 생성부 (230), 수집 명령 수행 관리부 (240), URL 추출부 (250), 유사도 측정부 (260), 페이지 수집부 (270), URL 세트 생성부 (280) 및 URL 세트 제공부 (290) 를 포함한다.
웹 크롤링 장치 (200) 의 핵심어 추출부 (210) 는 웹 페이지에 존재하는 유사한 텍스트를 검색하기 위해 입력된 텍스트의 핵심어를 추출한다. 이 때, 핵심어는 텍스트에 포함된 단어 또는 적어도 두 개의 단어를 포함하는 구절일 수 있다. 예를 들어, 사용자로부터 “스타트업이 특허를 내야하는 7가지 이유는 제품이나 서비스에 대해 독자적 기술을 인정받을 수 있다.”, “기술 침해한 경쟁사를 공격할 수 있다.”, 특허 공격으로부터 기업이 협상할 수 있다.” 등의 복수의 문장으로 구성된 텍스트를 입력받은 경우, 핵심어 추출부 (210) 는 웹 페이지에 존재하는 유사한 텍스트를 검색하기 위해 입력된 텍스트에서 “특허”, “스타트업이 특허를 내야하는 7가지 이유”, “제품이나 서비스” 와 같은 구절 또는 “특허”, “경쟁사” 와 같은 핵심어를 추출한다.
웹 크롤링 장치 (200) 의 URL 및 텍스트 추출부 (220) 는 핵심어를 포함한 제1 웹 페이지에 포함된 제2 웹 페이지의 위치를 나타내는 제2 URL 및 제2 웹 페이지에 포함된 텍스트를 추출한다. 구체적으로, URL 및 텍스트 추출부 (220) 는 doExtract핵심어 method를 이용하여 KLT-2000으로 핵심어를 사이즈에 맞게 추출한다. 또한, URL 및 텍스트 추출부 (220) 는 doExtract핵심어 method를 이용하여 텍스트를 추출한다. 이 때, 텍스트를 읽기 위한 InputReader가 있으며, 추출한 결과를 저장하는 Linesfeatures가 있다.
웹 크롤링 장치 (200) 의 수집 명령 생성부 (230) 는 KeyQueue로 옮겨진 제2 URL을 읽어서 각각의 doMake method를 이용해 수집 명령을 생성한다. 여기서, 수집 명령은 제2 URL별로 하나씩 생성되는 일종의 수집 명령서이다. 수집 명령서는 유사한 텍스트가 포함된 웹 페이지를 수집해오는데 필요한 여러 정보 즉, Headerinfo, Typeinfo, Javascriptpath, Fetchedfilepath 등을 담고 있는 자료구조이다. 실제 웹 브라우저에게 명령을 내리는 자바 스크립트 파일의 위치는 Javascriptpath에 표시된다. 또한, 웹 브라우저가 수집한 웹 페이지를 저장할 위치는 Fetchedfilepath에 표시된다. 저장될 파일의 형식은 Typeinfo 정보에 저장된다. 수집 명령 생성부 (230) 는 쓰레드이며, 쓰레드간에 Fetchorderslist Que를 공유한다. 또한, 수집 명령 생성부 (230) 는 웹 브라우저에게 줄 명령을 작성하는 Javascriptmaker와 웹 브라우저를 실행시키는 Pagedownloader로 구성된다.
웹 크롤링 장치 (200) 의 수집 명령 수행 관리부 (240) 는 쓰레드를 관리하는 쓰레드 풀 역할을 수행하며, 쓰레드간의 공유 Que에 addFetchorder method를 이용하여 수집 명령을 공급한다.
웹 크롤링 장치 (200) 의 URL 추출부 (250) 는 제2 웹 페이지에 포함된 제3 웹 페이지의 위치를 나타내는 제3 URL을 추출한다. 이 때, URL 추출부 (250) 는 수집된 웹 페이지에서 JSOUP을 이용하여 제3 URL을 추출한다. 추출된 제3 URL에는 고유의 ID가 부여된다.
웹 크롤링 장치 (200) 의 유사도 측정부 (260) 는 제1 URL과 제2 URL이 유사한지에 대한 URL 유사도 또는 핵심어와 제2 웹 페이지에 포함된 텍스트가 유사한지에 대한 페이지 유사도를 측정한다. 또한, 유사도 측정부 (260) 는 측정한 URL 유사도 또는 페이지 유사도를 기초로 제3 URL들의 유효 여부를 결정한다. 구체적으로, 유사도 측정부 (260) 는 URL 유사도를 측정하기 위해 제1 URL 및 제2 URL을 토큰화하고, 동일한 제1 URL의 토큰과 제2 URL의 토큰의 개수의 비율을 측정한다. 이에 따라, 유사도 측정부 (260) 는 측정된 비율과 미리 결정된 비율을 기초로 제1 URL 및 제2 URL이 유사한지를 결정하여 제3 URL의 유효 여부를 결정한다. 또한, 유사도 측정부 (260) 는 페이지 유사도를 측정하기 위해 제2 웹 페이지에 포함된 텍스트에 핵심어가 포함된 비율을 측정하고, 측정된 비율과 미리 결정된 비율을 기초로 제3 URL들의 유효 여부를 결정한다.
웹 크롤링 장치 (200) 의 페이지 수집부 (270) 는 유사도 측정부 (260) 에서 결정된 유효 여부에 기초하여 제3 웹 페이지를 수집한다. 즉, 페이지 수집부 (270) 는 유효한 제3 URL에 대응하는 제3 웹 페이지를 수집한다.
웹 크롤링 장치 (200) 의 URL 세트 생성부 (280) 는 수집된 제3 웹 페이지의 위치를 나타내는 제3 URL을 적어도 포함하고 제2 URL을 더 포함한 제2 URL의 유사도 순위 관리를 위한 URL 세트를 생성한다. 구체적으로, URL 세트 생성부 (280) 는 제2 URL과 제3 URL 뿐만 아니라 제2 URL의 고유의 ID인 제2 URL ID 및 제3 URL의 고유의 ID인 제3 URL ID를 포함하여 URL 세트를 생성한다. 이 때, ID는 추출된 URL에 순차적으로 부여된다. 또한, URL 세트 생성부 (280) 는 측정된 페이지 유사도 및 URL 유사도를 포함하여 URL 세트를 생성한다. Method는 자료구조의 각 변수를 이용할 수 있는 Getter, Setter로 구성되어 있다.
웹 크롤링 장치 (200) 의 URL 세트 제공부 (290) 는 유사도 순위 중 높은 순위의 URL 세트를 다음 수집을 위해 제공한다. 즉, URL 세트 제공부 (290) 는 URL 세트의 제2 URL 및 제3 URL에 포함된 URL에 대한 수집을 위해 유사도 순위 중 높은 순위의 URL 세트를 제공한다.
이하에서는 웹 크롤링 장치 (200) 에서의 유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 방법에 대한 보다 상세한 설명을 위해 도 2를 함께 참조한다.
도 3은 본 발명의 실시예에 따른 포털 사이트 기반 웹 크롤링 방법에 따라 유사 텍스트를 포함한 웹 페이지를 수집하는 절차를 도시한 것이다. 설명의 편의를 위해 도 1 및 도 2의 구성 요소들과 도면 부호를 참조하여 설명한다.
URL 및 텍스트 추출부 (220) 는 핵심어를 포함한 제1 웹 페이지에 포함된 제2 웹 페이지의 위치를 나타내는 제2 URL 및 제2 웹 페이지에 포함된 텍스트를 추출한다 (S310).
예를 들어, 핵심어가 “특허” 및 “스타트업이 특허를 내야하는 7가지 이유” 인 경우, URL 및 텍스트 추출부 (220) 는 “특허” 및 “스타트업이 특허를 내야하는 7가지 이유” 에 대한 검색 결과 페이지인 제1 웹 페이지에 포함된 제2 웹 페이지의 URL 즉, 제2 URL을 추출한다. 또한, URL 및 텍스트 추출부 (220) 는 제2 웹 페이지에 포함된 텍스트를 추출한다. 예를 들어, URL 및 텍스트 추출부 (220) 는 제2 웹 페이지에 포함된 “사업”, “경쟁사” 와 같은 텍스트를 추출한다. 여기서, 핵심어는 URL 및 텍스트 추출부 (220) 가 제2 웹 페이지에 포함된 텍스트를 추출하기 전에 핵심어 추출부 (210) 로부터 웹 페이지에 존재하는 유사한 텍스트를 검색하기 위해 입력된 텍스트에서 추출된다. 이 때, 핵심어는 텍스트에 포함된 단어 또는 적어도 두 개의 단어를 포함하는 구절일 수 있다. 구체적으로, 핵심어 추출부 (210) 는 불필요한 단어를 제거한 후 남은 단어 중에 핵심어를 판단하기 위해 주로 명사를 추출한다. 한글의 경우, 핵심어 추출부 (210) 는 명사 추출은 크게 사전과 규칙을 이용하는 방법과 형태소 분석기를 이용하는 방법을 사용한다. 사전과 규칙을 이용하는 방법은 단순하고 빠른 속도로 명사를 추출할 수 있다는 장점이 있지만 언어분석 도구를 이용하는 방법보다 정확도가 떨어진다. 반면에, 형태소 분석기를 이용하는 방법은 정확도를 높일 수 있으나, 형태소 분석에 매우 의존적인 단점으로 시스템 확장성에 문제가 발생할 수 있다.
또한, 다른 실시예에서, 수집 명령 생성부 (230) 는 제2 URL별로 수집 명령을 생성하여 수집 명령 수행 관리부 (240) 에 제공한다. 수집 명령 수행 관리부 (240) 는 쓰레드를 이용하여 수집 명령을 수행한다. 수집 명령 생성부 (230) 는 수집 명령에 적힌 정보를 바탕으로 제2 웹 페이지를 수집한다.
이어서, URL 추출부 (250) 는 제2 웹 페이지에 포함된 제3 웹 페이지의 위치를 나타내는 제3 URL을 추출한다 (S320).
예를 들어, 제2 웹 페이지가 게시판 목록인 경우, URL 추출부 (250) 는 게시판 목록에 포함된 각각의 게시물 즉, 각각의 게시물의 위치를 나타내는 제3 URL을 추출한다.
이어서, 유사도 측정부 (260) 는 제1 URL과 제2 URL이 유사한지에 대한 URL 유사도 또는 핵심어와 제2 웹 페이지에 포함된 텍스트가 유사하지에 대한 페이지 유사도를 측정한다 (S330).
구체적으로, 유사도 측정부 (260) 는 URL 유사도를 측정하기 위해 제1 URL 및 제2 URL을 토큰화하여, 동일한 제1 URL의 토큰과 제2 URL의 토큰의 개수의 비율을 측정한다. 구체적인 URL 유사도의 측정 방법은 도 5를 참조하여 후술한다. 또한, 유사도 측정부 (260) 는 페이지 유사도를 측정하기 위해 제2 웹 페이지에 포함된 텍스트에 핵심어가 포함된 비율을 측정한다. 구체적인 페이지 유사도의 측정 방법은 도 4를 참조하여 후술한다.
이어서, 유사도 측정부 (260) 는 측정한 URL 유사도 또는 페이지 유사도를 기초로 제3 URL들의 유효 여부를 결정한다 (S340).
유사도 측정부 (260) 는 제2 웹 페이지에 포함된 텍스트에 핵심어가 포함된 비율과 미리 결정된 비율을 기초로 제3 URL들의 유효 여부를 결정한다. 예를 들어, 제3 URL들이 유효하다고 판단하는 비율이 70% 이상인 경우, 제2 웹 페이지에 포함된 텍스트에 핵심어가 70% 이상이어야 유사도 측정부 (260) 는 제3 URL들이 유효하다고 판단한다.
또한, 유사도 측정부 (260) 는 제1 URL의 토큰과 제2 URL의 토큰의 개수의 비율과 미리 결정된 비율로 기초로 제1 URL 및 제2 URL이 유사한지 결정하여 제3 URL들의 유효 여부를 결정한다. 예를 들어, 제3 URL들이 유효하다고 판단하는 비율이 70% 이상인 경우, 동일한 제1 URL의 토큰과 제2 URL의 토큰의 개수의 비율이 70% 이상이어야 유사도 측정부 (260) 는 제3 URL들이 유효하다고 판단한다. 이 때, 유사도 측정부 (260) 는 URL 유사도 및 페이지 유사도 모두 70% 이상이어야 제3 URL들이 유효하다고 판단한다.
이어서, 페이지 수집부 (270) 는 결정된 유효 여부에 기초하여 제3 웹 페이지를 수집한다 (S350).
예를 들어, 페이지 수집부 (270) 는 URL 유사도 및 페이지 유사도에 따라 결정된 제3 URL들의 유효 여부에 따라 제3 웹 페이지를 수집한다. 즉, 페이지 수집부 (270) 는 유효한 제3 URL의 웹 페이지를 수집한다.
한편, 또 다른 실시예에서, URL 세트 생성부 (280) 는 수집된 제3 웹 페이지를 나타내는 제3 URL을 포함하고, 제2 URL을 더 포함한 제2 URL의 유사도 순위 관리를 위한 URL 세트를 생성한다. URL 세트는 측정된 페이지 유사도 및 URL 유사도를 포함한다. 이 때, URL 세트 제공부 (290) 는 생성된 복수의 URL 세트 중 가장 높은 순위의 URL 세트를 다음 수집을 위해 제공한다. 여기서, 순위란, URL 유사도 및 페이지 유사도에 대한 순위를 의미한다. 즉, URL 유사도 및 페이지 유사도가 가장 높은 URL 세트가 1 순위로 다음 수집을 위해 제공된다.
이에 따라, 웹 크롤링 장치 (200) 는 URL 유사도 및 페이지 유사도를 측정하여 높은 순위에 해당하는 URL에 대해 연속으로 웹 크롤링을 진행함으로써, 유사한 텍스트를 검색하기 위해 입력된 텍스트를 포함하는 웹 페이지의 정확도를 높일 수 있다.
도 4a 내지 도 4b는 본 발명의 실시예에 따라 페이지 유사도의 측정 방법을 도시한 것이다.
도 4a를 참조하면, 웹 크롤링 장치 (200) 의 페이지에 포함된 텍스트의 차이점 판별을 위한 알고리즘은 단어, 구문, 문단의 단위를 기준으로 하여 차이점을 판별한다. 웹 크롤링 장치 (200) 는 O (Old) 텍스트 즉, 웹 페이지에 존재하는 유사한 텍스트를 검색하기 위해 입력된 텍스트와 N (New) 텍스트 즉, 유사한 텍스트를 검색하기 위해 입력된 텍스트와 유사하다고 판단할 텍스트의 판별을 위해 테이블을 작성한다. 테이블을 작성하기 위해 웹 크롤링 장치 (200) 는 O 텍스트와 N 텍스트에서 각각 기준 단위를 추출하여 OA (Old Array) 와 NA (New Array) 를 생성한다. 이어서, 웹 크롤링 장치 (200) 는 각 Array별로 텍스트에서 동일한 단어, 구문, 문단 등이 몇 번 나오는지를 판단하여 OC (Old Count), NC (New Count) 값을 생성하고 NC가 1인 entry에는 OA의 어느 entry에 위치하는지를 표시하는 OLNO (Old Line Number) 를 작성한다. 따라서, 웹 크롤링 장치 (200) 는 작성된 테이블을 이용하여 O 텍스트와 N 텍스트의 차이를 판별한다.
도 4b를 참조하면, 웹 크롤링 장치 (200) 는 작성된 테이블의 NC가 1인 부분을 OLNO를 이용하여 OA와 연결하면 O 텍스트와 N 텍스트 사이에서 바뀌지 않은 부분, 삭제된 부분, 추가된 부분을 판별할 수 있다.
이에 따라, 웹 크롤링 장치 (200) 는 테이블을 작성하여 페이지에 포함된 텍스트의 유사도 판별함으로써 웹 페이지에 존재하는 유사한 텍스트를 검색하기 위해 입력된 텍스트와 유사한 텍스트를 포함하는 웹 페이지를 효과적으로 필터링할 수 있다.
도 5는 본 발명의 실시예에 따라 URL 유사도의 측정 방법을 도시한 것이다.
도 5를 참조하면, 웹 크롤링 장치 (200) 는 URL 유사도를 측정하기 위해 My STC / Max STC로 URL을 토큰화하여 앞쪽부터 같은 토큰의 개수로 판단한다. 여기서, STC는 Similar Token Count의 약자로, URL을 / 기준으로 토큰화하였을 때 동일한 토큰 개수를 의미한다. 따라서, Max STC는 기준 URL 즉, 제1 URL의 토큰 개수이다. 또한, My STC는 제1 URL과 비교하여 제1 URL과 동일한 제2 URL의 토큰 개수이다. 예를 들어, 제1 URL의 토큰 개수 즉, Max STC가 8이고 제1 URL과 제2 URL (A) 의 토큰 개수를 비교하였을 때 5개가 일치하는 경우, URL 유사도는 My STC / Max STC에 따라 5/8이다. 또한, 제2 URL (B) 와 제1 URL의 일치하는 토큰의 개수가 7인 경우, 제1 URL과 제2 URL (B) 의 URL 유사도는 7/8 이다. 이 때, 제1 URL과 제2 URL의 토큰 개수는 일치하지 않아도 URL 유사도의 측정이 가능하다. 예를 들어, 제2 URL (C) 의 토큰 개수가 7, 제1 URL의 토큰 개수가 8로 동일하지 않아도 URL 유사도는 My STC / Max STC에 따라 1개의 토큰이 일치하여 1/8로 측정된다. 마찬가지로, 제2 URL (D) 의 토큰 개수가 6, 제1 URL의 토큰 개수가 8로 동일하지 않아도 URL 유사도는 1/8로 측정된다.
이에 따라, 웹 크롤링 장치 (200) 는 URL을 토큰화하여 URL 유사도를 측정함으로써, 웹 크롤링 범위의 지역화를 완화하여 웹 페이지에 존재하는 유사한 텍스트를 검색하기 위해 입력된 텍스트와 유사한 텍스트를 포함하는 웹 페이지를 필터링 할 수 있다.
도 6a 내지 도 6c는 본 발명의 실시예에 따라 링크 구조 기반 웹 크롤링 장치의 BFS 및 BeFS의 전략과 포털 사이트 기반 웹 크롤링 장치의 UPFS의 전략을 도시한 것이다.
도 6a를 참조하면, BFS (Breadth First Strategy) 의 웹 크롤링 장치는 넓이를 우선으로 순차적으로 웹 페이지를 탐사한다. 예를 들어, BFS의 웹 크롤링 장치는 제1 URL의 제1 웹 페이지에 포함된 제2 웹 페이지를 모두 탐사한다. 또한, BFS의 웹 크롤링 장치는 제2 웹 페이지에 포함된 모든 제3 웹 페이지와 제3 웹 페이지에 포함된 제4 웹 페이지 등 연속해서 모든 웹 페이지를 탐사한다.
도 6b를 참조하면, BeFS (Best First Strategy) 의 웹 크롤링 장치는 Best 우선으로 웹 페이지를 탐사한다. 구체적으로, BeFS의 웹 크롤링 장치는 Domain specific 정보를 포함하는 웹 페이지를 탐사한다. 즉, BeFS의 웹 크롤링 장치는 제2 웹 페이지 중 장치는 Domain specific 정보를 포함하는 제2 웹 페이지를, 제2 웹 페이지에 포함된 제3 웹 페이지 중 Domain specific 정보를 포함하는 제3 웹 페이지를 탐사한다. 하지만, BeFS의 웹 크롤링 장치는 수집 범위를 지역화하는 문제가 있다.
도 6c를 참조하면, UPFS (URL Pattern First Strategy) 의 웹 크롤링 장치 (200) 는 URL Rule 기반의 전략으로 포털 사이트 뿐만 아니라, Site Structure Law가 설계자에 의해 URL의 Syntax Schemes (Patterns) 에 영향을 주고 있는 웹 페이지에서 효과적으로 유효한 웹 페이지를 수집할 수 있다. 즉, UPFS의 웹 크롤링 장치 (200) 는 제1 URL과 제2 URL이 유사한 제3 URL의 제3 웹 페이지를 먼저 탐사한다. 또한, UPFS의 웹 크롤링 장치 (200) 는 제2 URL과 제3 URL이 유사한 제4 URL의 제4 웹 페이지를 탐사한다.
이에 따라, 웹 크롤링 장치 (200) 는 UPFS를 기반으로 하여 유사한 URL 구조를 가지는 웹 페이지를 탐사하여 수집함으로써, 탐사에 소요되는 시간을 단축하고, 수집 범위의 지역화의 문제를 해결한다.
도 7a 내지 도 7l은 본 발명의 실시예에 따라 포털 사이트 기반 웹 크롤링의 효과를 도시한 것이다.
도 7a 내지 도 7l을 참조하면, BFS, BeFS, UPFS 세 가지 크롤링 전략의 수집 성능을 비교한 포털 사이트 기반 웹 크롤링의 효과를 나타낸다. 이 때, TU (Total URL) 는 웹 크롤링 과정 중에 생산된 총 URL 개수이며 의미있는 페이지 URL과 의미없는 페이지 URL의 총합을 나타낸다. SU (Selected URL) 는 스케줄러에 의해 선택된 총 URL 개수이며 크롤링 전략에 의해 1차적으로 의미없는 웹 페이지의 URL을 걸러내고 남은 의미있는 페이지 일 것이라 추정되는 URL의 총합이다. GU (Good URL) 는 Best 기준을 부합하는 페이지 (핵심어 포함) 의 URL 개수이다. 필터링 비율은 웹 크롤링 과정 중에 생산된 총 URL 중에 웹 크롤링 전략에 의해 걸러진 총 URL의 비율로, 이것은 웹 크롤링 전략으로 판단된 유의미한 페이지 URL의 비율로, 이것은 웹 크롤링 전략의 필터링 능력을 의미한다. 필터링 정확도는 웹 크롤링 전략에 의해 걸러진 URL 중 (SU) 에 결과물로 걸러진 총 URL (GU) 의 비율로, 이것은 웹 크롤링 전략의 필터링 정확도를 의미한다.
도 7a를 참조하면, BeFS를 위한 Best 기준을 구절로 고정하고, 구절은 연속된 5단어로 고정한다. 이 구절은 유사한 텍스트를 검색하기 위해 입력된 텍스트의 각 문단별로 생성되어 각 구절 별로 URL이 생성된다.
도 7b를 참조하면, 1시간 (3600초) 동안 GU의 기준을 입력된 텍스트에서 추출된 모든 구절이 아닌 각각의 구절에 부합하는 것으로 놓고 수집한 결과, 세 가지 전략 모두 TU (총 생산 URL) 의 양 (약 12만개) 은 BeFS 123020개, BFS 115360개, UPFS 121868개로 비슷하다. SU (전략에 의해 수집명령으로 바뀌도록 선택된 URL Set) 는 BeFS 64593개, BFS 115360개, UPFS 16233개로 UPFS가 가장 적다. GU (Best 기준에 만족하는 URL) 는 BeFS 756개, BFS 734개, UPFS 1286개로 UPFS가 가장 많다.
도 7c를 참조하면, ??터링 비율은 BFS는 0% (필터링 없이 모든 TU가 SU로), BeFS는 약 47%, UPFS는 약 80% 이다.
도 7d를 참조하면, UPFS가 다른 전략에 비해 필터링 결과 정확도(GU/SU)도 3배 이상 높게 측정 된다. 따라서, UPFS는 3600초 동안 포털 기반으로 유사한 텍스트를 찾을 때, 세 가지 전략 중 필터링 비율과 필터링 결과 정확도가 가장 높은 전략이다.
도 7e를 참조하면, 시간 별 GU를 살펴보면 10분(600초) 이후부터 UPFS가 BeFs, BFS에 비해 빠르게 증가하고 있다. 같은 시간에 많은 Best 기준에 부합하는 텍스트를 수집할 수 있어 포털 사이트 기반 수집 시 세 전략 중 가장 적합한 전략이다.
도 7f를 참조하면, 약 45분 (2600초) 동안 GU의 기준을 추출된 대부분의 구절에 부합하는 것으로 놓고 수집한 결과, 세 가지 전략 모두 TU (총 생산 URL) 의 양 (약 46,000개) 은 BeFS 46395개, BFS 46579개, UPFS 47009개로 비슷하다. SU (전략에 의해 수집명령으로 바뀌도록 선택된 URL Set) 는 BeFS 2227개, BFS 46579개, UPFS 9054개로 UPFS가 가장 적다. GU (Best 기준에 만족하는 URL) 는 BFS, BeFS, UPFS 모든 전략이 6개의 GU를 수집하고 있다.
도 7g를 참조하면, ??터링 비율은 BFS는 0% (필터링 없이 모든 TU가 SU로), BeFS는 약 52%, UPFS는 80% 이다.
도 7h를 참조하면, UPFS가 다른 전략에 비해 필터링 결과 정확도 (GU/SU) 도 약 3배 정도 높게 측정 된다. 따라서, UPFS는 2600초 동안 포털 기반으로 유사한 텍스트 (High Similarity 텍스트) 를 찾을 때, 세 가지 전략 중 필터링 비율과 필터링 결과 정확도가 가장 높은 전략이다.
도 7i를 참조하면, 시간 별 GU를 살펴보면 포털 사이트의 검색 결과 순서를 반영하듯 BFS가 가장 빠르게 660초 까지는 텍스트를 수집하고 있다. BeFS는 BFS보다는 느리지만 상당히 비슷한 속도로 텍스트를 수집하고 있다. UPFS는 660초 이후로 세 전략 중 가장 빠르게 텍스트를 수집하는 것을 확인할 수 있다. UPFS 660초 이후부터 같은 시간에 많은 Best 기준에 부합하는 텍스트를 수집할 수 있어 포털 사이트 기반 수집 시 세 전략 중 가장 적합한 전략이다.
도 7j 내지 도 7l을 참조하면, 유사한 텍스트를 인용된 텍스트와 특정 내용의 텍스트 두 가지의 경우로 놓고, 무작위로 추출된 N개 핵심어와 연속된 N개의 단어로 이루어진 구절 두 가지 Best 기준을 비교하기 위해 수행한다. 우선 핵심어의 개수에 따른 수집 결과를 비교하여 적정 핵심어 개수를 찾은 후 구절과 비교 실험을 진행한다. 웹 크롤링 전략 수집 성능 비교 실험의 결과를 바탕으로 세 가지 전략 중 가장 적합한 전략인 UPFS를 사용하고 2200초간 수집을 진행한다.
도 7j를 참조하면, 핵심어의 개수를 늘려가며 UFPS으로 2200초간 수집한 결과는 2개의 핵심어의 경우 1300초에 첫 텍스트를 수집하고 총 4개, 3개의 핵심어의 경우 540초에 첫 텍스트를 수집하고 총 4개, 4개의 핵심어의 경우 240초에 첫 텍스트를 수집하고 총 6개, 5개의 핵심어의 경우 90초에 첫 텍스트를 수집하고 총 5개이다. 이 실험을 통해 핵심어의 개수가 늘어날수록 빠른 시간 내에 많은 텍스트 (GU) 를 찾아올 수 있는 것을 확인할 수 있다.
도 7k를 참조하면, 인용된 텍스트를 찾기 위해, Best 기준으로 연속된 5개의 단어로 이루어진 구절과 무작위 5개의 핵심어를 비교한 결과는 구절의 경우 300초에 첫 텍스트를 수집하고 총 6개, 5개의 핵심어의 경우 180초에 첫 텍스트를 수집하고 총 5개이다. 핵심어를 무작위로 추출하는 점 때문에 매 실험에 약간의 차이는 있지만, 이 실험을 통해 인용된 텍스트를 찾을 때, 연속된 5개의 단어로 이루어진 구절을 이용한 경우 같은 시간에 5개의 핵심어의 경우보다 더 많은 GU를 수집할 수 있을 것으로 예측된다.
도 7l을 참조하면, 특정 내용의 텍스트를 찾기 위해, Best 기준으로 연속된 5개의 단어로 이루어진 구절과 무작위 5개 핵심어를 비교한 결과는 구절의 경우 90초에 첫 텍스트를 수집하고 총 13개, 5개의 핵심어의 경우 300초에 첫 텍스트를 수집하고 총 14개이다. 핵심어를 무작위로 추출하는 점 때문에 매 실험에 약간의 차이는 있지만, 이 실험을 통해 특정 내용의 텍스트를 찾을 때, 5개의 핵심어를 이용한 경우 같은 시간에 연속된 5개의 단어로 이루어진 구절의 경우보다 더 많은 GU를 수집할 수 있을 것으로 예측된다.
본 명세서에서, 각 블록 또는 각 단계는 특정된 논리적 기능 (들) 을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로 (ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100 URL 세트
110 제1 URL
120 제2 URL
130 제3 URL
200 웹 크롤링 장치
210 핵심어 추출부
220 URL 및 텍스트 추출부
230 수집 명령 생성부
240 수집 명령 수행 관리부
250 URL 추출부
260 유사도 측정부
270 페이지 수집부
280 URL 세트 생성부
290 URL 세트 제공부

Claims (16)

  1. 핵심어를 포함한 제1 웹 페이지에 포함된 제2 웹 페이지의 위치를 나타내는 제2 URL 및 상기 제2 웹 페이지에 포함된 텍스트를 추출하는 단계;
    상기 제2 웹 페이지에 포함된 제3 웹 페이지의 위치를 나타내는 제3 URL을 추출하는 단계;
    상기 제1 URL과 상기 제2 URL이 유사한지에 대한 URL 유사도 또는 상기 핵심어와 상기 제2 웹 페이지에 포함된 텍스트가 유사한지에 대한 페이지 유사도를 측정하는 단계;
    측정한 상기 URL 유사도 또는 상기 페이지 유사도를 기초로 제3 URL들의 유효 여부를 결정하는 단계; 및
    결정된 상기 유효 여부에 기초하여 상기 제3 웹 페이지를 수집하는 단계를 포함하는, 유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 방법.
  2. 제1항에 있어서,
    상기 제2 웹페이지에 포함된 텍스트를 추출하는 단계 이전에 웹페이지에 존재하는 유사한 텍스트를 검색하기 위해 입력된 텍스트의 상기 핵심어를 추출하는 단계를 더 포함하는, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 방법.
  3. 제2항에 있어서,
    상기 핵심어를 추출하는 단계는,
    상기 텍스트에 포함된 단어 또는 적어도 두 개의 단어를 포함하는 구절을 추출하는 단계인, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 방법.
  4. 제1항에 있어서,
    상기 페이지 유사도를 측정하는 단계는,
    상기 제2 웹 페이지에 포함된 텍스트에 상기 핵심어가 포함된 비율을 측정하는 단계를 포함하고,
    상기 제3 URL들의 유효 여부를 결정하는 단계는,
    측정된 상기 비율과 미리 결정된 비율을 기초로 상기 제3 URL들의 유효 여부를 결정하는 단계를 포함하는, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 방법.
  5. 제1항에 있어서,
    수집된 상기 제3 웹 페이지의 위치를 나타내는 상기 제3 URL을 적어도 포함하고 상기 제2 URL을 더 포함한 상기 제2 URL의 유사도 순위 관리를 위한 URL 세트를 생성하는 단계를 더 포함하는, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 방법.
  6. 제5항에 있어서,
    상기 순위 중 높은 순위의 상기 URL 세트를 다음 수집을 위해 제공하는 단계를 더 포함하는, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 방법.
  7. 제5항에 있어서,
    측정된 상기 페이지 유사도 및 상기 URL 유사도를 상기 URL 세트에 포함하는 단계를 더 포함하는, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 방법.
  8. 제1항에 있어서,
    상기 URL 유사도를 측정하는 단계는,
    상기 제1 URL 및 상기 제2 URL을 토큰화하는 단계; 및
    동일한 상기 제1 URL의 토큰과 상기 제2 URL의 토큰의 개수의 비율을 측정하는 단계를 포함하고,
    상기 제3 URL들의 유효 여부를 결정하는 단계는,
    측정된 상기 비율과 미리 결정된 비율을 기초로 상기 제1 URL 및 상기 제2 URL이 유사한지를 결정하여 상기 제3 URL들의 유효 여부를 결정하는 단계를 포함하는, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 방법.
  9. 핵심어를 포함한 제1 웹 페이지에 포함된 제2 웹 페이지의 위치를 나타내는 제2 URL 및 상기 제2 웹 페이지에 포함된 텍스트를 추출하는 URL 및 텍스트 추출부;
    상기 제2 웹 페이지에 포함된 제3 웹 페이지의 위치를 나타내는 제3 URL을 추출하는 URL 추출부;
    상기 제1 URL과 상기 제2 URL이 유사한지에 대한 URL 유사도 또는 상기 핵심어와 상기 제2 웹 페이지에 포함된 텍스트가 유사한지에 대한 페이지 유사도를 측정하고,
    측정한 상기 URL 유사도 또는 상기 페이지 유사도를 기초로 제3 URL들의 유효 여부를 결정하는 유사도 측정부; 및
    결정된 상기 유효 여부에 기초하여 상기 제3 웹 페이지를 수집하는 페이지 수집부를 포함하는, 유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 장치.
  10. 제9항에 있어서,
    상기 URL 및 텍스트 추출부가 상기 제2 웹페이지에 포함된 텍스트를 추출하기 전에 웹페이지에 존재하는 유사한 텍스트를 검색하기 위해 입력된 텍스트의 상기 핵심어를 추출하는 핵심어 추출부를 더 포함하는, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 장치.
  11. 제10항에 있어서,
    상기 핵심어 추출부는,
    상기 텍스트에 포함된 단어 또는 적어도 두 개의 단어를 포함하는 구절을 추출하는, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 장치.
  12. 제9항에 있어서,
    상기 유사도 측정부는,
    상기 제2 웹 페이지에 포함된 텍스트에 상기 핵심어가 포함된 비율을 측정하고,
    측정된 상기 비율과 미리 결정된 비율을 기초로 상기 제3 URL들의 유효 여부를 결정하는, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 장치.
  13. 제9항에 있어서,
    수집된 상기 제3 웹 페이지의 위치를 나타내는 상기 제3 URL을 적어도 포함하고 상기 제2 URL을 더 포함한 상기 제2 URL의 유사도 순위 관리를 위한 URL 세트를 생성하는 URL 세트 생성부를 더 포함하는, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 장치.
  14. 제13항에 있어서,
    상기 유사도 순위 중 높은 순위의 상기 URL 세트를 다음 수집을 위해 제공하는 URL 세트 제공부를 더 포함하는, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 장치.
  15. 제13항에 있어서,
    상기 URL 세트 생성부는,
    측정된 상기 페이지 유사도 및 상기 URL 유사도를 상기 URL 세트에 포함하는, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 장치.
  16. 제9항에 있어서,
    상기 유사도 측정부는,
    상기 제1 URL 및 상기 제2 URL을 토큰화하고,
    동일한 상기 제1 URL의 토큰과 상기 제2 URL의 토큰의 개수의 비율을 측정하고,
    상기 제3 URL들의 유효 여부를 결정하는 경우,
    측정된 상기 비율과 미리 결정된 비율을 기초로 상기 제1 URL 및 상기 제2 URL이 유사한지를 결정하여 상기 제3 URL들의 유효 여부를 결정하는, 유사 텍스트 수집을 위한 포털 사이트 기반 웹 크롤링 장치.
KR1020160096253A 2016-07-28 2016-07-28 유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 방법 및 장치 KR101873101B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160096253A KR101873101B1 (ko) 2016-07-28 2016-07-28 유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160096253A KR101873101B1 (ko) 2016-07-28 2016-07-28 유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180013095A true KR20180013095A (ko) 2018-02-07
KR101873101B1 KR101873101B1 (ko) 2018-06-29

Family

ID=61203853

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160096253A KR101873101B1 (ko) 2016-07-28 2016-07-28 유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101873101B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101954813B1 (ko) * 2019-01-30 2019-06-11 주식회사 해시스크래퍼 하이브리드 크롤링을 통해 데이터를 수집하는 방법, 장치 및 그를 이용한 서버
WO2021137359A1 (ko) * 2019-12-30 2021-07-08 (주)메디아이플러스 임상시험 데이터 매칭 방법 및 장치
KR20230048198A (ko) * 2021-10-01 2023-04-11 주식회사 지식피플 지식재산권 데이터 플랫폼 및 그의 데이터 처리 방법
WO2023128020A1 (ko) * 2021-12-28 2023-07-06 주식회사 메디아이플러스 다국가 임상데이터 표준화 방법 및 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200019286A (ko) 2018-08-08 2020-02-24 동명대학교산학협력단 웹 크롤링을 이용한 크레페 검색 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105243091A (zh) * 2015-09-11 2016-01-13 晶赞广告(上海)有限公司 基于超链分析的页面语义信息提取方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105243091A (zh) * 2015-09-11 2016-01-13 晶赞广告(上海)有限公司 基于超链分析的页面语义信息提取方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101954813B1 (ko) * 2019-01-30 2019-06-11 주식회사 해시스크래퍼 하이브리드 크롤링을 통해 데이터를 수집하는 방법, 장치 및 그를 이용한 서버
WO2021137359A1 (ko) * 2019-12-30 2021-07-08 (주)메디아이플러스 임상시험 데이터 매칭 방법 및 장치
KR20230048198A (ko) * 2021-10-01 2023-04-11 주식회사 지식피플 지식재산권 데이터 플랫폼 및 그의 데이터 처리 방법
WO2023128020A1 (ko) * 2021-12-28 2023-07-06 주식회사 메디아이플러스 다국가 임상데이터 표준화 방법 및 장치

Also Published As

Publication number Publication date
KR101873101B1 (ko) 2018-06-29

Similar Documents

Publication Publication Date Title
KR101873101B1 (ko) 유사 텍스트를 포함한 웹 페이지 수집을 위한 포털 사이트 기반 웹 크롤링 방법 및 장치
Tan et al. /* icomment: Bugs or bad comments?*
US7809551B2 (en) Concept matching system
US8458198B1 (en) Document analysis and multi-word term detector
Biemann et al. Scalable construction of high-quality web corpora
KR101500617B1 (ko) 한국어 어휘 의미망을 이용한 문맥 철자오류 교정 장치 및 방법
Luotolahti et al. Towards universal web parsebanks
Jaafar et al. Enhancing Arabic stemming process using resources and benchmarking tools
Chen et al. BibPro: A citation parser based on sequence alignment
US20120078907A1 (en) Keyword presentation apparatus and method
Tang et al. Overview of the NTCIR-9 Crosslink Task: Cross-lingual Link Discovery.
Strötgen et al. Event-centric search and exploration in document collections
Pala et al. Derivancze—Deriv ational An alyzer of Cze ch
Pinter et al. Syntactic parsing of web queries with question intent
US8862586B2 (en) Document analysis system
US20110131214A1 (en) Information retrieval method, computer readable medium and information retrieval apparatus
Ahn et al. Question Answering with QED at TREC 2005.
Aqeel et al. On the development of name search techniques for Arabic
JP2007164635A (ja) 同義語彙獲得方法及び装置及びプログラム
JP6106489B2 (ja) 語義解析装置、及びプログラム
Shao et al. Combining lexical and structural information for static bug localisation
Oostdijk et al. Constructing a broad-coverage lexicon for text mining in the patent domain
Rago et al. Early aspect identification from use cases using NLP and WSD techniques
Keyaki et al. Part-of-speech tagging for web search queries using a large-scale web corpus
Aman et al. An automated detection of confusing variable pairs with highly similar compound names in Java and Python programs

Legal Events

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