ウェブショップ環境と論文の検索エージェントの実装:
WebShop:根拠のある言語エージェントとのスケーラブルな現実世界のWebインタラクションに向けて
Shunyu Yao*、Howard Chen*、John Yang、Karthik Narasimhan

このリポジトリには、結果を再現するためのコードが含まれています。この作業があなたの研究で役立つと思うなら、引用してください:
@inproceedings{yao2022webshop,
bibtex_show = {true},
title = {WebShop: Towards Scalable Real-World Web Interaction with Grounded Language Agents},
author = {Yao, Shunyu and Chen, Howard and Yang, John and Narasimhan, Karthik},
booktitle = {ArXiv},
year = {preprint},
html = {https://arxiv.org/abs/2207.01206},
tag = {NLP}
}
WebShopは、118万の現実世界の製品と12,087のクラウドソーシングテキストの指示を備えたシミュレートされたeコマースWebサイト環境です。この環境では、エージェントは複数のタイプのWebページをナビゲートし、さまざまなアクションを発行して、指示を受けた製品を見つけ、カスタマイズし、購入する必要があります。 WebShopは、構成の指示の理解、クエリ(再)の定式化、Webページでの騒々しいテキストの処理、戦略的探索の実行など、いくつかの課題を提供します。
Face Demoを抱き締める:製品の自然言語のクエリを考案し、AmazonまたはeBayで見つけるためにWebShopで訓練されたエージェントに、展開しますか?ここで顔のスペースを抱き締める!
私たちのコードはPythonで実装されています。セットアップするには、次のことを行います。
> git clone https://github.com/princeton-nlp/webshop.git webshop > conda create -n webshop python=3.8.13
> conda activate webshopsetup.shスクリプトを介してwebshop仮想環境に要件をインストールする > ./setup.sh [-d small | all]セットアップスクリプトは、次の順序でいくつかのアクションを実行します。
requirements.txtにリストされているPython依存関係をインストールします。txtspaCy en_core_web_lgモデルをダウンロードします-dフラグの引数では、製品 +命令データセット( -d all )全体を引いて1000ランダム製品( -d small )を引くかどうかを指定できます。web_agent_site/utils.pyを変更します: # DEFAULT_ATTR_PATH = join(BASE_DIR, '../data/items_ins_v2_1000.json')
# DEFAULT_FILE_PATH = join(BASE_DIR, '../data/items_shuffle_1000.json')
DEFAULT_ATTR_PATH = join ( BASE_DIR , '../data/items_ins_v2.json' )
DEFAULT_FILE_PATH = join ( BASE_DIR , '../data/items_shuffle.json' ) (オプション)ここからResNet画像機能ファイルをダウンロードし、 data/画像機能を必要とするモデルを実行します。
(オプション)人間のデモデータとここからダウンロードされます。
WebShop環境は、 htmlとsimple 2つのモードでレンダリングできます。それぞれが異なる観測スペースを提供します。 simpleモードは、 htmlモードにモデルトレーニングと評価を容易にするための外部メタデータを取り除きます。
htmlモード) WebShop Webページを起動します:
> ./run_dev.shその後、サイトはブラウザで表示可能です。 http:// localhost:3000/abcにアクセスしてください。ここでは、ランダムな指示で検索ホームページに着陸する必要があります。
Webサイトをナビゲートするとuser_session_logs/mturkフォルダーで対応する軌道ファイルが自動的に生成されます。各ファイルは単一の命令/Webセッションに対応し、ファイルの各ステップは単一のアクション(つまり、 search[...] 、 click[...] )に対応します。
現在のWebShopビルドには2つのフラグが付いています。
--log :このフラグを含めて、webshop上のアクションの軌跡を作成する.jsonlログファイルを作成します--attrs :このフラグを含めて、webshopのitem_pageにAttributesタブを表示するsimpleモード) WebShop環境のsimpleモードはパッケージ化されており、OpenAI環境として容易に利用できます。テキスト環境のOpenaiジムの定義は、 web_agent_site/envsフォルダーにあります。
WebShop環境と対話するジムと建物のエージェントの使用を開始するには、Pythonファイルに次のステートメントを含めます。
import gym
from web_agent_site . envs import WebAgentTextEnv
env = gym . make ( 'WebAgentTextEnv-v0' , observation_mode = 'text' , num_products = ...)これで、標準のOpenaiジムインターフェイスを介して環境と対話する独自のエージェントを作成できます。
htmlとsimpleモードの両方でWebShop環境と対話するRandomPolicyエージェントの例は、 run_envsフォルダーにあります。これらの例をローカルに実行するには、 run_web_agent_text_env.shまたはrun_web_agent_site_env.shスクリプトを実行します。
> ./run_web_agent_text_env.sh
Products loaded.
Keys Cleaned.
Attributes Loaded.
100% | ██████████████████ | 1000/1000
Loaded 6910 goals.
Amazon Shopping Game [SEP] Instruction: [SEP] Find me slim f...
Available actions: { ' has_search_bar ' : True, ' clickables ' : [ ' search ' ]}
Taking action " search[shoes] " - > Reward = 0.0
... run_web_agent_site_env.shスクリプトを実行するには、Chromeブラウザーバージョンと互換性のあるChromedriverのバージョンをダウンロードする必要があります。実行可能ファイルをダウンロードして解凍したら、 chromedriverの名前を変更して、 webshop/envsフォルダーに配置します。
ペーパーからベースラインモデル(Rule、IL、RL、IL+RL)を実行するには、Baseline_ModelsフォルダーのREADME.mdを参照してください。
他の環境へのWebShopでトレーニングされたエージェントのSIMからリアルへの転送の詳細については、転送フォルダーのREADME.mdを参照してください。
より広範なNLPと機械学習コミュニティから聞いてみたいと思います。そのためには、新しいプルリクエストを提出するか、それに応じて対応するテンプレートを入力してください。すぐにフォローアップします!
LICENSE.mdを確認してください