├── .gitignore ├── 404.html ├── Gemfile ├── Gemfile.lock ├── README.md ├── _config.yml ├── _includes ├── default-tutorial.html ├── demo-url.html ├── footer.html ├── getstarted-url.html ├── header.html ├── highlight.html ├── logo-list.html ├── meta.html ├── more-tutorials.html ├── nav-main.html ├── scripts.html └── svg-sprite.html ├── _layouts └── tutorial.html ├── allennlp-social-card.png ├── assets ├── ai2-logo-full.png ├── ai2-logo-header.png ├── ai2-logo.svg ├── allennlp-logo-color.png ├── allennlp-logo-dark.png ├── allennlp-logo-dark.svg ├── allennlp-logo-white.png ├── allennlp-logo-white.svg ├── banner-blurred.jpg ├── banner.jpg ├── chevron.svg ├── interpret-photos │ ├── bert-combined.jpg │ ├── eric.jpg │ ├── hotflip.png │ ├── hotflip_sentiment.png │ ├── jens.jpg │ ├── junlin.png │ ├── matt.jpg │ ├── ner.pdf │ ├── ner.png │ ├── reduction.png │ ├── saliency.png │ ├── sameer.jpg │ ├── sanjay.png │ ├── software.pdf │ └── squad_screenshot.png ├── logo-list.png ├── logo_only_icon.png └── mocha-photos │ ├── anthony.jpg │ ├── gabriel.jpg │ ├── matt.jpg │ └── sameer.jpg ├── contrast-sets.html ├── css ├── _includes │ ├── _alert.scss │ ├── _banner.scss │ ├── _base.scss │ ├── _btn.scss │ ├── _callouts.scss │ ├── _col-layout.scss │ ├── _colors.scss │ ├── _flex.scss │ ├── _footer.scss │ ├── _functions.scss │ ├── _header.scss │ ├── _icons.scss │ ├── _logo-list.scss │ ├── _models-table.scss │ ├── _publications.scss │ ├── _tab.scss │ ├── _text.scss │ ├── _toolbar.scss │ ├── _tutorial.scss │ ├── _utils.scss │ ├── _vars.scss │ └── vendor │ │ ├── _pure-custom-min.scss │ │ └── _rouge--pygments--autumn.scss └── main.scss ├── drop.html ├── elmo.html ├── favicon.ico ├── iirc.html ├── index.html ├── interpret.html ├── js └── scripts.js ├── mocha.html ├── orb.html ├── papers └── AllenNLP_white_paper.pdf ├── publications.html ├── quoref.html ├── ropes.html ├── torque.html └── tutorials.html /.gitignore: -------------------------------------------------------------------------------- 1 | _site/ 2 | .sass-cache 3 | .idea/ 4 | -------------------------------------------------------------------------------- /404.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | 6 | {% include meta.html %} 7 | AllenNLP 8 | 9 | 10 |
11 | {% include header.html %} 12 | 18 |
19 |

Page not found.

20 |

Please check your path and try again.

21 |
22 | {% include footer.html %} 23 |
24 | {% include svg-sprite.html %} 25 | {% include scripts.html %} 26 | 27 | 28 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | # Hello! This is where you manage which Jekyll version is used to run. 4 | # When you want to use a different version, change it below, save the 5 | # file and run `bundle install`. Run Jekyll with `bundle exec`, like so: 6 | # 7 | # bundle exec jekyll serve 8 | # 9 | # This will help ensure the proper Jekyll version is running. 10 | # Happy Jekylling! 11 | gem "jekyll", "3.9.0" 12 | 13 | # This is the default theme for new Jekyll sites. You may change this to anything you like. 14 | gem "minima", "~> 2.0" 15 | 16 | # If you want to use GitHub Pages, remove the "gem "jekyll"" above and 17 | # uncomment the line below. To upgrade, run `bundle update github-pages`. 18 | # gem "github-pages", group: :jekyll_plugins 19 | 20 | # If you have any plugins, put them here! 21 | group :jekyll_plugins do 22 | gem "jekyll-feed", "~> 0.6" 23 | end 24 | 25 | # Windows does not include zoneinfo files, so bundle the tzinfo-data gem 26 | gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 27 | 28 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | addressable (2.7.0) 5 | public_suffix (>= 2.0.2, < 5.0) 6 | colorator (1.1.0) 7 | concurrent-ruby (1.1.7) 8 | em-websocket (0.5.1) 9 | eventmachine (>= 0.12.9) 10 | http_parser.rb (~> 0.6.0) 11 | eventmachine (1.2.7) 12 | ffi (1.13.1) 13 | forwardable-extended (2.6.0) 14 | http_parser.rb (0.6.0) 15 | i18n (0.9.5) 16 | concurrent-ruby (~> 1.0) 17 | jekyll (3.9.0) 18 | addressable (~> 2.4) 19 | colorator (~> 1.0) 20 | em-websocket (~> 0.5) 21 | i18n (~> 0.7) 22 | jekyll-sass-converter (~> 1.0) 23 | jekyll-watch (~> 2.0) 24 | kramdown (>= 1.17, < 3) 25 | liquid (~> 4.0) 26 | mercenary (~> 0.3.3) 27 | pathutil (~> 0.9) 28 | rouge (>= 1.7, < 4) 29 | safe_yaml (~> 1.0) 30 | jekyll-feed (0.11.0) 31 | jekyll (~> 3.3) 32 | jekyll-sass-converter (1.5.2) 33 | sass (~> 3.4) 34 | jekyll-seo-tag (2.5.0) 35 | jekyll (~> 3.3) 36 | jekyll-watch (2.2.1) 37 | listen (~> 3.0) 38 | kramdown (2.3.1) 39 | rexml 40 | liquid (4.0.3) 41 | listen (3.2.1) 42 | rb-fsevent (~> 0.10, >= 0.10.3) 43 | rb-inotify (~> 0.9, >= 0.9.10) 44 | mercenary (0.3.6) 45 | minima (2.5.0) 46 | jekyll (~> 3.5) 47 | jekyll-feed (~> 0.9) 48 | jekyll-seo-tag (~> 2.1) 49 | pathutil (0.16.2) 50 | forwardable-extended (~> 2.6) 51 | public_suffix (4.0.5) 52 | rb-fsevent (0.10.4) 53 | rb-inotify (0.10.1) 54 | ffi (~> 1.0) 55 | rexml (3.2.5) 56 | rouge (3.22.0) 57 | safe_yaml (1.0.5) 58 | sass (3.7.4) 59 | sass-listen (~> 4.0.0) 60 | sass-listen (4.0.0) 61 | rb-fsevent (~> 0.9, >= 0.9.4) 62 | rb-inotify (~> 0.9, >= 0.9.7) 63 | 64 | PLATFORMS 65 | ruby 66 | 67 | DEPENDENCIES 68 | jekyll (= 3.9.0) 69 | jekyll-feed (~> 0.6) 70 | minima (~> 2.0) 71 | tzinfo-data 72 | 73 | BUNDLED WITH 74 | 2.1.2 75 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | NOTE: we no longer use this website at allennlp.org, as we created an AllenNLP team page at allenai.org. However, this repo is still served via GitHub pages to provide access to some paper pages that were made in the past. 2 | 3 | CONTACT: michaels 4 | 5 | # AllenNLP Website 6 | 7 | The AllenNLP website is for the most part a static website. There is no CMS driving any of the content. However, the site is using html abstraction (in the form of includes) to make it easier to edit and maintain. Includes are not a feature of static html, so this abstraction is being handled via [Jekyll](https://jekyllrb.com/). 8 | 9 | Since the AllenNLP website is hosted on GitHub Pages, Jekyll was the logical choice, as GitHub supports Jekyll out of the box. *More about [GitHub Pages and Jekyll](https://help.github.com/articles/about-github-pages-and-jekyll/)* 10 | 11 | ## Introduction to Jekyll 12 | 13 | From the [Jekyll Homepage](https://jekyllrb.com/): 14 | 15 | > Jekyll is a simple, blog-aware, static site generator. It takes a template directory containing raw text files in various formats, runs it through a converter (like Markdown) and our Liquid renderer, and spits out a complete, ready-to-publish static website suitable for serving with your favorite web server. 16 | 17 | Since GitHub Pages has deep integration with Jekyll, they make it very easy to run Jekyll sites on their servers. You don't need to configure anything or monkey with build processes. GitHub does that all automatically. You simply push your files and GitHub does the rest. 18 | 19 | Here's a [tutorial video](https://www.youtube.com/watch?v=iWowJBRMtpc) that outlines Jekyll basics and how the system works. 20 | 21 | ## Modifying the Website 22 | 23 | In order to make changes to the website you need to checkout the [`master`](https://github.com/allenai/allennlp-website/tree/master) branch on the [`allennlp-website`](https://github.com/allenai/allennlp-website) repo. The process for making changes is: 24 | 25 | 1. Edit file(s) locally 26 | 2. [Test changes](#install-jekyll-locally) in browser at *localhost* 27 | 3. Commit changes and push to `master` 28 | 4. Test changes in browser at http://www.allennlp.org (usually takes at least 30s to update) 29 | 30 | After you've committed your changes, push with the following command: 31 | 32 | ````shell 33 | $ git push 34 | ```` 35 | 36 | ### Anatomy of the AllenNLP Jekyll Site (simplified) 37 | 38 | ``` 39 | 📂 _includes // Where html includes go 40 | 📂 _site // Generated files. Do not edit. 41 | 📂 assets 42 | 📂 css 43 | 📂 js 44 | _config.yml // Main config file for the Jekyll site. 45 | .gitignore // Ignores changes to generated _site folder 46 | CNAME // Points GitHub Pages to allennlp.org 47 | Gemfile // Configs Jekyll version 48 | Gemfile.lock // Dependencies 49 | index.html 50 | ...more html files 51 | ``` 52 | 53 | ### Install Jekyll Locally 54 | 55 | Before pushing any changes to the website, you should test them locally in browser. In order to do that, you will need to install Jekyll on your machine. 56 | 57 | The most important thing is making sure you have a supported version of Ruby installed. 58 | 59 | - See [Requirements](https://jekyllrb.com/docs/installation/#requirements) on Jekyll's website. 60 | - See [Dependency Versions](https://pages.github.com/versions/) on GitHub Pages. 61 | 62 | As of 08/15/17 it requires Ruby version 2.4.1. Note that OS X Sierra (10.12) ships with Ruby version 2.0 by default, so you may need to update. See [Installing/Updating Ruby on OS X](https://www.ruby-lang.org/en/documentation/installation/#homebrew) on the Ruby Homepage. 63 | 64 | Once you've verified you are up-to-date with Ruby then you can install Jekyll with a single command: 65 | 66 | ````shell 67 | $ gem install jekyll bundler 68 | ```` 69 | 70 | 71 | ### Running Jekyll Server 72 | 73 | Navigate to the local directory where you've checked out the [`master`](https://github.com/allenai/allennlp-website/tree/master) branch and enter the command to run Jekyll. 74 | 75 | ````shell 76 | $ cd allennlp-website 77 | $ bundle exec jekyll serve 78 | # => Now browse to http://localhost:4000 79 | ```` 80 | 81 | Now you should be able to see your edits reflected instantly.. 82 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # Welcome to Jekyll! 2 | # 3 | # This config file is meant for settings that affect your whole blog, values 4 | # which you are expected to set up once and rarely edit after that. If you find 5 | # yourself editing this file very often, consider using Jekyll's data files 6 | # feature for the data you need to update frequently. 7 | # 8 | # For technical reasons, this file is *NOT* reloaded automatically when you use 9 | # 'bundle exec jekyll serve'. If you change this file, please restart the server process. 10 | 11 | # Site settings 12 | # These are used to personalize your new site. If you look in the HTML files, 13 | # you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. 14 | # You can create any custom variable you would like, and they will be accessible 15 | # in the templates via {{ site.myvariable }}. 16 | 17 | url: "https://allenai.github.io" # the base hostname & protocol for your site, e.g. http://example.com 18 | baseurl: "/allennlp-website" 19 | 20 | # Build settings 21 | markdown: kramdown 22 | 23 | sass: 24 | sass_dir: css/_includes 25 | style: expanded 26 | 27 | plugins: 28 | - jekyll-feed 29 | 30 | tutorial: 31 | title: 32 | id: 33 | 34 | # Exclude from processing. 35 | # The following items will not be processed, by default. Create a custom list 36 | # to override the default setting. 37 | # exclude: 38 | # - Gemfile 39 | # - Gemfile.lock 40 | # - node_modules 41 | # - vendor/bundle/ 42 | # - vendor/cache/ 43 | # - vendor/gems/ 44 | # - vendor/ruby/ 45 | -------------------------------------------------------------------------------- /_includes/default-tutorial.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Please follow this link.

8 | 9 | 10 | -------------------------------------------------------------------------------- /_includes/demo-url.html: -------------------------------------------------------------------------------- 1 | href="http://demo.allennlp.org" target="_blank" 2 | -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 | 40 | -------------------------------------------------------------------------------- /_includes/getstarted-url.html: -------------------------------------------------------------------------------- 1 | href="https://guide.allennlp.org/" 2 | -------------------------------------------------------------------------------- /_includes/header.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | 6 |
7 |
8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | {% include nav-main.html %} 19 |
20 |
21 | -------------------------------------------------------------------------------- /_includes/highlight.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | 3 | SUPPORTED LANGUAGES 4 | 5 | {% endcomment %} 6 | {% assign formattedLang = include.language | downcase %} 7 | {% if formattedLang == "bash" %} 8 | {% highlight bash %}{{ include.code }}{% endhighlight %} 9 | {% elsif formattedLang == "python" %} 10 | {% highlight python %}{{ include.code }}{% endhighlight %} 11 | {% elsif formattedLang == "c" %} 12 | {% highlight c %}{{ include.code }}{% endhighlight %} 13 | {% elsif formattedLang == "perl" %} 14 | {% highlight perl %}{{ include.code }}{% endhighlight %} 15 | {% elsif formattedLang == "cuda" %} 16 | {% highlight cuda %}{{ include.code }}{% endhighlight %} 17 | {% elsif formattedLang == "html" %} 18 | {% highlight html %}{{ include.code }}{% endhighlight %} 19 | {% elsif formattedLang == "javascript" %} 20 | {% highlight javascript %}{{ include.code }}{% endhighlight %} 21 | {% elsif formattedLang == "css" %} 22 | {% highlight css %}{{ include.code }}{% endhighlight %} 23 | {% elsif formattedLang == "scss" %} 24 | {% highlight scss %}{{ include.code }}{% endhighlight %} 25 | {% elsif formattedLang == "sql" %} 26 | {% highlight sql %}{{ include.code }}{% endhighlight %} 27 | {% elsif formattedLang == "java" %} 28 | {% highlight java %}{{ include.code }}{% endhighlight %} 29 | {% elsif formattedLang == "json" %} 30 | {% highlight json %}{{ include.code }}{% endhighlight %} 31 | {% else %} 32 |
{{ include.code }}
33 | {% endif %} 34 | -------------------------------------------------------------------------------- /_includes/logo-list.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
-------------------------------------------------------------------------------- /_includes/meta.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /_includes/more-tutorials.html: -------------------------------------------------------------------------------- 1 |
2 | Looking for something else?  Check out our EMNLP tutorial slides or our other official tutorials. 3 |
4 |
5 | There are also many great contributed tutorials such as 6 | the blog posts by Masato Hagiwara, 7 | an in-depth tutorial by Keita Kurita, 8 | and more. 9 |
10 | -------------------------------------------------------------------------------- /_includes/nav-main.html: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /_includes/scripts.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg-sprite.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 23 | 24 | 40 | 41 | 42 | 55 | 58 | 59 | 60 | 68 | 72 | 73 | 77 | 87 | 95 | 100 | 104 | 109 | 117 | 121 | 127 | 131 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | -------------------------------------------------------------------------------- /_layouts/tutorial.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {% include meta.html %} 5 | AllenNLP - Tutorials 6 | 7 | 8 |
9 | {% include header.html %} 10 | 17 |
18 | {{ content }} 19 |
20 | {% include footer.html %} 21 |
22 | {% include svg-sprite.html %} 23 | {% include scripts.html %} 24 | 25 | 26 | -------------------------------------------------------------------------------- /allennlp-social-card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/allennlp-social-card.png -------------------------------------------------------------------------------- /assets/ai2-logo-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/ai2-logo-full.png -------------------------------------------------------------------------------- /assets/ai2-logo-header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/ai2-logo-header.png -------------------------------------------------------------------------------- /assets/ai2-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 35 | 37 | 38 | 39 | 40 | 41 | 42 | 44 | 50 | 51 | 52 | 53 | 54 | 55 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /assets/allennlp-logo-color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/allennlp-logo-color.png -------------------------------------------------------------------------------- /assets/allennlp-logo-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/allennlp-logo-dark.png -------------------------------------------------------------------------------- /assets/allennlp-logo-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 13 | 16 | 23 | 27 | 28 | 29 | 33 | 34 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /assets/allennlp-logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/allennlp-logo-white.png -------------------------------------------------------------------------------- /assets/allennlp-logo-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 13 | 16 | 23 | 27 | 28 | 29 | 33 | 34 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /assets/banner-blurred.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/banner-blurred.jpg -------------------------------------------------------------------------------- /assets/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/banner.jpg -------------------------------------------------------------------------------- /assets/chevron.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | chevron 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /assets/interpret-photos/bert-combined.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/bert-combined.jpg -------------------------------------------------------------------------------- /assets/interpret-photos/eric.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/eric.jpg -------------------------------------------------------------------------------- /assets/interpret-photos/hotflip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/hotflip.png -------------------------------------------------------------------------------- /assets/interpret-photos/hotflip_sentiment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/hotflip_sentiment.png -------------------------------------------------------------------------------- /assets/interpret-photos/jens.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/jens.jpg -------------------------------------------------------------------------------- /assets/interpret-photos/junlin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/junlin.png -------------------------------------------------------------------------------- /assets/interpret-photos/matt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/matt.jpg -------------------------------------------------------------------------------- /assets/interpret-photos/ner.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/ner.pdf -------------------------------------------------------------------------------- /assets/interpret-photos/ner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/ner.png -------------------------------------------------------------------------------- /assets/interpret-photos/reduction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/reduction.png -------------------------------------------------------------------------------- /assets/interpret-photos/saliency.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/saliency.png -------------------------------------------------------------------------------- /assets/interpret-photos/sameer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/sameer.jpg -------------------------------------------------------------------------------- /assets/interpret-photos/sanjay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/sanjay.png -------------------------------------------------------------------------------- /assets/interpret-photos/software.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/software.pdf -------------------------------------------------------------------------------- /assets/interpret-photos/squad_screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/interpret-photos/squad_screenshot.png -------------------------------------------------------------------------------- /assets/logo-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/logo-list.png -------------------------------------------------------------------------------- /assets/logo_only_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/logo_only_icon.png -------------------------------------------------------------------------------- /assets/mocha-photos/anthony.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/mocha-photos/anthony.jpg -------------------------------------------------------------------------------- /assets/mocha-photos/gabriel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/mocha-photos/gabriel.jpg -------------------------------------------------------------------------------- /assets/mocha-photos/matt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/mocha-photos/matt.jpg -------------------------------------------------------------------------------- /assets/mocha-photos/sameer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/assets/mocha-photos/sameer.jpg -------------------------------------------------------------------------------- /contrast-sets.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | 6 | {% include meta.html %} 7 | AllenNLP - Contrast Sets 8 | 9 | 10 |
11 | {% include header.html %} 12 | 13 | 20 |
21 | 22 |

