53
웹사이트 평가를 위한 웹구조분석 에이전트에 관한 연구 연세대학교 대학원 컴퓨터과학과

웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

웹사이트 평가를 위한 웹구조분석

에이전트에 관한 연구

연세대학교 대학원

컴퓨터과학과

정 윤 경

Page 2: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

웹사이트 평가를 위한 웹구조분석

에이전트에 관한 연구

지도 조 성 배 교수

이 논문을 석사 학위논문으로 제출함

2001년 6월 일

연세대학교 대학원

컴퓨터과학과

정 윤 경

Page 3: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

정윤경의 석사 학위논문을 인준함

심사위원 인

심사위원 인

심사위원 인

연세대학교 대학원

2001년 6월

Page 4: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

감사의 글

대학원이라는 긴 여행을 마치며 그동안 많은 일들을 겪고 느꼈습니다. 대학원

생활의 2년을 돌아보면 아쉬운 생각이 들지만, 대학원 생활을 잘 마무리할 수 있

었으면 좋겠습니다. 많은 아쉬움과 후회가 남고 서운함이 많지만 무사히 마칠 수

있게 도움을 주신 많은 분들께 감사의 뜻을 전하려 합니다.

먼저 부족함이 많은 저를 대학원 석사 과정 2년동안 하나하나 가르쳐주시고 이

끌어주신 조성배 교수님께 진심으로 감사드립니다 . 또한 이 논문이 완성되기까지

조언과 가르침을 주신 최윤철 교수님과 이원석 교수님께 감사드립니다.

2년동안 함께 생활했던 연구실 분들께도 감사의 말을 전합니다. 연구실의 대빵

그러나 언제나 장난끼 100%의 승익오빠, 더위에도 공부하고 있을 연구실 카리스

마 연규오빠, 1학기때부터 졸업하는 지금까지도 신경써준 학균오빠, 언제나 웃는

모습으로 모든 일을 열심히인 금범오빠, 평상시 조용하다가도 재미있는(나XX ) 모

드로 셋팅되고 재미있게 사는 종호오빠, 말장난으로 사람들에게 시원함(? )을 주는

준현오빠, 광적인 끼와 재치의 소유자 지행오빠, 언제나 부지런하고 성실하며 불의

를 못참는 현돈, 아낌없는 관심과 도움을 주는 S C표 교주 희수, 만화에서 방금 튀

어나온 듯 귀엽지만 많은 생각과 모든 일에 열심히인 수영언니께 고마움을 전합

니다. 과묵한 경중, 어른스러운 중원, 듬직한 영철오빠, 5월의 신랑 혁장(이젠 오빠

라 불러야겠지? ), 멋쟁이 종하 (음반내면 꼭 살께~), 제2의 준현오빠 금성, 언니같은

은진, 재미있는 재성오빠, 방장이라 정신없는 유석에게도 고마움을 전하며 남은 대

학원 기간동안 열심히 생활하길 바랍니다.

그리고 소중한 내친구들. 벌써부터 결혼한다고 고민하는 꾸미, 열심히 회사에 다

니고 있을 이선, 경찰로 열심히 수업을 받고 있을 수열, 여자동기를 우선으로 아끼

는 기포 (bubble ), 가끔씩 놀라게 하는 아너(horn or ), 남친이랑 깨가 쏟아지는 현의,

터프걸 혜진. 이 모두가 내게는 힘이 되었습니다. 특히 바쁜 생활임에도 불구하고

투정부리고 화내던 나를 신경써주고 이해해준 은심과 정혜에게 내마음을 전합니

다. 못난 후배를 격려하고 채찍질해준 신준오빠, 상현오빠, 영철오빠, 명철오빠, 자

Page 5: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

타가 인정한 귀여운 동철오빠, 장난끼 많은 동현오빠, 멀리 있어도 힘이 되어준 재

민오빠, 순현오빠께 고마움을 전합니다. 대학원생활로 고생하는 누리, 어느 병동을

휩쓸 선영, 새색시 은영, 더블이라고 약올리는 명진, 어느 교회를 점령한 지선, 터

프와 귀여움이 퐁퐁 풍기는 지정, 신기훈씨, 장석환씨, 황선규씨, 김종민씨, 김소희

양, 김민정양께 감사의 글을 전합니다.

마지막으로 몇년동안 항상 곁에 있으면서 많은 구박과 설움을 받는 형준이와

순진하고 귀여운 우리 언니 그리고 26년동안 아낌없이 보살펴주시고 이끌어주신

부모님께 이 글을 전합니다.

2001년 6월 신촌에서

Page 6: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

차 례

국 문 요 약 v

제 1 장 서 론 1

제 2 장 배 경 3

2.1 웹문서의 특성과 구조 3

2.2 HT ML과 XML 4

2.3 랩퍼(w rapper ) 5

2.4 로그화일을 이용한 사용자 패턴 분석 7

제 3 장 웹 구조 분석 에이 전트 9

3.1 구조추출 10

(1) 문서변환 10

(2) 웹문서의 구조추출 12

(3) 하이퍼링크의 구조추출 14

3.2 구조저장 17

(1) 웹문서의 구조저장 18

(2) 하이퍼링크의 구조저장 21

3.3 구조 가시화 21

3.4 사용자 행동패턴분석 25

(1) 전처리 26

(2) 분석 26

(3) 사용자 패턴 가시화 27

제 4 장 실 험 28

4.1 사용자 인터페이스 28

4.2 실행 예 29

4.3 시스템 유용성 검사 31

(1) 실험환경 31

(2) 실험결과 31

i

Page 7: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

4.4 웹평가 적용 32

(1) 실험환경 32

(2) 평가결과 32

4.5 논의 34

제 5 장 결 론 및 향후 연구 36

참고 문헌 37

A B S T RA CT 4 1

ii

Page 8: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

그 림 차 례

그림 1. 웹문서- 웹서버간의 연결관계. 3

그림 2. 구조분석 에이전트의 기능. 9

그림 3. 구조분석 에이전트의 구성. 10

그림 4. 구조추출 모듈. 11

그림 5. 잘 정형화된 문서변환 예. 12

그림 6. 웹문서 구조추출에 사용된 데이터구조. 13

그림 7. 웹문서의 구조추출 알고리즘. 14

그림 8. 하이퍼링크구조의 데이터표현. 15

그림 9. 하이퍼링크 구조추출알고리즘. 16

그림 10. 하이퍼링크 구조추출의 예. 16

그림 12. 하이퍼링크 구조추출 과정. 17

그림 13. 구조 저장 모듈 구성도. 18

그림 14. 데이터 저장 포맷. 18

그림 15. XML로 변환된 HT ML 문서의 예. 19

그림 16. 단순구조 리스트의 사용 예. 20

그림 17. 속성이 포함된 저장구조의 예. 20

그림 18. 하이퍼링크 구조의 데이터 구조. 21

그림 19. 하이퍼링크의 저장과정 예. 21

그림 20. 구조 가시화. 22

그림 21. 그래프 형식의 가시화 알고리즘. 24

그림 22. 그래프형식의 가시화 연결순서. 24

그림 23. 그래프형식의 가시화 연결 예. 25

그림 24. 사용자 행동패턴분석 시스템. 25

그림 25. 사용자 웹문서 접근경로의 예. 26

그림 26.사용자에 따른 웹문서 접근의 예. 27

그림 27. 사용자인터페이스. 29

그림 28. 구조 저장결과. 30

그림 29. 한빛증권에 대한 도큐먼트, 사이트 평가, 사이트맵 결과. 30

그림 30. 분야에 대한 항목별 결과. 35

iii

Page 9: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

표 차 례

표 1. HT ML 4.01 스펙에 포함된 HT ML 태그의 분류. 5

표 2. 전처리 된 후 로그화일 구조의 예. 26

표 3. 시스템과 사용자의 구조분석 결과. 31

표 4. 문서 종류와 구조에 따른 평가항목 및 결과. 33

표 5. 에러값에 대한 평가항목 및 결과. 33

iv

Page 10: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

국 문 요 약

웹사이트 평가를 위한 웹구조분석

에이전트에 관한 연구

인터넷의 성장으로 상거래의 모습이 공급자와 수요자의 직거래 방식에서 전자

적 거래 방식으로 변화되었다. 이에 따라 사용자에게 편리한 비즈니스 사이트를

구축하기 위해서 웹관리자는 웹서버의 구조 및 내용을 평가하고 재구성해야 하는

데, 수작업에 의한 웹문서의 평가시 인적, 시간적 비용이 높고 시스템에 대한 평가

값이 객관적이지 못하다. 웹문서를 자동으로 평가하는 시스템을 설계하는데도 다

양한 형태의 웹문서분석과 급변하는 웹환경의 적응이 시스템에 요구되기 때문에

설계가 어렵다. 변화된 웹문서 형식에 따른 내용추출의 연구가 이뤄지고 있으나

대부분 실제 웹환경에 적합하지 못한 실정이다.

본 논문에서는 웹문서/ 웹문서간의 구조분석을 통해 웹서버를 평가한다. 이를 위

해 구조추출, 구조 저장, 구조가시화로 구성된 웹문서의 구조분석 에이전트를 구성

한다. URL이 들어오면 시스템은 구조정보를 쉽게 얻을 수 있는 잘 정형화된 문서

형태로 변환한 후, 태그정보를 이용하여 웹문서의 구조를 구하고, 하이퍼링크데이

터를 이용하여 웹문서간의 연결구조를 얻는다. 추출한 웹문서와 웹문서 연결관계

를 웹서버와 같이 연결하여 저장한다. 웹문서와 웹문서 연결관계는 계층적으로나

그래프형식으로 가시화한다.

또한 웹로그화일로 사용자의 접근경로를 통한 웹서버 사용자별 행동패턴 분석

및 웹문서별 중요도를 분석하는 모델을 제시함으로써 사용자의 행동패턴을 이용

한 웹문서 분석의 방향을 제시한다.

실험으로 시스템의 정확성과 유용성을 보이기 위해 사용자와 시스템의 구조추

출 결과를 비교 분석하였고, 웹문서의 평가문제에 적용하였다. 그 결과 시스템 성

v

Page 11: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

능의 정확성을 확인할 수 있었고, 많은 양의 데이터를 기술적으로 평가할 수 있었

다. 이를 통해 데이터를 수집하기 위한 인력자원, 시간과 비용을 줄일 수 있으며,

쉽게 사이트를 평가하여 서비스 수준을 향상시킬 수 있는 가능성이 있음을 알 수

있었다. 또한 사용자 웹서버의 접근 패턴을 통한 웹서버 분석과 가시화모델을 이

용하여 웹서버의 평가가 가능하며, 제안한 시스템과 온톨로지를 이용하여 태그에

의미정보를 표현했을 경우 정보검색 에이전트에도 유용하리라 본다.

