Skip to main content
QUICK REVIEW

[論文レビュー] nl2spec: Interactively Translating Unstructured Natural Language to Temporal Logics with Large Language Models

Matthias Cosler, Christopher Hahn|arXiv (Cornell University)|Mar 8, 2023
Software Engineering Research被引用数 6
ひとこと要約

nl2spec は、自然言語要件を一括して翻訳するのではなく、ユーザーが編集可能な部分訳に分解することで、大規模言語モデル(LLM)を用いて対話的に時限論理仕様(例:LTL)に翻訳するフレームワークである。繰り返しの改善によって、複雑で曖昧な要件を 86.11% の正確性で形式化し、手作業での再作成を減らし、誤りの訂正効率を向上させた。

ABSTRACT

A rigorous formalization of desired system requirements is indispensable when performing any verification task. This often limits the application of verification techniques, as writing formal specifications is an error-prone and time-consuming manual task. To facilitate this, we present nl2spec, a framework for applying Large Language Models (LLMs) to derive formal specifications (in temporal logics) from unstructured natural language. In particular, we introduce a new methodology to detect and resolve the inherent ambiguity of system requirements in natural language: we utilize LLMs to map subformulas of the formalization back to the corresponding natural language fragments of the input. Users iteratively add, delete, and edit these sub-translations to amend erroneous formalizations, which is easier than manually redrafting the entire formalization. The framework is agnostic to specific application domains and can be extended to similar specification languages and new neural models. We perform a user study to obtain a challenging dataset, which we use to run experiments on the quality of translations. We provide an open-source implementation, including a web-based frontend.

研究の動機と目的

  • 形式的検証手法の導入を制限する、手作業による形式的で誤りの多いシステム仕様の作成という課題に対処すること。
  • LLM が生成した翻訳の段階的でインタラクティブな改善を可能にすることで、形式的仕様作成における認知的負荷と誤り率を低減すること。
  • 演算子の優先順位や意味の曖昧さといった点で、自然言語要件の曖昧さを部分訳の編集によって同定・解消すること。
  • 特定の LLM や仕様言語に依存しないフレームワークを設計し、STL や SVA などの分野への拡張性を確保すること。
  • エキスパートによるユーザースタディから得たベンチマークデータセットを用いて、フレームワークの有効性を評価し、正確性と使いやすさの向上を示すこと。

提案手法

  • 自然言語入力を、それぞれが対応する自然言語フレーズに再帰的にマッピングされる部分訳に分解する。
  • LLM を用いた対話的で少々の例示(few-shot prompting)スキームを採用し、部分訳を生成する。これにより、ユーザーは全体の形式化を再書き直さずに、追加・編集・削除が可能になる。
  • 各部分訳には信頼度スコアと代替案が付随しており、誤りの段階的訂正や曖昧さの解消が可能になる。
  • 演算子の優先順位の曖昧さを解消するため、明示的な構文変更(例:括弧の追加)によるユーザーの編集をサポートする。たとえば、'a が b が成り立つまで保持する、または a が常に成り立つ' のような文の曖昧さを解消する。
  • バックエンドでは LLM(例:Codex)を用いて初期翻訳を生成し、実際には最大 3 回の翻訳ループを経てユーザーが改善を行う。
  • フレームワークは Web ベースのツールとして実装されており、オープンソースで公開されており、さまざまな時限論理言語との統合をサポートする。

実験結果

リサーチクエスチョン

  • RQ1LLM は、対話的改善を可能にする意味的に意味のある部分訳に自然言語要件を効果的に分解できるか?
  • RQ2部分訳の対話的編集は、一括翻訳と比較して、形式的仕様生成の正確性と使いやすさを顕著に向上させるか?
  • RQ3部分訳のアプローチは、特に演算子の優先順位や意味の曖昧さに関する自然言語要件の曖昧さをどれほど効果的に解消できるか?
  • RQ4ユーザーは、全体の式を再作成するのではなく、部分訳への最小限の編集で誤った形式化をどれほど効果的に是正できるか?
  • RQ5曖昧で複雑な要件からなるエキスパート検証済みベンチマークデータセットにおいて、フレームワークのエンド・ツー・エンド翻訳正確性はどの程度か?

主な発見

  • nl2spec は、36 件のエキスパート検証済み自然言語要件からなるベンチマークで、エンド・ツー・エンドの翻訳正確性が 86.11% を達成し、36 件中 31 件を正しく形式化した。
  • 平均して、正しい形式化に到達するまでに 1.4 回の翻訳ループで十分であった。20 件の誤った翻訳のうち 15 件が 3 回以内のループで是正された。
  • 部分訳のアプローチにより、'a が b が成り立つまで保持する、または a が常に成り立つ' のような曖昧なケースが、演算子の優先順位を明確にするために部分訳を編集することで是正された。
  • 部分訳 'b が次の 2 ステップで成り立つ必要がある' を 'b | X b' に編集することで、当初は誤ってネストされた式になっていた意味の曖昧さが解消された。
  • 手作業での再エンコードの必要がほとんどなく、36 件中 5 件のみが完全な再エンコードを要した。残りの 31 件はすべて部分訳の編集で是正された。
  • Codex という性能が低いモデルでさえ、直接的なプロンプト提示と比較して 4 件の翻訳成功が向上した。これは、このアプローチの頑健性を示している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。