What are Contrast Sets?

23 |

24 | Standard test sets for supervised learning evaluate in-distribution 25 | generalization. Unfortunately, when a dataset has systematic gaps 26 | (e.g., annotation artifacts), these evaluations are misleading: a model 27 | can learn simple decision rules that perform well on the test set but 28 | do not capture a dataset's intended capabilities. We propose a new 29 | annotation paradigm for NLP that helps to close systematic gaps in the 30 | test data. In particular, after a dataset is constructed, we recommend 31 | that the dataset authors manually perturb the test instances in small 32 | but meaningful ways that (typically) change the gold label, creating 33 | contrast sets. Contrast sets provide a local view of a model's 34 | decision boundary, which can be used to more accurately evaluate a 35 | model's true linguistic capabilities. We demonstrate the efficacy of 36 | contrast sets by creating them for 10 diverse NLP datasets 37 | (e.g., DROP reading comprehension, UD parsing, IMDb sentiment 38 | analysis). Although our contrast sets are not explicitly adversarial, 39 | model performance is significantly lower on them than on the original 40 | test sets---up to 25% in some cases. We release our contrast sets as 41 | new evaluation benchmarks and encourage future dataset construction 42 | efforts to follow similar annotation processes. 43 |

44 | 45 |

Here is the paper.

46 | 47 |

Individual Datasets

48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 58 | 61 | 62 | 63 | 64 | 67 | 70 | 71 | 72 | 73 | 76 | 79 | 80 | 81 | 82 | 85 | 88 | 89 | 90 | 91 | 94 | 97 | 98 | 99 | 100 | 103 | 106 | 107 | 108 | 109 | 112 | 115 | 116 | 117 | 118 | 121 | 124 | 125 | 126 | 127 | 130 | 133 | 134 | 135 | 136 | 139 | 142 | 143 | 144 |
DatasetContrast SetsType of NLP Task
56 | BoolQ (Clark et al., 2019)
57 |
59 | Data 60 | Reading Comprehension
65 | DROP (Dua et al., 2019)
66 |
68 | Data 69 | Reading Comprehension
74 | MC-TACO (Zhou et al., 2019)
75 |
77 | Data 78 | Reading Comprehension
83 | ROPES (Lin et al., 2019)
84 |
86 | Data 87 | Reading Comprehension
92 | Quoref (Dasigi et al., 2019)
93 |
95 | Data 96 | Reading Comprehension
101 | IMDb Sentiment Analysis (Maas et al., 2011)
102 |
104 | Data 105 | Classification
110 | MATRES (Ning et al., 2018)
111 |
113 | Data 114 | Classification
119 | NLVR2 (Suhr et al., 2019)
120 |
122 | Data 123 | Classification
128 | PERSPECTRUM (Chen et al., 2019)
129 |
131 | Data 132 | Classification
137 | UD English (Nivre et al., 2016)
138 |
140 | Data 141 | Parsing
145 | 146 |

Citation