___________________________________________________________________________

핵심되는 말 : 구조분석, 구조추출, 구조저장, 구조가시화, 사용자 행동패턴, 웹평가

v i

Page 12: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

제 1 장 서론

인터넷과 네트워크 기술이 발전함에 따라 인터넷의 사용이 급증하고 있다. 이러

한 인터넷의 성장으로 상거래의 모습이 공급자와 수요자의 직거래 방식에서 인터

넷을 통한 전자적 거래 방식으로 변화되고 있다. 이는 인터넷 비즈니스 사이트의

증가를 통해 알 수 있다. 이들은 편리한 사용자 인터페이스로 사용자에게 실시간

으로 정보를 제공하고 있으며, 인터넷 비즈니스 사이트의 구성 및 정보운용 형태

가 다양하게 이루어지고 있다. 그러나 몇몇 사이트는 제대로 된 정보를 제공하지

못하거나 정보운용이 제대로 되지 않고 있다. 이러한 상황에서 양질의 인터넷 비

즈니스 사이트를 제공하고 차별화된 사이트 구성을 위해서 웹서버 관리자는 웹서

버의 구조 및 내용을 평가하고 재구성해야 할 필요가 있다.

웹서버의 유용성에 대한 연구가 활발한데[Car01, Gu z94, Ric00, Sm i97, Shu97],

보통 웹서버 관리시 몇 가지 항목에 대해 고려할 수 있다. 웹서버 안정성의 경우

[W ri89, Bea90] 웹서버 관리, 웹서버 서비스 속도, 응답 시간, 서버기능, 웹문서내

의 에러유무 등을 평가항목으로 사용한다. 보안성[Sm i97, Gu z94]의 경우 웹서버

의 보안 및 네트워크상의 보안을 고려해 볼 수 있으며 그 외 웹문서의 침입 차단

가능 여부 및 지급시 결제수단에 대한 보안도 고려대상이 된다. 접근성의 경우

[Car01, Ric00, Lev93] 사용자가 웹문서에 쉽게 접근할 수 있는지 여부를 고려한

것으로 사용자가 사용하는 인터페이스, 외부링크 제공 여부, 운영업체정보 등을 들

수 있으며, 혁신성의 경우 미디어 컨텐트/ 기술의 적절성, 웹페이지의 독창성을 들

수 있다.

현재 웹사이트의 평가사이트가 국내외적으로 활발히 구축되고 있는데, 외국의

경우 고메즈 (ht tp :/ / w w w .gom ez.com )와 포레스터 (ht tp :/ / w w w .forest er .com )가 대

표적이다. 이들 사이트는 평가항목을 크게 내용과 시스템 성능으로 구분하여 평가

하는데, 고메즈 사이트는 수작업으로 내용을 평가하고 DNS조회, 접속시간, 최초

바이트, 컨텐트 다운시간, 리디렉트 시간 등을 시스템 평가에 이용하고 있다. 포레

스터 사이트는 내용과 시스템성능 모두 수작업으로 분석, 평가하고 있다. 국내의

- 1 -

Page 13: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

경우 E s suE (ht tp :/ / es su e.co.kr/ index .j sp )와 클럽리치(ht tp :/ / w w w .clubrich .com )를

예로 들 수 있는데, 이들은 주로 수작업에 의해 내용을 평가하고 있다.

위와 같이 사이트를 수작업으로 평가했을 경우 몇 가지 문제점이 발생한다. 우

선 평가자가 웹문서를 평가하기 위해 방대한 양의 웹문서를 일일이 방문해야하는

번거로움이 있다. 수 만 페이지 이상의 웹사이트에 대해서는 평가가 불가능하고

많은 양의 웹사이트를 방문함에 따라 평가자의 주관이 달라져 평가값이 달라질

수 있다. 또한 사용자는 서버의 속도나 화일 연결관계 등과 같이 시스템적인 성능

을 평가하기에는 객관적이지 못하다. 또한 같은 깊이로 구성되어 있는 웹문서에

대해서 사용자가 어느 사이트에 대해서 우선적으로 접근하는지 알 수 없다. 즉 같

은 깊이에 있는 웹문서에 대해서도 우선순위가 존재하여 어떤 웹문서를 먼저 놓

을지 확인하기 어렵다.

웹문서를 자동으로 평가하는데도 몇가지 문제점이 있다. 다양한 형태의 웹문서

를 분석하기도 어렵고 웹환경이 수시로 변하기 때문에 변화된 환경에 적응한 시

스템을 구축하고 정보를 분석하기도 어렵다. 변화된 웹문서 형식에 따른 내용추출

의 연구가 이뤄지고 있으나 대부분 실제 웹환경에 적합하지 못한 실정이다.

이를 해결하기 위하여 본 논문에서는 일반적인 웹문서에 대해 구조 추출, 구조

저장, 구조 가시화하는 구조분석 에이전트를 제안하며 이를 웹평가 시스템에 적용

하려 한다. 이는 웹문서와 웹문서간의 구조를 추출하고 구조분석을 위해 저장하며,

다양한 구조로 가시화함으로써 사용자를 대신하여 웹문서를 평가하기 때문에, 인

적, 시간적 비용을 줄일 수 있고, 많은 양의 데이터를 처리할 수 있으며, 시스템적

으로 기술평가가 가능하여 서비스 수준을 향상시킬 수 있다. 또한 웹로그화일을

이용한 웹분석 시스템 모델을 제시한다. 이는 구조분석 에이전트에 포함되지 않은

사용자의 행동패턴을 포함함으로써 사용자의 행동패턴에 따른 웹문서의 중요도

및 연결성에 대한 분석이 가능하다.

본 논문의 구성은 다음과 같다. 2절에서는 웹문서의 특성과 구조, 구조분석 에이

전트에 대해서 설명하고, 3절에서는 구조분석 에이전트의 구성과 각 모듈에 대한

기능을 설명한다. 4절에서는 시스템을 웹평가에 적용한 결과를 논의하고, 5절에서

결론을 맺는다.

- 2 -

Page 14: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

제 2 장 배경

2 .1 웹문서의 특성과 구조

웹은 인터넷상의 하이퍼미디어 정보들을 제공하고 각종 유형의 자료들을 효율

적으로 검색하기 위하여 인터넷 전체를 포괄할 수 있는 하이퍼텍스트 시스템 모

델이다[M ay 00]. 그림 1과 같이 사용자는 하이퍼링크를 이용하여 웹서버 내부의

웹문서는 물론이고, 외부의 분산된 데이터를 읽어 오기도 한다. 이들은 HT ML형

식의 문서일 수도 있고 XML형식의 문서일 수도 있으며 그 외 다른 형식의 문서

일 수도 있다. 이처럼 각각의 웹문서는 문서간에 하이퍼링크로 연결되어 이질적이

며 반구조화된 데이터구조로 구성된다[M ay 00, M ar , Kh a97]. 따라서 이질적인 웹

문서와 수시로 변하는 웹환경으로 정보수집과 가공에 어려움이 따른다.

그림 1. 웹문서- 웹서버간의 연결관계.

보통 정보 수집을 위해서 시스템 설계시 웹문서의 형식과 하이퍼링크구조를 특

정형식과 특정구조로 설계하지만 웹문서 형식과 구조가 바뀌면 이에 따라 변환

- 3 -

href=".."

webdoc1

webdoc2webdoc3

webdoc4

Web Server5

webdoc1

webdoc2webdoc3

webdoc4

Web Server5

webdoc1

webdoc2webdoc3

webdoc4

Web Server5

webdoc1

webdoc2webdoc3

webdoc4

Web Server1

webdoc1

webdoc2webdoc3

webdoc4

Web Server4

webdoc1

webdoc2webdoc3

webdoc4

Web Server3

webdoc1

webdoc2webdoc3

webdoc4

Web Server2

webdoc1

webdoc2webdoc3

webdoc4

Web ServerN

...

webdoc1

webdoc2webdoc3

webdoc4

Web Server5

href=".."

href=".." href=".."href=".."href=".."

href=".."

href=".."

href=".." href=".."

href=".." href=".."href=".."

href=".."

href

href=".."

href=".." href

href

href

href

href=".."

href=".."

href=".."

href=".."

href=".." href=".."

href=".."

href=".."href=".."

href=".."

href=".."

href

href

href

href

Page 15: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

시기에 맞추어 시스템을 업데이트하거나 다시 처음부터 시스템을 설계해하는 단

점을 갖고 있다. 이를 해결하기 위해서는 정보수집을 원하는 시점에 웹문서의 형

식과 하이퍼링크구조를 정의하고 이에 따라 정보를 읽어와야 한다.

2 .2 H T M L과 X M L

HT ML구조를 보면 크게 Em pty태그와 Non - em pty태그로 구성된다. Em pty태그

는 하나의 태그로만 구성된 것으로 다른 태그를 포함할 수 없다. Non - em pty태그

는 시작태그와 끝태그로 구성된 것으로 이를 이용하여 내용의 경계를 둔다.

Non - em pty의 경우 내부에 태그를 포함할 수 있어 포함관계를 통해 태그간의 상

하관계를 분석할 수 있다. 상하관계를 분석할 경우 파싱을 위해서는 깊이 우선적

으로 상하관계를 찾게된다. N on - em pty태그와 Em pty태그를 구분하면 HT ML 4.01

스펙을 기준으로 했을 때 91개의 태그 정보가 표 1과 같이 정리된다[List ].

웹문서로 HT ML문서를 주로 사용하는데, 이는 HT ML문서가 쉽게 작성 가능하

다는 장점 때문이다[M ar ]. 이는 S GML (St an dard Gen eralized M arkup Lan gu ag e)

에 기반을 두어 하이퍼텍스트 문서와 함께 GIF , JP G 등과 같은 이미지를 삽입할

수 있는 기능이 있어 사용자가 정보에 쉽게 접근할 수 있다. 그러나 HT ML은 문

서의 내용을 충분히 묘사하기 어렵고, 구조적으로 모호하기 때문에 태그를 추출하

기위한 파싱작업을 수행하는데 어려움이 있다[Gao99].

XML은 HT ML과 비교해볼 때 구조적으로 명확하게 정의된 확장 가능한 웹문

서 정의언어이다[Kha97]. 구조적으로 명확하게 정의되어 쉽게 파싱할 수 있으며

XML데이터를 이용하여 개발된 응용프로그램에 바로 사용할 수 있는 장점이 있

다. 또한 서버나 플랫폼, 운영체제 등에 관계없이 사용될 수 있고, 모든 종류의 데

이터에 적용될 수 있는 유연성을 가지고 있기 때문에 다양한 계층의 어플리케이

션에 적용될 수 있다. 또한 HT ML을 확장 보완하였기 때문에 HT ML을 그대로

