Add GermEval 2014 NER dataset
CONTRIBUTOR
Had really fun playing around with this new library :heart: 
2020-05-15T23:43:33Z
https://github.com/huggingface/datasets/pull/139#issuecomment-629550596
https://api.github.com/repos/huggingface/datasets/issues/139
MDEyOklzc3VlQ29tbWVudDYyOTU1MDU5Ng==
https://api.github.com/repos/huggingface/datasets/issues/comments/629550596/reactions
2020-05-15T23:43:50Z
https://api.github.com/repos/huggingface/datasets/issues/comments/629550596
https://avatars.githubusercontent.com/u/20651387?v=4
https://api.github.com/users/stefan-it/events{/privacy}
https://api.github.com/users/stefan-it/followers
https://api.github.com/users/stefan-it/following{/other_user}
https://api.github.com/users/stefan-it/gists{/gist_id}
https://github.com/stefan-it
stefan-it
MDQ6VXNlcjIwNjUxMzg3
https://api.github.com/users/stefan-it/orgs
https://api.github.com/users/stefan-it/received_events
https://api.github.com/users/stefan-it/repos
https://api.github.com/users/stefan-it/starred{/owner}{/repo}
https://api.github.com/users/stefan-it/subscriptions
User
https://api.github.com/users/stefan-it
public
CONTRIBUTOR
That's awesome - thanks @stefan-it :-) 

Could you maybe rebase to master and check if all dummy data tests are fine. I should have included the local tests directly in the test suite so that all PRs are fully checked: #140 - sorry :D 
2020-05-16T13:23:19Z
https://github.com/huggingface/datasets/pull/139#issuecomment-629645062
https://api.github.com/repos/huggingface/datasets/issues/139
MDEyOklzc3VlQ29tbWVudDYyOTY0NTA2Mg==
https://api.github.com/repos/huggingface/datasets/issues/comments/629645062/reactions
2020-05-16T13:23:19Z
https://api.github.com/repos/huggingface/datasets/issues/comments/629645062
https://avatars.githubusercontent.com/u/23423619?v=4
https://api.github.com/users/patrickvonplaten/events{/privacy}
https://api.github.com/users/patrickvonplaten/followers
https://api.github.com/users/patrickvonplaten/following{/other_user}
https://api.github.com/users/patrickvonplaten/gists{/gist_id}
https://github.com/patrickvonplaten
patrickvonplaten
MDQ6VXNlcjIzNDIzNjE5
https://api.github.com/users/patrickvonplaten/orgs
https://api.github.com/users/patrickvonplaten/received_events
https://api.github.com/users/patrickvonplaten/repos
https://api.github.com/users/patrickvonplaten/starred{/owner}{/repo}
https://api.github.com/users/patrickvonplaten/subscriptions
User
https://api.github.com/users/patrickvonplaten
public
CONTRIBUTOR
@patrickvonplaten Rebased it 😅

How can it test 🤔 I used:

```bash
RUN_SLOW=1 RUN_LOCAL=1 pytest tests/test_dataset_common.py::DatasetTest::test_load_real_dataset_local_germeval_14
# and
RUN_SLOW=1 RUN_LOCAL=1 pytest tests/test_dataset_common.py::DatasetTest::test_load_dataset_all_configs_local_germeval_14
```

