All Projects → lil-lab → Ciff

lil-lab / Ciff

Licence: gpl-3.0
Cornell Instruction Following Framework

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ciff

Coursera Natural Language Processing Specialization
Programming assignments from all courses in the Coursera Natural Language Processing Specialization offered by deeplearning.ai.
Stars: ✭ 39 (+69.57%)
Mutual labels:  artificial-intelligence, natural-language-processing, natural-language-understanding
Blocks
Blocks World -- Simulator, Code, and Models (Misra et al. EMNLP 2017)
Stars: ✭ 39 (+69.57%)
Mutual labels:  natural-language-processing, reinforcement-learning, natural-language-understanding
Reading comprehension tf
Machine Reading Comprehension in Tensorflow
Stars: ✭ 37 (+60.87%)
Mutual labels:  artificial-intelligence, natural-language-processing, natural-language-understanding
Xlnet extension tf
XLNet Extension in TensorFlow
Stars: ✭ 109 (+373.91%)
Mutual labels:  artificial-intelligence, natural-language-processing, natural-language-understanding
Catalyst
🚀 Catalyst is a C# Natural Language Processing library built for speed. Inspired by spaCy's design, it brings pre-trained models, out-of-the box support for training word and document embeddings, and flexible entity recognition models.
Stars: ✭ 224 (+873.91%)
Mutual labels:  artificial-intelligence, natural-language-processing, natural-language-understanding
Graphbrain
Language, Knowledge, Cognition
Stars: ✭ 294 (+1178.26%)
Mutual labels:  artificial-intelligence, natural-language-processing, natural-language-understanding
Articutapi
API of Articut 中文斷詞 (兼具語意詞性標記):「斷詞」又稱「分詞」,是中文資訊處理的基礎。Articut 不用機器學習,不需資料模型,只用現代白話中文語法規則,即能達到 SIGHAN 2005 F1-measure 94% 以上,Recall 96% 以上的成績。
Stars: ✭ 252 (+995.65%)
Mutual labels:  artificial-intelligence, natural-language-processing, natural-language-understanding
Botlibre
An open platform for artificial intelligence, chat bots, virtual agents, social media automation, and live chat automation.
Stars: ✭ 412 (+1691.3%)
Mutual labels:  artificial-intelligence, natural-language-processing, natural-language-understanding
Bert
TensorFlow code and pre-trained models for BERT
Stars: ✭ 29,971 (+130208.7%)
Mutual labels:  natural-language-processing, natural-language-understanding
Ai Series
📚 [.md & .ipynb] Series of Artificial Intelligence & Deep Learning, including Mathematics Fundamentals, Python Practices, NLP Application, etc. 💫 人工智能与深度学习实战,数理统计篇 | 机器学习篇 | 深度学习篇 | 自然语言处理篇 | 工具实践 Scikit & Tensoflow & PyTorch 篇 | 行业应用 & 课程笔记
Stars: ✭ 702 (+2952.17%)
Mutual labels:  artificial-intelligence, natural-language-processing
Riceteacatpanda
repo with challenge material for riceteacatpanda (2020)
Stars: ✭ 18 (-21.74%)
Mutual labels:  artificial-intelligence, natural-language-processing
Rex Gym
OpenAI Gym environments for an open-source quadruped robot (SpotMicro)
Stars: ✭ 684 (+2873.91%)
Mutual labels:  artificial-intelligence, reinforcement-learning
Ai Job Recommend
国内公司人工智能方向(含机器学习、深度学习、计算机视觉和自然语言处理)岗位的招聘信息(含全职、实习和校招)
Stars: ✭ 679 (+2852.17%)
Mutual labels:  artificial-intelligence, natural-language-processing
Machine learning examples
A collection of machine learning examples and tutorials.
Stars: ✭ 6,466 (+28013.04%)
Mutual labels:  natural-language-processing, reinforcement-learning
Dl Nlp Readings
My Reading Lists of Deep Learning and Natural Language Processing
Stars: ✭ 656 (+2752.17%)
Mutual labels:  natural-language-processing, reinforcement-learning
Notes
Resources to learn more about Machine Learning and Artificial Intelligence
Stars: ✭ 766 (+3230.43%)
Mutual labels:  artificial-intelligence, reinforcement-learning
Coursera
Quiz & Assignment of Coursera
Stars: ✭ 774 (+3265.22%)
Mutual labels:  natural-language-processing, reinforcement-learning
Conv Emotion
This repo contains implementation of different architectures for emotion recognition in conversations.
Stars: ✭ 646 (+2708.7%)
Mutual labels:  natural-language-processing, natural-language-understanding
Awesome Artificial Intelligence
A curated list of Artificial Intelligence (AI) courses, books, video lectures and papers.
Stars: ✭ 6,516 (+28230.43%)
Mutual labels:  artificial-intelligence, reinforcement-learning
Spacy Transformers
🛸 Use pretrained transformers like BERT, XLNet and GPT-2 in spaCy
Stars: ✭ 919 (+3895.65%)
Mutual labels:  natural-language-processing, natural-language-understanding

Cornell Instruction Following Framework (CIFF)