사용할 수 있으며 지금보다 복잡한 문서의 생성이 가능하고 구조적인 정보도 포

함할 수 있다. 그리고 서로 다른 소스로부터 추출된 데이터를 비슷하게 통합시켜

구조화된 데이터를 사용자 인터페이스와 분리시킬 수 있다는 강점이 있다.

- 4 -

Page 16: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

표 1. HTML 4.01 스펙에 포함된 HTML 태그의 분류.

구분 설명 종류

Empty 태

그 (13)

내용포함 안

됨, End- Tag

필요 없음

AREA, BAS E, BAS EFONT, BR, COL, FRAME, HR,

IMG, INPUT, IS INDEX, LINK, META, PARAM

Non Empty

태그(78)

내 용 포 함 됨 ,

End- Tag필요

A, ABBR, ACRONYM, ADDRESS, APPLET, B, BDO,

BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION,

CENTER, CITE, CODE, COLGROUP, DD, DEL, DFN,

DIR, DIV, DL, DT, EM, FIELDS ET, FONT, FORM,

FRAMESET, H1, H2, H3, H4, H5, H6, HEAD, HTML,

I, IFRAME, INS, KBD, LABEL, LEGEND, LI, MAP,

MENU, NOFRAMES, NOSCRIPT, OBJ ECT, OL,

OPTGROUP, OPTION, P, PRE, Q, S, SAMP,

SCRIPT, S ELECT, SMALL, S PAN, STRIKE, STRONG,

STYLE, S UB, S UP, TABLE, TBODY, TD, TEXTAREA,

TFOOT, TH, THEAD, TITLE, TR, TT, U, UL, VAR 등

2 .3 랩퍼 (w rapper )

인터넷의 웹문서들은 CGI, HT ML, 서블릿 등 각기 다른 형식으로 구성되어 있

고, 비정형적이며 불완전한 구조를 갖는다. 따라서 웹문서의 내용을 추출하는데 어

려움이 있는데 이를 해결하기 위해 이질적인 웹문서를 같은 형식으로 변환시키는

랩퍼(w rapper )에 대한 연구가 활발하다[Lui00, Che00, Lim 98, Lim 99, Deo98]. 랩퍼

는 각 서버에 다른 형식의 웹문서에 대해 시스템이 인식할 수 있도록 동형으로

웹문서를 변환함으로써 데이터를 사용할 시스템적으로 봤을 때 같은 형식으로 구

성되었지만 실질적으로 다른 형식으로 구성된 데이터에 대한 중간 매체를 말한다.

이를 통해 각각에 대해 따로 처리해야하는 처리과정을 하나의 데이터처리로 묶는

장점이 있으며 시스템에 포함되지 않은 서버 연결시 랩퍼를 추가함으로써 시스템

전체의 처리기능을 강화할 수 있다. 랩퍼를 통한 데이터 수집과정을 보면 그림 2

에서 보는 것과 같이 각 서버에 맞는 랩퍼를 통해 시스템에 수집되며 이들은 중

재자(m ediat or )를 통해 하나로 통합된다.

- 5 -

Page 17: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

그림 2. wrapper와 mediator.

랩퍼를 이용한 내용추출 에이전트로 F lorid 시스템, Lore 시스템, St ru del시스템

을 들 수 있다[Cha98, M ay99, M ay99b , M ch97, Dao98, F er97, F er98].

F reiburg대학에서 개발된 F lorid시스템의 경우 패턴매칭을 이용하여 논문에 대

한 정보를 얻을 수 있는 웹문서의 내용 검색시스템이다[Ch a98, M ay99, M ay99b].

이는 이질적인 데이터를 동형의 데이터로 구성하고, 이를 이용하여 사용자가 원하

는 데이터를 검색하는 시스템이다. 온라인 방식으로 웹문서를 이용하며 웹문서를

추출, 중재, 검색하는 모듈로 구성된다. 이것은 결정트리와 같은 F - logic을 정의하

여 이를 이용하여 내용을 추출하는데 구조 패턴이 미리 정의된 문서를 이용한다.

규칙기반과 정규화방식을 적용한 파서를 사용했다고 하나 단순한 패턴방식으로

정보를 추출한다.

스탠포드에서 개발된 Lore시스템은 XML의 DT D정보를 이용하여 효율적인 질

의 방법을 찾기 위해 고안되었다[M ch97, Dao98]. 이것은 이질적인 데이터를 처리

하기위한 A PI, 질의 편집기, 데이터 엔진으로 구성된다. 효율적인 질의방법을 찾기

위한 것으로 오프라인방식의 정보추출하고 그래픽형식의 데이터구조(Object

Ex chan ge M odel)를 이용하지만 관계형 데이터베이스에 저장함에 따른 정보손실

을 보이며 현재 시스템은 단순히 웹문서의 내용을 태그정보에 대한 1:1검색에 바

탕을 두고 있다.

이는 오프라인으로 구성되어 실제 웹에 적응하기 어렵고 구조정보를 검색에 효

- 6 -

server1server2 server3 server4

mediator

wrapper wrapper wrapper wrapper

System

Page 18: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

율적으로 이용하지 못했으며, 구조적인 데이터구조를 관계형 데이터베이스에 저장

함으로써 정보손실을 보인다.

AT &T 연구실에서 개발된 Stru del시스템은 패턴매칭을 이용하여 웹사이트의 내

용을 추출하는 시스템이다[F er97, F er98]. 사이트 표현을 웹크리에이터, 구조 생성

기, 그래픽 표현으로 모듈이 구성된다. 이것은 반구조적인 데이터를 사용하며 내용

추출을 위해서 페이지안의 구조 (paragraph s , t ables , it em s )와 페이지 안의 구조

(hyperlink s )를 이용한다. 이들을 데이터 그래프라고 불리는 데이터 저장소에 저장

하고 통합하며 신택스의 텍스트 화일에 저장된다. 내용을 추출하기 위해서 각 랩

퍼는 데이터를 이동하는데 규칙기반방식을 적용하여 소스의 지역 모델로부터 데

이터를 추출한다. 이를 위해서 사용자는 랩퍼 규칙을 생성해야 한다.

이들 시스템을 포함한 대부분의 시스템은 랩퍼를 이용했다고 하지만 단순한 패

턴매칭방법을 사용했으며 구조정보를 효율적으로 이용하지 못하고 있다. 또한 수

동적으로 구조를 정의하고 랩퍼 규칙을 생성하여 내용정보를 추출한다. 따라서 이

질적인 웹문서에 정보를 추출하기 위한 시스템이 요구된다.

2 .4 로그화일을 이용한 사용자 패턴 분석

웹의 기능이 커짐에 따라 사용자의 패턴을 시스템에 적용하는 시도가 활발하다.

이는 웹의 기능이 사용자에 의해 정해지기 때문이다. 보통 사용자 패턴을 이용하

는데 로그화일을 이용하는데 이는 데이터를 자동적으로 쉽게 모을 수 있으며, 데

이터들은 각각 개별적, 이산적으로 구성되어 있기 때문이다. 또한 사용자가 웹서버

에 작업하고 있어도 작업에 영향을 주지 않는 범위에서 데이터를 얻을 수 있는

장점이 있다.

HT ML문서의 특성을 말한 것과 같이 많은 양의 로그화일을 어떻게 일반화시키

며 데이터를 이용할 지에 대한 문제가 발생한다. 웹의 로그화일을 이용하여 시스

템 분석에 적용한 경우는 크게 웹트래픽 분석, 사용자의 웹 접근 순위에 따른 분

석, 접근경로에 대한 분석으로 세 가지 경우를 들 수 있다[Guz94]. 그중 사용자의

대화를 통한 웹분석 방법은 사용자가 어느 웹문서에 얼마나 많이 접근했는가 와

- 7 -

Page 19: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

찾고자하는 최종 웹문서에 대해서 어떤 경로로 찾는가 에 중점을 두고 있다. 이들

에 대한 대표적인 연구로 로그화일을 이용하여 사용자의 패턴을 인식하는 시스템

으로 W eb Quilt , W ebN et , Gennie, VISVIP 등을 들 수 있다[H on01, Coc96, Sm i97,

Cug99].

W ebQuilt는 서버와 클라이언트 사이의 Prox y에 저장된 로그화일을 이용하여

사용자가 접근한 웹사이트에 대해서 조사한다. W eb Quilt는 어떤 URL에 대해서

첫URL로 사용하고 어떤 URL이 최종URL인지 확인함으로써 URL의 순위를 정한

다. 현재 시스템은 한 사이트에 대해서만 로그화일을 이용하여 유용성을 보였을

뿐 일반적인 URL에 대해서는 연구단계이다.

Gennie시스템은 분산된 웹환경에서 가상적인 계층 및 네트워크구조의 유용성을

보이기 위해서 유용성에 대한 항목들을 정의하고 몇몇 분산시스템에 이를 실험했

다.

W ebNet은 인터넷 클라이언트기반의 브라우저의 어플리케이션에 저장된 로그

(히스토리)화일을 이용하여 사용자의 웹문서 접근순서를 분석하고 이들 경로를 가

시화했다. W ebN et을 웹관리에 사용했을 경우 웹서버에 접근하는 클라이언트 영역

에 시스템을 설치해야 한다. 그 외는 사용자의 접근경로나 웹문서의 중요도를 중

심으로 표현하지 않고 로그화일에서 얻은 사용자의 접근 경로를 어떻게 표현할

지에 초점을 두었다.

- 8 -

Page 20: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

제 3 장 웹구조분석 에이전트

웹구조분석 에이전트는 웹문서내의 태그에 대한 속성값과 태그에 대한 내용정

보로 그 구조를 추출하고 하이퍼링크 데이터로 웹문서간의 연결구조를 추출한 후,

적절히 저장하고 계층구조와 그래프 구조로 가시화한다. 구조를 도식화하면 그림

3과 같다.

그림 3. 구조분석 에이전트의 기능.

즉, 주어진 웹문서의 URL로부터 그 구조정보를 추출하여 해당목적에 따라 문서

내 구조 및 문서간 연결구조 데이터를 적절한 데이터 모델로 표현하고, 웹문서는

계층적으로, 문서간 연결구조 데이터는 계층적 및 그래프방식으로 보여준다. 이를

위한 구조 분석 시스템은 다음과 같은 기능이 필요하다.

위해서는 다른 형식의 웹문서내에서 구조를 읽고 이 구조정보와 웹문서의 도메인

에 따른 온톨로지를 이용하여 랩퍼를 정의할 수 있을 것이다.

● 웹서버에서 웹문서를 읽어온다.

- 9 -

Page 21: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

● 웹문서에서 웹문서의 구조를 추출한다.

● 웹문서의 구조를 이용하여 하이퍼링크 구조를 추출한다.

