인터넷과 컴퓨터 기술이 발전함에 따라 정보의 양이 폭발적으로 증가하였으며, 이로 인해 다양한 웹 저작 도구 및 새로운 웹 표준의 출현과 웹에 대한 접근성이 보다 편리해지면서 매우 다양한 종류의 웹 콘텐츠들이 아주 빠르게 생산되고 있다. 하지만 웹 문서는 여러 블록으로 나누어 다양한 주제를 담아내고 있으며, 각각의 블록들이 서로 연관성이 없는 주제를 다루는 경우가 많을 뿐만 아니라 네비게이션, 단순한 장식물, 광고, 저작권 정보 등과 같이 콘텐츠로 볼 수 없는 블록들도 존재한다. 이러한 문제를 해결하기 위해 HTML 웹 문서의 정확한 본문영역만을 추출하여 사용자 요구조건을 충족하고 효과적으로 정보를 학습할 수 있도록 하며, 추후에는 문서를 체계적으로 관리할 수 있게 최적화된 웹 검색 시스템으로서의 재구성 방법을 제안하고자 한다.
인터넷과 컴퓨터 기술이 발전함에 따라 정보의 양이 폭발적으로 증가하였으며, 이로 인해 다양한 웹 저작 도구 및 새로운 웹 표준의 출현과 웹에 대한 접근성이 보다 편리해지면서 매우 다양한 종류의 웹 콘텐츠들이 아주 빠르게 생산되고 있다. 하지만 웹 문서는 여러 블록으로 나누어 다양한 주제를 담아내고 있으며, 각각의 블록들이 서로 연관성이 없는 주제를 다루는 경우가 많을 뿐만 아니라 네비게이션, 단순한 장식물, 광고, 저작권 정보 등과 같이 콘텐츠로 볼 수 없는 블록들도 존재한다. 이러한 문제를 해결하기 위해 HTML 웹 문서의 정확한 본문영역만을 추출하여 사용자 요구조건을 충족하고 효과적으로 정보를 학습할 수 있도록 하며, 추후에는 문서를 체계적으로 관리할 수 있게 최적화된 웹 검색 시스템으로서의 재구성 방법을 제안하고자 한다.
According as internet and computer technology develops, the amount of information has increased exponentially, arising from a variety of web authoring tools and is a new web standard of appearance and a wide variety of web content accessibility as more convenient for the web are produced very quickl...
According as internet and computer technology develops, the amount of information has increased exponentially, arising from a variety of web authoring tools and is a new web standard of appearance and a wide variety of web content accessibility as more convenient for the web are produced very quickly. However, web documents are put out on a variety of topics divided into some blocks where each of the blocks are dealing with a topic unrelated to one another as well as you can not see with contents such as many navigations, simple decorations, advertisements, copyright. Extract only the exact area of the web document body to solve this problem and to meet user requirements, and to study the effective information. Later on, as the reconstruction method, we propose a web search system can be optimized systematically manage documents.
According as internet and computer technology develops, the amount of information has increased exponentially, arising from a variety of web authoring tools and is a new web standard of appearance and a wide variety of web content accessibility as more convenient for the web are produced very quickly. However, web documents are put out on a variety of topics divided into some blocks where each of the blocks are dealing with a topic unrelated to one another as well as you can not see with contents such as many navigations, simple decorations, advertisements, copyright. Extract only the exact area of the web document body to solve this problem and to meet user requirements, and to study the effective information. Later on, as the reconstruction method, we propose a web search system can be optimized systematically manage documents.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
군집화를 하는 첫 번째 과정은 영역구분 단계에서 추출한 후보 본문 블록을 기준으로 해당요소의 위치를 검색한다. HTML 원본문서 내 전체 블록 요소로부터 영역구분단계에서 추출한 후보 본문 블록에 대한 문장을 연구자가 직접 검색 하면 동일한 텍스트를 갖는 요소를 찾고, 해당 요소(자식요소)에 대한 부모노드를 2차적으로 검색한 다음 추출한 부모요소가 포함하는 모든 자식요소를 출력하는 것이다. 이러한 방법은 앞서 설명한 구조적 응집성에 근거하여 영역구분단계에서 추출한 후보 본문 블록에 대한 전/후 블록과 함께 군집화를 하고, 추출된 블록들에 대한 결과 값 중 공통 된 영역이 있을 경우 해당 영역을 본문으로 확정한다.
문서의 자동분류 방법은 구성된 색인어 집합과 유사한 문서를 동일한 그룹으로 분류한다. 많은 양의 문서를 효과적으로 관리하고, 키워드 검색을 통한 정확한 결과를 나타낼 수 있게 하는 동시에 방대한 양의 작업을 감소시키는데 그 목적이 있다.
이를 위해 전체 문서 집단에서 무작위로 일정개수의 문서를 선별하되 추출된 문서 간 중복되는 문서가 없도록 실험 문서를 추출해야 한다. 본 연구에서는 블로그, 카페, 뉴스 레이아웃 구조의 사이트에서 직접 수집한 30개의 웹 문서 데이터 세트를 이용하여 제안한 방법의 타당성을 검증하고자 한다. 다만, 아래사항에 대해서는 예외처리(Exception) 으로 간주한다.
가설 설정
영역구분단계에서 추출 된 후보 본문 블록들을 토대로, 구조 분석 단계에서 각 후보 블록들의 전후(前後) 블록들에 대해 군집화(Clustering)하여 하나의 집단으로 본문요소를 확장한다. 본문은 구성상 하나의 영역으로 표현되며, 본문 전체가 연속된 문장으로 이루어져 있다고 가정한다. 이런 가정은 텍스트의 구조적 응집성(Text Coherence)으로 설명할 수 있으며, 본문 내 위치한 텍스트들은 거리상 서로 가깝게 밀집하여 위치한다.
제안 방법
HTML 형식으로 작성된 웹 문서로부터 기계학습 기법을 이용하여 정확하게 본문 내용을 추출하기 위하여 기존에 제안, 검증된 특징인 텍스트 블록 내의 단어/링크 밀도 이외에 텍스트 블록 주변의 HTML 태그 분포 정보 및 이웃 텍스트 블록의 특징 정보를 문맥 정보로 추출하여 함께 이용하는 방법을 제안한다[14]. 먼저 텍스트 블록 주변의 태그분포를 분석, 이때 태그의 트리 구조를 기반으로 그 내용이 구성되며, 특정 텍스트 블록의 부모 태그(트리 구조로 표현되었을 때 해당 텍스트 블록을 포함하는 바로 상위의 HTML 태그 정보)를 해당 텍스트 블록의 본문 여부 판단을 위한 특징 정보로 이용한다.
그렇기 때문에 웹 문서에서 어떠한 키워드를 중심키워드로 정하느냐에 따라서 본문영역 추출에 대한 정확도가 달라질 수 있다. 가중치를 이용한 블록 추출 과정은 첫째, 클러터를 제거한 블록 내 어휘들에 대한 형태소 분석을 진행한다. 형태소 분석은 뜻을 가진 가장 작은 말의 단위로서, 이 단계에서는 정보추출의 기본적인 대상이 되는 블록 내 어휘들을 명사(名詞), 복합명사(複合名詞)만으로 구성한다.
결과 리스트 중에서 셋째, 키워드의 빈도수를 기준으로 최소 지지도(n=1인 항목에 대해서)를 만족하는 키워드에 대해 간소화 작업을 진행한다. 지지도가 낮은 항목은 우연히 발생할 수 있는 또는 흥미가 없는 경우일 가능성이 있기 때문에, 웹 문서 내에서 한번 씩 나온 키워드들을 제거한다.
구해진 결과 값 표 3을 토대로 상위 Level 10을 범위로 지정한 후 범위 내 중복으로 만족하는 임의의 ID 값에 대해 구조 분석 단계로 넘어갈 후보 본문 블록을 추출한다. 본 논문에서 상위 범위를 10으로 지정한 것에 대한 근거는 실험 전 각각의 개별적인 특징을 가진 블로그, 카페, 뉴스에서 임의의 문서를 3개씩 추출하여 분석한 결과 Level 10을 넘어 갈수록 비 본문 영역의 블록들이 본문 영역의 블록보다 더 많이 추출됨을 발견 할 수 있었다.
품사를 정확히 결정하는 일은 최종적인 결과까지 영향을 주게 되므로 가장 주의를 요하는 과정이다. 국내에는 다양한 한글 형태소 분석기가 있기 때문에 본 연구에서는 Korean Morphological Analyzer라는 RHINO 한글 형태소 분석기를 사용한다. RHINO는 입력된 문장을 어절(띄어쓰기 단위) 별로 끊어서 각 어절의 형태소와 품사를 분석한다.
같은 단어라도 띄어쓰기가 되어있는 것과 그렇지 않은 단어에 대해서 다른 결과 값이 나오기 때문에 본 연구에서는 임의적으로 연구자가 정리를 하였지만 이 부분의 경우 추후에 보완을 해 나가야 할 것 같다. 둘째, 키워드 스코어(빈도수)를 계산하여 결과를 도출한다. 문서에서 빈번하게 발생되는 키워드 일수록 주제와 관련성이 높은 단어일 수도 있고, 일반적으로 문서 내에서 자주 쓰이는 공통 단어일 경우도 있기 때문에, 키워드 간 변별력(辨別力)을 주기 위한 기초 작업 이라 할 수 있다.
분석에 사용된 사전은 국립국어원에서 공개한 1200만 어절 규모의 한국어 현대 문어형태 분석 말뭉치를 기초로 하였으며, 말뭉치는 각 어절을 품사 분석 해놓았기 때문에 이 자료들을 추출하여 비교적 큰 규모의 사전을 빠르게 만들 수 있다. 또한 이 프로그램은 동적사전(Dynamic Dictionary)을 사용하며, 분석 대상이 들어오면 주위의 문맥을 판단하여 가장 최적의 분석 결과를 제시한다. 단점으로는 아직 실생활에서 혹은 문서에서 나올 수 있는 모든 경우에 대해 단어를 완벽하게 대응하지 못한다는 것이다.
먼저 Data Type의 길이정보를 이용한 블록추출 방법으로 본문 요소 내에는 다른 요소들에 비해서 대량의 텍스트가 포함되어 있다는 사실에 근거하여 후보 본문 블록을 추출한다. 첫째, 링크가 없는 문자열 중 Length 값이 가장 큰 블록요소를 추출한다.
그리고 난 후 웹 문서의 본문 내용을 보다 정확하게 추출하기 위한 두 번째 특징 정보로서 이웃 텍스트 블록의 정보 및 이웃 텍스트 블록과의 거리를 나타낸다. 먼저 이웃 텍스트 블록과의 거리는 태그 단위로 줄이 구분되도록 전처리 된 HTML 파일에서 텍스트 블록 사이의 줄 간격으로 정의하였고, 두 번째로 이웃 텍스트 블록의 특징 정보로는 이전/이후에 위치한 각각 2개씩의 근접 텍스트 블록의 특징 정보를 이용한다. 특정 텍스트 블록의 특징 정보에 이전/이후의 텍스트 블록 특징 정보를 함께 포함함으로써 기계학습을 이용한 자동 분류 모델 학습 시 전후에 위치한 텍스트 블록의 특징을 반영하여 모델을 학습할 수 있도록 한다.
HTML 형식으로 작성된 웹 문서로부터 기계학습 기법을 이용하여 정확하게 본문 내용을 추출하기 위하여 기존에 제안, 검증된 특징인 텍스트 블록 내의 단어/링크 밀도 이외에 텍스트 블록 주변의 HTML 태그 분포 정보 및 이웃 텍스트 블록의 특징 정보를 문맥 정보로 추출하여 함께 이용하는 방법을 제안한다[14]. 먼저 텍스트 블록 주변의 태그분포를 분석, 이때 태그의 트리 구조를 기반으로 그 내용이 구성되며, 특정 텍스트 블록의 부모 태그(트리 구조로 표현되었을 때 해당 텍스트 블록을 포함하는 바로 상위의 HTML 태그 정보)를 해당 텍스트 블록의 본문 여부 판단을 위한 특징 정보로 이용한다. 그리고 난 후 웹 문서의 본문 내용을 보다 정확하게 추출하기 위한 두 번째 특징 정보로서 이웃 텍스트 블록의 정보 및 이웃 텍스트 블록과의 거리를 나타낸다.
본 논문에서는 2.2절에서 설명한 텍스트 블록의 단어/링크 밀도에 의한 본문 분류 방법에 대해 4.2절 평가방법에 설명한 것과 같이 재현율(R), 정확률(P), F1 값으로 비교하였다. 먼저, 오류 유형별로 분류해 본 결과 제목을 본문과 함께 추출하는 경우가 가장 많았고, 본문 사이에 끼어있는 광고가 함께 추출 되는 경우가 두 번째로 발생하였다.
본 절에서 제안하는 방법은 영역구분단계와 구조분석단계로 나눠 순차적으로 본문을 분석하고자 한다. 영역구분단계에서 전처리와 후처리를 통해 불필요한 클러터를 제거한 후 Data Type의 길이정보와 키워드(색인어) 가중치를 이용한 정보를 동시에 만족하는 블록들에 대해서 후보 본문 블록으로 추출한다.
본 절에서 제안하는 방법은 영역구분단계와 구조분석단계로 나눠 순차적으로 본문을 분석하고자 한다. 영역구분단계에서 전처리와 후처리를 통해 불필요한 클러터를 제거한 후 Data Type의 길이정보와 키워드(색인어) 가중치를 이용한 정보를 동시에 만족하는 블록들에 대해서 후보 본문 블록으로 추출한다. 추출 된 후보 본문 블록들을 통해, 구조분석단계에서 후보 본문 블록(Standard Block)에 대한 전후 블록태그 분석방법 등을 이용하여 최종적인 웹 문서 내 본문들을 찾아낸다.
영역구분단계에서 추출 된 후보 본문 블록들을 토대로, 구조 분석 단계에서 각 후보 블록들의 전후(前後) 블록들에 대해 군집화(Clustering)하여 하나의 집단으로 본문요소를 확장한다. 본문은 구성상 하나의 영역으로 표현되며, 본문 전체가 연속된 문장으로 이루어져 있다고 가정한다.
위의 방법은 텍스트 블록의 링크/단어 밀도만으로도 본문을 분류해냄으로서 짧은 시간 내에 추출 가능한 소수의 특징만으로 본문을 정확하게 분류 하였다는데 그 의의가 있다. 그러나 정확도 측정 시에 본문 및 비 본문에 해당하는 모든 분류 결과에 대한 정확도를 합산 계산함으로서 전체 분류 정확도가 상대적으로 높은 비율을 차지하는 비본문의 분류 정확도에 가깝게 결정되어 분류하고자 하는 본문에 대한 추출정확도 만을 정확하게 검증하였다고 보기가 어렵다[13].
웹 문서의 본문 추출을 위한 공개시스템으로 현재까지 가장 성능이 좋다고 알려진 방법은 독일의 L3C 연구소에서 제안한 boilerpipe이다[6,11]. 이 방법은 HTML 문서를 경험적인 규칙을 이용하여 텍스트 블록들로 구분하는 단계, 각 텍스트 블록별로 블록 내 단어수와 링크가 삽입된 단어의 수에 따라 단어 밀도와 링크 밀도를 계산하여 특징을 추출하는 단계, 그리고 이전/이후 에 출현한 텍스트 블록의 정보(단어/링크 밀도)를 현재 텍스트 블록의 특징으로 함께 고려하여 학습하고, 텍스트 블록별로 본문 여부를 분류하는 단계로 이루어진다.
[2]에서는 시각적 블록에 기반 한 페이지 구분 및 본문 블록 추출을 위해 HTML문서를 DOM트리로 표현하고, 트리내의 각 노드별로 가로, 세로 크기 및 배경 색상과 문서 내에서의 절대적 출현 위치 정보 등을 노드의 특징으로 구성하였다. 이 후, 이와 같은 특징과 노드들의 문서 내 출현 밀집도 등을 이용하여 그룹화 하고, 다시 한 번 그룹의 특징 정보를 이용하여 그룹별로 본문 여부를 결정하였다. 이와 같은 연구들은 기계 학습 기법을 이용하여 템플릿 정보 없이 자동으로 본문 영역을 추출하는 것에 대한 가능성을 검증하였으나, 단순히 화면에 보이는 영역 정보만을 이용하거나 트리 구조로 표현되는 문서의 구조적 특징만을 이용함으로서 광고, 메뉴, 댓글등과 같이 본문과 관계없는 내용들이 웹 문서 내에서 더 큰 영역을 차지하는 경우 본문을 제대로 분류해내지 못하는 단점이 있다.
이러한 문제점을 보완하기 위해 길이정보와 함께 특정단어가 문서 내에서 얼마나 자주 등장하는지를 나타내기 위한 일련의 과정으로 형태소 분석을 거친 블록들에 대해 각 키워드 스코어(빈도수)를 기준으로 가중치 값을 부여, Data Type의 길이정보를 이용한 결과 값과 동시에 만족하는 블록들에 대해 후보 본문 블록으로 추출한다.
HTML 원본문서 내 전체 블록 요소로부터 영역구분단계에서 추출한 후보 본문 블록에 대한 문장을 연구자가 직접 검색 하면 동일한 텍스트를 갖는 요소를 찾고, 해당 요소(자식요소)에 대한 부모노드를 2차적으로 검색한 다음 추출한 부모요소가 포함하는 모든 자식요소를 출력하는 것이다. 이러한 방법은 앞서 설명한 구조적 응집성에 근거하여 영역구분단계에서 추출한 후보 본문 블록에 대한 전/후 블록과 함께 군집화를 하고, 추출된 블록들에 대한 결과 값 중 공통 된 영역이 있을 경우 해당 영역을 본문으로 확정한다.
그러나 다중 클래스 분류 문제이더라도 데이터의 분포가 한쪽으로 치우친 경우에는 전체 F-Measure 값이 데이터가 많이 포함된 쪽의 F-Measure 값에 의해 좌우 될 수 있기 때문에 더 중요한 본문을 분류하지 못하였음에도 불구하고 전체적으로는 비교적 높은 정확도를 가진다고 판단될 수 있다. 이에 따라 본문 영역에 대한 정확한 분류 여부를 평가하기 위해 비본문의 분류 F-Measure는 무시하고, 본문에 대한 F-Measure 만을 측정하여 2.2절에 설명한 기존 기법과 비교, 분석하고 타당성을 검증한다.
그래서 웹 문서에서 정보를 표현하는 가장 중요한 영역인 본문영역을 자동 추출하는 것은 특정 형식에 얽매이지 않는 다양하고 자유로운 형식으로 작성된 웹 문서들을 효과적으로 빠른 시간 안에 재가공할 수 있는 대표적인 방법으로 폭넓게 사용된다. 즉, 방대한 웹 문서들로부터 문서의 핵심 내용이라고 할 수 있는 본문 내용을 추출하는 것은, 웹 문서를 이해하고 분석하여 서비스하기 위한 가장 기초적이면서도 중요한 단계이므로 이를 위하여 본 논문에서는 수집한 웹 문서에 대해 영역구분단계와 구조분석단계를 걸쳐 본문영역을 추출하는 방법을 제안함으로서 통계적인 방법과 지식 기반 분류 방법의 장점을 모아 대량의 문서를 신속하고 정확하게 렌더링 할 수 있게 된다. 향후에는 다양한 데이터 세트를 이용한 검증과 함께 최근에 제안된 다른 방법들과의 성능을 비교하여 타당성을 검증해야 할 것이고, 특히 본 논문에서 제안한 방법이 다양한 언어에서도 제한되지 않은 웹 문서 환경에 적합함을 보다 명확히 검증하기 위해 한국어뿐만 아니라 다른 언어의 문서 집합을 수집하고 이를 이용한 실험과 검증이 필요할 것이다.
영역구분단계에서 전처리와 후처리를 통해 불필요한 클러터를 제거한 후 Data Type의 길이정보와 키워드(색인어) 가중치를 이용한 정보를 동시에 만족하는 블록들에 대해서 후보 본문 블록으로 추출한다. 추출 된 후보 본문 블록들을 통해, 구조분석단계에서 후보 본문 블록(Standard Block)에 대한 전후 블록태그 분석방법 등을 이용하여 최종적인 웹 문서 내 본문들을 찾아낸다. 본 연구에서 본문추출에 있어 2단계인 영역구분단계와 구조분석단계로 나누는 이유는 영역구분단계를 통계적인 방법이라 통칭하고, 구조분석단계를 지식기반 분석 방법이라 통칭하면 통계적인 방법의 장점인 기존에 다양한 형식의 Template Info가 있는 경우 빠른 시간 안에 분석이 가능하다는 점과 지식기반 분석방법의 장점인 분석규칙을 만들어 사용하므로 규칙에 따라 분류될 문서들의 경우 높은 정확도를 나타낸다는 점이다.
먼저 이웃 텍스트 블록과의 거리는 태그 단위로 줄이 구분되도록 전처리 된 HTML 파일에서 텍스트 블록 사이의 줄 간격으로 정의하였고, 두 번째로 이웃 텍스트 블록의 특징 정보로는 이전/이후에 위치한 각각 2개씩의 근접 텍스트 블록의 특징 정보를 이용한다. 특정 텍스트 블록의 특징 정보에 이전/이후의 텍스트 블록 특징 정보를 함께 포함함으로써 기계학습을 이용한 자동 분류 모델 학습 시 전후에 위치한 텍스트 블록의 특징을 반영하여 모델을 학습할 수 있도록 한다. 마지막 분류 학습을 위한 특징과 분류 알고리즘으로 하나의 텍스트 블록에 대해서는 기존에 [6]에서 제안된 텍스트 블록 내 단어 밀도, 링크 밀도와 함께 텍스트 블록 주변 정보인 텍스트 블록의 부모 태그, 이전 텍스트 블록과의 거리, 다음 텍스트 블록과의 거리 등 총 5개의 특징이 추출된다.
대상 데이터
다만, 아래사항에 대해서는 예외처리(Exception) 으로 간주한다. 첫째, 블로그, 카페는 싸이월드, 다음, 이글루스와 같은 대부분의 페이지에서 연구자가 소스코드에 대한 자료 수집이 자유롭지 못하기 때문에 그림 5와 같이 상위 랭크를 점유하고 있는 블로그 중 네이버(점유율 70.1%)와 티 스토리(점유율 3.4%)로 모집단을 한정하였다.
마지막 분류 학습을 위한 특징과 분류 알고리즘으로 하나의 텍스트 블록에 대해서는 기존에 [6]에서 제안된 텍스트 블록 내 단어 밀도, 링크 밀도와 함께 텍스트 블록 주변 정보인 텍스트 블록의 부모 태그, 이전 텍스트 블록과의 거리, 다음 텍스트 블록과의 거리 등 총 5개의 특징이 추출된다. 최종적으로 특정 텍스트 블록의 특징 정보는 자기 자신, 이전에 출현한 최근 접 2개의 텍스트 블록, 이후에 출현한 최근 접 2개의 텍스트 블록 등 총 5개 텍스트 블록의 각각의 특징 정보를 포함한 25개 특징 정보로 구성된다.
데이터처리
일반적으로 정보검색 시스템의 성능을 평가하는데 쓰이는 척도인 F-Measure 값으로 평가를 진행하였다. F-Measure은 분류 문제의 평가에서 가장 광범위하게 사용되며 재현율(Recall)과 정확률(Precision), 그리고 F1의 조화 평균으로 계산된다.
성능/효과
각 표와 그래프로 나타난 실험 결과에서 볼 수 있듯이 제안한 시스템이 boilerpipe에 비하여 F-Measure가 약 4.3%의 성능 향상 효과를 보였다. 또한 두 개의 데이터 세트에서 정확도의 큰 차이를 보이지 않음으로써 제안한 방법을 이용하여 데이터에 민감하지 않은 본문 추출이 가능함을 알 수 있게 되었다.
단어 및 링크 밀도에 더하여 문서 내 텍스트 블록 주변의 태그 분포 정보와 이웃에 위치한 주변 텍스트 블록의 정보를 함께 이용하는 방법을 제안한 본 연구에서는 실험을 통하여 기존에 가장 좋다고 알려진 시스템[6]에 비해 공개된 데이터에 대해서는 약 3%, 직접 수집한 데이터에 대해서는 약 19%의 성능을 향상시킴으로서 제안하는 방법의 타당성을 검증하였으며, 서로 다른 두 데이터에서 유사한 성능을 보였다.
3%의 성능 향상 효과를 보였다. 또한 두 개의 데이터 세트에서 정확도의 큰 차이를 보이지 않음으로써 제안한 방법을 이용하여 데이터에 민감하지 않은 본문 추출이 가능함을 알 수 있게 되었다.
특정 텍스트 블록의 특징 정보에 이전/이후의 텍스트 블록 특징 정보를 함께 포함함으로써 기계학습을 이용한 자동 분류 모델 학습 시 전후에 위치한 텍스트 블록의 특징을 반영하여 모델을 학습할 수 있도록 한다. 마지막 분류 학습을 위한 특징과 분류 알고리즘으로 하나의 텍스트 블록에 대해서는 기존에 [6]에서 제안된 텍스트 블록 내 단어 밀도, 링크 밀도와 함께 텍스트 블록 주변 정보인 텍스트 블록의 부모 태그, 이전 텍스트 블록과의 거리, 다음 텍스트 블록과의 거리 등 총 5개의 특징이 추출된다. 최종적으로 특정 텍스트 블록의 특징 정보는 자기 자신, 이전에 출현한 최근 접 2개의 텍스트 블록, 이후에 출현한 최근 접 2개의 텍스트 블록 등 총 5개 텍스트 블록의 각각의 특징 정보를 포함한 25개 특징 정보로 구성된다.
구해진 결과 값 표 3을 토대로 상위 Level 10을 범위로 지정한 후 범위 내 중복으로 만족하는 임의의 ID 값에 대해 구조 분석 단계로 넘어갈 후보 본문 블록을 추출한다. 본 논문에서 상위 범위를 10으로 지정한 것에 대한 근거는 실험 전 각각의 개별적인 특징을 가진 블로그, 카페, 뉴스에서 임의의 문서를 3개씩 추출하여 분석한 결과 Level 10을 넘어 갈수록 비 본문 영역의 블록들이 본문 영역의 블록보다 더 많이 추출됨을 발견 할 수 있었다.
추출 된 후보 본문 블록들을 통해, 구조분석단계에서 후보 본문 블록(Standard Block)에 대한 전후 블록태그 분석방법 등을 이용하여 최종적인 웹 문서 내 본문들을 찾아낸다. 본 연구에서 본문추출에 있어 2단계인 영역구분단계와 구조분석단계로 나누는 이유는 영역구분단계를 통계적인 방법이라 통칭하고, 구조분석단계를 지식기반 분석 방법이라 통칭하면 통계적인 방법의 장점인 기존에 다양한 형식의 Template Info가 있는 경우 빠른 시간 안에 분석이 가능하다는 점과 지식기반 분석방법의 장점인 분석규칙을 만들어 사용하므로 규칙에 따라 분류될 문서들의 경우 높은 정확도를 나타낸다는 점이다. 결과적으로 각 단계를 통해 서로의 단점을 보완하고 장점을 부각시켜 본문영역 추출에 정확도 상승을 기대할 수 있는 것이다.
계산량과 오류를 줄이기 위해 불필요한 DOM요소들을 제거하는 과정이다. 웹 페이지 본문의 특징을 살펴보면, 본문 내에는 링크가 드물고, 비교적 장문의 텍스트를 포함하며, 본문의 레이아웃을 구성하는 태그가 비교적 적다는 사실을 알 수 있다. 그렇기 때문에 모든 문서에 공통적으로 포함되는 단어는 변별력이 없어 문서 분류에 영향을 주지 못하고, 키워드(색인어) 생성 시 성능저하를 유발하게 되므로 불용어로 간주하여 처리한다.
후속연구
키워드 가중치를 이용한 블록 추출단계에서 주의사항으로 단어 간 띄어쓰기와 영어는 하나의 명사로 봐야한다. 같은 단어라도 띄어쓰기가 되어있는 것과 그렇지 않은 단어에 대해서 다른 결과 값이 나오기 때문에 본 연구에서는 임의적으로 연구자가 정리를 하였지만 이 부분의 경우 추후에 보완을 해 나가야 할 것 같다. 둘째, 키워드 스코어(빈도수)를 계산하여 결과를 도출한다.
본 연구에서 본문추출에 있어 2단계인 영역구분단계와 구조분석단계로 나누는 이유는 영역구분단계를 통계적인 방법이라 통칭하고, 구조분석단계를 지식기반 분석 방법이라 통칭하면 통계적인 방법의 장점인 기존에 다양한 형식의 Template Info가 있는 경우 빠른 시간 안에 분석이 가능하다는 점과 지식기반 분석방법의 장점인 분석규칙을 만들어 사용하므로 규칙에 따라 분류될 문서들의 경우 높은 정확도를 나타낸다는 점이다. 결과적으로 각 단계를 통해 서로의 단점을 보완하고 장점을 부각시켜 본문영역 추출에 정확도 상승을 기대할 수 있는 것이다.
기타 오류 유형을 살펴보면 저작권 표시와 같은 전혀 상관없는 콘텐츠가 추출된 경우로 나타났다. 이처럼 같은 Template의 웹 페이지라 할지라도 포함하는 본문의 텍스트 정도에 따라 정확도에 차이를 보이기 때문에 높은 결과 값을 얻기 위해서는 다양한 웹 페이지의 데이터 분석이 필요한 것이다.
즉, 방대한 웹 문서들로부터 문서의 핵심 내용이라고 할 수 있는 본문 내용을 추출하는 것은, 웹 문서를 이해하고 분석하여 서비스하기 위한 가장 기초적이면서도 중요한 단계이므로 이를 위하여 본 논문에서는 수집한 웹 문서에 대해 영역구분단계와 구조분석단계를 걸쳐 본문영역을 추출하는 방법을 제안함으로서 통계적인 방법과 지식 기반 분류 방법의 장점을 모아 대량의 문서를 신속하고 정확하게 렌더링 할 수 있게 된다. 향후에는 다양한 데이터 세트를 이용한 검증과 함께 최근에 제안된 다른 방법들과의 성능을 비교하여 타당성을 검증해야 할 것이고, 특히 본 논문에서 제안한 방법이 다양한 언어에서도 제한되지 않은 웹 문서 환경에 적합함을 보다 명확히 검증하기 위해 한국어뿐만 아니라 다른 언어의 문서 집합을 수집하고 이를 이용한 실험과 검증이 필요할 것이다.
질의응답
핵심어
질문
논문에서 추출한 답변
기계 학습 기법을 이용하여 템플릿 정보 없이 자동으로 본문 영역을 추출하는 것의 단점은 무엇인가?
이 후, 이와 같은 특징과 노드들의 문서 내 출현 밀집도 등을 이용하여 그룹화 하고, 다시 한 번 그룹의 특징 정보를 이용하여 그룹별로 본문 여부를 결정하였다. 이와 같은 연구들은 기계 학습 기법을 이용하여 템플릿 정보 없이 자동으로 본문 영역을 추출하는 것에 대한 가능성을 검증하였으나, 단순히 화면에 보이는 영역 정보만을 이용하거나 트리 구조로 표현되는 문서의 구조적 특징만을 이용함으로서 광고, 메뉴, 댓글등과 같이 본문과 관계없는 내용들이 웹 문서 내에서 더 큰 영역을 차지하는 경우 본문을 제대로 분류해내지 못하는 단점이 있다.
boilerpipe는 어떻게 이루어져 있는가?
웹 문서의 본문 추출을 위한 공개시스템으로 현재까지 가장 성능이 좋다고 알려진 방법은 독일의 L3C 연구소에서 제안한 boilerpipe이다[6,11]. 이 방법은 HTML 문서를 경험적인 규칙을 이용하여 텍스트 블록들로 구분하는 단계, 각 텍스트 블록별로 블록 내 단어수와 링크가 삽입된 단어의 수에 따라 단어 밀도와 링크 밀도를 계산하여 특징을 추출하는 단계, 그리고 이전/이후 에 출현한 텍스트 블록의 정보(단어/링크 밀도)를 현재 텍스트 블록의 특징으로 함께 고려하여 학습하고, 텍스트 블록별로 본문 여부를 분류하는 단계로 이루어진다.
웹 문서로부터 본문을 추출하기 위해 가장 많이 사용되는 방법은 무엇인가?
웹 문서로부터 본문을 추출하기 위해 가장 많이 사용되는 방법은 HTML 문서의 구조적 특징을 이용한 DOM 트리 구조를 이용하는 것이다[2,3]. [2]에서는 시각적 블록에 기반 한 페이지 구분 및 본문 블록 추출을 위해 HTML문서를 DOM트리로 표현하고, 트리내의 각 노드별로 가로, 세로 크기 및 배경 색상과 문서 내에서의 절대적 출현 위치 정보 등을 노드의 특징으로 구성하였다.
참고문헌 (17)
J.M. Lim, S.J. Jang, M.Y. Kim, J. H. Lee, "2014 Status of Utilization of Internet," Korea Internet Agency, 2014
Deng C., Shipeng Y., Ji-Rong W., Wei-Ying M., "VIPS: a Vision-based Page Segmentation Algorithm," Microsoft Technical Report(MSR-TR-2003-79), 2003.
Suhit G., Gail E. K., Peter G., Michael F. C., Justin S., "Automating Content Extraction of HTML Documents," World Wide Web, vol.8, Issue2, pp.179-224, 2005.
Jeff P., Dan R., "Extracting Article Text from the Web with Maximum Subsequence Segmentation," The 18th international conference on World wide web, pp.971-980, 2009.
Stefan E., "A lightweight and efficient tool for clcaning Web pages", The 6th International Conference on Language Resources and Evaluation, 2008.
Christian K., Peter F., Wolfgang N., "Boilerplate Detection using Shallow Text Features," The third ACM international conference on Web search and data mining, pp.441-450, 2010.
Jian F., Ping L., Suk Hwan L., Sam L., Parag J., Jerry L., "Article Clipper-A System for Web Article Extraction," 17th ACM SIGKDD international conference on Knowledge discovery and data mining, pp.743-746, 2011.
Tim W., William H. H., Jiawei H., "CETR-Content Extraction via Tag Ratios," 19th international conference on World wide web, pp.971-980, 2010.
Jung-chan Yun, Sung-dae Yun, "Design of personalized Web mining using association rules ", Journal of Korea multimedia society, Vol. 11-11, pp.1566-1574, 2008.
Hyung-woo Lee, Tae-su Kim, "Research of knowledge inference algorithm with associated mining method based on Ontology", Journal of Korea multimedia society, Vol. 11-11, pp.1601-1614, 2008.
Tomaz K., Evaluating Text Extraction Algorithms. [Online]. Available: http://tomazkovacic.com/blog/(downloaded 2012, Jul.)
Won-moon Song, Woo-seung Kim, Mung-won Kim, "HTML document, extraction using the context of the surrounding text blocks", Journal of Korean Institute of Information Scientists and Engineers : Software and Applications, Vol. 40-3, pp.155-163, 2013.
S.-H. Lin, J.-M. Ho, Discobering Informative Content Blocks from Web Documents. Proc. of 8th ACM SIGKDD Intl. Conf. Knowledge Discovery and Data Mining, 2002.
Young-gu Lee, "Study on the article text extraction from news web page", Journal of Korea Society for Information Management, Vol. 26, pp.305-320, 2009.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.