I'm developing a system to extract tags from text (English) and currently I have no dataset to test the system and evaluate, could someone point me to a source (preferably a free one) thanks. NOTE: By Tags I mean if there's an article about let's say new album of a musician then Tags should be something like ["music","new album","name of musician"] something along these lines.
What you're trying to do is called named entity recognition. There exist several typical datasets for it, such as:
- CoNLL-2002: free. 4 types of entities are tagged: locations, persons, organizations, and miscellaneous entities that do not belong in any of the three previous categories.
- CoNLL-2003: free. 4 types of entities are tagged: locations, persons, organizations, and miscellaneous entities that do not belong in any of the three previous categories.
Live from <ENAMEX TYPE="ORG">CNN</ENAMEX> in <ENAMEX TYPE="GPE">Washington</ENAMEX> this is <ENAMEX TYPE="WORK_OF_ART">Late Edition with Wolf Blitzer</ENAMEX> /. Good <ENAMEX TYPE="TIME">evening</ENAMEX> <ENAMEX TYPE="GPE">Washington</ENAMEX> /. <ENAMEX TYPE="TIME">nine AM</ENAMEX> in <ENAMEX TYPE="GPE">Los Angeles</ENAMEX> <ENAMEX TYPE="TIME">five PM</ENAMEX> in <ENAMEX TYPE="GPE">London</ENAMEX> and <ENAMEX TYPE="TIME">eight PM</ENAMEX> in <ENAMEX TYPE="GPE">Baghdad</ENAMEX> /.
- Enron Email Dataset. Entity types: person names, dates and times.
QTLEAP-2015-D5.11 - report on the state-of-the-art in NER and WSD gives a nice list of NER datasets:
Get the CoNLL-2003: data from this repo
The CoNLL-2003 shared task data files contain four columns separated by a single space. Each word has been put on a separate line and there is an empty line after each sentence. The first item on each line is a word, the second a part-of-speech (POS) tag, the third a syntactic chunk tag and the fourth the named entity tag. The chunk tags and the named entity tags have the format I-TYPE which means that the word is inside a phrase of type TYPE. Only if two phrases of the same type immediately follow each other, the first word of the second phrase will have tag B-TYPE to show that it starts a new phrase. A word with tag O is not part of a phrase.
This data set has 4 entity tags(Location, Person, Organisation and Misc) and it is used to train models for Named Entity Recognition tasks. The task is similar to the one proposed here just the entity tags are different.
You may consider SpaCY for pos_tagging. I bet you will love it spacy name entity recognition. It has got Name, Org, locations etc. It is faster in comparision to coreNLP, accuracy for NER holds at ~85%.