● 웹문서 구조와 하이퍼링크 구조를 저장한다.

● 저장된 데이터를 이용하여 웹서버의 구조를 가시화한다.

위 기능들은 크게 구조추출, 구조 저장, 구조가시화부분으로 나누어 정리할 수

있으며, 이를 기반으로 설계된 에이전트의 구성도는 그림 4와 같다.

그림 4. 구조분석 에이전트의 구성.

3 .1 구조추출

구조추출은 URL의 반구조화된 데이터를 정형화된 형식의 문서로 변환하여 얻

은 태그정보와 링크정보로부터 계층적 구조를 생성한다. 이를 위해서 HT ML문서

를 잘 정형화된 문서로 변환 후 태그정보를 이용하여 웹문서 내 구조를 추출한다.

또한 웹문서에서 링크정보를 읽고 링크된 웹문서들 내의 링크정보를 너비 우선

방식으로 방문함으로써 웹문서간의 구조를 추출한다. 이를 위한 시스템 구성은 그

림 5와 같다.

(1 ) 문 서 변환

URL로 입력된 문서는 HT ML문서일 수도 있고 XML문서일 수도 있다. 이때,

- 10 -

웹문서웹문서

인터넷

웹문서웹문서웹문서HTML웹문서웹문서웹문서XMLCGI

구조 추출

구조 저장

구조 가시화

컨텐트

구조정보

Page 22: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

HT ML문서인 경우에는 시스템이 다루기 쉬운 잘 정형화된 문서형식으로 변환시

킨다. 변환에 사용된 HT ML태그와 태그포함관계는 HT ML 4.01 스펙의 정의에 맞

도록 구성되었다고 가정한다. 위 전제의 예외에 대해서는 파싱을 통해 태그가 스

펙에 포함되었는지, 태그 내 상하 포함관계가 적절한지를 판단한다. 구조적인 오류

가 발생하면 수정 가능한 태그는 수정하고 그 외 구조적으로 수정이 불가능한 경

우에는 HT ML 오류 메세지를 출력한다.

그림 5. 구조추출 모듈.

문서변환은 URL의 호출에 대한 결과값이 HT ML문서일 때 잘 정형화된 문서형

식으로 변환하는 작업과 불필요한 태그의 삭제작업으로 구성된다. HT ML4.0의 경

우 IM G,' 'BR,' 'MET A ,' 'HR ,' 'AREA ,' 'BA SE ,' 'COL,' 'F RAME ' 등과 같은

Em pty태그가 사용 가능하다. 이 경우 XML과 같은 잘 정형화된 형태로 표현하기

위해 끝태그 전에 / 를 첨가한다. HT ML을 잘 정형화된 문서로 변환하는 작업을

정리하면 다음과 같다[Enh99, Ou a99].

● N on - em pty태그의 경우 끝 태그를 첨가하여 반드시 닫혀 있도록 한다.

● Empty태그의 경우 태그가 닫히기 전에 / 를 첨가한다.

● 하나의 태그에 대해 중복 선언된 속성은 하나로 줄인다.

또한 이전 스펙에서는 정의되었으나 4.01에는 정의되지 않거나 원래 없었던 불

필요한 태그들을 삭제하며 주석이나 DT D정보 등 구조분석을 하는데 필요하지 않

- 11 -

웹 문서 노드 생성

문서내 URL검색 및 노드간 연결

서버주소 트리정보

잘정형화된 문서 변환

문서 및 하이퍼링크 트리 생성

구조저장

서버주소

Page 23: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

은 정보는 삭제한다. 예를 들어 < A > 태그는 Non - em pty태그로 </ A > 태그가 필

요하지만 < IM G> 태그는 Em pty태그이므로 끝태그가 필요없다. 이상과 같은 작업

을 통해 생성된 잘 정형화된 문서는 구조적으로 명확하게 나타낼 수 있다. 또한

이를 이용하여 손쉽게 구조분석을 위한 파싱작업을 수행할 수 있다[Oua99,

Cre94].

Non- empty 요소: 반드시 닫음

수정 전 : <li> this is a test

수정 후 : <li> this is a test </li>

Empty 요소 : bracket 이 닫히기 전에 ‘/’ 삽입

수정 전 : <img src=“image.gif”>

수정 후 : <img src=“image.gif”/>

속성의 값을 동일한 인용부호로 적절히 닫음

수정 전 : <img src= image.gif>

수정 후 : <img src=“image.gif”>

동일한 시작 태그에 대해 같은 이름의 속성 반복 선언불가

수정 전 : <img src=“image.gif”src=“about.gif”>

수정 후 : <img src=“image.gif”>

그림 6. 잘 정형화된 문서변환 예.

(2 ) 웹 문 서의 구 조 추 출

웹문서의 구조를 얻기 위해서 웹문서의 태그간의 상하관계는 HT ML 4.01스펙의

상하관계를 이용한다. 문서에 태그간의 연결관계가 깊이 우선으로 서술되어 있으

므로 DF S (Depth F ir st S earch )방식으로 태그들을 방문하고 구조를 추출한다. 태

그의 계층구조는 이진트리로 표현하며 DF S방식으로 방문시 URL의 임시 저장공

간으로 스택을 사용한다. 태그간 관계를 연결시킬 때 Em pty태그의 경우 상위태그

와 연결하며, Non - em pty태그의 경우 하위태그가 있을 수 있으므로 시작태그를 만

나면 현재 태그를 스택에 저장하고 하위태그를 추출하며 끝태그를 만나면 스택에

서 태그를 꺼낸다. 데이터구조는 태그명(T ag Nam e ), 속성 (Att ribute ), 내용

- 12 -

Page 24: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

(Cont ent ), 트리를 구성하기 위한 이웃관계 (Nex t )와 하위관계 (Child )를 포함하도록

한다. 속성은 또한 태그명에 따라 가변적이므로 연결리스트로 구성하며, 속성은 속

성명(Nam e), 속성값 (Cont ent ), 이웃관계 (N ex t )를 포함한 구조체를 사용한다. 태그

정보를 포함한 구조체와 속성을 포함한 구조체의 연결관계는 그림 7과 같다.

그림 7. 웹문서 구조추출에 사용된 데이터구조.

그림 8은 이와 같이 정의된 데이터 구조를 이용하여 웹문서를 추출하는 알고리

즘이다. 외부에서 웹문서의 주소가 들어오면 이에 따른 웹문서를 로드한다. 로드

된 웹문서는 Conv ertW ebDocum entt oXmlDocum ent함수를 통해 HT ML문서인 경

우 잘정형화된 문서로 변환한다. 이때 태그테이블을 이용한다. 변환된 태그값들의

상하관계를 정의하기 위해 HT ML 4.01 태그테이블이 저장된 태그테이블을 로드한

다. 변환된 문서값이 화일의 끝일 때까지 문서를 한 줄씩 읽어 태그정보를 추출하

고 추출한 태그정보가 Empty태그인지 검사한다. Em pty태그의 경우 상위태그와

연결하고 그렇지 않은 경우 스택에 저장한다. 연결된 태그정보에 대해서 속성값들

을 입력한다. 스택에서 팝될 태그값과 추출된 태그값이 같으며 추출된 태그가 끝

- 13 -

Attribute

Content

Child Next

Tag Name

Attribute

Content

Child Next

Tag Name

null

Attribute

Content

Child Next

Tag Name

Attribute

Content

Child Next

Tag Name

null

Name

Content

Next

Name

Content

Next

Attribute

Content

Child Next

Tag Name

null

null null

Page 25: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

태그일 때까지 이 과정을 수행한다.

Extr actStructDocum ent (w ebaddress ) {

Load (W ebDocum ent );

ConvertW ebDocum enttoXmlDocum ent (W ebDocum ent );

Load (T ag T able);

while (XmlDoucm ent != End of File)

do {

Read (Line of XmlDocum ent );

Extract (T agNam e);

CheckEmptyT ag (T agNam e);

AddAtrribute (T agNam e);

} while (T ag != EndT ag );

}

그림 8. 웹문서의 구조추출 알고리즘.

(3 ) 하 이 퍼링 크 의 구 조추 출

하이퍼링크 구조는 하이퍼링크들 중 웹문서 외에 메일이나 그림과 같이 웹구조

를 읽기 어려운 노이즈를 갖고 있으며 이전, 상위, 메인 페이지로 이동가능하도록

구성되어 있기 때문에 웹문서간의 구조를 수동으로 사용자가 분석하기가 어렵다

[Cug99]. 따라서 본 논문에는 하이퍼링크 데이터로 URL, 워드, 엑셀, 실행화일,

PDF 화일을 이용한다. 웹문서의 태그정보는 링크정보를 포함할 수 있는 'A '태그,

'AREA '태그, 'F RAME '태그, ' SELECT '태그를 사용한다. 이때 'A '태그와

'AREA '태그의 경우 'HREF '속성에 연결된 웹문서를 이용하며, ' F RAME '태그의

경우 ' SRC '속성에 연결된 웹문서를 이용한다. 때때로 ' SELE CT '태그에 대해서 웹

문서를 연결시키기도 하는데 ' OPT ION '속성을 사용하여 이 속성값이 웹문서인 경

우에 대해서만 문서들을 연결시킨다.

하이퍼링크는 BF S (Breadth F ir st S earch )방식으로 웹문서들을 방문하여 추출된

다. 즉 서버의 첫 웹문서를 기준으로 링크정보를 추출하고 하이퍼링크구조에 이

링크정보를 연결한다. 링크정보를 연결할 때는 이전에 방문했던 링크는 다시 방문

- 14 -

Page 26: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

하지 않도록 표시한다. 첫 웹문서의 링크정보를 하이퍼링크 구조에 연결시킨 후

BF S순서에 맞춰 다음의 기준 웹문서를 정한다. 정해진 웹문서에 대해서 링크정보

를 추출하고 링크정보를 하이퍼링크구조에 연결한다. BF S방식의 임시 주소 기억

공간으로 큐 (Queu e)를 사용한다. 하이퍼링크구조에 사용된 데이터구조는 그림 9와

같다.

그림 9. 하이퍼링크구조의 데이터표현.

URL과 그에 따른 하부관계 (Child)와 이웃관계 (Next )로 구성되어 이진트리로 나

타냈다. 이 데이터구조를 이용한 하이퍼링크의 추출 알고리즘은 그림 10과 같다.

한 URL에서 링크정보를 하이퍼링크의 구조로 연결시킬 때 방문하고 있는 사이트

가 전에 방문한 것이라면 링크정보 추출을 멈추고 이전으로 돌아간다. 방문하지

않았다면 웹문서를 추출하고 이를 이용하여 링크정보를 추출한다. 추출된 링크정

보는 상대경로가 절대경로로 변환되어 큐에 저장된다. 이와 같은 절차를 큐가 빌

