大規模言語モデルを使用して複数の記述バリエーションを探索および整理するための研究プロトタイプ。プロジェクトの詳細については、この CHI2024 ペーパーをご覧ください。
このシステムのクレジットとして、CHI'24 の論文「ABScribe: 大規模言語モデルを使用した人間と AI の共作タスクにおける複数のライティングバリエーションの迅速な探索と組織化」を引用してください: Mohi Reza、Nathan Laundry、Ilya Musabirov、Peter Dushniku、ジー・ユアン・“マイケル”・ユー、カシシュ・ミタル、トヴィ・グロスマン、マイケル・リュート、アナスタシア・クズミニク、ジョセフ・ジェイ・ウィリアムズ。 2024年
@inproceedings { reza2024abscribe ,
title = { ABScribe: Rapid Exploration & Organization of Multiple Writing Variations in Human-AI Co-Writing Tasks using Large Language Models } ,
author = { Mohi Reza, Nathan Laundry, Ilya Musabirov, Peter Dushniku, Zhi Yuan "Michael" Yu, Kashish Mittal, Tovi Grossman, Michael Liut, Anastasia Kuzminykh, Joseph Jay Williams } ,
booktitle = { Proceedings of the 2024 CHI Conference on Human Factors in Computing Systems } ,
pages = { 1-18 } ,
organization = { Association for Computing Machinery } ,
doi = { https://doi.org/10.1145/3613904.3641899 } ,
year = { 2024 }
}
テキストを書き直すことで別のアイデアを模索することは、執筆プロセスに不可欠です。最先端の大規模言語モデル (LLM) により、記述バリエーションの生成が簡素化されます。しかし、現在のインターフェイスでは、複数のバリエーションを同時に検討するには課題が生じています。テキストを上書きせずに新しいバージョンを作成するのは難しい場合があり、それらを順番に貼り付けると文書が乱雑になり、作業負荷が増加し、作成者のフローが中断される可能性があります。これに取り組むために、人間と AI の共作タスクにおけるライティングのバリエーションの迅速かつ視覚的に構造化された探索をサポートするインターフェイスである ABScribe を紹介します。 ABScribe を使用すると、ユーザーは LLM プロンプトを使用して複数のバリエーションを迅速に作成でき、プロンプトは再利用可能なボタンに自動変換されます。バリエーションはテキスト セグメント内に隣接して保存されるため、コンテキスト ツールバーでのマウス オーバー インタラクションを使用してその場で迅速に比較できます。 12 人のライターによるユーザー調査では、ABScribe が一般的なベースライン ワークフローと比較してタスクの作業負荷を大幅に削減し (d = 1.20、p < 0.001)、改訂プロセスに対するユーザーの認識を向上させ (d = 2.41、p < 0.001)、次のような洞察を提供することが示されています。ライターが LLM を使用してバリエーションを探索する方法。
ABScribe の使用を開始するには、ABScribe.ca にアクセスするか、CONTRIBUTING.md ファイルの指示に従ってローカルでセットアップします。
プロジェクトは次のディレクトリで構成されます。
/abscribe_backend
バックエンド アプリケーションは、ドキュメント、チャンク、バージョンを管理するためのツールのセットを提供します。このアプリケーションを使用すると、ユーザーはリッチ テキスト コンテンツを含むドキュメントを作成および操作できます。バックエンドは Python と MongoDB を使用して構築されており、データベース操作に MongoEngine ODM を利用します。
/abscribe_backend/models
models ディレクトリには、アプリケーションで使用される次のデータ モデルが含まれています。
Document
: ドキュメントのメタデータとコンテンツを含むチャンクのリスト。Chunk
: ドキュメント内の実際のコンテンツ。Version
: チャンク内のコンテンツのさまざまなバージョン。Feedback
: ドキュメントの各部分に関するコメントとフィードバック。Recipe
: ドキュメント内のコンテンツを変更するための一連の手順。 /abscribe_backend/services
services ディレクトリには、アプリケーションで使用される次のサービスが含まれています。
document_service.py
: ドキュメントの CRUD 操作を提供します。chunk_service.py
: ドキュメント内のチャンクに対する CRUD 操作を提供します。version_service.py
: チャンク内のバージョンの CRUD 操作を提供します。recipe_service.py
: レシピの CRUD 操作を提供します。feedback_item_*_service.py
: ドキュメントのさまざまなコンポーネントをフィードバックするための CRUD 操作を提供します。 /abscribe_backend/tests
テスト ディレクトリには、バックエンド アプリケーションのテスト スイートが含まれています
/abscribe_backend/app.py
アプリケーションのサービスに記述されているすべてのルートと API エンドポイントが含まれます。
/abscribe_frontend
フロントエンド アプリケーションは、大規模言語モデルを活用したすっきりとした編集インターフェイスを提供します。
/abscribe_frontend/src/services
バックエンド API と対話するための関数。
/abscribe_frontend/src/components
フロントエンド アプリケーションの再利用可能なコンポーネント。現在アプリケーションで使用されているコンポーネントは次のとおりです。
PopupToolbar.jsx
: ドキュメントとの対話を容易にするツールバー コンポーネント。書式設定、インポートなどのメインのテキスト エディタ ユーティリティ
Editor.jsx
: ドキュメントを作成および編集するためのリッチ テキスト エディター コンポーネント。
VariationSidebar.jsx
: ライティングのバリエーションを保存および管理するためのサイドバー コンポーネント。
AIModifiers.jsx
: LLM 調整/レシピを管理および適用するためのサイドバー コンポーネント。
DocumentContainer.jsx
: ユーザー対話のためのメインインターフェイス。 Editor コンポーネントと ABToolbar コンポーネントを結合します。
このプロジェクトに貢献する方法に関するガイドラインについては、貢献ファイルを参照してください。
このプロジェクトは MIT ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。