Skip to main content
QUICK REVIEW

[논문 리뷰] Automatically Extracting Web API Specifications from HTML Documentation

Jinqiu Yang, Erik Wittern|arXiv (Cornell University)|2018. 01. 26.
Web Data Mining and Analysis참고 문헌 21인용 수 3
한 줄 요약

이 논문은 HTML 기반 API 문서에서 기반 URL, 경로 템플릿, HTTP 메서드를 자동으로 추출하는 기계학습 기반 도구인 D2Spec을 제안한다. 120개의 API에서 평가한 결과, 기반 URL의 정밀도는 87.5%, 경로 템플릿의 정밀도는 81.3%, 재현율은 80.6%, HTTP 메서드의 정밀도는 84.4%, 재현율은 76.2%를 기록하여 비구조화된 문서에서 사양을 추출하는 데 효과적임을 입증한다.

ABSTRACT

Web API specifications are machine-readable descriptions of APIs. These specifications, in combination with related tooling, simplify and support the consumption of APIs. However, despite the increased distribution of web APIs, specifications are rare and their creation and maintenance heavily relies on manual efforts by third parties. In this paper, we propose an automatic approach and an associated tool called D2Spec for extracting specifications from web API documentation pages. Given a seed online documentation page on an API, D2Spec first crawls all documentation pages on the API, and then uses a set of machine learning techniques to extract the base URL, path templates, and HTTP methods, which collectively describe the endpoints of an API. We evaluated whether D2Spec can accurately extract endpoints from documentation on 120 web APIs. The results showed that D2Spec achieved a precision of 87.5% in identifying base URLs, a precision of 81.3% and a recall of 80.6% in generating path templates, and a precision of 84.4% and a recall of 76.2% in extracting HTTP methods. In addition, we found that D2Spec was useful when applied to APIs with pre-existing API specifications: D2Spec revealed many inconsistencies between web API documentation and their corresponding publicly available specifications. Thus, D2Spec can be used by web API providers to keep documentation and specifications in synchronization.

연구 동기 및 목표

  • 웹 API의 광범위한 사용에도 불구하고 기계로 읽을 수 있는 웹 API 사양의 부족 문제를 해결하기 위해.
  • 기존 HTML 문서에서의 자동 추출을 통해 API 사양을 수작업으로 생성하고 유지하는 데 필요한 노력 감소를 위해.
  • 문서와 공개된 사양 간의 일관성을 향상시키기 위해 불일치를 탐지하기 위해.
  • 공개 문서에서 OpenAPI 호환 사양을 생성함으로써 API 소비를 위한 더 넓은 도구 지원을 가능하게 하기 위해.

제안 방법

  • D2Spec는 시드 API 문서 페이지와 연관된 모든 문서 페이지를 크롤링하는 것으로 시작한다.
  • 자유형 텍스트와 HTML 구조에서 기반 URL을 식별하고 추출하기 위해 일련의 기계학습 모델을 적용한다.
  • 구문적 및 구조적 신호를 활용하여 여러 예시 URL에서 패턴 인식 및 추론을 통해 경로 템플릿을 추출한다.
  • 자연어 처리(NLP)와 규칙 기반 필터링을 사용하여 경로 템플릿 근처의 문맥적 맥락을 분석함으로써 HTTP 메서드를 식별한다.
  • 예제 기반(예: GitHub)과 참조 기반(예: 인스타그램)이라는 두 가지 다른 문서 스타일을 처리한다.
  • 해결책은 히ュ리스틱과 학습 데이터를 활용하여 다양한 API 제공자와 문서 레이아웃에 일반화된다.

실험 결과

연구 질문

  • RQ1기계학습 기법을 사용해 반구조화된 HTML API 문서에서 기반 URL을 정확하게 추출할 수 있는가?
  • RQ2문서 내 예시 URL과 주변 텍스트에서 경로 템플릿을 어느 정도 정확하게 유추할 수 있는가?
  • RQ3경로 설명 근처의 문맥적 맥락에서 HTTP 메서드를 어느 정도 정확하게 식별할 수 있는가?
  • RQ4D2Spec는 기존 공개 API 사양과 해당 문서 간의 불일치를 탐지할 수 있는가?
  • RQ5이 접근법은 다양한 API 제공자와 문서 스타일 간에 얼마나 일반화될 수 있는가?

주요 결과

  • D2Spec는 120개의 웹 API에서 기반 URL 식별에 대해 87.5%의 정밀도를 기록하여 URL 추출의 높은 신뢰성을 입증했다.
  • 경로 템플릿 생성에 대해 81.3%의 정밀도와 80.6%의 재현율을 달성하여 예시 URL과 구조적 패턴에서 효과적인 추론이 가능함을 보여주었다.
  • HTTP 메서드 추출에 대해 84.4%의 정밀도와 76.2%의 재현율을 기록하여 맥락적 단서에서 강력한 탐지 능력을 입증했다.
  • 평가 결과 기존 공개 API 사양과 해당 문서 간에 상당한 불일치가 드러나 D2Spec가 검증에 유용함을 입증했다.
  • D2Spec는 98개의 다양한 API 제공자에 대해 성공적으로 일반화되어 다양한 문서 구조와 스타일에 적응 가능함을 보여주었다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.