때까지 수행한다.

- 15 -

Child Next

URL

Child Next

URL

Child Next

URL

Child Next

URL

Child Next

URL

null

null

null null

Child Next

URL

Child Next

URL

Page 27: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

ExtractDocum entStructLink (w ebaddress ) {

if (w ebaddress is v isited) return ;

Extr act struct docum ent (w ebaddress );

Extr actLinkData (w ebaddress );

Conv ertaddress (SubW ebaddresses );

AddQueue (SubW ebaddresses );

}

Extr actStructLink (w ebaddress ) {

while (Queue is not empty )

ExtractDocum entStructLink (w ebaddress );

}

그림 10. 하이퍼링크 구조추출알고리즘.

그림 11. 하이퍼링크 구조추출의 예.

- 16 -

<html><head><title>hello</title></head><body background="back.gif"><li> this is a test </li><img src="image.gif"/><a href= "webdoc4..">web4</a></body></html>

<html><head><title>hello</title></head><body background="back.gif"><li> this is a test </li><img src="image.gif"/><a href= "webdoc1..">web1</a><a href= "webdoc2..">web2/a><a href= "webdoc3..">web3</a></body></html>

web root

web1

web1

web4

web3

web root

web2

Page 28: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

그림 12. 하이퍼링크 구조추출 과정.

이 알고리즘을 이용하여 하이퍼링크의 구조추출 과정을 그림 11에서 보면, w eb

root에 w eb 1, w eb2, w eb3의 링크정보가 있고 w eb 1에는 다시 w eb4의 링크정보가

있을 때 하이퍼링크 구조는 너비 우선적으로 링크정보 w eb 1, w eb 2, w eb3의 순으

로 읽어온 다음 w eb 1에 연결된 w eb4의 링크정보를 읽어온다. 하이퍼링크의 구조

추출 과정을 정리하면 그림 12와 같다. 그래프와 같은 구조를 계층적 구조로 나타

낸 뒤 이의 하위관계와 이웃관계를 이진트리로 표현한다.

3 .2 구조저장

웹문서의 구조를 추출한 다음에는 추출된 구조정보를 저장하여야 한다. 구조정

보는 계층적으로 표현되므로 DF S방식으로 방문하여 저장하거나 저장된 데이터를

읽어온다. 웹문서 내 태그들의 구조만 저장한 경우와 속성도 같이 포함한 경우로

나누어 저장하며, 태그 구조를 저장한 경우는 웹문서의 구조정보만 필요한 경우에

사용하고 태그구조와 속성정보를 저장한 경우는 태그의 속성정보를 이용할 때 사

용한다. 웹사이트의 연결관계는 계층적이면서도 하위URL이 상위URL을 가리키므

로 하이퍼링크의 구조정보는 그래프형식으로 저장한다. 또한 웹문서의 하이퍼링크

추출시 방문순서가 BF S방식이므로 이 순서대로 인접리스트로 구성하여 저장한다.

시스템의 구성도는 그림 13과 같다. 이때, 시스템은 서버주소를 이용하여 검색했던

다른 서버들의 웹문서 구조와 하이퍼링크 구조를 구분하여 저장한다.

- 17 -

Page 29: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

그림 13. 구조 저장 모듈 구성도.

(1 ) 웹 문 서의 구 조 저 장

웹문서 데이터의 저장구조는 그림 14와 같다. 웹문서 복합구조는 속성을 포함한

태그구조로 단순구조에 속성형식이 포함된 구조를 말한다. 웹문서의 단순구조는

복합구조가 저장된 화일명과 태그구조만으로 정의된 단순구조로 구성된다.

그림 14. 데이터 저장 포맷.

이 두 구조는 복합구조가 저장된 화일명으로 연결된다. 또한 웹서버 내에 웹문

서 주소에 따른 웹문서 복합구조와 단순구조를 연결시키기 위해, 웹문서 주소와

- 18 -

구조정보

서버주소

하이퍼링크저장모듈

웹문서 저장모듈

웹문서/하이퍼링크 구조

웹문서 복합구조

속성을 포함한 구조

웹문서 단순구조

웹문서 주소와 화일명의 연결 구조

화일명웹문서 주소

단순구조화일명

하위관계

단순구조

속성을 포함한 구조

속성형식

속성이름 속성값 이웃관계

속성형식단순구조

이웃관계내용

Page 30: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

복합구조가 저장된 화일명을 연결한 연결구조를 두었다. 웹문서 단순구조에 사용

된 단순구조는 내용(태그이름)과 각 내용에 대한 하위 (Child)관계와 이웃 (N ex t )관

계로 구성된다. 속성을 포함한 구조는 단순구조와 내용에 따른 속성형식으로 이루

어지며 속성형식은 속성이름, 속성값, 이웃(Nex t )관계로 구성된다.

<html>

<head>

<meta name="generator" content="HT ML T idy, see www .w3.org" / >

<title> Soft Computing Lab., Computer Science Dept ., Yonsei

University </ title>

<meta name="GENERAT OR" content="Microsoft FrontPage 3.0" / >

</ head>

<frameset border="4" rows="*" frameborder="0">

<frameset border="4" cols="97%,1" frameborder="0">

<frame src="start .HT ML" name="left " marginheight ="14" / >

<frame src="empty.HT ML" name="right " marginheight="14" / >

</ frameset>

<noframes size="+1">

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">

<p>T his page uses frames , but your browser doesn ' t support them.</ p>

</ body >

</ nofram es>

</ fram eset >

< / htm l>

그림 15. XML로 변환된 HTML 문서의 예.

그림 14의 데이터 저장 포맷을 이용하여 그림 15의 문서를 저장하면 그림 16과

같은 단순 구조의 리스트가 생성된다. 속성이 포함된 구조의 경우는 그림 14의 문

서에 대해 그림 17과 같이 저장된다. 그림에서와 같이 단순구조 뒤에 구분자와 함

께 속성형식이 추가된다.

- 19 -

Page 31: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

c ontent , child , neig hbor”

HT ML ,head, F ,

head ,meta, freamset ,

meta, F , title,

title, F , meta,

meta, F , F ,

frameset ,framset , F ,

frameset ,F , noframes ,

frameset ,frame , frame,

frame, F , frame,

frame, F , F ,

noframes ,body , F ,

body , p, F ,

p, F , F ,

그림 16. 단순구조 리스트의 사용 예.

htm l,h ead,F ,!!

head,m et a ,fram eset ,!!

m et a ,F ,t it le,n am e !g en erator !cont ent !HT ML T idy , see

w w w .w 3.org !!!

t it le ,F ,m eta ,!!

m et a ,F ,F ,n am e !GENERAT OR !cont ent !Microsoft

F rontP ag e3.0 !!!fr am eset ,fram eset ,F ,border !4 !row s !*!fr am eborder !0!!!

fr am eset ,fr am e,n ofr am es ,border !4 !cols !97% ,1!fr am eborder !0!!!

fr am e,F ,fr am e,src !st ar t .htm l !nam e !left !scrolling !y es !m argin w idth !10 !

m arginh eight !14 !!!

fr am e,F ,F ,sr c !em pty .htm l !nam e !right !n oresize !noresize !scrollin g !no !

m arginw idth !10 !m arginheight !14 !!!nofr am es ,body ,F ,size !+1!!!

body ,p ,F ,bgcolor !w hit e !t ex t !black !link !blue !vlink !purple !alink !red !!!

p,F ,F ,!!

그림 17. 속성이 포함된 저장구조의 예.

- 20 -

Page 32: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

(2 ) 하 이 퍼링 크 의 구 조저 장

하이퍼링크의 구조 저장시 인접리스트를 사용한다. 이때 링크정보 중 첫 URL은

웹서버URL로 설정한다. URL간 연결관계는 한 행에 표시하며 행의 첫 번째에 나

오는 URL을 기준노드로 정하고 다음URL부터는 기준노드의 하위노드들로 정한다.

데이터구조는 그림 18과 같고, 하이퍼링크 구조저장의 예는 그림 19와 같다. 그래

프형식의 웹사이트에 대해서 A를 웹서버의 주소라 하면 구조추출을 통하여 BF S

방식으로 이진트리를 구성하고 A를 기준으로 BF S방식에 따라 한 행에 B, F , G순

으로 저장한다. 다시 B주소에 대해서 C, E순으로 저장하고 G는 하위주소가 없으

므로 연결된 내용이 없다.

그림 18. 하이퍼링크 구조의 데이터 구조.

그림 19. 하이퍼링크의 저장과정 예.

3 .3 구조 가시화

인접리스트형식으로 저장된 하이퍼링크구조를 가시화하는 방법으로 계층구조적

인 가시화방법과 그래프형식의 가시화방법을 사용한다[Her00, Bec90, Pil99,

S ak99].

- 21 -

웹서버URL 하위URL1 하위URL2

하위URL3URL1 하위URL5 하위URL4

URL2 하위URL6

URL5 하위URL1 하위URL2

URL4 하위URL1 하위URL2

Page 33: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

그림 20. 구조 가시화.

그림 20은 구조가시화 방법의 종류를 보여준다. 계층구조적인 가시화방법은 인

접리스트형식으로 저장된 링크정보를 BF S방식으로 읽어들여 트리를 구성하여 가

시화한다. 이를 위해서 큐를 이용하여 주소들을 임시저장하며 순서대로 연결시킨

다. 그래프 형식의 가시화방법은 인접리스트의 하이퍼링크구조를 임시저장공간에

큐를 이용하여 저장시킨다. 이들은 동심원 그래프 표현방식을 적용하여 표현된다.

웹서버 주소는 가시화 공간의 중앙에 위치시키며 다른 웹문서들과의 식별을 위해

색구분을 두었다. 기준노드의 인접리스트를 통해 얻은 하위관계로 웹문서간의 상

하 연결관계를 표시한다.

동심원 그래프 표현방법은 표현하기 간단한 방법으로 중심노드를 가운데 위치

시키며 그외 노드들에 대해서는 이를 기준으로 같은 거리에 배치시킨다. 노드들간

에는 최대거리를 유지한다. 동심원 그래프는 중심노드에서 연결된 노드에 대해서

방향성을 표시한다.

각 노드의 좌표를 수식으로 표현하면 다음과 같다.

먼저 중심노드 값은 다음과 같다.

, (1)

i번째 노드에 대해서 t시간과 t - 1시간사이의 변화값을 dx it , dy it 라 하면 t시간

- 22 -

저장된 하이퍼링크데이터

계층구조적인 가시화

그래프형식의 가시화

A GFB

B C E

DF

G

D

D

D

C

E

A

B

CD

E

F

G

A

B

C

D

E

F G

D D

Page 34: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

에 노드상태에서 노드간의 최대값을 구하기 위해서 연결된 노드들 간의 노드 배

