GithubHelp home page GithubHelp logo

ink-usc / riddlesense Goto Github PK

View Code? Open in Web Editor NEW
12.0 5.0 2.0 16.73 MB

RiddleSense: Reasoning about Riddle Questions Featuring Linguistic Creativity and Commonsense Knowledge

Home Page: https://inklab.usc.edu/RiddleSense/

License: MIT License

Python 90.34% Shell 0.54% Makefile 0.03% Dockerfile 0.07% Jsonnet 0.01% CSS 0.08% JavaScript 0.24% Jupyter Notebook 8.69%
commonsense riddles natural-language-processing datasets nlp-datasets question-answering

riddlesense's Introduction

RiddleSense: Reasoning about Riddle Questions Featuring Linguistic Creativity and Commonsense Knowledge

Please check our project website at: https://inklab.usc.edu/RiddleSense/.

Abstract

intro

Question: I have five fingers but I am not alive. What am I? Answer: a glove.

Answering such a riddle-style question is a challenging cognitive process, in that it requires complex commonsense reasoning abilities, an understanding of figurative language, and counterfactual reasoning skills, which are all important abilities for advanced natural language understanding (NLU). However, there is currently no dedicated datasets aiming to test these abilities. Herein, we present RiddleSense, a new multiple-choice question answering task, which comes with the first large dataset (5.7k examples) for answering riddle-style commonsense questions. We systematically evaluate a wide range of models over the challenge, and point out that there is a large gap between the best-supervised model and human performance --- suggesting intriguing future research in the direction of higher-order commonsense reasoning and linguistic creativity towards building advanced NLU systems.

Methods

Here in this repo, we mainly present the baseline methods that we used in our experiments.

Installation

conda create --name riddlesense python=3.7
conda activate riddlesense
pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html

### git clone https://github.com/huggingface/transformers

cd transformers
pip install .
pip install tensorboardX
pip install absl-py
# if you need to use fp16 for speeding up.
git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

Experiments

Please check the following bash files for fine-tuning different pre-trained LMs on the RiddleSense dataset. Note that you need to manually change the rs_train.jsonl to csqa_rs_train.jsonl if you want to use the combination of csqa+riddlesense as the training data.

bash models/scripts/train_bert_base.sh
bash models/scripts/train_bert_large.sh
bash models/scripts/train_roberta_large.sh
bash models/scripts/train_albert_xxlarge.sh

For fine-tuning UnifiedQA models, please refer to our instruction here: methods/t5/README.md.

Citation

@inproceedings{lin-etal-2021-riddlesense,
    title = "RiddleSense: Reasoning about Riddle Questions Featuring Linguistic Creativity and Commonsense Knowledge",
    author = "Lin, Bill Yuchen and Wu, Ziyi and Yang, Yichi and Lee, Dong-Ho and Ren, Xiang",
    booktitle = "Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics (ACL-IJCNLP 2021): Findings",
    year = "2021",
    note={to appear}
}

riddlesense's People

Contributors

yuchenlin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.