and the tests still pass :)
2020-05-16T13:51:32Z
https://github.com/huggingface/datasets/pull/139#issuecomment-629649063
https://api.github.com/repos/huggingface/datasets/issues/139
MDEyOklzc3VlQ29tbWVudDYyOTY0OTA2Mw==
https://api.github.com/repos/huggingface/datasets/issues/comments/629649063/reactions
2020-05-16T13:51:32Z
https://api.github.com/repos/huggingface/datasets/issues/comments/629649063
https://avatars.githubusercontent.com/u/20651387?v=4
https://api.github.com/users/stefan-it/events{/privacy}
https://api.github.com/users/stefan-it/followers
https://api.github.com/users/stefan-it/following{/other_user}
https://api.github.com/users/stefan-it/gists{/gist_id}
https://github.com/stefan-it
stefan-it
MDQ6VXNlcjIwNjUxMzg3
https://api.github.com/users/stefan-it/orgs
https://api.github.com/users/stefan-it/received_events
https://api.github.com/users/stefan-it/repos
https://api.github.com/users/stefan-it/starred{/owner}{/repo}
https://api.github.com/users/stefan-it/subscriptions
User
https://api.github.com/users/stefan-it
public
CONTRIBUTOR
Perfect, if these tests pass that's great - I'll merge the PR then :-) Was it very difficult to create the dummy data structure? 
2020-05-16T13:56:04Z
https://github.com/huggingface/datasets/pull/139#issuecomment-629649726
https://api.github.com/repos/huggingface/datasets/issues/139
MDEyOklzc3VlQ29tbWVudDYyOTY0OTcyNg==
https://api.github.com/repos/huggingface/datasets/issues/comments/629649726/reactions
2020-05-16T13:56:04Z
https://api.github.com/repos/huggingface/datasets/issues/comments/629649726
https://avatars.githubusercontent.com/u/23423619?v=4
https://api.github.com/users/patrickvonplaten/events{/privacy}
https://api.github.com/users/patrickvonplaten/followers
https://api.github.com/users/patrickvonplaten/following{/other_user}
https://api.github.com/users/patrickvonplaten/gists{/gist_id}
https://github.com/patrickvonplaten
patrickvonplaten
MDQ6VXNlcjIzNDIzNjE5
https://api.github.com/users/patrickvonplaten/orgs
https://api.github.com/users/patrickvonplaten/received_events
https://api.github.com/users/patrickvonplaten/repos
https://api.github.com/users/patrickvonplaten/starred{/owner}{/repo}
https://api.github.com/users/patrickvonplaten/subscriptions
User
https://api.github.com/users/patrickvonplaten
public
Hi, 

this PR adds the GermEval 2014 NER dataset 😃

> The GermEval 2014 NER Shared Task builds on a new dataset with German Named Entity annotation [1] with the following properties:

> - The data was sampled from German Wikipedia and News Corpora as a collection of citations.
> - The dataset covers over 31,000 sentences corresponding to over 590,000 tokens.
> - The NER annotation uses the NoSta-D guidelines, which extend the Tübingen Treebank guidelines, using four main NER categories with sub-structure, and annotating embeddings among NEs such as [ORG FC Kickers [LOC Darmstadt]].

Dataset will be downloaded from the [official GermEval 2014 website](https://sites.google.com/site/germeval2014ner/data).

## Dataset format

Here's an example of the dataset format from the original dataset:

```tsv
# http://de.wikipedia.org/wiki/Manfred_Korfmann [2009-10-17]
1 Aufgrund O O
2 seiner O O
3 Initiative O O
4 fand O O
5 2001/2002 O O
6 in O O
7 Stuttgart B-LOC O
8 , O O
9 Braunschweig B-LOC O
10 und O O
11 Bonn B-LOC O
12 eine O O
13 große O O
14 und O O
15 publizistisch O O
16 vielbeachtete O O
17 Troia-Ausstellung B-LOCpart O
18 statt O O
19 , O O
20 „ O O
21 Troia B-OTH B-LOC
22 - I-OTH O
23 Traum I-OTH O
24 und I-OTH O
25 Wirklichkeit I-OTH O
26 “ O O
27 . O O
```

The sentence is encoded as one token per line (tab separated columns.

The first column contains either a `#`, which signals the source the sentence is cited from and the date it was retrieved, or the token number within the sentence.

The second column contains the token.

Column three and four contain the named entity (in IOB2 scheme).
Outer spans are encoded in the third column, embedded/nested spans in the fourth column.

## Features

I decided to keep most information from the dataset. That means the so called "source" information (where the sentences come from + date information) is also returned for each sentence in the feature vector.

For each sentence in the dataset, one feature vector (`nlp.Features` definition) will be returned:

| Feature | Example | Description
| ---- | ---- | -----------------
| `id` | `0` | Number (id) of current sentence
| `source` | `http://de.wikipedia.org/wiki/Manfred_Korfmann [2009-10-17]` | URL and retrieval date as string
| `tokens` | `["Schwartau", "sagte", ":"]` | List of tokens (strings) for a sentence
| `labels` | `["B-PER", "O", "O"]` | List of labels (outer span)
| `nested-labels` | `["O", "O", "O"]` | List of labels for nested span

## Example

The following command downloads the dataset from the official GermEval 2014 page and pre-processed it:

```bash
python nlp-cli test datasets/germeval_14 --all_configs
```

It then outputs the number for training, development and testset. The training set consists of 24,000 sentences, the development set of 2,200 and the test of 5,100 sentences.

Now it can be imported and used with `nlp`:

```python
import nlp

germeval = nlp.load_dataset("./datasets/germeval_14/germeval_14.py")
assert len(germeval["train"]) == 24000

# Show first sentence of training set:
germeval["train"][0]
```