치는 중심노드를 기준으로 다음과 같이 정의된다.

(2)

(3)

중심노드에 연결된 노드에 대해서 다음과 같이 노드위치를 변경시킨다.

(4)

(5)

연결되지 않은 노드들간의 노드 배치 (중심노드 외 노드간)에 대해서는 중심노드

에 변화값을 더한다.

(6)

(7)

그림 21은 그래프 형식의 알고리즘을 보여준다. 저장된 웹서버의 하이퍼링크 화

일에서 한 행을 읽고 기준URL과 기준URL에 연결된 하위URL을 읽어들인다. 여

기서 처음 기준URL은 웹서버 주소가 되며 노드를 생성한 후 화면의 가운데 위치

시킨다. 하위 URL들은 기준 URL에 연결시킨 후 각각의 노드에 대해서 최대거리

를 유지하며 배치한다. 이 과정을 화일의 끝이 아닐 때까지 수행한다. 이 과정을

도식화하면 그림 22와 같다.

- 23 -

Page 35: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

ShowGraph (LinkDataFile) {

URLList=ReadLine (LinkDataFile);

GetWebServerURLAndSubURL (URLList );

Fix CenteringWebServerURL (WebServerURL);

PutNodeAndLink (SubURLList );

While (LinkDataFile != End of File) {

URLList = NextReadLine (LinkDataFile);

Ceneter = ReadFirstURL (URLList );

PutNodeAndLink (Center , SubURLList );

MaximizeDistanceUnLinkedNode (SubURLList );

}

}

그림 21. 그래프 형식의 가시화 알고리즘.

그림 22. 그래프형식의 가시화 연결순서.

- 24 -

Page 36: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

그림 23. 그래프형식의 가시화 연결 예.

그림 23은 실제데이터에 대한 그래프형식의 가시화 과정으로 중심에 배치된 노

드는 서버주소를 의미한다. 서버에 연결된 URL들은 시간이 지남에 따라 서버주소

를 중심으로 배치된다.

3 .4 사용자 행동패턴분석

사용자 행동패턴을 통한 웹분석시 웹서버에서 웹문서에 대해 홈페이지 억세스

로그화일을 제공한다고 가정한다. 이를 위해 그림 24와 같이 로그화일에 불필요한

정보를 제거하는 전처리, 사용자별/ 웹문서별 분석, 사용자 접근 경로에 대한 가시

화로 구성된다.

그림 24. 사용자 행동패턴분석 시스템.

- 25 -

Page 37: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

(1 ) 전 처 리

클라이언트 영역 브라우저에서는 웹문서 접근 시 서버에게 사용자 URL 접근시

각, 전송방식, 접근화일, 프로토콜 등을 보낸다. 서버는 이들을 홈페이지 로그화일

에 저장되며 "사용자 URL - 접근시각- 전송방식- 접근화일- 사용프로토콜- 접근그룹1

[접근그룹2] 으로 구성된다. 로그화일의 내용 중 전송방식에 대한 구분과 접근화일

중 그림화일과 프로토콜, 접근그룹 같이 사용자 접근 경로 추출에 불필요한 부분

은 전처리를 통하여 삭제하여 표 2와 같이 사용자별로 접근경로를 정리했다.

표 2. 전처리 된 후 로그화일 구조의 예.

사용자

URL접근시각 접근화일

garfie ld.yonse i.ac.kr [23/Oct/2000:12:00:09 +0900] /om/admin.cgi?ln=kr&passwd=

garfie ld.yonse i.ac.kr [23/Oct/2000:12:00:23 +0900] om/admin.cgi?passwd=&bd=mboard211.37.136.214 [23/Oct/2000:12:01:12 +0900] /om/board.cgi?bd=mboard

amagedon.yonse i.ac.kr [23/Oct/2000:12:01:17 +0900]om/admin.cgi?bd=mboard&j=conten

t&i=42&u=&c=1&passwd=

(2 ) 분 석

그림 25에서 보는 것과 같이 사용자의 접근 경로에 따라 또는 웹문서에 접근수

가 많을수록 웹문서의 중요도는 달라진다[Car01].

그림 25. 사용자 웹문서 접근경로의 예.

즉 같은 깊이에 있는 웹페이지라도 사용자의 접근 경로에 따라서 웹문서의 중

요도 달라진다. 그림 25의 B와 C가 하부의 정보가 저장된 웹문서의 경우 사용자

- 26 -

Page 38: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

는 B문서를 먼저 접근 한 뒤 C문서를 접근 한 것으로 보아 웹문서의 중요도가 발

생한다. B문서에 사용자가 많이 접근 한 경우와 C문서에 접근한 사용자수에 따라

서도 중요도는 달라질 수 있다.

만약 사용자가 원하는 정보가 사용자의 접근 경로의 최종URL의 경우 그에 따

른 접근경로를 파악함으로써 사용자가 원하는 정보를 웹서버의 어디에 배치시켜

야하는지 일 수 있을 것이다. 그림 26은 사이트 알파벳으로 표기된 부분을 웹문서

라 정의하고 숫자로 표기된 부분을 사용자로 했을 경우 사용자가 원하는 정보를

찾은 경로를 표시한 것으로 1 의 사용자에 대해서 B, C, D 라는 정보를 원했지

만 주로 D 라는 정보를 검색했고 다양한 경로를 통해서 검색했음을 확인할 수 있

다.

사용자별 분석을 위해서 전처리된 로그화일 데이터를 접근 URL별로 나누어 저

장한다. 나누어진 로그데이터는 다시 접근경로를 구성하기 위해 문서별 접속시간

의 차이가 큰 경우에 경로를 자른다.

그림 26.사용자에 따른 웹문서 접근의 예.

(3 ) 사 용 자 패 턴 가 시화

사용자패턴 가시화방법은 구조가시화방법 중 그래프형식의 표현방법인 동심원

그래프 표현방법을 적용한다. 각각의 사용자의 접근경로에 대해 서로 다른 연결선

으로 연결하며 웹문서의 접근 사용자에 따라 웹문서 노드의 색을 다른 색으로 표

현한다.

- 27 -

Page 39: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

제 4 장 실험

본 논문에서 개발된 구조분석 에이전트의 유용성을 보이기 위하여 웹평가 문제

에 적용해 보았다. 이를 위해 평가기준으로 안정성과 접근성을 두었다. 안정성의

평가는 웹기술 남용여부를 검사하기 위하여 CGI와 HT ML문서 수, 링크와 관련하

여 사이트 전체 링크 개수, 하이퍼링크가 웹문서와 링크되었는지 확인하기 위하여

브로큰 링크수 등을 구하였다. 접근성의 평가로 웹사이트의 평균깊이, 평균너비,

최대너비, 바로가기 제공여부를 구하였다.

4 .1 사용자 인터페이스

사용자 인터페이스는 그림 27과 같이 웹서버의 주소를 입력받는 URL입력창, 방

문한 웹문서리스트를 표시하는 사이트리스트창, 웹문서의 구조를 표시하는 도큐먼

트 트리창, 하이퍼링크구조를 계층적으로 표시하는 웹사이트 트리창, 그래프형식으

로 하이퍼링크구조를 표시하는 사이트맵창으로 구성된다.

URL입력창을 이용하여 분석하려는 URL을 입력하면 시스템은 웹서버 문서들을

불러온다. 이들을 구조적으로 분석하고 HT ML형식의 결과값을 얻는 웹문서들을

사이트리스트창에 나타낸다. 사이트리스트창은 URL입력을 통해 얻은 웹서버와 웹

서버내 HT ML문서형식의 웹문서주소를 표시한다. 사이트리스트창에 있는 URL중

하나를 선택하면 해당 URL의 웹문서구조를 도큐먼트 트리창에 보인다. 도큐먼트

트리창은 또한 문서내의 태그간 계층구조를 보여준다.

웹사이트 트리창은 웹문서들간의 계층관계를 사이트 트리로 표시한다. 이를 위

해서 웹사이트 연결의 그래프구조에서 사이클을 없앤다. 웹사이트 평가창은 평가

항목에 따른 웹서버의 평가값을 표시한다. 평가항목으로 메인페이지 섹션 수, 평균

깊이, 평균너비, 최대너비, 브로큰 링크수, HT ML에러수, 버전별/ 브라우저별 에러

수를 사용했다. 웹사이트맵창은 웹문서간의 연결관계를 그래프형식으로 표현한 것

으로 방향성을 포함하여 웹문서간 상하연결관계를 확인할 수 있다. 서버주소를 중

- 28 -

Page 40: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

심으로 문서간의 퍼진 정도를 알 수 있으며 노드 선택시 URL을 화면에 표시함으

로써 서버와 URL의 위치를 확인할 수 있다.

그림 27. 사용자인터페이스.

4 .2 실행 예

이 사용자인터페이스로 한빛증권 사이트(ht tp :/ / w w w .h anvit sec.co.kr/ )를 테스트

해 보았다. 웹 문서를 읽어들이는데 소요되는 시간제한을 1000초로 두고 읽어들일

문서 수를 500개로 두었을 때 173개의 문서를 읽어들였다.

에이전트는 한빛증권의 URL에 접근하여 서버의 웹문서를 읽어 오고 이를 이용

하여 구조를 추출한 후 그림 28과 같이 링크정보, 웹문서 구조, 속성과 구조를 포

함한 경우로 나누어 저장한다. 또한 그림 29와 같이 서버에 대해 실험한 결과를

해당 화면에 보인다. 그림 29의 (a )는 HT ML문서의 도큐먼트구조를 나타낸 것이

며, (b )는 웹문서에서 HT ML과 같이 구조적인 URL을 리스트창으로 나타낸 것이

다. (c )는 서버에 대해 평가한 결과를 평가항목에 따라 나타낸 것고, (d)는 서버와

- 29 -

Page 41: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

웹문서간의 연결관계를 사이트맵으로 나타낸 것이다.

(a) (b) (c)

(a) 웹사이트 링크정보 저장결과. (b) 웹구조 문서만 저장한 결과. (c) 속성과 구조를 저

장한 결과.

그림 28. 구조 저장결과.

(a) 도큐먼트 트리창. (b) 웹사이트 리스트창.

(c) 웹사이트 평가창. (d) 사이트맵창.

그림 29. 한빛증권에 대한 도큐먼트, 사이트 평가, 사이트맵 결과.

- 30 -

Page 42: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

4 .3 시스템 유용성 검사

(1 ) 실 험 환경

시스템의 성능을 평가하기 위해 사용자가 웹문서 구조를 구성한 경우와 시스템

이 구성한 경우에 대해서 비교하였다. 웹문서수가 많은 웹사이트의 경우 사용자가

성능을 평가하는데 시간이 많이 걸리기 때문에 작은 웹사이트 h ci.y on sei.ac.kr에