147 |
148 | 	@article{Gardner2020Evaluating,
149 | 	  title={Evaluating NLP Models via Contrast Sets},
150 | 	  author={Gardner, Matt and Artzi, Yoav and Basmova, Victoria and Berant, Jonathan and Bogin, Ben and Chen, Sihao
151 | 	    and Dasigi, Pradeep and Dua, Dheeru and Elazar, Yanai and Gottumukkala, Ananth and Gupta, Nitish
152 | 	    and Hajishirzi, Hanna and Ilharco, Gabriel and Khashabi, Daniel and Lin, Kevin and Liu, Jiangming
153 | 	    and Liu, Nelson F. and Mulcaire, Phoebe and Ning, Qiang and Singh, Sameer and Smith, Noah A.
154 | 	    and Subramanian, Sanjay and Tsarfaty, Reut and Wallace, Eric and Zhang, Ally and Zhou, Ben},
155 | 	  journal={arXiv preprint},
156 | 	  year={2020}
157 | 	}
158 |         
159 |
160 | 161 | {% include footer.html %} 162 |
163 | {% include svg-sprite.html %} 164 | {% include scripts.html %} 165 | 166 | 167 | -------------------------------------------------------------------------------- /css/_includes/_alert.scss: -------------------------------------------------------------------------------- 1 | .alert { 2 | border: 1px solid; 3 | padding: 20*$em 25*$em; 4 | margin: 30*$em 0; 5 | 6 | &.alert--info { 7 | border-color: $color-b3; 8 | background: $color-b1; 9 | 10 | &, 11 | strong { 12 | color: $color-b5; 13 | } 14 | 15 | a { 16 | color: $color-b5; 17 | text-decoration: underline; 18 | font-weight: normal; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /css/_includes/_banner.scss: -------------------------------------------------------------------------------- 1 | .banner { 2 | @include u-w100; 3 | } 4 | 5 | .banner--hero, 6 | .banner--interior-hero { 7 | @include flex-container-centered; 8 | @include t-center; 9 | min-height: 420*$em; 10 | height: 40vw; 11 | max-height: 600*$em; 12 | background: $banner-hero url("../assets/banner.jpg") center center no-repeat; 13 | background-size: cover; 14 | } 15 | 16 | .banner--hero__content { 17 | padding-top: 36*$em; 18 | @include fn-filter(drop-shadow(0 0 50*$em rgba(0,0,0,.3))); 19 | } 20 | 21 | .banner--hero, 22 | .banner--interior-hero { 23 | .banner--hero__content, 24 | .constrained.constrained--sm { 25 | padding-left: $nav-padding; 26 | padding-right: $nav-padding; 27 | } 28 | } 29 | 30 | .banner--hero__logo, 31 | .banner--hero__content h3 { 32 | @include u-mp0; 33 | @include font-size-reset; 34 | cursor: default; 35 | } 36 | 37 | .banner--hero__logo svg { 38 | fill: $white; 39 | width: 265*$em; 40 | height: 46*$em; 41 | } 42 | 43 | .banner--hero__content h3 { 44 | margin: 30*$em 0; 45 | 46 | span { 47 | @include t-thin; 48 | @include t-crisp; 49 | font-size: 20*$em; 50 | color: $white; 51 | } 52 | } 53 | 54 | .banner--hero__cta-container { 55 | @include flex-container-centered; 56 | padding-top: 36*$em; 57 | 58 | .btn { 59 | @include u-w100; 60 | max-width: 224*$em; 61 | } 62 | 63 | .btn + .btn { 64 | margin-left: 36*$em; 65 | } 66 | } 67 | 68 | .banner__ai2-logo { 69 | opacity: .8; 70 | 71 | svg { 72 | font-size: 7*$em; 73 | width: 52*$em; 74 | height: 39*$em; 75 | margin-left: 4*$em; 76 | margin-bottom: -1*$em; 77 | } 78 | 79 | &:hover { 80 | opacity: 1; 81 | } 82 | } 83 | 84 | .banner--interior-hero { 85 | @include t-white; 86 | min-height: 274*$em; 87 | height: auto; 88 | background-color: $muted-gray-blue; 89 | background-image: url("../assets/banner-blurred.jpg"); 90 | position: relative; 91 | 92 | &:before { 93 | @include u-pe100; 94 | background: black; 95 | z-index: -1; 96 | } 97 | } 98 | 99 | .banner--interior-hero__content { 100 | padding: 20*$em; 101 | padding-bottom: 0; 102 | max-width: 620*$em; 103 | } 104 | 105 | .banner--interior-hero.banner--short { 106 | min-height: 0; 107 | 108 | .constrained.constrained--sm { 109 | padding-bottom: 40px; 110 | } 111 | } 112 | 113 | .banner--padded .constrained { 114 | padding: 76*$em $nav-padding * 2; 115 | 116 | h2, 117 | p { 118 | @include u-mp0; 119 | } 120 | 121 | h2 + p { 122 | margin-top: 32*$em; 123 | } 124 | 125 | p { 126 | 127 | } 128 | } 129 | 130 | .banner--notification { 131 | @include flex-container-centered; 132 | @include t-center; 133 | @include t-white; 134 | @include t-crisp; 135 | 136 | .constrained { 137 | padding: 30*$em; 138 | } 139 | 140 | a:hover { 141 | color: $white; 142 | text-decoration: underline; 143 | } 144 | } 145 | 146 | .banner--hr { 147 | border-top: 6px solid $gray-light; 148 | } 149 | 150 | .banner--intro-section { 151 | margin-top: 10*$em !important; 152 | } 153 | 154 | @media screen and (max-width: 960px) { 155 | .banner--hero { 156 | .banner--hero__content { 157 | padding: $nav-padding * 2 $nav-padding; 158 | 159 | h3 { 160 | margin-bottom: 0; 161 | } 162 | 163 | .banner--hero__cta-container .btn + .btn { 164 | margin-left: $nav-padding; 165 | } 166 | } 167 | 168 | h1.banner--hero__logo { 169 | font-size: 12*$em; 170 | } 171 | } 172 | 173 | .banner--hero, 174 | .banner--interior-hero { 175 | min-height: 200*$em; 176 | height: auto; 177 | 178 | .constrained.constrained--sm { 179 | padding-top: 16*$em; 180 | padding-bottom: 20*$em; 181 | 182 | h1 { 183 | margin-top: 0; 184 | } 185 | } 186 | } 187 | 188 | .banner--interior-hero.banner--short { 189 | .constrained.constrained--sm { 190 | padding-bottom: 10px; 191 | } 192 | } 193 | } 194 | 195 | /* Post-launch edits */ 196 | 197 | .banner--hero { 198 | flex-direction: column; 199 | } 200 | 201 | .banner--hero__logo { 202 | margin-top: 25px; 203 | } 204 | 205 | header { 206 | position: relative; 207 | z-index: 1; 208 | } 209 | 210 | .banner--hero__content { 211 | display: flex; 212 | align-items: center; 213 | justify-content: center; 214 | flex-direction: column; 215 | flex-grow: 1; 216 | } 217 | 218 | .banner--hero__cta-container { 219 | max-width: 432px; 220 | width: 100%; 221 | } 222 | 223 | .ai2-bar { 224 | width: 100%; 225 | background: rgba(0,0,0,.16); 226 | height: 50px; 227 | line-height: 50px; 228 | color: rgba(255,255,255,.5); 229 | font-size: 16px; 230 | -webkit-font-smoothing: antialiased; 231 | -moz-osx-font-smoothing: grayscale; 232 | cursor: default; 233 | } 234 | 235 | .ai2-bar a { 236 | color: rgba(255,255,255,.66); 237 | transition: color 0.2s ease; 238 | } 239 | -------------------------------------------------------------------------------- /css/_includes/_base.scss: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | @include u-100; 4 | @include u-mp0; 5 | background: $black; 6 | font-size: $base-font-size; 7 | } 8 | 9 | .constrained { 10 | max-width: $max-page-width; 11 | margin: auto; 12 | } 13 | 14 | .constrained--med { 15 | max-width: 1040*$em; 16 | padding: 20*$em $nav-padding 60*$em $nav-padding; 17 | } 18 | 19 | .constrained--intro-section { 20 | padding-top: 40*$em; 21 | padding-bottom: 36*$em; 22 | } 23 | 24 | .constrained--sm { 25 | max-width: 800*$em; 26 | padding: 20*$em 0 60*$em 0; 27 | } 28 | 29 | .constrained--narrow { 30 | max-width: 760*$em; 31 | } 32 | 33 | * { 34 | font-family: 'Source Sans Pro', sans-serif; 35 | color: $text; 36 | } 37 | 38 | .constrained h1 { 39 | font-weight: 200; 40 | font-size: 40*$em; 41 | } 42 | 43 | section { 44 | background: $white; 45 | } 46 | 47 | #page-content { 48 | background: $white; 49 | } 50 | 51 | pre, 52 | code, 53 | code span { 54 | font-family: 'Roboto Mono', monospace !important; 55 | } 56 | 57 | code { 58 | background: $gray-light; 59 | } 60 | 61 | pre > code { 62 | font-size: 13*$em; 63 | line-height: 24*$em; 64 | padding: 30*$em; 65 | display: block; 66 | color: $default-code-color; 67 | overflow-x: auto; 68 | } 69 | 70 | ol, 71 | ul { 72 | font-size: $base-font-size; 73 | 74 | &.formatted { 75 | padding-left: 0; 76 | 77 | li { 78 | padding-left: 32*$em; 79 | } 80 | } 81 | } 82 | 83 | ol.formatted { 84 | li { 85 | counter-increment: list; 86 | list-style-type: none; 87 | position: relative; 88 | 89 | &:before { 90 | opacity: .5; 91 | content: counter(list) "."; 92 | left: 0; 93 | position: absolute; 94 | text-align: right; 95 | } 96 | } 97 | } 98 | 99 | p, 100 | li, 101 | th, 102 | td { 103 | @include t-crisp; 104 | font-size: 18*$em; 105 | line-height: 24*$em; 106 | margin: 1.2em 0; 107 | } 108 | 109 | p code, 110 | li > code { 111 | font-size: 12.5*$em; 112 | padding: 2*$em 6*$em; 113 | } 114 | 115 | pre, 116 | figure.highlight { 117 | margin: 2em 0; 118 | } 119 | 120 | figure.highlight > pre { 121 | margin: 0; 122 | } 123 | 124 | h1, 125 | h2 { 126 | @include t-crisp; 127 | font-weight: 300; 128 | } 129 | 130 | h4, 131 | h5, 132 | h6 { 133 | @include font-size-reset; 134 | margin: 1.2em 0; 135 | } 136 | 137 | h2 { 138 | font-size: 36*$em; 139 | color: $text-faded; 140 | } 141 | 142 | a, 143 | .more { 144 | @include t-link; 145 | color: $color-b6; 146 | font-weight: bold; 147 | transition: color $transition-properties, opacity $transition-properties; 148 | 149 | &:hover { 150 | text-decoration: underline; 151 | } 152 | 153 | &:active { 154 | transition-duration: 0s; 155 | } 156 | } 157 | 158 | blockquote { 159 | border-left: $gray-light solid 6*$em; 160 | padding-left: 18*$em; 161 | 162 | * { 163 | color: $text-faded; 164 | } 165 | } 166 | 167 | hr { 168 | display: block; 169 | border: none; 170 | height: 6*$em; 171 | background: $gray-light; 172 | } 173 | 174 | blockquote, 175 | hr { 176 | margin: 2.4em 0; 177 | } 178 | 179 | // TABLES 180 | 181 | table { 182 | width: 100%; 183 | //table-layout: fixed; 184 | border-collapse: collapse; 185 | border: none; 186 | } 187 | 188 | tr { 189 | 190 | } 191 | 192 | // tr:nth-child(odd) { 193 | // background: $white; 194 | // } 195 | 196 | tr:nth-child(even) { 197 | //background: $gray-light; 198 | background: fade-out(#b8c6d5, 0.87); 199 | } 200 | 201 | th, 202 | td { 203 | @include t-left; 204 | padding: $nav-padding; 205 | 206 | sub { 207 | vertical-align: baseline; 208 | padding-left: 6*$em; 209 | opacity: .5; 210 | font-size: 75%; 211 | } 212 | } 213 | 214 | th { 215 | //border-bottom: 6*$em solid $gray-light; 216 | border-bottom: 6*$em solid fade-out(#b8c6d5, 0.87); 217 | } 218 | 219 | .tr--featured { 220 | td { 221 | &, 222 | * { 223 | color: $color-b5; 224 | } 225 | 226 | sub { 227 | opacity: .66; 228 | } 229 | } 230 | } 231 | 232 | table.compact { 233 | tr { 234 | background: transparent; 235 | } 236 | 237 | th, 238 | td { 239 | padding: 20*$em 0; 240 | } 241 | 242 | td { 243 | border-top: 1px solid $gray-med; 244 | } 245 | 246 | tr:first-child td { 247 | border-top: none; 248 | padding-top: 0; 249 | } 250 | 251 | tr:last-child td { 252 | padding-bottom: 0; 253 | } 254 | } 255 | 256 | .padded-med { 257 | padding: 20*$em; 258 | max-width: 980*$em; 259 | } 260 | 261 | .padded-med > h2:first-child + p.t-sm, 262 | .padded-med > h2:first-child + div.t-sm { 263 | margin-top: -5*$em; 264 | } 265 | 266 | .scroll-box { 267 | max-width: 100%; 268 | overflow-x: auto; 269 | } 270 | 271 | @media screen and (max-width: 960px) { 272 | .constrained--med, 273 | .constrained--narrow { 274 | padding: 0; 275 | } 276 | 277 | .constrained--narrow { 278 | padding-top: $nav-padding * 2 !important; 279 | padding-bottom: $nav-padding * 2 !important; 280 | } 281 | 282 | .padded-med { 283 | & > h2:first-child { 284 | margin-top: 0; 285 | } 286 | } 287 | 288 | table { 289 | margin: 0 10*$em; 290 | } 291 | 292 | th, 293 | td { 294 | @include t-left; 295 | font-size: 14*$em; 296 | padding: $nav-padding * .7; 297 | } 298 | } 299 | -------------------------------------------------------------------------------- /css/_includes/_btn.scss: -------------------------------------------------------------------------------- 1 | .btn { 2 | @include t-link; 3 | @include t-uppercase; 4 | @include font-size-reset; 5 | @include u-mp0; 6 | color: $white !important; 7 | display: block; 8 | background: $color-b5; 9 | padding: 18*$em 28*$em; 10 | transition: background-color $transition-properties, opacity $transition-properties; 11 | 12 | &.btn--blue { 13 | background: $color-b5; 14 | } 15 | 16 | &:hover { 17 | background: $color-b4; 18 | text-decoration: none; 19 | } 20 | 21 | &:active { 22 | opacity: .66; 23 | transition-duration: 0s; 24 | } 25 | } 26 | 27 | @media screen and (max-width: 960px) { 28 | .btn { 29 | padding: 16*$em 20*$em; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /css/_includes/_callouts.scss: -------------------------------------------------------------------------------- 1 | .callouts { 2 | max-width: 1100*$em; 3 | } 4 | 5 | .callouts__card { 6 | 7 | } 8 | 9 | .callouts__card__content { 10 | @include t-center; 11 | @include flex-container-column; 12 | @include flex-justify-content(center); 13 | padding: 0 $nav-padding * 2; 14 | 15 | h2 { 16 | @include u-mp0; 17 | } 18 | 19 | h2 + p { 20 | margin-top: 32*$em; 21 | } 22 | 23 | p { 24 | @include u-mp0; 25 | } 26 | } 27 | 28 | @media screen and (max-width: 960px) { 29 | .callouts.constrained { 30 | padding: $nav-padding * 2 $nav-padding; 31 | } 32 | } 33 | 34 | @media screen and (max-width: 767px) { 35 | .callouts.constrained { 36 | padding: 0; 37 | } 38 | .callouts__card__content { 39 | padding: $nav-padding * 2 $nav-padding; 40 | 41 | 42 | h2 { 43 | font-size: 30*$em; 44 | } 45 | h2 + p { 46 | margin-top: 12*$em !important; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /css/_includes/_col-layout.scss: -------------------------------------------------------------------------------- 1 | .col-layout.constrained { 2 | padding: $nav-padding * 4 $nav-padding * 2; 3 | padding-top: 0; 4 | } 5 | 6 | .col-layout__nav { 7 | nav, 8 | ul, 9 | li, 10 | a { 11 | @include u-blocklist; 12 | @include font-size-reset; 13 | } 14 | 15 | nav { 16 | position: -webkit-sticky; 17 | position: sticky; 18 | top: 74*$em; 19 | margin-top: 84*$em; 20 | } 21 | 22 | h4 { 23 | font-size: 24*$em; 24 | font-weight: 200; 25 | margin: 24*$em 0 10*$em 2*$em; 26 | } 27 | 28 | ul + h4 { 29 | // margin-top: 24*$em; 30 | } 31 | 32 | ul { 33 | margin-right: 36*$em; 34 | margin-left: -16*$em; 35 | margin-top: -2*$em; 36 | 37 | li { 38 | a { 39 | padding: 10*$em 20*$em; 40 | color: fade-out($text, 0.52); 41 | position: relative; 42 | transition: color $transition-properties; 43 | 44 | &:before { 45 | @include u-pe100; 46 | width: 4*$em; 47 | height: 30*$em; 48 | background: #349fe4; 49 | top: 10*$em; 50 | opacity: 0; 51 | transition: opacity $transition-properties; 52 | } 53 | 54 | &:hover { 55 | color: $text; 56 | } 57 | 58 | &:active { 59 | color: fade-out($text, 0.62); 60 | transition-duration: 0s; 61 | } 62 | } 63 | 64 | &.col-layout__nav--selected { 65 | a, 66 | &:hover, 67 | &:active { 68 | color: $text; 69 | 70 | &:before { 71 | opacity: 1; 72 | } 73 | } 74 | } 75 | } 76 | } 77 | } 78 | 79 | .col-layout__content { 80 | & > *:first-child { 81 | margin-top: 0; 82 | padding-top: 0; 83 | } 84 | max-width: 100%; 85 | overflow-x: auto; 86 | 87 | .banner { 88 | .constrained, 89 | .padded-med { 90 | padding-left: 0; 91 | padding-right: 0; 92 | } 93 | } 94 | } 95 | 96 | .col-layout__content li p { 97 | font-size: 1em; 98 | } 99 | 100 | @media screen and (max-width: 1023px) { 101 | .col-layout--hidden-mobile-sidenav { 102 | .col-layout__nav { 103 | display: none; 104 | } 105 | } 106 | 107 | .col-layout__nav nav { 108 | margin-top: 0; 109 | margin-bottom: 40*$em; 110 | } 111 | } 112 | 113 | @media screen and (max-width: 960px) { 114 | .col-layout.constrained { 115 | padding: $nav-padding; 116 | 117 | table { 118 | margin: 0; 119 | } 120 | } 121 | 122 | .col-layout__nav nav ul { 123 | margin-right: $nav-padding; 124 | 125 | li.col-layout__nav--selected a:before { 126 | display: none; 127 | } 128 | } 129 | } 130 | 131 | @media screen and (max-width: 768px) { 132 | .col-layout__nav { 133 | ul { 134 | margin-left: $nav-padding / 4; 135 | margin-right: $nav-padding / 4; 136 | margin: 0 $nav-padding / 4 $nav-padding * 2 $nav-padding / 4; 137 | li { 138 | a { 139 | padding: 6*$em 0; 140 | border-bottom: 1*$em solid #ccc; 141 | } 142 | } 143 | } 144 | } 145 | } 146 | 147 | /* Post-launch edits */ 148 | 149 | a.separator { 150 | pointer-events: none; 151 | cursor: default; 152 | } 153 | -------------------------------------------------------------------------------- /css/_includes/_colors.scss: -------------------------------------------------------------------------------- 1 | // General 2 | $white: #ffffff; 3 | $white-faded: fade-out($white, 0.34); 4 | $black: #000000; 5 | $off-black: #111212; 6 | $slate: #162328; 7 | $banner-hero: #1c292f; 8 | $gray-light: #f6f8fa; 9 | $gray-med: #e0e0e0; 10 | $muted-gray-blue: #213744; 11 | $gray-light-overlay: #edf1f5; 12 | $text: #232323; 13 | $text-secondary: #8c9296; 14 | $text-faded: fade-out($text, 0.25); 15 | $default-code-color: #333333; 16 | 17 | // Varnish colors 18 | $color-b1: #F0F7FF; // B1 blue 19 | $color-b3: #80BDFF; // B3 blue 20 | $color-b4: #2F85F7; // B4 blue 21 | $color-b5: #2376E5; // B5 blue 22 | $color-b6: #265ED4; // B6 blue 23 | $color-n8: #616c7a; // N8 gray 24 | 25 | .c-text-secondary { 26 | color: $text-secondary; 27 | } 28 | 29 | .c-bg-slate { 30 | background: $slate; 31 | } 32 | 33 | .c-bg-blue { 34 | background: $color-b5; 35 | } 36 | 37 | .c-bg-gray-light { 38 | background: $gray-light; 39 | } 40 | 41 | .c-bg--alternate.c-bg-white.c-bg-gray-light { 42 | .banner:not(.banner--interior-hero):not(footer):nth-child(odd) { 43 | background: #fff; 44 | } 45 | 46 | .banner:not(.banner--interior-hero):not(footer):nth-child(even) { 47 | background: $gray-light; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /css/_includes/_flex.scss: -------------------------------------------------------------------------------- 1 | @mixin flex-container { 2 | display: -webkit-box; 3 | display: -ms-flexbox; 4 | display: -webkit-flex; 5 | display: flex; 6 | } 7 | 8 | @mixin flex-direction($v) { 9 | -webkit-flex-direction: $v; 10 | -ms-flex-direction: $v; 11 | flex-direction: $v; 12 | // row (default): same as text direction 13 | // row-reverse: opposite to text direction 14 | // column: same as row but top to bottom 15 | // column-reverse: same as row-reverse top to bottom 16 | } 17 | 18 | @mixin flex-align-items($v) { // Vertical alignment of single line of items 19 | -webkit-align-items: $v; 20 | -ms-flex-align: $v; 21 | align-items: $v; 22 | // stretch (default): Items are stretched to fit the container 23 | // center: Items are positioned at the center of the container 24 | // flex-start: Items are positioned at the beginning of the container 25 | // flex-end: Items are positioned at the end of the container 26 | // baseline: Items are positioned at the baseline of the container 27 | } 28 | 29 | @mixin flex-justify-content($v) { // Horizontal alignment of children 30 | -webkit-justify-content: $v; 31 | -ms-justify-content: $v; 32 | justify-content: $v; 33 | // flex-start (default): items are packed toward the start line 34 | // flex-end: items are packed toward to end line 35 | // center: items are centered along the line 36 | // space-between: items are evenly distributed in the line; first item is on the start line, last item on the end line 37 | // space-around: items are evenly distributed in the line with equal space around them 38 | } 39 | 40 | @mixin flex-align-content($v) { // Vertical alignment of multiple lines of items 41 | -webkit-align-content: $v; 42 | align-content: $v; 43 | // flex-start: lines packed to the start of the container 44 | // flex-end: lines packed to the end of the container 45 | // center: lines packed to the center of the container 46 | // space-between: lines evenly distributed; the first line is at the start of the container while the last one is at the end 47 | // space-around: lines evenly distributed with equal space between them 48 | // stretch (default): lines stretch to take up the remaining space 49 | } 50 | 51 | @mixin flex-grow($v) { // defines the ability for a flex item to grow if necessary, size proportion relative to an item's siblings 52 | -webkit-flex-grow: $v; 53 | flex-grow: $v; 54 | // number 55 | } 56 | 57 | // Prefab Flex classes 58 | 59 | @mixin flex-container-row { 60 | @include flex-container; 61 | @include flex-direction(row); 62 | } 63 | 64 | @mixin flex-container-column { 65 | @include flex-container; 66 | @include flex-direction(column); 67 | } 68 | 69 | @mixin flex-container-align-left { 70 | @include flex-container-row; 71 | @include flex-justify-content(flex-start); 72 | } 73 | 74 | @mixin flex-container-align-right { 75 | @include flex-container-row; 76 | @include flex-justify-content(flex-end); 77 | } 78 | 79 | @mixin flex-container-hcentered { 80 | @include flex-container; 81 | @include flex-justify-content(center); // Horizontally centered 82 | } 83 | 84 | @mixin flex-container-vcentered { 85 | @include flex-container; 86 | @include flex-align-items(center); // Vertical centered 87 | } 88 | 89 | @mixin flex-container-centered { 90 | @include flex-container; 91 | @include flex-align-items(center); // Vertical centered 92 | @include flex-justify-content(center); // Horizontally centered 93 | } 94 | -------------------------------------------------------------------------------- /css/_includes/_footer.scss: -------------------------------------------------------------------------------- 1 | footer { 2 | @include t-white; 3 | background: $black; 4 | 5 | nav ul, 6 | nav ul li { 7 | @include u-blocklist; 8 | } 9 | 10 | .nav__link { 11 | @include u-mp0; 12 | @include t-no-underline; 13 | @include t-smooth; 14 | } 15 | 16 | .nav__link span { 17 | @include font-size-reset; 18 | transition: color $transition-properties; 19 | font-weight: normal; 20 | } 21 | 22 | .nav__link:hover span { 23 | color: $white; 24 | } 25 | 26 | .nav__link:active span { 27 | color: fade-out($white, 0.5); 28 | transition-duration: 0s; 29 | } 30 | } 31 | 32 | .footer__content { 33 | max-width: 1000*$em; 34 | padding: 84*$em 36*$em; 35 | margin: auto; 36 | 37 | .footer__content__logo { 38 | display: inline-block; 39 | opacity: .5; 40 | margin: 3*$em 0 28*$em 0; 41 | 42 | &:hover { 43 | opacity: .7; 44 | } 45 | 46 | &:active { 47 | opacity: .3; 48 | } 49 | 50 | svg { 51 | width: 258*$em; 52 | height: 44*$em; 53 | } 54 | } 55 | 56 | p { 57 | @include u-mp0; 58 | @include font-size-reset; 59 | cursor: default; 60 | line-height: inherit; 61 | 62 | span { 63 | @include t-smooth; 64 | font-size: 12*$em; 65 | color: fade-out($white, 0.58); 66 | 67 | a { 68 | color: fade-out($white, 0.5); 69 | 70 | &:hover { 71 | color: fade-out($white, 0.34); 72 | } 73 | } 74 | } 75 | } 76 | 77 | p.footer__content__copyright { 78 | span { 79 | color: fade-out($white, 0.7); 80 | } 81 | } 82 | 83 | // Footer nav 84 | 85 | .footer__content__nav { 86 | @include flex-container-row; 87 | 88 | nav a { 89 | line-height: 28*$em; 90 | vertical-align: top; 91 | } 92 | 93 | .nav__link { 94 | display: block; 95 | @include u-h100; 96 | } 97 | } 98 | 99 | .footer__content__nav__main-nav { 100 | @include fn-columns(2); 101 | @include flex-grow(1); 102 | } 103 | 104 | .footer__content__nav__secondary-nav { 105 | 106 | .nav__link span { 107 | @include t-crisp; 108 | font-size: 14*$em; 109 | } 110 | } 111 | 112 | .nav__link span { 113 | color: fade-out($white, 0.4); 114 | } 115 | } 116 | 117 | // Responsive 118 | 119 | // sm @media screen and (min-width: 35.5em) ≥ 568px .pure-u-sm-* 120 | // md @media screen and (min-width: 48em) ≥ 768px .pure-u-md-* 121 | // lg @media screen and (min-width: 64em) ≥ 1024px .pure-u-lg-* 122 | // xl @media screen and (min-width: 80em) ≥ 1280px .pure-u-xl-* 123 | // 124 | 125 | @media screen and (max-width: 960px) { 126 | .footer__content { 127 | .footer__content__nav__main-nav { 128 | @include fn-columns(auto); 129 | @include flex-grow(0); 130 | padding-left: 60*$em; 131 | } 132 | 133 | .footer__content__nav__secondary-nav { 134 | padding-left: 40*$em; 135 | } 136 | } 137 | } 138 | 139 | @media screen and (max-width: 767px) { 140 | .footer__content { 141 | @include t-center; 142 | padding: 40*$em 20*$em; 143 | 144 | p { 145 | line-height: 30*$em; 146 | span { 147 | @include font-size-reset; 148 | } 149 | } 150 | 151 | .footer__content__nav { 152 | display: none; 153 | } 154 | } 155 | } 156 | 157 | @media screen and (max-width: 567px) { 158 | .footer__content { 159 | p { 160 | line-height: 30*$em; 161 | span { 162 | font-size: 12*$em; 163 | } 164 | } 165 | } 166 | } 167 | -------------------------------------------------------------------------------- /css/_includes/_functions.scss: -------------------------------------------------------------------------------- 1 | @mixin fn-transform($v) { 2 | -webkit-transform: $v; 3 | -ms-transform: $v; 4 | transform: $v; 5 | } 6 | 7 | @mixin fn-filter($v) { 8 | -webkit-filter: $v; 9 | filter: $v; 10 | } 11 | 12 | @mixin fn-columns($v) { 13 | -webkit-columns: $v; 14 | -moz-columns: $v; 15 | columns: $v; 16 | } 17 | -------------------------------------------------------------------------------- /css/_includes/_header.scss: -------------------------------------------------------------------------------- 1 | .header { 2 | top: 0px; 3 | left: 0px; 4 | right: 0px; 5 | box-shadow: 0 1px 0 0 rgba(0,0,0,.12), 6 | 0 0 13px 2px rgba(0,0,0,.05); 7 | background: $white; 8 | padding: 0 26px 0 36px; 9 | 10 | .header__content { 11 | align-items: center; 12 | display: flex; 13 | flex-direction: row; 14 | justify-content: space-between; 15 | max-width: $max-page-width + ($nav-padding * 4.75); 16 | font-size: 15px; 17 | height: 88px; 18 | margin: 0px auto; 19 | 20 | .header__logos { 21 | display: flex; 22 | justify-content: flex-start; 23 | align-items: center; 24 | height: 100%; 25 | padding: 0px; 26 | margin: 0px; 27 | 28 | .header__ai2-logo, 29 | .header__ai2-icon { 30 | height: 55px; 31 | width: 279px; 32 | margin: 0 -5px 1px 0; 33 | } 34 | 35 | .header__ai2-icon { 36 | display: none; 37 | width: auto; 38 | margin-bottom: 5px; 39 | } 40 | 41 | .header__chevron { 42 | height: 88px; 43 | width: 66px; 44 | } 45 | 46 | .header__allennlp-logo { 47 | height: 23px; 48 | width: 131px; 49 | margin: 2px 0 0 -14px; 50 | } 51 | } 52 | 53 | nav { 54 | height: 100%; 55 | ul { 56 | display: flex; 57 | justify-content: flex-start; 58 | align-items: center; 59 | height: 100%; 60 | padding: 0; 61 | margin: 0; 62 | list-style: none; 63 | 64 | li { 65 | margin: 0; 66 | padding: 0; 67 | height: 100%; 68 | 69 | a { 70 | box-sizing: border-box; 71 | display: block; 72 | color: $color-n8; 73 | text-decoration: none; 74 | transition: color 150ms linear; 75 | font-weight: 500; 76 | font-size: 15px; 77 | line-height: 1.4; 78 | position: relative; 79 | height: 100%; 80 | border-bottom: 3px solid rgba(0, 0, 0, 0); 81 | padding: 34px 10px 0px; 82 | 83 | span { 84 | color: inherit; 85 | margin-bottom: 1px; 86 | } 87 | 88 | &:hover { 89 | color: $color-b4; 90 | } 91 | 92 | &:active { 93 | color: $color-b6; 94 | opacity: 1; 95 | } 96 | } 97 | 98 | &.nav__link--selected { 99 | a { 100 | border-bottom-color: $color-b5; 101 | color: $color-b6; 102 | } 103 | } 104 | } 105 | } 106 | } 107 | } 108 | 109 | #header__mow-nav-trigger { 110 | width: 40*$em; 111 | height: 40*$em; 112 | position: absolute; 113 | right: 11*$em; 114 | top: 11*$em; 115 | display: none; 116 | z-index: 999; 117 | cursor: pointer; 118 | 119 | svg { 120 | width: 20*$em; 121 | height: 18*$em; 122 | display: block; 123 | margin-top: 10*$em; 124 | margin-left: 10*$em; 125 | fill: $color-b5; 126 | } 127 | } 128 | } 129 | 130 | // Drop redundant "Home" link 131 | @media screen and (max-width: 1140px) { 132 | .header { 133 | li[data-page="home"] { 134 | display: none; 135 | } 136 | } 137 | } 138 | 139 | // Switch to AI2 Icon 140 | @media screen and (max-width: 1080px) { 141 | .header { 142 | .header__content { 143 | .header__logos { 144 | .header__ai2-logo { 145 | display: none; 146 | } 147 | 148 | .header__ai2-icon { 149 | display: block; 150 | } 151 | } 152 | } 153 | } 154 | } 155 | 156 | // Switch to Mobile Menu 157 | @media screen and (max-width: 960px) { 158 | .header { 159 | padding: 0; 160 | 161 | @include u-select-none; 162 | height: auto; 163 | 164 | #header__mow-nav-trigger { 165 | display: block; 166 | } 167 | 168 | .header__content { 169 | height: 60px; 170 | height: auto; 171 | display: block; 172 | 173 | .header__logos { 174 | padding: 0 0 0 13px; 175 | 176 | .header__ai2-icon { 177 | width: 54px; 178 | height: 44px; 179 | margin-right: 7px; 180 | } 181 | 182 | .header__chevron { 183 | height: 60px; 184 | width: auto; 185 | } 186 | 187 | .header__allennlp-logo { 188 | margin-top: 6px; 189 | margin-left: -3px; 190 | } 191 | } 192 | 193 | nav { 194 | display: none; 195 | overflow: hidden; 196 | width: 100%; 197 | height: auto; 198 | position: fixed; 199 | z-index: -999; 200 | padding-bottom: 2*$em; 201 | background: $white; 202 | transition: opacity $transition-properties, 203 | z-index 0s linear, 204 | position 0s linear; 205 | 206 | &.nav--mow-active { 207 | display: block; 208 | z-index: 9999; 209 | position: static; 210 | } 211 | 212 | ul, 213 | ul li, 214 | ul li a { 215 | @include u-mp0; 216 | display: block; 217 | width: auto; 218 | height: auto; 219 | line-height: inherit; 220 | } 221 | 222 | ul li { 223 | border-top: 1px solid rgb(224,224,224); 224 | } 225 | 226 | ul li a.nav__link { 227 | display: block; 228 | width: auto; 229 | height: auto; 230 | line-height: inherit; 231 | padding: 14*$em 18*$em; 232 | } 233 | 234 | ul li:first-child a.nav__link { 235 | margin-top: 0; 236 | } 237 | 238 | ul li.nav__link--selected { 239 | a { 240 | border-bottom-width: 0; 241 | 242 | &:after { 243 | @include u-pe; 244 | @include u-h100; 245 | width: 4*$em; 246 | background: $color-b5; 247 | display: block; 248 | top: 0; 249 | left: 0; 250 | position: absolute; 251 | } 252 | } 253 | } 254 | } 255 | } 256 | } 257 | } 258 | -------------------------------------------------------------------------------- /css/_includes/_icons.scss: -------------------------------------------------------------------------------- 1 | //Icon Sprite container 2 | #icons { 3 | @include u-tl; 4 | position: absolute; 5 | height: 0; 6 | width: 0; 7 | visibility: hidden; 8 | overflow: hidden; 9 | z-index: -999; 10 | } 11 | 12 | svg { 13 | fill: $black; 14 | } 15 | -------------------------------------------------------------------------------- /css/_includes/_logo-list.scss: -------------------------------------------------------------------------------- 1 | .logo-list { 2 | margin-top: 40px; 3 | margin-bottom: 14px; 4 | display: grid; 5 | grid-template-columns: auto auto 176px auto auto; 6 | 7 | .logo-list__logo { 8 | display: flex; 9 | justify-content: center; 10 | align-items: center; 11 | height: 114px; 12 | 13 | span { 14 | display: block; 15 | background: transparent url(../assets/logo-list.png) 0 0 no-repeat; 16 | background-size: 185px; 17 | } 18 | 19 | &.logo-list__logo--ai2 { 20 | span { 21 | background: transparent url(../assets/ai2-logo-full.png) 0 0 no-repeat; 22 | background-size: 194px; 23 | width: 194px; 24 | height: 38px; 25 | } 26 | } 27 | 28 | &.logo-list__logo--fair { 29 | span { 30 | width: 170px; 31 | height: 22px; 32 | } 33 | } 34 | 35 | &.logo-list__logo--airbnb { 36 | span { 37 | width: 131px; 38 | height: 45px; 39 | background-position: 0 -22px; 40 | } 41 | } 42 | 43 | &.logo-list__logo--alexa { 44 | span { 45 | width: 170px; 46 | height: 32px; 47 | background-position: 0 -67px; 48 | } 49 | } 50 | 51 | &.logo-list__logo--uw { 52 | span { 53 | width: 176px; 54 | height: 37px; 55 | background-position: 0 -99px; 56 | } 57 | } 58 | 59 | &.logo-list__logo--usc { 60 | span { 61 | width: 181px; 62 | height: 44px; 63 | background-position: 0 -136px; 64 | } 65 | } 66 | 67 | &.logo-list__logo--stony-brook { 68 | span { 69 | width: 153px; 70 | height: 58px; 71 | background-position: 0 -180px; 72 | margin-top: -2px; 73 | } 74 | } 75 | 76 | &.logo-list__logo--cmu { 77 | span { 78 | width: 111px; 79 | height: 74px; 80 | background-position: 0 -238px; 81 | } 82 | } 83 | 84 | &.logo-list__logo--uci { 85 | span { 86 | width: 182px; 87 | height: 33px; 88 | background-position: 0 -312px; 89 | } 90 | } 91 | 92 | &.logo-list__logo--cambridge { 93 | span { 94 | width: 164px; 95 | height: 39px; 96 | background-position: 0 -345px; 97 | } 98 | } 99 | 100 | &.logo-list__logo--edinburgh { 101 | span { 102 | width: 185px; 103 | height: 49px; 104 | background-position: 0 -384px; 105 | } 106 | } 107 | 108 | &.logo-list__logo--penn { 109 | span { 110 | width: 145px; 111 | height: 51px; 112 | background-position: 0 -433px; 113 | } 114 | } 115 | 116 | &.logo-list__logo--nyu { 117 | span { 118 | width: 127px; 119 | height: 48px; 120 | margin-top: -4px; 121 | background-position: 0 -484px; 122 | } 123 | } 124 | 125 | &.logo-list__logo--sheffield { 126 | span { 127 | width: 135px; 128 | height: 62px; 129 | background-position: 0 -532px; 130 | } 131 | } 132 | 133 | &.logo-list__logo--harvard { 134 | span { 135 | width: 169px; 136 | height: 47px; 137 | background-position: 0 -594px; 138 | } 139 | } 140 | } 141 | } 142 | 143 | @media screen and (max-width: 1024px) { 144 | .logo-list { 145 | grid-template-columns: auto auto auto; 146 | 147 | .logo-list__logo { 148 | height: 100px; 149 | } 150 | } 151 | } 152 | 153 | @media screen and (max-width: 768px) { 154 | .logo-list { 155 | margin-top: 30px; 156 | margin-bottom: 0; 157 | grid-template-columns: auto auto; 158 | } 159 | } 160 | 161 | @media screen and (max-width: 568px) { 162 | .logo-list { 163 | margin-top: 20px; 164 | display: block; 165 | 166 | .logo-list__logo { 167 | height: 80px; 168 | } 169 | } 170 | } 171 | -------------------------------------------------------------------------------- /css/_includes/_models-table.scss: -------------------------------------------------------------------------------- 1 | .models-table { 2 | margin-bottom: 60*$em; 3 | } 4 | 5 | @media screen and (max-width: 960px) { 6 | .models-table { 7 | margin-bottom: 40*$em; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /css/_includes/_publications.scss: -------------------------------------------------------------------------------- 1 | ul.publications { 2 | padding: 25*$em 20*$em 25*$em 20*$em !important; 3 | 4 | &, 5 | li { 6 | @include u-blocklist; 7 | 8 | &, 9 | p, 10 | span { 11 | @include font-size-reset; 12 | } 13 | } 14 | 15 | li { 16 | padding: 32*$em 0; 17 | border-bottom: 1*$em solid $gray-med; 18 | 19 | &:last-child { 20 | border: none; 21 | padding-bottom: 0; 22 | } 23 | } 24 | } 25 | 26 | .publications__title { 27 | display: block; 28 | color: $color-b5; 29 | font-size: 21*$em; 30 | font-weight: bold; 31 | margin-bottom: 6*$em; 32 | } 33 | 34 | .publications__authors { 35 | @include t-smooth; 36 | font-weight: bold; 37 | color: $text-secondary; 38 | margin-top: 7*$em; 39 | } 40 | 41 | .publications__year { 42 | &:before { 43 | content: "•"; 44 | padding: 0 8*$em; 45 | } 46 | } 47 | 48 | .publications__abstract { 49 | margin: 7*$em 0 0 0; 50 | } 51 | 52 | @media screen and (max-width: 960px) { 53 | ul.publications { 54 | padding: 0*$em 20*$em 40*$em 20*$em !important; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /css/_includes/_tab.scss: -------------------------------------------------------------------------------- 1 | .tab { 2 | margin-top: $nav-padding * 2; 3 | border: 1*$em solid fade-out($black, 0.92); 4 | 5 | ul.tab__nav { 6 | @include u-mp0; 7 | @include flex-container; 8 | background: fade-out($gray-light, 0.67); 9 | 10 | li.tab__nav__item, 11 | li.tab__nav__link { 12 | @include u-blocklist; 13 | @include u-select-none; 14 | @include font-size-reset; 15 | padding: $nav-padding 20*$em; 16 | cursor: pointer; 17 | background: fade-out($gray-light, 0.5); 18 | transition: background-color .075s ease-in-out; 19 | border-right: 2*$em solid $white; 20 | 21 | span { 22 | font-weight: bold; 23 | font-size: 16*$em; 24 | opacity: .45; 25 | transition: opacity .075s ease-in-out; 26 | } 27 | 28 | .tab__nav__item__glyph { 29 | @include fn-transform(rotate(0deg)); 30 | display: inline-block; 31 | width: 11*$em; 32 | height: 7*$em; 33 | opacity: .3; 34 | margin-left: 8*$em; 35 | margin-bottom: 1*$em; 36 | transition: opacity .075s ease-in-out, 37 | transform .075s ease-in-out, 38 | -webkit-transform .075s ease-in-out; 39 | 40 | svg { 41 | display: block; 42 | width: 11*$em; 43 | height: 7*$em; 44 | } 45 | } 46 | 47 | &:hover { 48 | background: fade-out($gray-light, 0.25); 49 | 50 | span { 51 | opacity: .75; 52 | } 53 | 54 | .tab__nav__item__glyph { 55 | opacity: .66; 56 | } 57 | } 58 | 59 | &:active { 60 | transition-duration: 0s; 61 | background: fade-out($gray-light, 0.34); 62 | 63 | span { 64 | transition-duration: 0s; 65 | opacity: .4; 66 | } 67 | 68 | .tab__nav__item__glyph { 69 | transition-duration: 0s; 70 | opacity: .25; 71 | } 72 | } 73 | 74 | &.tab__nav__item--selected { 75 | background: $gray-light; 76 | 77 | span { 78 | opacity: 1; 79 | } 80 | 81 | .tab__nav__item__glyph { 82 | opacity: .75; 83 | @include fn-transform(rotate(180deg)); 84 | } 85 | } 86 | } 87 | } 88 | 89 | .tab__page-container { 90 | height: 0; 91 | transition: height .075s ease-in-out; 92 | position: relative; 93 | overflow: hidden; 94 | box-sizing: border-box; 95 | } 96 | 97 | .tab__page { 98 | width: 100%; 99 | position: absolute; 100 | background: $gray-light; 101 | opacity: 0; 102 | transition: opacity .075s ease-in-out, 103 | z-index .075s ease-in-out; 104 | z-index: 0; 105 | 106 | &.tab__page--selected { 107 | opacity: 1; 108 | z-index: 9; 109 | } 110 | 111 | .tab__page__content { 112 | padding: 20*$em; 113 | 114 | pre { 115 | box-shadow: 0 0 40*$em fade-out($black, 0.95); 116 | margin: 0; 117 | 118 | code { 119 | background: $white; 120 | } 121 | } 122 | 123 | figure.highlight { 124 | margin: 0; 125 | } 126 | 127 | h4 { 128 | opacity: .66; 129 | margin-bottom: 15px; 130 | 131 | span { 132 | opacity: .75; 133 | font-size: 14px; 134 | font-weight: normal; 135 | padding-left: 4px; 136 | text-transform: capitalize; 137 | } 138 | 139 | &:not(:first-child) { 140 | margin-top: 30px; 141 | } 142 | } 143 | 144 | p { 145 | padding: 20*$em; 146 | } 147 | 148 | & > :first-child { 149 | margin-top: 0; 150 | } 151 | 152 | & > :last-child { 153 | margin-bottom: 0; 154 | } 155 | 156 | & > .t-sm > p { 157 | margin: 0; 158 | } 159 | } 160 | } 161 | } 162 | 163 | 164 | .c-bg--alternate.c-bg-white.c-bg-gray-light .banner:not(.banner--interior-hero):not(footer):nth-child(even), 165 | .banner.c-bg-gray-light { 166 | .tab { 167 | ul.tab__nav { 168 | background: fade-out($gray-light-overlay, 0.67); 169 | 170 | li.tab__nav__item, 171 | li.tab__nav__link { 172 | background: fade-out($gray-light-overlay, 0.5); 173 | border-right: 2*$em solid $gray-light; 174 | 175 | &.tab__nav__item--selected, 176 | &:hover { 177 | background: $gray-light-overlay; 178 | } 179 | } 180 | } 181 | 182 | .tab__page { 183 | background: $gray-light-overlay; 184 | 185 | .tab__page__content { 186 | pre { 187 | code { 188 | background: $gray-light; 189 | } 190 | } 191 | } 192 | } 193 | } 194 | } 195 | 196 | @media screen and (max-width: 960px) { 197 | .tab .tab__page .tab__page__content pre { 198 | box-shadow: none; 199 | } 200 | } 201 | -------------------------------------------------------------------------------- /css/_includes/_text.scss: -------------------------------------------------------------------------------- 1 | @mixin t-crisp { 2 | -webkit-font-smoothing: antialiased; 3 | -moz-osx-font-smoothing: grayscale; 4 | } 5 | 6 | @mixin t-smooth { 7 | -webkit-font-smoothing: subpixel-antialiased; 8 | -moz-osx-font-smoothing: auto; 9 | } 10 | 11 | @mixin t-no-underline { 12 | text-decoration: none; 13 | } 14 | 15 | @mixin t-uppercase { 16 | text-transform: uppercase; 17 | } 18 | 19 | @mixin t-thin { 20 | font-weight: 100; 21 | } 22 | 23 | @mixin t-link { 24 | text-decoration: none; 25 | cursor: pointer; 26 | } 27 | 28 | @mixin t-center { 29 | text-align: center; 30 | } 31 | 32 | .t-center { 33 | text-align: center; 34 | } 35 | 36 | @mixin t-left { 37 | text-align: left; 38 | } 39 | 40 | @mixin t-white { 41 | &, 42 | * { 43 | color: $white; 44 | fill: $white; 45 | } 46 | } 47 | 48 | .t-white { 49 | &, 50 | * { 51 | color: $white; 52 | fill: $white; 53 | } 54 | } 55 | 56 | .t-sm { 57 | @include font-size-reset; 58 | } 59 | 60 | .t-sm > p { 61 | @include font-size-reset; 62 | } 63 | 64 | .t-base-font-size { 65 | font-size: 16px !important; 66 | } 67 | 68 | .t-white .t-sm { 69 | &, 70 | * { 71 | color: $white-faded 72 | } 73 | } 74 | 75 | .t-markdownify > p { 76 | display: inline; 77 | margin: 0; 78 | padding: 0; 79 | font-size: inherit; 80 | } 81 | -------------------------------------------------------------------------------- /css/_includes/_toolbar.scss: -------------------------------------------------------------------------------- 1 | .toolbar { 2 | display: flex; 3 | margin: 0 0 0 -8px; 4 | padding: 0; 5 | list-style: none; 6 | } 7 | 8 | .toolbar__item { 9 | display: block; 10 | margin: 0 16*$em 0 0; 11 | padding: 0; 12 | 13 | a { 14 | display: block; 15 | padding: 10px 6px; 16 | padding-bottom: 0; 17 | transition: opacity .2s ease; 18 | 19 | .toolbar__item__label { 20 | font-size: 12*$em; 21 | vertical-align: middle; 22 | transition: color .2s ease; 23 | color: fade-out($text, 0.66); 24 | } 25 | 26 | svg { 27 | width: 32px; 28 | height: 32px; 29 | transition: fill .2s ease; 30 | fill: fade-out($text, 0.60); 31 | vertical-align: middle; 32 | } 33 | 34 | &:hover { 35 | opacity: 1; 36 | 37 | svg { 38 | fill: $color-b6; 39 | } 40 | 41 | .toolbar__item__label { 42 | color: $color-b6; 43 | } 44 | } 45 | 46 | &:active { 47 | opacity: .5; 48 | transition-duration: 0s; 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /css/_includes/_tutorial.scss: -------------------------------------------------------------------------------- 1 | .tutorials { 2 | .tutorials__content { 3 | padding: 40*$em 30*$em 62*$em 30*$em; 4 | } 5 | 6 | figure { 7 | margin: 0; 8 | padding: 0; 9 | @include t-crisp; 10 | 11 | pre, 12 | code { 13 | white-space: pre-wrap; 14 | } 15 | } 16 | 17 | #annotated-code { 18 | background: $gray-light; 19 | margin: 60*$em -30px; 20 | position: relative; 21 | display: flex; 22 | overflow: hidden; 23 | -webkit-text-size-adjust: none; 24 | 25 | & + .alert { 26 | margin-left: -30px; 27 | margin-right: -30px; 28 | } 29 | 30 | .annotated-code__pane { 31 | &.annotated-code__pane--code-container { 32 | padding: 15px 0 215px 15px; 33 | background: $gray-light; 34 | flex: 0 0 715px; 35 | 36 | .annotated-code__code-block { 37 | cursor: text; 38 | 39 | .highlight { 40 | padding: 10px 15px; 41 | position: relative; 42 | z-index: 2; 43 | margin: 0; 44 | 45 | pre, 46 | code { 47 | margin: 0; 48 | background: transparent !important; 49 | font-size: 12.5px; 50 | } 51 | 52 | code { 53 | padding: 0; 54 | } 55 | } 56 | } 57 | } 58 | 59 | &.annotated-code__pane--annotations-container { 60 | margin-left: 15px; 61 | flex: 1; 62 | background: #f9fafc; 63 | position: relative; 64 | 65 | // Left column border 66 | &:after { 67 | position: absolute; 68 | content: ""; 69 | width: 1px; 70 | height: 100%; 71 | top: 0; 72 | left: 0; 73 | display: block; 74 | background: rgba(0,0,0,.05) 75 | } 76 | 77 | ul#annotated-code__annotations { 78 | list-style: none; 79 | margin: 0; 80 | padding: 15px; 81 | position: absolute; 82 | top: 0; 83 | left: 0; 84 | box-sizing: border-box; 85 | transform: translateY(0px); 86 | transition: transform .5s cubic-bezier(0.000, 0.475, 0.010, 1.035); 87 | 88 | li#annotated-code__top-fade, 89 | li#annotated-code__bottom-fade { 90 | display: block; 91 | position: absolute; 92 | left: 0; 93 | top: -120px; 94 | margin: 0; 95 | transform: translateY(0px); 96 | transition: transform .5s cubic-bezier(0.000, 0.475, 0.010, 1.035); 97 | width: 100%; 98 | height: 120px; 99 | z-index: 2; 100 | backface-visibility: hidden; 101 | 102 | &:after { 103 | content: ""; 104 | display: block; 105 | position: absolute; 106 | left: 0; 107 | top: 0; 108 | width: 100%; 109 | height: 100%; 110 | // box-shadow: 0 0 180px 100px rgba(249,250,252,1); 111 | box-shadow: 0 0 180px 100px rgba(249,250,252,1); 112 | } 113 | 114 | } 115 | 116 | li#annotated-code__bottom-fade { 117 | top: 120px; 118 | } 119 | 120 | li.annotation { 121 | display: block; 122 | padding: 15px 20px; 123 | margin: 0; 124 | font-size: 16px; 125 | color: lighten($text, 22); 126 | position: relative; 127 | cursor: text; 128 | opacity: .5; 129 | z-index: 1; 130 | transition: opacity .1s ease, 131 | z-index .1s ease; 132 | 133 | code, code code { 134 | font-size: 13px !important; 135 | background: #eceef1; 136 | } 137 | 138 | &:after { 139 | content: ""; 140 | display: block; 141 | width: 0; 142 | height: 0; 143 | border-style: solid; 144 | border-width: 8px 8px 8px 0; 145 | border-color: transparent $white transparent transparent; 146 | top: 12px; 147 | left: -8px; 148 | opacity: 0; 149 | transition: opacity .1s ease; 150 | position: absolute; 151 | z-index: 1; 152 | } 153 | 154 | &.focused { 155 | opacity: 1; 156 | z-index: 9 !important; 157 | } 158 | } 159 | } 160 | } 161 | 162 | &.annotated-code__pane--code-container .annotated-code__code-block .highlight, 163 | &.annotated-code__pane--annotations-container ul#annotated-code__annotations li { 164 | &:before { 165 | position: absolute; 166 | display: block; 167 | z-index: -1; 168 | content: ""; 169 | box-shadow: 0 0 60px rgba(0,0,0,.08); 170 | background: $white; 171 | opacity: 0; 172 | width: 100%; 173 | height: 100%; 174 | top: 0; 175 | left: 0; 176 | transition: opacity .1s ease; 177 | } 178 | } 179 | 180 | &.annotated-code__pane--code-container .annotated-code__code-block.focused .highlight:before, 181 | &.annotated-code__pane--annotations-container ul#annotated-code__annotations li.focused:before, 182 | &.annotated-code__pane--annotations-container ul#annotated-code__annotations li.focused:after { 183 | opacity: 1; 184 | } 185 | } 186 | } 187 | } 188 | 189 | @media screen and (max-width: 1100px) { 190 | .tutorials { 191 | #annotated-code { 192 | display: block; 193 | overflow: auto; 194 | margin-top: 50px; 195 | margin-bottom: 0; 196 | 197 | &:before { 198 | content: "Note that this tutorial is best viewed on a desktop browser."; 199 | display: block; 200 | padding: 30px; 201 | background: rgba(0,0,0,.05); 202 | border-bottom: 1px solid rgba(0,0,0,.1); 203 | position: relative; 204 | z-index: 99; 205 | color: $text; 206 | opacity: 1; 207 | } 208 | 209 | & + .alert { 210 | margin-left: 0; 211 | margin-right: 0; 212 | } 213 | 214 | .annotated-code__pane { 215 | &.annotated-code__pane--code-container { 216 | padding: 15px; 217 | flex: none; 218 | } 219 | 220 | &.annotated-code__pane--annotations-container { 221 | display: none; 222 | } 223 | 224 | &.annotated-code__pane--code-container .annotated-code__code-block .highlight:before, 225 | &.annotated-code__pane--code-container .annotated-code__code-block.focused .highlight:before { 226 | display: none; 227 | } 228 | } 229 | } 230 | } 231 | } 232 | 233 | @media screen and (max-width: 960px) { 234 | .tutorials { 235 | .tutorials__content { 236 | padding: 0 20*$em 30*$em 20*$em; 237 | } 238 | 239 | #annotated-code { 240 | margin: 40px -20px; 241 | 242 | &:before { 243 | padding: 20px; 244 | } 245 | 246 | .annotated-code__pane { 247 | &.annotated-code__pane--code-container { 248 | padding: 5px; 249 | } 250 | } 251 | } 252 | } 253 | } 254 | -------------------------------------------------------------------------------- /css/_includes/_utils.scss: -------------------------------------------------------------------------------- 1 | @mixin u-mp0 { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | 6 | @mixin u-100 { 7 | width: 100%; 8 | height: 100%; 9 | } 10 | 11 | @mixin u-w100 { 12 | width: 100%; 13 | } 14 | 15 | @mixin u-h100 { 16 | height: 100%; 17 | } 18 | 19 | @mixin u-tl { 20 | top: 0; 21 | left: 0; 22 | } 23 | 24 | @mixin u-pe { 25 | content: ""; 26 | } 27 | 28 | @mixin u-child100 { 29 | position: absolute; 30 | @include u-100; 31 | @include u-tl; 32 | } 33 | 34 | @mixin u-pe100 { 35 | display: block; 36 | @include u-child100; 37 | @include u-pe; 38 | } 39 | 40 | @mixin u-blocklist { 41 | list-style: none; 42 | display: block; 43 | @include u-mp0; 44 | } 45 | 46 | .u-hidden { 47 | display: none; 48 | } 49 | 50 | @mixin u-select-none { 51 | -webkit-touch-callout: none; 52 | -webkit-user-select: none; 53 | -moz-user-select: none; 54 | -ms-user-select: none; 55 | user-select: none; 56 | @include u-disable-touch-callout; 57 | } 58 | 59 | @mixin u-disable-touch-callout { 60 | -webkit-touch-callout: none; 61 | } 62 | -------------------------------------------------------------------------------- /css/_includes/_vars.scss: -------------------------------------------------------------------------------- 1 | // Global Vars 2 | $base-font-size: 16px; 3 | $em: 1 / 16 * 1em; 4 | $rem: 1 / 16 * 1rem; 5 | 6 | $max-page-width: 1280*$em; 7 | $nav-padding: 18*$em; 8 | 9 | $transition-properties: .2s ease; 10 | 11 | @mixin font-size-reset { 12 | font-size: 16*$em; 13 | } 14 | -------------------------------------------------------------------------------- /css/_includes/vendor/_pure-custom-min.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | Pure v0.6.0 3 | Copyright 2014 Yahoo! Inc. All rights reserved. 4 | Licensed under the BSD License. 5 | https://github.com/yahoo/pure/blob/master/LICENSE.md 6 | */ 7 | /*! 8 | Pure v0.6.0 9 | Copyright 2014 Yahoo! Inc. All rights reserved. 10 | Licensed under the BSD License. 11 | https://github.com/yahoo/pure/blob/master/LICENSE.md 12 | */ 13 | .pure-g{letter-spacing:-0.31em;*letter-spacing:normal;*word-spacing:-0.43em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap;-ms-align-content:flex-start;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.opera-only:-o-prefocus,.pure-g{word-spacing:-0.43em}.pure-u{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class*="pure-u"]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-5-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-2-24,.pure-u-3-24,.pure-u-4-24,.pure-u-5-24,.pure-u-6-24,.pure-u-7-24,.pure-u-8-24,.pure-u-9-24,.pure-u-10-24,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%;*width:4.1357%}.pure-u-1-12,.pure-u-2-24{width:8.3333%;*width:8.3023%}.pure-u-1-8,.pure-u-3-24{width:12.5%;*width:12.469%}.pure-u-1-6,.pure-u-4-24{width:16.6667%;*width:16.6357%}.pure-u-1-5{width:20%;*width:19.969%}.pure-u-5-24{width:20.8333%;*width:20.8023%}.pure-u-1-4,.pure-u-6-24{width:25%;*width:24.969%}.pure-u-7-24{width:29.1667%;*width:29.1357%}.pure-u-1-3,.pure-u-8-24{width:33.3333%;*width:33.3023%}.pure-u-3-8,.pure-u-9-24{width:37.5%;*width:37.469%}.pure-u-2-5{width:40%;*width:39.969%}.pure-u-5-12,.pure-u-10-24{width:41.6667%;*width:41.6357%}.pure-u-11-24{width:45.8333%;*width:45.8023%}.pure-u-1-2,.pure-u-12-24{width:50%;*width:49.969%}.pure-u-13-24{width:54.1667%;*width:54.1357%}.pure-u-7-12,.pure-u-14-24{width:58.3333%;*width:58.3023%}.pure-u-3-5{width:60%;*width:59.969%}.pure-u-5-8,.pure-u-15-24{width:62.5%;*width:62.469%}.pure-u-2-3,.pure-u-16-24{width:66.6667%;*width:66.6357%}.pure-u-17-24{width:70.8333%;*width:70.8023%}.pure-u-3-4,.pure-u-18-24{width:75%;*width:74.969%}.pure-u-19-24{width:79.1667%;*width:79.1357%}.pure-u-4-5{width:80%;*width:79.969%}.pure-u-5-6,.pure-u-20-24{width:83.3333%;*width:83.3023%}.pure-u-7-8,.pure-u-21-24{width:87.5%;*width:87.469%}.pure-u-11-12,.pure-u-22-24{width:91.6667%;*width:91.6357%}.pure-u-23-24{width:95.8333%;*width:95.8023%}.pure-u-1,.pure-u-1-1,.pure-u-5-5,.pure-u-24-24{width:100%}@media screen and (min-width:35.5em){.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-1-2,.pure-u-sm-1-3,.pure-u-sm-2-3,.pure-u-sm-1-4,.pure-u-sm-3-4,.pure-u-sm-1-5,.pure-u-sm-2-5,.pure-u-sm-3-5,.pure-u-sm-4-5,.pure-u-sm-5-5,.pure-u-sm-1-6,.pure-u-sm-5-6,.pure-u-sm-1-8,.pure-u-sm-3-8,.pure-u-sm-5-8,.pure-u-sm-7-8,.pure-u-sm-1-12,.pure-u-sm-5-12,.pure-u-sm-7-12,.pure-u-sm-11-12,.pure-u-sm-1-24,.pure-u-sm-2-24,.pure-u-sm-3-24,.pure-u-sm-4-24,.pure-u-sm-5-24,.pure-u-sm-6-24,.pure-u-sm-7-24,.pure-u-sm-8-24,.pure-u-sm-9-24,.pure-u-sm-10-24,.pure-u-sm-11-24,.pure-u-sm-12-24,.pure-u-sm-13-24,.pure-u-sm-14-24,.pure-u-sm-15-24,.pure-u-sm-16-24,.pure-u-sm-17-24,.pure-u-sm-18-24,.pure-u-sm-19-24,.pure-u-sm-20-24,.pure-u-sm-21-24,.pure-u-sm-22-24,.pure-u-sm-23-24,.pure-u-sm-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-sm-1-24{width:4.1667%;*width:4.1357%}.pure-u-sm-1-12,.pure-u-sm-2-24{width:8.3333%;*width:8.3023%}.pure-u-sm-1-8,.pure-u-sm-3-24{width:12.5%;*width:12.469%}.pure-u-sm-1-6,.pure-u-sm-4-24{width:16.6667%;*width:16.6357%}.pure-u-sm-1-5{width:20%;*width:19.969%}.pure-u-sm-5-24{width:20.8333%;*width:20.8023%}.pure-u-sm-1-4,.pure-u-sm-6-24{width:25%;*width:24.969%}.pure-u-sm-7-24{width:29.1667%;*width:29.1357%}.pure-u-sm-1-3,.pure-u-sm-8-24{width:33.3333%;*width:33.3023%}.pure-u-sm-3-8,.pure-u-sm-9-24{width:37.5%;*width:37.469%}.pure-u-sm-2-5{width:40%;*width:39.969%}.pure-u-sm-5-12,.pure-u-sm-10-24{width:41.6667%;*width:41.6357%}.pure-u-sm-11-24{width:45.8333%;*width:45.8023%}.pure-u-sm-1-2,.pure-u-sm-12-24{width:50%;*width:49.969%}.pure-u-sm-13-24{width:54.1667%;*width:54.1357%}.pure-u-sm-7-12,.pure-u-sm-14-24{width:58.3333%;*width:58.3023%}.pure-u-sm-3-5{width:60%;*width:59.969%}.pure-u-sm-5-8,.pure-u-sm-15-24{width:62.5%;*width:62.469%}.pure-u-sm-2-3,.pure-u-sm-16-24{width:66.6667%;*width:66.6357%}.pure-u-sm-17-24{width:70.8333%;*width:70.8023%}.pure-u-sm-3-4,.pure-u-sm-18-24{width:75%;*width:74.969%}.pure-u-sm-19-24{width:79.1667%;*width:79.1357%}.pure-u-sm-4-5{width:80%;*width:79.969%}.pure-u-sm-5-6,.pure-u-sm-20-24{width:83.3333%;*width:83.3023%}.pure-u-sm-7-8,.pure-u-sm-21-24{width:87.5%;*width:87.469%}.pure-u-sm-11-12,.pure-u-sm-22-24{width:91.6667%;*width:91.6357%}.pure-u-sm-23-24{width:95.8333%;*width:95.8023%}.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-5-5,.pure-u-sm-24-24{width:100%}}@media screen and (min-width:48em){.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-1-2,.pure-u-md-1-3,.pure-u-md-2-3,.pure-u-md-1-4,.pure-u-md-3-4,.pure-u-md-1-5,.pure-u-md-2-5,.pure-u-md-3-5,.pure-u-md-4-5,.pure-u-md-5-5,.pure-u-md-1-6,.pure-u-md-5-6,.pure-u-md-1-8,.pure-u-md-3-8,.pure-u-md-5-8,.pure-u-md-7-8,.pure-u-md-1-12,.pure-u-md-5-12,.pure-u-md-7-12,.pure-u-md-11-12,.pure-u-md-1-24,.pure-u-md-2-24,.pure-u-md-3-24,.pure-u-md-4-24,.pure-u-md-5-24,.pure-u-md-6-24,.pure-u-md-7-24,.pure-u-md-8-24,.pure-u-md-9-24,.pure-u-md-10-24,.pure-u-md-11-24,.pure-u-md-12-24,.pure-u-md-13-24,.pure-u-md-14-24,.pure-u-md-15-24,.pure-u-md-16-24,.pure-u-md-17-24,.pure-u-md-18-24,.pure-u-md-19-24,.pure-u-md-20-24,.pure-u-md-21-24,.pure-u-md-22-24,.pure-u-md-23-24,.pure-u-md-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-md-1-24{width:4.1667%;*width:4.1357%}.pure-u-md-1-12,.pure-u-md-2-24{width:8.3333%;*width:8.3023%}.pure-u-md-1-8,.pure-u-md-3-24{width:12.5%;*width:12.469%}.pure-u-md-1-6,.pure-u-md-4-24{width:16.6667%;*width:16.6357%}.pure-u-md-1-5{width:20%;*width:19.969%}.pure-u-md-5-24{width:20.8333%;*width:20.8023%}.pure-u-md-1-4,.pure-u-md-6-24{width:25%;*width:24.969%}.pure-u-md-7-24{width:29.1667%;*width:29.1357%}.pure-u-md-1-3,.pure-u-md-8-24{width:33.3333%;*width:33.3023%}.pure-u-md-3-8,.pure-u-md-9-24{width:37.5%;*width:37.469%}.pure-u-md-2-5{width:40%;*width:39.969%}.pure-u-md-5-12,.pure-u-md-10-24{width:41.6667%;*width:41.6357%}.pure-u-md-11-24{width:45.8333%;*width:45.8023%}.pure-u-md-1-2,.pure-u-md-12-24{width:50%;*width:49.969%}.pure-u-md-13-24{width:54.1667%;*width:54.1357%}.pure-u-md-7-12,.pure-u-md-14-24{width:58.3333%;*width:58.3023%}.pure-u-md-3-5{width:60%;*width:59.969%}.pure-u-md-5-8,.pure-u-md-15-24{width:62.5%;*width:62.469%}.pure-u-md-2-3,.pure-u-md-16-24{width:66.6667%;*width:66.6357%}.pure-u-md-17-24{width:70.8333%;*width:70.8023%}.pure-u-md-3-4,.pure-u-md-18-24{width:75%;*width:74.969%}.pure-u-md-19-24{width:79.1667%;*width:79.1357%}.pure-u-md-4-5{width:80%;*width:79.969%}.pure-u-md-5-6,.pure-u-md-20-24{width:83.3333%;*width:83.3023%}.pure-u-md-7-8,.pure-u-md-21-24{width:87.5%;*width:87.469%}.pure-u-md-11-12,.pure-u-md-22-24{width:91.6667%;*width:91.6357%}.pure-u-md-23-24{width:95.8333%;*width:95.8023%}.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-5-5,.pure-u-md-24-24{width:100%}}@media screen and (min-width:64em){.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-1-2,.pure-u-lg-1-3,.pure-u-lg-2-3,.pure-u-lg-1-4,.pure-u-lg-3-4,.pure-u-lg-1-5,.pure-u-lg-2-5,.pure-u-lg-3-5,.pure-u-lg-4-5,.pure-u-lg-5-5,.pure-u-lg-1-6,.pure-u-lg-5-6,.pure-u-lg-1-8,.pure-u-lg-3-8,.pure-u-lg-5-8,.pure-u-lg-7-8,.pure-u-lg-1-12,.pure-u-lg-5-12,.pure-u-lg-7-12,.pure-u-lg-11-12,.pure-u-lg-1-24,.pure-u-lg-2-24,.pure-u-lg-3-24,.pure-u-lg-4-24,.pure-u-lg-5-24,.pure-u-lg-6-24,.pure-u-lg-7-24,.pure-u-lg-8-24,.pure-u-lg-9-24,.pure-u-lg-10-24,.pure-u-lg-11-24,.pure-u-lg-12-24,.pure-u-lg-13-24,.pure-u-lg-14-24,.pure-u-lg-15-24,.pure-u-lg-16-24,.pure-u-lg-17-24,.pure-u-lg-18-24,.pure-u-lg-19-24,.pure-u-lg-20-24,.pure-u-lg-21-24,.pure-u-lg-22-24,.pure-u-lg-23-24,.pure-u-lg-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-lg-1-24{width:4.1667%;*width:4.1357%}.pure-u-lg-1-12,.pure-u-lg-2-24{width:8.3333%;*width:8.3023%}.pure-u-lg-1-8,.pure-u-lg-3-24{width:12.5%;*width:12.469%}.pure-u-lg-1-6,.pure-u-lg-4-24{width:16.6667%;*width:16.6357%}.pure-u-lg-1-5{width:20%;*width:19.969%}.pure-u-lg-5-24{width:20.8333%;*width:20.8023%}.pure-u-lg-1-4,.pure-u-lg-6-24{width:25%;*width:24.969%}.pure-u-lg-7-24{width:29.1667%;*width:29.1357%}.pure-u-lg-1-3,.pure-u-lg-8-24{width:33.3333%;*width:33.3023%}.pure-u-lg-3-8,.pure-u-lg-9-24{width:37.5%;*width:37.469%}.pure-u-lg-2-5{width:40%;*width:39.969%}.pure-u-lg-5-12,.pure-u-lg-10-24{width:41.6667%;*width:41.6357%}.pure-u-lg-11-24{width:45.8333%;*width:45.8023%}.pure-u-lg-1-2,.pure-u-lg-12-24{width:50%;*width:49.969%}.pure-u-lg-13-24{width:54.1667%;*width:54.1357%}.pure-u-lg-7-12,.pure-u-lg-14-24{width:58.3333%;*width:58.3023%}.pure-u-lg-3-5{width:60%;*width:59.969%}.pure-u-lg-5-8,.pure-u-lg-15-24{width:62.5%;*width:62.469%}.pure-u-lg-2-3,.pure-u-lg-16-24{width:66.6667%;*width:66.6357%}.pure-u-lg-17-24{width:70.8333%;*width:70.8023%}.pure-u-lg-3-4,.pure-u-lg-18-24{width:75%;*width:74.969%}.pure-u-lg-19-24{width:79.1667%;*width:79.1357%}.pure-u-lg-4-5{width:80%;*width:79.969%}.pure-u-lg-5-6,.pure-u-lg-20-24{width:83.3333%;*width:83.3023%}.pure-u-lg-7-8,.pure-u-lg-21-24{width:87.5%;*width:87.469%}.pure-u-lg-11-12,.pure-u-lg-22-24{width:91.6667%;*width:91.6357%}.pure-u-lg-23-24{width:95.8333%;*width:95.8023%}.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-5-5,.pure-u-lg-24-24{width:100%}}@media screen and (min-width:80em){.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-1-2,.pure-u-xl-1-3,.pure-u-xl-2-3,.pure-u-xl-1-4,.pure-u-xl-3-4,.pure-u-xl-1-5,.pure-u-xl-2-5,.pure-u-xl-3-5,.pure-u-xl-4-5,.pure-u-xl-5-5,.pure-u-xl-1-6,.pure-u-xl-5-6,.pure-u-xl-1-8,.pure-u-xl-3-8,.pure-u-xl-5-8,.pure-u-xl-7-8,.pure-u-xl-1-12,.pure-u-xl-5-12,.pure-u-xl-7-12,.pure-u-xl-11-12,.pure-u-xl-1-24,.pure-u-xl-2-24,.pure-u-xl-3-24,.pure-u-xl-4-24,.pure-u-xl-5-24,.pure-u-xl-6-24,.pure-u-xl-7-24,.pure-u-xl-8-24,.pure-u-xl-9-24,.pure-u-xl-10-24,.pure-u-xl-11-24,.pure-u-xl-12-24,.pure-u-xl-13-24,.pure-u-xl-14-24,.pure-u-xl-15-24,.pure-u-xl-16-24,.pure-u-xl-17-24,.pure-u-xl-18-24,.pure-u-xl-19-24,.pure-u-xl-20-24,.pure-u-xl-21-24,.pure-u-xl-22-24,.pure-u-xl-23-24,.pure-u-xl-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-xl-1-24{width:4.1667%;*width:4.1357%}.pure-u-xl-1-12,.pure-u-xl-2-24{width:8.3333%;*width:8.3023%}.pure-u-xl-1-8,.pure-u-xl-3-24{width:12.5%;*width:12.469%}.pure-u-xl-1-6,.pure-u-xl-4-24{width:16.6667%;*width:16.6357%}.pure-u-xl-1-5{width:20%;*width:19.969%}.pure-u-xl-5-24{width:20.8333%;*width:20.8023%}.pure-u-xl-1-4,.pure-u-xl-6-24{width:25%;*width:24.969%}.pure-u-xl-7-24{width:29.1667%;*width:29.1357%}.pure-u-xl-1-3,.pure-u-xl-8-24{width:33.3333%;*width:33.3023%}.pure-u-xl-3-8,.pure-u-xl-9-24{width:37.5%;*width:37.469%}.pure-u-xl-2-5{width:40%;*width:39.969%}.pure-u-xl-5-12,.pure-u-xl-10-24{width:41.6667%;*width:41.6357%}.pure-u-xl-11-24{width:45.8333%;*width:45.8023%}.pure-u-xl-1-2,.pure-u-xl-12-24{width:50%;*width:49.969%}.pure-u-xl-13-24{width:54.1667%;*width:54.1357%}.pure-u-xl-7-12,.pure-u-xl-14-24{width:58.3333%;*width:58.3023%}.pure-u-xl-3-5{width:60%;*width:59.969%}.pure-u-xl-5-8,.pure-u-xl-15-24{width:62.5%;*width:62.469%}.pure-u-xl-2-3,.pure-u-xl-16-24{width:66.6667%;*width:66.6357%}.pure-u-xl-17-24{width:70.8333%;*width:70.8023%}.pure-u-xl-3-4,.pure-u-xl-18-24{width:75%;*width:74.969%}.pure-u-xl-19-24{width:79.1667%;*width:79.1357%}.pure-u-xl-4-5{width:80%;*width:79.969%}.pure-u-xl-5-6,.pure-u-xl-20-24{width:83.3333%;*width:83.3023%}.pure-u-xl-7-8,.pure-u-xl-21-24{width:87.5%;*width:87.469%}.pure-u-xl-11-12,.pure-u-xl-22-24{width:91.6667%;*width:91.6357%}.pure-u-xl-23-24{width:95.8333%;*width:95.8023%}.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-5-5,.pure-u-xl-24-24{width:100%}} -------------------------------------------------------------------------------- /css/_includes/vendor/_rouge--pygments--autumn.scss: -------------------------------------------------------------------------------- 1 | // .highlight .hll { background-color: #ffffcc } 2 | // .highlight { background: #ffffff; } 3 | .highlight .c { color: #aaaaaa; font-style: italic } /* Comment */ 4 | // .highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */ 5 | .highlight .k { color: #0000aa } /* Keyword */ 6 | .highlight .ch { color: #aaaaaa; font-style: italic } /* Comment.Hashbang */ 7 | .highlight .cm { color: #aaaaaa; font-style: italic } /* Comment.Multiline */ 8 | .highlight .cp { color: #4c8317 } /* Comment.Preproc */ 9 | .highlight .cpf { color: #aaaaaa; font-style: italic } /* Comment.PreprocFile */ 10 | .highlight .c1 { color: #aaaaaa; font-style: italic } /* Comment.Single */ 11 | .highlight .cs { color: #0000aa; font-style: italic } /* Comment.Special */ 12 | .highlight .gd { color: #aa0000 } /* Generic.Deleted */ 13 | .highlight .ge { font-style: italic } /* Generic.Emph */ 14 | .highlight .gr { color: #aa0000 } /* Generic.Error */ 15 | .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ 16 | .highlight .gi { color: #00aa00 } /* Generic.Inserted */ 17 | .highlight .go { color: #888888 } /* Generic.Output */ 18 | .highlight .gp { color: #555555 } /* Generic.Prompt */ 19 | .highlight .gs { font-weight: bold } /* Generic.Strong */ 20 | .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ 21 | .highlight .gt { color: #aa0000 } /* Generic.Traceback */ 22 | .highlight .kc { color: #0000aa } /* Keyword.Constant */ 23 | .highlight .kd { color: #0000aa } /* Keyword.Declaration */ 24 | .highlight .kn { color: #0000aa } /* Keyword.Namespace */ 25 | .highlight .kp { color: #0000aa } /* Keyword.Pseudo */ 26 | .highlight .kr { color: #0000aa } /* Keyword.Reserved */ 27 | .highlight .kt { color: #00aaaa } /* Keyword.Type */ 28 | .highlight .m { color: #009999 } /* Literal.Number */ 29 | .highlight .s { color: #aa5500 } /* Literal.String */ 30 | // .highlight .na { color: #1e90ff } /* Name.Attribute */ 31 | .highlight .na { color: #0000aa } 32 | .highlight .nb { color: #00aaaa } /* Name.Builtin */ 33 | .highlight .nc { color: #00aa00; text-decoration: underline } /* Name.Class */ 34 | .highlight .no { color: #aa0000 } /* Name.Constant */ 35 | .highlight .nd { color: #888888 } /* Name.Decorator */ 36 | .highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */ 37 | .highlight .nf { color: #00aa00 } /* Name.Function */ 38 | .highlight .nn { color: #00aaaa; text-decoration: underline } /* Name.Namespace */ 39 | // .highlight .nt { color: #1e90ff; font-weight: bold } /* Name.Tag */ 40 | .highlight .nv { color: #aa0000 } /* Name.Variable */ 41 | .highlight .ow { color: #0000aa } /* Operator.Word */ 42 | .highlight .w { color: #bbbbbb } /* Text.Whitespace */ 43 | .highlight .mb { color: #009999 } /* Literal.Number.Bin */ 44 | .highlight .mf { color: #009999 } /* Literal.Number.Float */ 45 | .highlight .mh { color: #009999 } /* Literal.Number.Hex */ 46 | .highlight .mi { color: #009999 } /* Literal.Number.Integer */ 47 | .highlight .mo { color: #009999 } /* Literal.Number.Oct */ 48 | .highlight .sa { color: #aa5500 } /* Literal.String.Affix */ 49 | .highlight .sb { color: #aa5500 } /* Literal.String.Backtick */ 50 | .highlight .sc { color: #aa5500 } /* Literal.String.Char */ 51 | .highlight .dl { color: #aa5500 } /* Literal.String.Delimiter */ 52 | .highlight .sd { color: #aa5500 } /* Literal.String.Doc */ 53 | .highlight .s2 { color: #aa5500 } /* Literal.String.Double */ 54 | .highlight .se { color: #aa5500 } /* Literal.String.Escape */ 55 | .highlight .sh { color: #aa5500 } /* Literal.String.Heredoc */ 56 | .highlight .si { color: #aa5500 } /* Literal.String.Interpol */ 57 | .highlight .sx { color: #aa5500 } /* Literal.String.Other */ 58 | .highlight .sr { color: #009999 } /* Literal.String.Regex */ 59 | .highlight .s1 { color: #aa5500 } /* Literal.String.Single */ 60 | .highlight .ss { color: #0000aa } /* Literal.String.Symbol */ 61 | .highlight .bp { color: #00aaaa } /* Name.Builtin.Pseudo */ 62 | .highlight .fm { color: #00aa00 } /* Name.Function.Magic */ 63 | .highlight .vc { color: #aa0000 } /* Name.Variable.Class */ 64 | .highlight .vg { color: #aa0000 } /* Name.Variable.Global */ 65 | .highlight .vi { color: #aa0000 } /* Name.Variable.Instance */ 66 | .highlight .vm { color: #aa0000 } /* Name.Variable.Magic */ 67 | .highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ 68 | -------------------------------------------------------------------------------- /css/main.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | // Vendor Modules 5 | @import "vendor/pure-custom-min"; // Pure Resonsive Grid 6 | @import "vendor/rouge--pygments--autumn"; 7 | 8 | // AllenNLP Vars and Mixins 9 | @import "vars"; 10 | @import "colors"; 11 | @import "flex"; 12 | @import "functions"; 13 | @import "text"; 14 | @import "utils"; 15 | 16 | // AllenNLP SCSS Modules 17 | @import "alert"; 18 | @import "base"; 19 | @import "banner"; 20 | @import "btn"; 21 | @import "callouts"; 22 | @import "col-layout"; 23 | @import "footer"; 24 | @import "header"; 25 | @import "icons"; 26 | @import "logo-list"; 27 | @import "models-table"; 28 | @import "publications"; 29 | @import "tab"; 30 | @import "toolbar"; 31 | @import "tutorial"; 32 | -------------------------------------------------------------------------------- /drop.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | 6 | {% include meta.html %} 7 | AllenNLP - DROP Dataset 8 | 9 | 10 |
11 | {% include header.html %} 12 | 13 | 21 |
22 | 23 |

24 | With system performance on existing reading comprehension benchmarks nearing or surpassing human performance, we need a new, hard 25 | dataset that improves systems' capabilities to actually read paragraphs of text. DROP is a crowdsourced, 26 | adversarially-created, 96k-question benchmark, in which a system must resolve references in a question, perhaps to multiple input 27 | positions, and perform discrete operations over them (such as addition, counting, or sorting). These operations require a much 28 | more comprehensive understanding of the content of paragraphs than what was necessary for prior datasets. 29 |

30 | 31 |

32 | AllenNLP provides an easy way for you to get started with this dataset, with a dataset reader that can be used with any model you 33 | design, and a reference implementation of the NAQANet model that was introduced in the DROP paper. Find more details in the links 34 | below. 35 |

36 | 37 |
  • Paper, describing the dataset and our initial model for it, 38 | Numerically-Augmented QANet (NAQANet), that adds some rudimentary numerical reasoning capability on top of 39 | QANet.
  • 40 |
  • Data, with about 77k questions in the 41 | train set and 9.5k questions in the dev set (and a similar number in a hidden test set). The data is distributed under the CC BY-SA 4.0 license.
  • 42 |
  • Code for the NAQANet model lives in AllenNLP: 43 | dataset reader, 44 | NAQANet model. 45 | Code for the other baselines in the paper may get added to AllenNLP in the future; open an issue on github if there's something 46 | in particular you'd like to see. 47 | 48 |
  • Leaderboard with an automated docker-based evaluation on 49 | a hidden test set. 50 |
  • 51 | 52 |
  • NAQANet demo - see how well current NLP systems 53 | understand paragraphs! The examples in the select box at the top should give you some sense of what kinds of questions are in 54 | DROP, what the system can do well, and a bit of what it can't. Change the paragraphs, input your own, try your own complex 55 | questions, and see what you find. If you find something interesting, 56 | let us know on twitter! 57 | 58 |

    Citation: 59 |

    60 | @inproceedings{Dua2019DROP,
    61 |   author={Dheeru Dua and Yizhong Wang and Pradeep Dasigi and Gabriel Stanovsky and Sameer Singh and Matt Gardner},
    62 |   title={  {DROP}: A Reading Comprehension Benchmark Requiring Discrete Reasoning Over Paragraphs},
    63 |   booktitle={Proc. of NAACL},
    64 |   year={2019}
    65 | }
    66 |         
    67 |

    68 |
  • 69 | 70 | {% include footer.html %} 71 |
    72 | {% include svg-sprite.html %} 73 | {% include scripts.html %} 74 | 75 | 76 | -------------------------------------------------------------------------------- /elmo.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | 6 | {% include meta.html %} 7 | ELMo: Deep contextualized word representations 8 | 9 | 10 |
    11 | {% include header.html %} 12 | 20 |
    21 |

    Introduction

    22 |

    ELMo is a deep contextualized word representation that models 23 | both (1) complex characteristics of word use (e.g., syntax and semantics), and (2) how these uses vary 24 | across linguistic contexts (i.e., to model polysemy). 25 | These word vectors are learned functions of the internal states of a deep bidirectional language model (biLM), which is pre-trained on a large text corpus. 26 | They can be easily added to existing models and significantly improve the state of the art across a broad range of challenging NLP problems, including question answering, textual entailment and sentiment analysis. 27 |

    Salient features

    28 |

    ELMo representations are: 29 |

    34 | 35 |

    Key result

    36 |

    Adding ELMo to existing NLP systems significantly improves the state-of-the-art for every considered task. In most cases, they can be simply swapped for pre-trained GloVe or other word vectors. 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 |
    TaskPrevious SOTA Our baselineELMo + BaselineIncrease (Absolute/Relative)
    SQuADSAN84.481.185.84.7 / 24.9%
    SNLIChen et al (2017)88.688.088.7 +/- 0.170.7 / 5.8%
    SRLHe et al (2017)81.781.484.63.2 / 17.2%
    CorefLee et al (2017)67.267.270.43.2 / 9.8%
    NERPeters et al (2017)91.93 +/- 0.1990.1592.22 +/- 0.102.06 / 21%
    Sentiment (5-class)McCann et al (2017)53.751.454.7 +/- 0.53.3 / 6.8%
    46 | 47 |

    Pre-trained ELMo Models

    48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 |
    ModelLink(Weights/Options File) # Parameters (Millions)LSTM Hidden Size/Output size# Highway Layers>SRL F1Constituency Parsing F1
    Smallweightsoptions13.61024/128183.6293.12
    Mediumweightsoptions28.02048/256184.0493.60
    Originalweightsoptions93.64096/512284.6393.85
    Original (5.5B)weightsoptions93.64096/512284.9394.01
    100 |

    The baseline models described are from the original ELMo paper for SRL and from Extending a Parser to Distant Domains Using a Few Dozen Partially Annotated Examples (Joshi et al, 2018) for the Constituency Parser. We do not include GloVe vectors in these models to provide a direct comparison between ELMo representations - in some cases, this results in a small drop in performance (0.5 F1 for the Constituency Parser, > 0.1 for the SRL model).

    101 |

    All models except for the 5.5B model were trained on the 1 Billion Word Benchmark, approximately 800M tokens of news crawl data from WMT 2011. 102 | The ELMo 5.5B model was trained on a dataset of 5.5B tokens consisting of Wikipedia (1.9B) and all of the monolingual news crawl data from WMT 2008-2012 (3.6B). 103 | In tasks where we have made a direct comparison, the 5.5B model has slightly higher performance then the original ELMo model, so we recommend it as a default model. 104 |

    105 |

    Contributed ELMo Models

    106 | ELMo models have been trained for other languages and domains. We maintain a list of models here but are unable to respond to quality issues ourselves. 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 152 | 153 | 154 | 155 | 156 | 157 | 159 | 160 |
    ModelLink(Weights/Options File) Contributor/Notes
    Portuguese (Wikipedia corpus)weightsoptionsFederal University of Goiás (UFG). Pedro Vitor Quinta de Castro, Anderson da Silva 119 | Soares, Nádia Félix Felipe da Silva, Rafael Teixeira Sousa, Ayrton Denner da Silva Amaral. 120 | Sponsered by Data-H, Aviso Urgente, and Americas Health Labs. 121 |
    Portuguese (brWaC corpus)weightsoptions
    JapaneseweightsoptionsExaWizards Inc. Enkhbold Bataa, Joshua Wu. (paper)
    Germancode and weightsPhilip May & T-Systems onsite
    Basquecode and weightsStefan Schweter
    PubMedweightsoptionsMatthew Peters 151 |
    Transformer ELMomodel archiveJoel Grus and Brendan Roof 158 |
    161 | 162 | 163 |

    Code releases and AllenNLP integration

    164 |

    There are reference implementations of the pre-trained bidirectional language model available in both PyTorch and TensorFlow. The PyTorch verison is fully integrated into AllenNLP. The TensorFlow version is also available in bilm-tf. 165 |

    Training models

    166 |

    You can retrain ELMo models using the tensorflow code in bilm-tf. 167 |

    More information

    168 |

    See our paper Deep contextualized word representations for more information about the algorithm and a detailed analysis. 169 |

    Citation: 170 |

    171 | @inproceedings{Peters:2018,
    172 |   author={Peters, Matthew E. and  Neumann, Mark and Iyyer, Mohit and Gardner, Matt and Clark, Christopher and Lee, Kenton and Zettlemoyer, Luke},
    173 |   title={Deep contextualized word representations},
    174 |   booktitle={Proc. of NAACL},
    175 |   year={2018}
    176 | }
    177 |     
    178 |
    179 | {% include footer.html %} 180 |
    181 | {% include svg-sprite.html %} 182 | {% include scripts.html %} 183 | 184 | 185 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/favicon.ico -------------------------------------------------------------------------------- /iirc.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | 6 | {% include meta.html %} 7 | AllenNLP - IIRC Dataset 8 | 9 | 10 |
    11 | {% include header.html %} 12 | 13 | 21 |
    22 | 23 |

    24 | Humans often have to read multiple documents to address their information needs. However, most existing reading comprehension tasks only focus on questions for which the contexts provide all the information required to answer them, thus not evaluating a system's performance at identifying a potential lack of sufficient information and locating the sources for that information. IIRC is a crowdsourced dataset consisting of information-seeking questions requiring models to identify and then retrieve necessary information that is missing from the original context. 25 |

    26 | 27 |

    28 | Find more details in the links below. 29 |

    30 | 31 |
  • 32 | Paper, describing the dataset and our baseline models for it. 33 |
  • 34 |
  • 35 | Dataset with about 10.8k questions in the train set and 1.3k questions in both the dev and test sets. The data is distributed under the CC BY 4.0 license.
  • 36 |
  • 37 | Code for the baseline described in the paper. 38 |
  • 39 | 40 |

    Citation: 41 |

    42 | @inproceedings{Ferguson2020IIRC,
    43 |   author={James Ferguson and Matt Gardner and Hannaneh Hajishirzi and Tushar Khot and Pradeep Dasigi},
    44 |   title={  {IIRC}: A Dataset of Incomplete Information Reading Comprehension Questions},
    45 |   booktitle={Proc. of EMNLP},
    46 |   year={2020}
    47 | }
    48 |         
    49 |

    50 |
    51 | 52 | {% include footer.html %} 53 |
    54 | {% include svg-sprite.html %} 55 | {% include scripts.html %} 56 | 57 | 58 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | 6 | {% include meta.html %} 7 | AllenNLP 8 | 9 | 10 |
    11 | {% include header.html %} 12 | 13 | 21 | 22 | 42 | 43 | 49 | 50 | 56 |
    57 | 58 | {% include footer.html %} 59 | 60 | {% include svg-sprite.html %} 61 | {% include scripts.html %} 62 | 63 | 64 | -------------------------------------------------------------------------------- /interpret.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | 6 | {% include meta.html %} 7 | AllenNLP Interpret 8 | 9 | 10 | 12 | 13 | 31 | 32 | 33 |
    34 | {% include header.html %} 35 | 36 | 44 |
    45 |

    46 | Despite constant advances and seemingly super-human performance on constrained domains, state-of-the-art models for NLP are imperfect. These imperfections, coupled with today's advances being driven by (seemingly black-box) neural models, leave researchers and practitioners scratching their heads asking, why did my model make this prediction? 47 |

    48 | 49 |

    50 | We present AllenNLP Interpret, a toolkit built on top of AllenNLP for interactive model interpretations. The toolkit makes it easy to apply gradient-based saliency maps and adversarial attacks to new models, as well as develop new interpretation methods. AllenNLP interpret contains three components: a suite of interpretation techniques applicable to most models, APIs for developing new interpretation methods (e.g., APIs to obtain input gradients), and reusable front-end components for visualizing the interpretation results. 51 |

    52 | 53 |

    This page presents links to:

    54 | 55 |
  • Paper describing the framework, the technical implementation details, and showing some example use cases.
  • 56 | 57 |
  • Live demos for various models and tasks, such as 58 | 73 |
  • 74 | 75 |
  • Tutorials for interpreting any model of your choice, and addding a new interpretation method.
  • 76 | 77 |
  • Code for interpreting/attacking models and visualizing the results in the demo (e.g., sentiment analysis).
  • 78 | 79 |

    Citation: 80 |

     @inproceedings{Wallace2019AllenNLP,
     81 |   Author = {Eric Wallace and Jens Tuyls and Junlin Wang and Sanjay Subramanian
     82 |   and Matt Gardner and Sameer Singh},
     83 |   Booktitle = {Empirical Methods in Natural Language Processing},
     84 |   Year = {2019},
     85 |   Title = { {AllenNLP Interpret}: A Framework for Explaining Predictions of {NLP} Models}}
     86 |         
    87 |

    88 | 89 |
    90 |
    91 |

    Paper Authors

    92 |
    93 |
    94 | eric 95 |
    96 |

    Eric Wallace

    97 |
    98 |
    99 |
    100 | jens 101 |
    102 |

    Jens Tuyls

    103 |
    104 |
    105 |
    106 | junlin 107 |
    108 |

    Junlin Wang

    109 |
    110 |
    111 |
    112 | matt 113 |
    114 |

    Sanjay S

    115 |
    116 |
    117 |
    118 | matt 119 |
    120 |

    Matt Gardner

    121 |
    122 |
    123 |
    124 | sameer 125 |
    126 |

    Sameer Singh

    127 |
    128 |
    129 |
    130 |
    131 | 132 |
    133 | 134 | {% include footer.html %} 135 |
    136 | {% include svg-sprite.html %} 137 | {% include scripts.html %} 138 | 139 | 140 | -------------------------------------------------------------------------------- /js/scripts.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | // Detect touch (mobile) 4 | function isTouchDevice() { 5 | return 'ontouchstart' in document.documentElement; 6 | } 7 | 8 | // Add Selected class to nav link that matches page ID 9 | let pageId; 10 | 11 | function matchPage(e) { 12 | if (e.getAttribute("data-page") === pageId) { 13 | e.classList.add("nav__link--selected"); 14 | } 15 | } 16 | 17 | const navLinks = Array.prototype.slice.call(document.querySelectorAll("header nav li[data-page]")); 18 | if (document.body.hasAttribute("data-page")) { 19 | pageId = document.body.getAttribute("data-page"); 20 | navLinks.forEach(matchPage); 21 | } 22 | 23 | // Toggle MOW menu 24 | let mowActive = false; 25 | const headerNav = document.querySelector("header nav"); 26 | 27 | document.getElementById("header__mow-nav-trigger").onclick = function() { 28 | if (!mowActive) { 29 | headerNav.classList.add("nav--mow-active"); 30 | mowActive = true; 31 | } else { 32 | headerNav.classList.remove("nav--mow-active"); 33 | mowActive = false; 34 | } 35 | } 36 | 37 | // Auto select-all text in code block on click (if user is on desktop) 38 | if (!isTouchDevice()) { 39 | // Loop through tab code blocks 40 | const tabCodes = document.querySelectorAll(".tab__page code"); 41 | for (let i = 0; i < tabCodes.length; i++) { 42 | // Add onClick to each tab code block 43 | tabCodes[i].addEventListener("click", function() { 44 | let sel, range; 45 | const el = this; 46 | if (window.getSelection && document.createRange) { 47 | sel = window.getSelection(); 48 | if (sel.toString() === ""){ 49 | window.setTimeout(function() { 50 | range = document.createRange(); 51 | range.selectNodeContents(el); 52 | sel.removeAllRanges(); 53 | sel.addRange(range); 54 | },1); 55 | } 56 | } else if (document.selection) { 57 | sel = document.selection.createRange(); 58 | if (sel.text === "") { 59 | range = document.body.createTextRange(); 60 | range.moveToElementText(el); 61 | range.select(); 62 | } 63 | } 64 | }); 65 | } 66 | } 67 | 68 | // Tab Navigation Interaction 69 | const tabNavItems = document.querySelectorAll("li.tab__nav__item"); 70 | // Loop through all tabNavItems 71 | for (let i = 0; i < tabNavItems.length; i++) { 72 | // Add onClick function 73 | tabNavItems[i].addEventListener("click", function() { 74 | // Set constants 75 | const tabPageContainer = this.parentNode.nextElementSibling; 76 | const tabPages = tabPageContainer.children; 77 | const tabNavItems = this.parentNode.children; 78 | const navDataTab = this.getAttribute("data-tab"); 79 | // Unselect all Tab pages 80 | function unselectTabNavItems() { 81 | for (let i = 0; i < tabNavItems.length; i++) { 82 | tabNavItems[i].classList.remove("tab__nav__item--selected"); 83 | } 84 | } 85 | // if this tab nav item isn't selected then select it 86 | if (!this.classList.contains("tab__nav__item--selected")) { 87 | let contentHeight; 88 | // Clear selected tab nav items 89 | unselectTabNavItems(); 90 | // Add selected class to selected tab nav item 91 | this.classList.add("tab__nav__item--selected"); 92 | // Loop through tab pages 93 | for (let i = 0; i < tabPages.length; i++) { 94 | // unselect all pages 95 | tabPages[i].classList.remove("tab__page--selected"); 96 | // Select page that matches selected nav 97 | if (tabPages[i].getAttribute("data-tab") === navDataTab) { 98 | contentHeight = tabPages[i].offsetHeight; 99 | tabPages[i].classList.add("tab__page--selected"); 100 | } 101 | } 102 | // Set container height to selected page content height 103 | tabPageContainer.style.height = contentHeight + "px"; 104 | // otherwise, unselct all tab nav items 105 | } else { 106 | // Clear selected tab nav items 107 | unselectTabNavItems(); 108 | // Collapse all pages 109 | tabPageContainer.style.height = "0px"; 110 | for (let i = 0; i < tabPages.length; i++) { 111 | tabPages[i].classList.remove("tab__page--selected"); 112 | } 113 | } 114 | }); 115 | } 116 | 117 | // Auto-generate Side-Nav Section Navigation 118 | if (document.getElementById("auto-nav")) { 119 | const sections = document.querySelectorAll("#auto-nav .col-layout__content .js-dynamic-section"); 120 | const sectionNav = document.querySelector("#auto-nav .col-layout__nav nav"); 121 | let html = sectionNav.innerHTML; 122 | let group = ""; 123 | for (let i = 0; i < sections.length; i++) { 124 | const thisGroup = sections[i].getAttribute("data-group"); 125 | if (thisGroup !== group) { 126 | if (i === 0) { 127 | html += `

    ${thisGroup}

    ${thisGroup}

    `; 136 | 137 | // Select nav link that corresponds to visible section 138 | let scrollPosition = window.scrollY; 139 | window.addEventListener('scroll', function() { 140 | scrollPosition = window.scrollY; 141 | const dynamicLinks = document.querySelectorAll("#auto-nav .col-layout__nav nav ul li a.js-dynamic-link"); 142 | for (let i = 0; i < dynamicLinks.length; i++) { 143 | dynamicLinks[i].parentNode.classList.remove("col-layout__nav--selected"); 144 | const section = document.querySelector(dynamicLinks[i].getAttribute("href")); 145 | const sectionTop = section.offsetTop; 146 | // Offset (in pixels) from top of section that should trigger corresponding side-nav selection: 147 | const selectionOffset = 250; 148 | if ((scrollPosition > (sectionTop - selectionOffset)) && (scrollPosition < sectionTop + section.offsetHeight - selectionOffset)) { 149 | dynamicLinks[i].parentNode.classList.add("col-layout__nav--selected"); 150 | } 151 | } 152 | }); 153 | } 154 | 155 | // Smooth Scroll anchor links 156 | const anchorLinks = document.querySelectorAll("a[href^='#']"); 157 | for (let i = 0; i < anchorLinks.length; i++) { 158 | anchorLinks[i].addEventListener("click", function(e) { 159 | e.preventDefault(); 160 | const element = this.getAttribute("href"); 161 | document.querySelector(element).scrollIntoView({behavior: "smooth", block: "start"}); 162 | }); 163 | } 164 | 165 | // Tutorial scrolling UX 166 | const annotatedCode = document.getElementById("annotated-code"); 167 | 168 | // Proceed with code annotation logic if container element exists: 169 | if (annotatedCode) { 170 | const annotationContainer = document.getElementById("annotated-code__annotations"); 171 | // Dynamically create top/bottom fade effects for annotation scrolling: 172 | let topFadeNode = document.createElement("li"); 173 | let bottomFadeNode = document.createElement("li"); 174 | topFadeNode.setAttribute("id", "annotated-code__top-fade"); 175 | bottomFadeNode.setAttribute("id", "annotated-code__bottom-fade"); 176 | annotationContainer.insertBefore(topFadeNode, annotationContainer.childNodes[0]); 177 | annotationContainer.appendChild(bottomFadeNode); 178 | 179 | // Set common element constants: 180 | const topFade = document.getElementById("annotated-code__top-fade"); 181 | const bottomFade = document.getElementById("annotated-code__bottom-fade"); 182 | const codeBlocks = document.querySelectorAll(".annotated-code__code-block"); 183 | const annotations = document.querySelectorAll("#annotated-code__annotations li.annotation"); 184 | 185 | // Set default distance from top of screen for determining which code block is auto-focused during scroll: 186 | let scrollTop = 0; 187 | let containerTopOffset = 0; 188 | let scrollOffset = 0; 189 | let focusThreshold = 300; 190 | 191 | function focusBlock(id) { 192 | const focusedCodeBlock = document.getElementById(`c${id}`); 193 | const focusedAnnotation = document.getElementById(`a${id}`); 194 | 195 | // Remove focus class on any code block or annotation element that has it: 196 | function resetFocus(array) { 197 | for (let i = 0; i < array.length; i++) { 198 | if (array[i].classList.contains("focused")) { 199 | array[i].classList.remove("focused"); 200 | } 201 | } 202 | } 203 | resetFocus(codeBlocks); 204 | resetFocus(annotations); 205 | 206 | // Add focused class to the focused code/annotation pair: 207 | focusedCodeBlock.classList.add("focused"); 208 | focusedAnnotation.classList.add("focused"); 209 | 210 | // Set container offsets: 211 | const codeOffset = focusedCodeBlock.offsetTop; 212 | const annotationOffset = focusedAnnotation.offsetTop; 213 | const offset = annotationOffset - codeOffset; 214 | 215 | // Move annotation list to align focused annotation with focused code block: 216 | annotationContainer.style.transform = `translateY(-${offset}px)`; 217 | // Compensate for transform offset on sticky bottom/top fade-out elements: 218 | topFade.style.transform = `translateY(${offset}px)`; 219 | bottomFade.style.transform = `translateY(${offset}px)`; 220 | } 221 | 222 | // Update scroll-based offsets: 223 | function updateOffsets() { 224 | scrollTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop; 225 | containerTopOffset = annotatedCode.offsetTop; 226 | scrollOffset = scrollTop - containerTopOffset; 227 | } 228 | 229 | // onScroll Event: 230 | window.addEventListener("scroll", function() { 231 | updateOffsets(); 232 | const containerBottomOffset = containerTopOffset + annotatedCode.offsetHeight; 233 | // Make topFade "sticky" 234 | if (scrollTop >= containerTopOffset) { 235 | topFade.style.top = `${scrollOffset - 120}px`; 236 | } else { 237 | topFade.style.top = ""; 238 | } 239 | // Make bottomFade "sticky 240 | if (scrollTop <= containerBottomOffset) { 241 | bottomFade.style.top = `${scrollOffset + window.innerHeight}px`; 242 | } 243 | if (scrollTop >= (containerBottomOffset - window.innerHeight)) { 244 | bottomFade.style.top = `${annotatedCode.offsetHeight}px`; 245 | } 246 | // Focus code block at appropriate scroll offset: 247 | for (let i = 0; i < codeBlocks.length; i++) { 248 | const thisId = codeBlocks[i].id; 249 | const thisCodeBlock = document.getElementById(thisId); 250 | const thisOffset = thisCodeBlock.offsetTop; 251 | 252 | if ((scrollOffset > (thisOffset - focusThreshold)) && (scrollOffset < (thisOffset + thisCodeBlock.offsetHeight - focusThreshold))) { 253 | focusBlock(thisId.replace("c","")); 254 | break; 255 | } 256 | } 257 | }); 258 | 259 | // Iterate through element list and add mouse events that call focusBlock 260 | function buildEvents(array) { 261 | for (let i = 0; i < array.length; i++) { 262 | const thisId = array[i].id; 263 | array[i].addEventListener("mousemove", function() { 264 | updateOffsets(); 265 | focusThreshold = document.getElementById(`c${thisId.replace(/c|a/g,"")}`).offsetTop - scrollOffset; 266 | focusBlock(thisId.replace(/c|a/g,"")); 267 | }); 268 | } 269 | } 270 | buildEvents(codeBlocks); 271 | buildEvents(annotations); 272 | 273 | // Focus first code block/annotation pair by default 274 | focusBlock(document.querySelector(".annotated-code__code-block:first-child").id.replace(/c|a/g,"")); 275 | } 276 | -------------------------------------------------------------------------------- /mocha.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | 6 | {% include meta.html %} 7 | AllenNLP - MOCHA Dataset 8 | 9 | 11 | 22 | 23 | 24 | 25 |
    26 | {% include header.html %} 27 | 28 | 36 | 37 |
    38 | 39 |

    40 | Posing reading comprehension as a generation problem provides a great deal of flexibility, allowing for 41 | open-ended questions with few restrictions on possible answers. 42 | However, progress is impeded by existing generation metrics, which rely on token overlap and are agnostic to 43 | the nuances of reading comprehension. 44 | To address this, we introduce a benchmark for training and evaluating generative reading comprehension 45 | metrics: MOdeling Correctness with Human Annotations. 46 | MOCHA contains 40K human judgement scores on model outputs from 6 diverse question answering datasets and an 47 | additional set of minimal pairs for evaluation. 48 | Using MOCHA, we train an evaluation metric: LERC, a Learned Evaluation metric for Reading 49 | Comprehension, to mimic human judgement scores. 50 |

    51 | 52 |

    53 | Find out more in the links below. 54 |

    55 | 56 |
  • Paper: 57 | EMNLP 2020 paper describing MOCHA and LERC. 58 |
  • 59 | 60 |
  • Data: 61 | MOCHA contains ~40K instances split into train, validation, and test sets. It is distributed under the CC BY-SA 4.0 license. 63 |
  • 64 | 65 |
  • 66 | Code: Coming soon! 67 | This will include code for reproducing LERC and an evaluation script. 68 | We will also be providing a trained version of LERC to be used for evaluation. 69 | The code base heavily relies on PyTorch, 70 | HuggingFace Transformers, and AllenNLP. 72 |
  • 73 | 74 |
  • 75 | Leaderboard: Coming soon! 76 |
  • 77 | 78 |
  • Demo: Coming soon! 79 | You'll be able to see how well a learned metric evaluates generated answers in comparison to other metrics 80 | like BLEU, METEOR, and BERTScore. 81 | The examples should give you some sense of what kinds of questions are in MOCHA, and what LERC can and 82 | cannot currently handle. 83 | If you find something interesting, let us know on twitter! 84 |
  • 85 | 86 |

    87 | Citation: 88 |

     89 |           @inproceedings{Chen2020MOCHAAD,
     90 |             author={Anthony Chen and Gabriel Stanovsky and Sameer Singh and Matt Gardner},
     91 |             title={MOCHA: A Dataset for Training and Evaluating Generative Reading Comprehension Metrics},
     92 |             booktitle={EMNLP},
     93 |             year={2020}
     94 |           }
     95 |           
    96 |

    97 | 98 |
    99 |

    Paper Authors

    100 |
    101 |
    102 | anthony 103 |
    104 |

    105 | Anthony Chen 106 |

    107 |
    108 |
    109 |
    110 | gabriel 111 |
    112 |

    113 | Gabriel Stanovsky 114 |

    115 |
    116 |
    117 |
    118 | sameer 119 |
    120 |

    121 | Sameer Singh 122 |

    123 |
    124 |
    125 |
    126 | matt 127 |
    128 |

    129 | Matt Gardner 130 |

    131 |
    132 |
    133 |
    134 |
    135 | 136 |
    137 | 138 | {% include footer.html %} 139 |
    140 | {% include svg-sprite.html %} 141 | {% include scripts.html %} 142 | 143 | 144 | -------------------------------------------------------------------------------- /orb.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | 6 | {% include meta.html %} 7 | AllenNLP - DROP Dataset 8 | 9 | 10 |
    11 | {% include header.html %} 12 | 13 | 21 |
    22 | 23 |

    24 | A lot of diverse reading comprehension datasets have recently been introduced to study various phenomena in natural language, 25 | ranging from simple paraphrase matching and entity typing to entity tracking and understanding the implications of the context. 26 | Given the availability of many such datasets, comprehensive and reliable evaluation is tedious and time-consuming. 27 | ORB is an evaluation server that reports performance on diverse reading comprehension datasets, 28 | encouraging and facilitating testing a single model's capability in understanding a wide variety of reading phenomena. It also 29 | includes a suite of synthetic augmentations that test model's ability to generalize to out-of-distribution syntactic structures. 30 |

    31 | 32 |

    33 | Find more details in the links below. 34 |

    35 | 36 |
  • Paper, describing various tasks, synthetic augmentations and results on a baseline 37 | Numerically-Aware BERT (NABERT), that adds some rudimentary numerical reasoning capability, no-answer capbility along with span extraction on top of 38 | BERT.
  • 39 | 40 |
  • Leaderboard with an automated docker-based evaluation on 41 | hidden test set. 42 |
  • 43 | 44 | 45 | 56 |
    57 | 58 | {% include footer.html %} 59 |
    60 | {% include svg-sprite.html %} 61 | {% include scripts.html %} 62 | 63 | 64 | -------------------------------------------------------------------------------- /papers/AllenNLP_white_paper.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/allennlp-website/8c27645d3942a8017891928a9caa1ddb9e4b7a4a/papers/AllenNLP_white_paper.pdf -------------------------------------------------------------------------------- /publications.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | 6 | {% include meta.html %} 7 | AllenNLP - Publications 8 | 9 | 10 |
    11 | {% include header.html %} 12 | 32 |
    33 | 42 |
    43 | {% include footer.html %} 44 |
    45 | {% include svg-sprite.html %} 46 | {% include scripts.html %} 47 | 48 | 49 | -------------------------------------------------------------------------------- /quoref.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | 6 | {% include meta.html %} 7 | AllenNLP - Quoref Dataset 8 | 9 | 10 |
    11 | {% include header.html %} 12 | 13 | 21 |
    22 | 23 |

    24 | Machine comprehension of texts longer than a single sentence often requires coreference resolution. 25 | However, most current reading comprehension benchmarks do not contain complex coreferential phenomena and hence fail 26 | to evaluate the ability of models to resolve coreference. We present a new crowdsourced 27 | dataset containing more than 24K span-selection questions that require resolving coreference among 28 | entities in about 4.7K English paragraphs from Wikipedia. 29 |

    30 | 31 |

    32 | AllenNLP provides an easy way for you to get started with this dataset, with a dataset reader that can be used with any model you 33 | design, and a reference implementation of the basline models used in the paper. Find more details in the links 34 | below. 35 |

    36 | 37 |
  • Paper, describing the dataset and our basline models for it.
  • 38 |
  • Data, with over 19K questions in the 39 | train set and over 2.4K questions in the dev set and 2.5K in the test set. The data is distributed under the CC BY 4.0 license.
  • 40 | 41 |
  • Leaderboard with an automated docker-based evaluation on 42 | a hidden test set. 43 |
  • 44 | 45 |

    Citation: 46 |

    47 | @inproceedings{Dasigi2019Quoref,
    48 |   author={Pradeep Dasigi and Nelson F. Liu and Ana Marasovi\'{c} and Noah A. Smith and Matt Gardner},
    49 |   title={Quoref: A Reading Comprehension Dataset with Questions Requiring Coreferential Reasoning},
    50 |   booktitle={Proc. of EMNLP-IJCNLP},
    51 |   year={2019}
    52 | }
    53 |         
    54 |

    55 |
    56 | 57 | {% include footer.html %} 58 |
    59 | {% include svg-sprite.html %} 60 | {% include scripts.html %} 61 | 62 | 63 | -------------------------------------------------------------------------------- /ropes.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | 6 | {% include meta.html %} 7 | AllenNLP - ROPES Dataset 8 | 9 | 10 |
    11 | {% include header.html %} 12 | 13 | 22 |
    23 | 24 |

    25 | ROPES is a reading comprehension dataset that tests a system's ability to apply knowledge from reading to novel situations. 26 | In this crowdsourced, 14k question-answering benchmark, a system is required to read a passage of expository text (eg. Wikipedia, textbooks), and use the causal relationships in the text to answer questions about a novel situation. 27 |

    28 | 29 |
  • Paper, describing the dataset and our baseline models for it.
  • 30 |
  • Data, with over 10K questions in the 32 | train set and over 1.6K questions in the dev set (and a similar number in a hidden test set). The data is distributed under the CC BY-SA 4.0 license.
  • 33 |
  • Leaderboard with an automated docker-based evaluation on 34 | a hidden test set. 35 |
  • 36 |

    Citation: 37 |

    38 | @inproceedings{Lin2019ReasoningOP,
    39 |   author={Kevin Lin and Oyvind Tafjord and Peter Clark and Matt Gardner},
    40 |   title={Reasoning Over Paragraph Effects in Situations},
    41 |   booktitle={MRQA@EMNLP},
    42 |   year={2019}
    43 | }
    44 |        
    45 |

    46 |
    47 | 48 | {% include footer.html %} 49 |
    50 | {% include svg-sprite.html %} 51 | {% include scripts.html %} 52 | 53 | 54 | -------------------------------------------------------------------------------- /torque.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | 6 | {% include meta.html %} 7 | AllenNLP - TORQUE Dataset 8 | 9 | 10 |
    11 | {% include header.html %} 12 | 13 | 21 |
    22 | 23 |

    24 | A critical part of reading is being able to understand the temporal relationships between events described in a passage of text, even when those relationships are not explicitly stated. However, current machine reading comprehension benchmarks have practically no questions that test temporal phenomena, so systems trained on these benchmarks have no capacity to answer questions such as "what happened before/after [some event]?" We introduce TORQUE, a new English reading comprehension benchmark built on 3.2k news snippets with 21k human-generated questions querying temporal relationships. Results show that RoBERTa-large achieves an exact-match score of 51% on the test set of TORQUE, about 30% behind human performance. 25 |

    26 | 27 |
  • Paper, Dataset, Reproduction package, Recorded talk
  • 28 |
  • Qualification interface [source code]
  • 29 |
  • Main annotation interface [source code]
  • 30 |
  • Leaderboard
  • 31 |
    32 | @inproceedings{NWHPGR20,
    33 |   author={Qiang Ning and Hao Wu and Rujun Han and Nanyun Peng and Matt Gardner and Dan Roth},
    34 |   title={ {TORQUE}: A Reading Comprehension Dataset of Temporal Ordering Questions},
    35 |   booktitle={Proc. of EMNLP},
    36 |   year={2020}
    37 | }
    38 |         
    39 |

    40 |
    41 | 42 | {% include footer.html %} 43 |
    44 | {% include svg-sprite.html %} 45 | {% include scripts.html %} 46 | 47 | 48 | -------------------------------------------------------------------------------- /tutorials.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: tutorial 3 | --- 4 | {% include default-tutorial.html %} 5 | --------------------------------------------------------------------------------