[論文レビュー] Automatically Extracting Web API Specifications from HTML Documentation
本稿では、HTML 形式の API ドキュメントから、ベース URL、パステンプレート、HTTP メソッドを自動で抽出する機械学習ベースのツール D2Spec を提案する。120 個の API に対して評価した結果、ベース URL の正確度は 87.5%、パステンプレートの正確度は 81.3%、再現度は 80.6%、HTTP メソッドの正確度は 84.4%、再現度は 76.2% を達成し、非構造化ドキュメントからの仕様抽出の有効性が示された。
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.
研究の動機と目的
- Web API の広範な使用にもかかわらず、機械可読形式の Web API 仕様が不足している問題に対処すること。
- 既存の HTML ドキュメントから自動抽出することで、API 仕様の作成および保守にかかる人的作業を削減すること。
- API ドキュメントと公開済み仕様の間に生じる不一致を検出することで、両者の整合性を向上させること。
- 公開ドキュメントから OpenAPI 互換の仕様を生成することで、API 消費を支援するツールの広範な導入を可能とすること。
提案手法
- D2Spec は、初期の API ドキュメントページに関連するすべてのドキュメントページをクローリングすることから開始する。
- 自由形式のテキストおよび HTML 構造からベース URL を特定・抽出するために、複数の機械学習モデルを適用する。
- 構文的および構造的ヒントを活用して、複数の例示 URL からのパターン認識と推論により、パステンプレートを抽出する。
- 自然言語処理とルールベースのフィルタリングを用いて、パステンプレートに近接する文脈的文脈を分析し、HTTP メソッドを特定する。
- 例示ベースのドキュメンテーションスタイル(例:GitHub)とリファレンスベースのスタイル(例:Instagram)の2種類のドキュメンテーションスタイルを処理する。
- ヒューリスティクスとトレーニングデータを用いて、多様な API プロバイダーおよびドキュメンテーションレイアウトに一般化できるようにする。
実験結果
リサーチクエスチョン
- RQ1機械学習技術を用いることで、準構造化された HTML API ドキュメントからベース URL を正確に抽出できるか?
- RQ2ドキュメント内の例示 URL や周囲のテキストから、どの程度パステンプレートを推論できるか?
- RQ3パス記述に近接する文脈的文脈から、HTTP メソッドをどの程度正確に特定できるか?
- RQ4D2Spec は、既存の公開 API 仕様とそれに対応するドキュメントの間に生じる不一致を検出できるか?
- RQ5本アプローチは、多様な API プロバイダーおよびドキュメンテーションスタイルにどの程度一般化可能か?
主な発見
- D2Spec は 120 個の Web API に対してベース URL の抽出で 87.5% の正確度を達成し、URL 抽出の信頼性の高さを示した。
- パステンプレートの生成において、81.3% の正確度と 80.6% の再現度を達成し、例示 URL と構造的パターンからの推論が効果的であることが示された。
- HTTP メソッド抽出に関しては、84.4% の正確度と 76.2% の再現度を達成し、文脈的手がかりからの検出が堅牢であることが示された。
- 評価の結果、既存の公開 API 仕様とそれに対応するドキュメントの間に顕著な不一致が確認され、D2Spec が検証用途としての価値を持つことが浮き彫りになった。
- D2Spec は 98 種類の異なる API プロバイダーにわたり成功裏に一般化され、多様なドキュメンテーション構造およびスタイルへの適応力が示された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。