대해 실험하였다. 실험항목으로 전체 웹페이지수, HT ML문서수, CGI웹페이지수,

그외 웹페이지(예:M S워드 화일, PDF 화일)수, 웹문서간의 구조의 평균깊이, 최대너

비을 사용한다. 2명의 실험자에 대해 실험결과와 4번의 시스템 수행을 통하여 얻

은 결과를 비교하였다. 사용자와 시스템의 결과에 대해서 평균 낸 값을 정리하면

표 3과 같다.

(2 ) 실 험 결과

표3과 같이 실험결과 시스템과 사용자 사이에 전체 웹페이지수와 HT ML문서수

외 차이가 없음을 확인할 수 있었다. 시스템과 사용자 사이에 전체 웹페이지와

HT ML 문서에 대해서 9.25 (전체 웹페이지수의 2% )수의 오차가 났는데, 이는 같은

URL에 대해서 다르게 표기되었기 때문이다. 예를 들어,

'h t tp :/ / h ci.y on sei.ac .kr/ link s/ m is .h tm l '와 ' h t tp :/ / h ci.y on sei.ac.kr/ link s/ m is .htm l# '은

같은 URL을 가리키고 있으면서 다른 표기로 되어 있으므로 시스템은 다르게 인

식하게 된다. 또한, 메인 페이지로 가는 페이지와 상위로 가는 하이퍼링크에 대해

서도 페이지수로 인식하여 페이지수가 다르다.

표 3. 시스템과 사용자의 구조분석 결과.

항목웹페이지수 웹페이지구조

전체 HT ML수 CGI수 그외 평균깊이 최대너비

시스템 108.75 88.75 0.0 20.0 1.06 14.0

사용자 99.5 73.5 0.0 20.0 1.00 14.0

- 31 -

Page 43: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

4 .4 웹평가 적용

(1 ) 실 험 환경

위 시스템을 이용하여 평가대상 CD, 교육, 경매 등 21개의 사이트에 대해서 테

스트하였다. T 1급의 네트워크에 펜티엄급 128M메모리의 컴퓨터, JAVA 1.2.2환경

에서 테스트하였다. 이때 읽어들일 최대 웹페이지수를 5000페이지로 두고 웹페이

지 요청시 반응시간을 3초로 1주일동안 실험했다. 웹평가에 사용된 평가항목은

HT ML, CGI, 기타의 웹문서 수, 메인페이지의 프레임수, 브로큰 링크 수, HT ML

에러수, 브라우저별/ 유형별 에러수를 사용하였다[Ric00]. CGI 페이지는 A SP , JSP ,

CGI, P HP 등을 포함한다.

(2 ) 평 가 결과

표4는 문서 종류에 따른 평가항목을 나타낸다. 5000개의 문서를 읽어들인 웹사

이트는 7개였으며 그 중 한 사이트만이 HT ML문서로 구성되었다. 100개이하의 웹

문서를 추출한 사이트는 4개였는데 원인은 시스템이 분석할 수 없는 자바스크립

트로 구성되거나 사용자 ID입력을 요청하여 웹문서 접근이 불가능하였기 때문이

다.

구조에 따라 사이트를 평가한 경우, 평균 1.39245의 평균깊이와 11.190의 평균너

비값을 보인다. 최대너비는 3706으로 하나의 웹문서에 대해서 연결된 웹문서가

3706개가 되는 경우가 있었다. 브로큰링크는 3개의 사이트만 0개이며 최대 718개

의 연결되지 않은 웹문서를 갖는 사이트도 있었다. 프레임은 거의 1개로 구성되었

다.

표 5는 에러에 대한 웹문서 평가결과를 나타낸다. 여기서 HT ML 에러는 태그의

구조나 사용하지 않는 태그사용시의 에러를 말하며 IE v er err는 익스플로러 버전

사이에 사용하는 태그에 대한 에러, NS C v er err는 넷스케이프 버전사이에 사용

하는 태그에 대한 에러, IE only error는 익스플로러에서만 지원되는 태그에 대한

에러, N S C only error는 넷스케이프에서만 동작하고 익스플로러에서 지원되지 않

- 32 -

Page 44: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

는 태그에 대한 에러를 말한다. HT ML자체 내 오류가 발생하지 않는 웹사이트는

9개이며 사이트 D에 대해서만 익스플로러 버전에러가 82001개였다. 그림 31은 분

야에 따른 웹문서 종류, 평균깊이, 평균너비, 최대너비, 브로큰링크수를 보여준다.

표 4. 문서 종류와 구조에 따른 평가항목 및 결과.

표 5. 에러값에 대한 평가항목 및 결과.

- 33 -

Page 45: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

4 .5 논의

네트워크는 시간과 상황에 따라 달라질 수 있다. 따라서 전송하는 네트워크의

상태에 따라 웹페이지의 응답시간이 달라질 수 있다. 또한 서버에 접근한 사용자

의 수가 많은 경우 응답시간이 달라질 수 있다. 따라서 같은 시각, 같은 환경에서

사이트를 평가하기는 어렵다. 예를 들어, 10명의 접속자로 구성된 소규모 사이트와

10만명의 접속자로 구성된 대규모의 시스템은 공정하게 비교평가하기 어렵다.

개발된 시스템은 또한 테스트 서버에 여러 개의 URL이 포함될 때 외부 URL과

내부 URL의 구분이 불가능하기 때문에 처리가 불가능하다. 이를 위해 시스템이

여러 개의 URL이 있는 사이트에 대한 지식을 갖고 구조추출시 내부 URL인지 판

별하는 방법을 생각해 볼 수 있다.

다른 문제로 생각해볼 수 있는 것은 ID를 입력해야 들어갈 수 있는 웹문서들은

접근이 안된다는 것이다. 이와 연관해서 ID와 Guest로 들어갈 수 있는 웹문서에

대해서 ID입력으로 들어가는 경우가 Gu est로 들어가는 경우보다 먼저인 경우

Guest로 들어갈 수 있는 웹문서임에도 불구하고 ID입력을 통해 접근이 안된 경우

시스템은 그 웹문서에 대해서 한번 접근했었고 읽어들였다고 판단하여 Guest권한

으로 읽어들이려 할 때는 읽지 못한다. 그 외 하드웨어적으로 많은 웹문서를 읽어

들일 때 하드웨어 공간이 부족할 수 있는 문제도 생각해볼 수 있다.

- 34 -

Page 46: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

(a) 전체 웹페이지수에 대한 HTML문서 비율. (b) 메인페이지 프레임 수.

(c) 웹서버의 평균 깊이와 평균 너비. (d) 웹서버의 최대 너비와 브로큰 링크수.

그림 30. 분야에 대한 항목별 결과.

- 35 -

Page 47: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

제 5 장 결론 및 향후연구

본 논문에서는 웹문서의 구조분석 에이전트를 개발하였다. 이를 위해서 웹문서/

웹문서간의 연결관계를 추출하고 저장하여 가시화하였다. 웹문서의 구조를 추출하

기 위해서 HT ML문서를 정형화된 형태로 변환하고 태그들의 포함관계를 이용하

여 트리구조를 생성하였다. 또한 웹문서 구조에서 링크정보들을 추출하고 이들을

계층적으로 또는 동심원 그래프표현 형식으로 사이트맵을 표현하여 사이트의 전

체적인 모습을 쉽게 확인할 수 있었다. 또한 웹로그화일을 이용한 사용자의 행동

패턴으로 사용자별 접근경로와 웹문서별 중요도에 따른 분석에 대한 모델을 제시

하였다. 이는 웹로그화일을 서버에서 제공한다는 전제하에 로그화일 전처리, 사용

자/ 웹문서별 분석, 가시화로 구성된다. 전처리단계는 웹로그화일의 하이퍼링크 정

보중 그림이거나 전송방식과 같은 불필요한 정보를 삭제하며 사용자별로 접근경

로를 정리한다. 분석단계는 사용자별로 생긴 여러 개의 접근 경로에 링크정보인

그림 또는 전송방식로그화일은 분석을 위해서 각 사용별로 접근순서를 정리하고

웹문서별로 사용자를 정리한다. 가시화는 동심원 그래프 표현 방법을 사용한다.

이를 이용한 웹문서 평가 시스템을 구성하였고 21개의 웹사이트에 대해 평가하

였다. 평가항목으로는 웹문서의 종류, 평균깊이, 평균너비, 최대너비, 브로큰링크수,

메인페이지의 프레임 수와 HT ML문서의 에러값을 사용했다. 이를 통해 사이트들

에 대해 수치적인 비교가 가능했으며 평가결과에 대한 서버의 재구성과 효율적인

서버운용이 가능하다. 또한 제안한 시스템과 온톨로지를 이용하여 태그에 의미정

보를 표현했을 경우 정보검색 에이전트에도 유용하리라 본다.

향후연구로 최근 웹사이트의 문서들이 자바스크립트를 이용하고 있는데 현재

시스템은 자바스크립트에 대한 일부만의 처리를 하고 있기 때문에 정확한 사이트

맵을 구성하기 위해서는 자바스크립트에 대한 정확한 처리가 필요하다. 그리고 온

톨로지를 이용하여 태그에 의미정보를 표현한다면 본 논문에서 생성한 웹문서 구

조는 정보검색 에이전트에도 유용하게 사용될 수 있을 것이다. 또한 사용자 ID와

연관된 문서 추출에 관한 연구도 필요할 것이다.

- 36 -

Page 48: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

참고 문헌

[Bea90] D . Beard and J . Q. W alk er , "N avigat ion techniques t o im prov e the

display of larg e tw o- dim en sional spaces ," B ehav ior and I nf orm ation

T echnology , V ol. 9, pp .45∼466,1990.

[Bec90] R . A . Becker , et . al, "Dyn am ic graphics for net w ork v isu alizat ion ,"

P roc. of the F irs t I E E E Conf . on V is ualiz a tion , pp . 93∼96, 1990.

[Car01] S . K . Card , et . al, "Inform at ion scent as a driv er of w eb beh avior

graph s : Result s of a prot ocol an aly sis m ethod for w eb u sability ,"

CH I2001 , pp .498∼505,2001.

[Cha98] C.- H . Ch ang , C.- C. H su , and C.- L . Hou , "Ex ploiting hyperlink s for

aut om atic inform ation discov ery on th e W W W ," P roc. T en th I E E E

I n ternational conf . on T ools w ith A r tif icial I n tellig ence , pp .156∼163,

1998.

[Che00] J . C .Y . Chen , an d L . Qing , "W ebReader : A m ech anism for

aut om atin g th e search an d collecting inform at ion from the W orld

W ide W eb ," W eb I nf orm ation Sy s tem s E ng in eering , V ol. 2, pp . 47∼

54, 2000.

[Coc96] A . Cockburn , S .Jon es , "W hich w ay now ? An aly sin g and easing