An agent following an instruction given to it by a human in natural language has remained one of the long standing goals of Artificial Intelligence going back to the work of SHRLDU (Winograd 1968). In the last decade, several different datasets, learning environments have been released by different research groups (SAIL, LANI, Blocks, CHAI, etc.) however evaluating agents on all of them has been difficult due to different interfaces, format and configuration. This adds an unnecessary amount of engineering and as a result most research papers on instruction following evaluate on a single dataset (generally developed by their research group).

CIFF is intended to remove this unnecessary engineering work by providing an integrated framework for developing and experimenting with various natural language instruction following framework. Currently it provides a common interface for 4 datasets and simulators, several models and learning algorithm.

CIFF Features

Contains simulators and dataset for 4 domains for natural language instruction following:

Blocks LANI
1. Block World Dataset (Bisk et al. 2016): A 2D domain with full observability. Instructions ask the agent to manipulate blocks on a map. 2. LANI (Misra et al. 2018): A partially observed 3D domain for navigating in an open landscape based on instructions.
CHAI alt text
3. CHAI (Misra et al. 2018): A partially observed 3D domain for navigation and manipulation in a house based on instructions. 4. Touchdown (Chen et al. 2018): A partially observed domain with real images for navigating in Google StreetView map of Manhattan based on instructions.

The code contains experiments for training and testing various models and baselines including:

  a) Simple baselines like stop, random baseline and most frequent action.

  b) Models like Misra et al. 2017, Gated Attention Chaplot et al. 2017, Misra et al. 2018 etc.
    
  c) Training algorithms like Behaviour Cloning, A3C, Reinforce. 
     We also provide asynchronous learning for training on several different environments in parallel. 

Our code is built using PyTorch which is a popular Deep Learning library for development and allows dynamic graph building and GPU functionalities. We also provide additional logging facilities, a tensorboard class for visualization and reading hyperparameters and configurations from JSON files.

Dataset and Simulators: Dataset and simulators for Blocks, LANI and CHAI are available here: http://clic.nlp.cornell.edu/resources/Misra-EMNLP-2018/

Test scripts for visualizing the dataset and simulators will be available on the wiki soon.

Note: Touchdown dataset uses Google Streetview images that are owned by Google. Please see the Section 9 in the Touchdown paper for details on how to get access to the dataset.

Code Status: An unstable release is available currently. Please follow issues for details on fixes left to be done. For any questions email Dipendra Misra at [email protected].

Credits

Maintained by: Dipendra Misra ([email protected])

Researchers and Developers: Dipendra Misra, Andrew Bennett, Max Shatkin, Eyvind Niklasson, Howard Chen, Valts Blukis, and Yoav Artzi

Publications

Publications using models, data or simulators provided with CIFF.

  1. Touchdown: Natural Language Navigation and Spatial Reasoning in Visual Street Environments Howard Chen, Alane Suhr, Dipendra Misra, Noah Snavely, Yoav Artzi, CVPR 2019 (Uses CIFF for navigation)

  2. Mapping Navigation Instructions to Continuous Control Actions with Position Visitation Prediction Valts Blukis, Dipendra Misra, Ross A. Knepper, and Yoav Artzi, CoRL 2018 (Uses only the LANI dataset and simulator.)

  3. Mapping Instructions to Actions in 3D Environments with Visual Goal Prediction Dipendra Misra, Andrew Bennett, Valts Blukis, Eyvind Niklasson, Max Shatkhin, and Yoav Artzi, EMNLP 2018

  4. Scheduled Policy Optimization for Natural Language Communication with Intelligent Agents, Wenhan Xiong, Xiaoxiao Guo, Mo Yu, Shiyu Chang, Bowen Zhou, William Yang Wang, arXiv 2018 (Uses only the Blocks simulator)

  5. Reinforcement Learning for Mapping Instructions to Actions with Reward Learning, Dipendra Misra and Yoav Artzi, AAAI Fall Symposium on Natural Language Communication for Human Robot Interaction. Paper

  6. Mapping Instructions and Visual Observations to Actions with Reinforcement Learning, Dipendra Misra, John Langford and Yoav Artzi, EMNLP 2017. Paper

How to Use CIFF

  1. Clone the repostory using git clone https://github.com/clic-lab/instruction-following-framework.git

  2. Download the data and simulators file from http://clic.nlp.cornell.edu/resources/Misra-EMNLP-2018/. Note that images for Touchdown dataset are not available publically since Google owns these images. We do however provide image features. Please see the Section 9 in the Touchdown paper for full details. Place the data and simulator files in the same ciff folder alongside the src folder. The CIFF directory should contain 4 folders: src, simulators, data and media.

  3. Set PYTHONENV to treat the src folder as root. One way to do this is to run:

    export PYTHONPATH=$PYTHONPATH:./src/

  4. Run an experiment. This is essentially done by running a file as:

    python3 src/experiment_domain_name/experiment_name.py

    where domain_name is the name of the domain (e.g., nav_drone for LANI, house for CHAI, streetview for touchdown, blocks for blocks) and experiment_name is the name of the experiment you want to run.

For details on experiments see the Wiki.

More on CIFF from the Wiki

  1. Reading Dataset and Simulators
  2. List of Sample Experiments
  3. Debugging using CIFF
  4. Frequently Asked Questions

Have more questions, please raise an issue or email at [email protected].

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].