inadequ acies in W W W n avig at ion ," I n t. J . H um an - Comp uter

S tud ies , N o. 45, pp. 105∼129, 1996.

[Cug99] J . Cu gini an d J . S cholt z, "VISVIP : 3D Visualizat ion of P ath s throu gh

W eb Sit es ," P roc. of the 10th I n ternational W ork shop on D atabas e

& E xp er t Sy s tem s A pp licat ions , pp. 259∼263, 1999.

[Cre94] A . Crespo, J . et al., A surv ey of semi- aut om atic ex traction an d

tr an sform at ion , I nf orm ation sy s tem s . pp .1∼19, 1994.

[Dao98] T . Dao, "An index in g m odel for st ru ctured docum ent s t o support

- 37 -

Page 49: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

qu eries on content , stru cture and at tr ibut es ," A D L 98. P roc. I E E E

I n ternational F orum , pp . 88∼97, 1998.

[Deo98] J . S . Deogun , H . S ev er an d V . V . Raghav an , "Structural ab straction s

of hypert ext docum ent s for W eb - based retriev al," D atabas e and

E xp ert Sy s tem s A pp licat ions , pp . 385∼390, 1998.

[Enh99] C. Enhong , W . Xufa , "S emi- st ructured dat a ex tr act ion and sch em a

know ledge m inig ," E UR OM I CR O Conf ., v ol.2, pp . 310∼317, 1999.

[F er97] M . F ern andez, D. F lorescu , J . Kan g , A . Levy , and D. Suciu ,

"ST RUDEL : A W eb - sit e m anag em ent sy st em ," A CM S I GM OD ,

1997.

[F er98] M . F ern andez, D. F lorescu , A . Levy , and D. Su ciu , "Reasonin g about

W eb - site st ructure," P roc. of 5 th W orkshop on K nowledg e

R ep res en ta tion and D atabas es , 1998.

[Gao99] X . Gao and L . st er lin g , "S em i- st rucured dat a from heterogn eou s

sources ," I n t. W ork shop on I nn ovat ive I n tern e t I nf orm ation Sy s tem s

(I I I S '99) , 1999.

[Gu z94] M . Gu zidal, et . al, "A naly zin g and visualizing log files : A

com putation al scien ce of u salbility ," H CI Cons or tium W orkshop , pp .

2∼6, 1994.

[H er00] I, H erm an , "Graph visu alization an d navigation in inform at ion

v isu alizat ion : A surv ey ," I E E E T ransact ions on V is ualiz a tion and

Comp uter g rap hics , V ol. 6, No. 1, pp . 24∼43, 2000.

[H on 01] J . I. H on g , J . A . Landay , "W ebQuilt : A F ram ew ork for capturin g

and visualizing the w eb ex perience ," P roc.of the T en th I n ternat ional

W orld W id e W eb Conf ., pp . ,2001.

[kat 00] H . Kato, T . Nak ay am a, an d Y . Yam an e, "Nav ig ation an aly sis t ool

b ased on the corr elation b etw een cont ent s dist r ibut ion and access

pat tern s ,"”W orskhop on W eb M in ing f or E - Com m erce - Challeng es

- 38 -

Page 50: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

and Opp ortun ities (W E B K D D 2000 P ap ers) , 2000.

[Kha97] R . Khare, an d A . Rifkin , "XML : A door t o aut om at ed w eb

application s ," IEEE Int ernet Com putin g , Vol. 14 , pp . 78∼87, 1997.

[Lev93] L . Lev enth al et . al, "Sleuthing in hyperh om es : An ev aluat ion of

u sing hypert ex t v s . a b ook to an sw er question s ," B ehav ior and

I nf orm ation T echn ology , Vol. 12, pp .149∼164, 1993.

[Lim 98] S .- J . Lim an d Y .- K . N g , "Extr act in g structures of HT ML

docum ent s ," I COIN - 12 , pp . 420∼426, 1998.

[Lim 99] S .- J . Lim , and Y .- K . Ng , "W ebView : A t ool for r et r iev in g in tern al

stru ctures and ex tr act ing inform ation from HT ML docum ent s ,"

D atabas e Sy s tem s f or A dvanced A pp lications , pp . 71∼80, 1999.

[List ] h ttp :/ / w w w .ncdesign .org/ h tm l/ list .h tm

[Liu 00] L . Liu , C. Pu , an d W . H an , "XW RAP : An XML - enabled w rapper

con stru ct ion sy st em for W eb inform at ion sources , " P roc. of 16th

I n ternational Conf . D ata E ng in eer ing , pp . 611∼621, 2000.

[M ay99] W . M ay , et . al, "A unified fr am ew ork for w rappin g , m ediat in g an d

restru cturin g inform at ion from the W eb ," P roc. I n t 'l. W ork shop on

the W orld - W ide W eb and Concep tual M od eling (W W W CM '99) , pp .

307∼320, 1999.

[M ay99b] W . M ay , "M odelin g and querying stru cture and content s of th e W eb

," D atabas e and E xp ert Sy s tem s A pp lications , pp . 721∼725, 1999.

[M ay 00] W . M ay , "A n int egrat ed archit ecture for ex ploring , w rapping ,

m ediating and restru cturin g ," P roc. A us tralas ian D atabas e Conf .

(A D C2000) , Vol. 2, No. 2, pp . 82∼89, 2000.

[M ar ] http :/ / w w w .w 3.org/ M arkUp

[M ch97] J . M chu gh , S . Abiteb oul, R . Goldm an , D. Qua ss , an d J . W idom .,

"Lore : A dat abase m anag em ent sy stem for sem istru ctured dat a ,"

S I GM OD , V ol. 26, No. 3, pp .54∼66, 1997.

- 39 -

Page 51: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

[Ou a99] H . Ouahid , A . Karm ouch , "Conv ert in g W eb pages int o w ell - form ed

XML docum ent s ," I E E E I nt ' Conf . on Com m un icat ions , V ol. 1, pp .

676∼680, 1999.

[Pil99] C. J . Pilgrim , and Y . K . Leun g , "Designin g W W W sit e m ap

sy st em s ," D atabas e and E xp ert Sy s tem s A pp lications , pp .253∼258,

1999.

[Ric00] F . Ricca an d P . T on ella , "W eb sit e an aly sis : Stru cture an d

Ev olut ion ," Proceedin g s of th e I n t. Conf . on S of tware M ain tenance

(I CS M '00) , pp . 76∼86, 2000.

[S ak99] T . S akair i "A sit em ap for visu alizin g both a W eb site ' s st ructure

and key w ords ," P roc. I E E E S M C '99 , Vol. 4, pp . 200∼205, 1999.

[S av99] J . S av oy J . Picard ," Retr iev al effect iv en ess on the w eb ," I nf orm ation

p rocess ing & m anag em ent , pp . 571∼591, 1999.

[Shu97] S . B . Shum and C. M cknight , "W orld W ide W eb u sability :

In troduct ion t o th is special is sue, I n t. J . of H um an Comp uter

S tud ies , V ol. 47, pp . 1∼4, 1997.

[Sm i97] P . A . Sm ith et . al., "Vir tual h ier ar chies an d vir tual n et w ork s : S om e

lesson s from hyperm edia u sability research applied t o the w orld w ide

w eb ," I n t. J . H um an - Comp uter S tud ies , No.47, pp .67∼95,1997.

[St a99] D . Stan any er and R. Procter , “"Im proving w eb u sability w ith the

link len s ,"”Comp uter N etw orks , No. 31, pp. 1533∼1544, 1999.

[W ri89] P . W right and A .Lickorish , "An em pirical com parison of tw o

n avigat ion sy st em s for t w o hypertext s ," P roc. of the H yp er tex t Ⅱ

Conf ., pp .84∼93, 1989.

- 40 -

Page 52: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

A B S T RA CT

A S tu dy on W eb S tru c tu re A n aly s i s A g e nt

f or W eb S it e E v alu at ion

Youn - Gy oun g Choun g

Dept . of Comput er S cience

T h e Gradu at e S chool

Yon sei Univ er sity

W ith the int ernet , the shape of electronic comm erce has tr an sform ed from

direct t r an sact ion betw een supplier an d buy er t o electronic t ran saction . T hu s , w e

hav e t o assess an d rest ructure a w eb serv er to create a bu sin ess site conv enient

for th e u ser s .

P roblem s m ay arise w h en th e sites are ev alu at ed m anu ally . F ir st of all, th e

ev aluator necessarily has t o go throu gh a h assle of visiting a m a ssiv e am ount of

w eb docum ent s in div idu ally for ev alu at ion . Also in ev aluating sy st em

perform an ce, th e u ser cannot be sufficient ly object iv e in m aking an assessm ent

on sy st em perform ance su ch as serv er speeds an d file link relat ion ships . W ith

an aly sis het erogen eou s w eb docum ent s and the rapidly chan ging w eb

environm ent s , it is difficult t o con struct aut om atic w eb ev alu at ion sy st em .

Relat ed t o ch ang ed w eb docum ent s , there are m any the studies of content

ex tr action . M ost of them are not suitable for r eal w eb .

- 41 -

Page 53: 웹사이트 평가를 위한 웹구조분석sclab.yonsei.ac.kr/publications/Papers/thesis/ykjung.pdf · 제 4 장 실험 28 4.1 사용자 인터페이스 28 4.2 실행 예 29 4.3

In order to solv e these problem s , this paper proposes stru cture an aly sis ag ent s

for w eb docum ent s , w hich are composed of st ru cture ex tr act ion , st orag e, an d

visualization . T he proposed ag ent s can redu ce hum an an d t im e cost s by

ev aluating the w eb docum ent s in st ead of th e u ser , proces sin g larg e am ount of

data , en ablin g a t echnical ev alu ation , and enh ancin g the lev el of service .

W e sug gest the m odel, th at g et s u ser acces s by w eb log file, w ith w hich

w eb serv er analy zes behavior patt ern of u ser s an d im portant v alu e of w eb

docum ent s .

T he ex perim ent by com paring to th e result s of 2 u ser s can show the accuracy

of the proposed sy st em . Also, experim ental r esult s of the proposed ag ent s in the

ev aluation of 21 w eb sit es r ev eal that technical analy sis on a larg e v olum e of dat a

has becom e possible , an d w e can ex pect b ett er w eb sites for in t ernet bu siness

w ith the h elp of the agent s .

W ith the proposed sy st em and th e ontology , if t ag s got m eanin g an d could

represent , it w ould be u seful for g eneral cont ent ex tr act ion and inform ation

retriev al agent s .

___________________________________________________________________________

Key w ord : Stru cture ex tr action , Stru cture St orag e, Stru cture Visu alizat ion , U ser

Beh avior P at tern , W eb Ev aluation

- 42 -