From 7bec0ebbcb9c5f0e1434c43e7c19ef2420e4fd23 Mon Sep 17 00:00:00 2001 From: svlandeg Date: Wed, 28 Aug 2019 14:16:34 +0200 Subject: [PATCH 01/10] failing unit test for Issue 4190 --- spacy/tests/regression/test_issue4190.py | 57 ++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 spacy/tests/regression/test_issue4190.py diff --git a/spacy/tests/regression/test_issue4190.py b/spacy/tests/regression/test_issue4190.py new file mode 100644 index 000000000..464996705 --- /dev/null +++ b/spacy/tests/regression/test_issue4190.py @@ -0,0 +1,57 @@ +# coding: utf8 +from __future__ import unicode_literals + +from spacy.lang.en import English + +import spacy +from spacy.tokenizer import Tokenizer + +from spacy.tests.util import make_tempdir + + +def test_issue4190(): + test_string = "Test c." + + # Load default language + nlp_1 = English() + doc_1a = nlp_1(test_string) + result_1a = [token.text for token in doc_1a] + + # Modify tokenizer + customize_tokenizer(nlp_1) + doc_1b = nlp_1(test_string) + result_1b = [token.text for token in doc_1b] + + # Save and Reload + with make_tempdir() as model_dir: + nlp_1.to_disk(model_dir) + nlp_2 = spacy.load(model_dir) + + # This should be the modified tokenizer + doc_2 = nlp_2(test_string) + result_2 = [token.text for token in doc_2] + + assert result_1b == result_2 + + +def customize_tokenizer(nlp): + prefix_re = spacy.util.compile_prefix_regex(nlp.Defaults.prefixes) + suffix_re = spacy.util.compile_suffix_regex(nlp.Defaults.suffixes) + infix_re = spacy.util.compile_infix_regex(nlp.Defaults.infixes) + + # remove all exceptions where a single letter is followed by a period (e.g. 'h.') + exceptions = { + k: v + for k, v in dict(nlp.Defaults.tokenizer_exceptions).items() + if not (len(k) == 2 and k[1] == ".") + } + new_tokenizer = Tokenizer( + nlp.vocab, + exceptions, + prefix_search=prefix_re.search, + suffix_search=suffix_re.search, + infix_finditer=infix_re.finditer, + token_match=nlp.tokenizer.token_match, + ) + + nlp.tokenizer = new_tokenizer From c54aabc3cdc1381db256c9e29bb97d43554b76c4 Mon Sep 17 00:00:00 2001 From: svlandeg Date: Wed, 28 Aug 2019 14:17:44 +0200 Subject: [PATCH 02/10] fix loading custom tokenizer rules/exceptions from file --- spacy/tokenizer.pyx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/spacy/tokenizer.pyx b/spacy/tokenizer.pyx index f19f851c7..19029ec05 100644 --- a/spacy/tokenizer.pyx +++ b/spacy/tokenizer.pyx @@ -441,8 +441,13 @@ cdef class Tokenizer: self.infix_finditer = re.compile(data["infix_finditer"]).finditer if data.get("token_match"): self.token_match = re.compile(data["token_match"]).match - for string, substrings in data.get("rules", {}).items(): - self.add_special_case(string, substrings) + if data.get("rules"): + # make sure to hard reset the cache to remove data from the default exceptions + self._rules = {} + self._cache = PreshMap() + for string, substrings in data.get("rules", {}).items(): + self.add_special_case(string, substrings) + return self From 5feb342f5e67603e4f1ea94f8eb8d010b251f5e9 Mon Sep 17 00:00:00 2001 From: adrianeboyd Date: Thu, 29 Aug 2019 12:02:26 +0200 Subject: [PATCH 03/10] Add more token attributes to token pattern schema (#4210) Add token attributes with tests to token pattern schema. --- spacy/matcher/_schemas.py | 29 +++++++++++++++++++++++- spacy/tests/matcher/test_matcher_api.py | 30 +++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/spacy/matcher/_schemas.py b/spacy/matcher/_schemas.py index 4f4992781..3c2127c31 100644 --- a/spacy/matcher/_schemas.py +++ b/spacy/matcher/_schemas.py @@ -89,7 +89,10 @@ TOKEN_PATTERN_SCHEMA = { "title": "Fine-grained part-of-speech tag", "$ref": "#/definitions/string_value", }, - "DEP": {"title": "Dependency label", "$ref": "#/definitions/string_value"}, + "DEP": { + "title": "Dependency label", + "$ref": "#/definitions/string_value" + }, "LEMMA": { "title": "Lemma (base form)", "$ref": "#/definitions/string_value", @@ -142,10 +145,34 @@ TOKEN_PATTERN_SCHEMA = { "title": "Token is whitespace", "$ref": "#/definitions/boolean_value", }, + "IS_BRACKET": { + "title": "Token is a bracket", + "$ref": "#/definitions/boolean_value", + }, + "IS_QUOTE": { + "title": "Token is a quotation mark", + "$ref": "#/definitions/boolean_value", + }, + "IS_LEFT_PUNCT": { + "title": "Token is a left punctuation mark", + "$ref": "#/definitions/boolean_value", + }, + "IS_RIGHT_PUNCT": { + "title": "Token is a right punctuation mark", + "$ref": "#/definitions/boolean_value", + }, + "IS_CURRENCY": { + "title": "Token is a currency symbol", + "$ref": "#/definitions/boolean_value", + }, "IS_STOP": { "title": "Token is stop word", "$ref": "#/definitions/boolean_value", }, + "IS_SENT_START": { + "title": "Token is the first in a sentence", + "$ref": "#/definitions/boolean_value", + }, "LIKE_NUM": { "title": "Token resembles a number", "$ref": "#/definitions/boolean_value", diff --git a/spacy/tests/matcher/test_matcher_api.py b/spacy/tests/matcher/test_matcher_api.py index 401b7c928..ccbc7c57e 100644 --- a/spacy/tests/matcher/test_matcher_api.py +++ b/spacy/tests/matcher/test_matcher_api.py @@ -380,3 +380,33 @@ def test_attr_pipeline_checks(en_vocab): matcher(doc1) matcher(doc2) matcher(doc3) + + +@pytest.mark.parametrize( + "pattern,text", + [ + ([{"IS_ALPHA": True}], "a"), + ([{"IS_ASCII": True}], "a"), + ([{"IS_DIGIT": True}], "1"), + ([{"IS_LOWER": True}], "a"), + ([{"IS_UPPER": True}], "A"), + ([{"IS_TITLE": True}], "Aaaa"), + ([{"IS_PUNCT": True}], "."), + ([{"IS_SPACE": True}], "\n"), + ([{"IS_BRACKET": True}], "["), + ([{"IS_QUOTE": True}], "\""), + ([{"IS_LEFT_PUNCT": True}], "``"), + ([{"IS_RIGHT_PUNCT": True}], "''"), + ([{"IS_STOP": True}], "the"), + ([{"LIKE_NUM": True}], "1"), + ([{"LIKE_URL": True}], "http://example.com"), + ([{"LIKE_EMAIL": True}], "mail@example.com"), + ], +) +def test_matcher_schema_token_attributes(en_vocab, pattern, text): + matcher = Matcher(en_vocab) + doc = Doc(en_vocab, words=text.split(' ')) + matcher.add("Rule", None, pattern) + assert len(matcher) == 1 + matches = matcher(doc) + assert len(matches) == 1 From 82159b5c19fd2b482fea4f045bbb08df2a2e6914 Mon Sep 17 00:00:00 2001 From: adrianeboyd Date: Thu, 29 Aug 2019 12:04:01 +0200 Subject: [PATCH 04/10] Updates/bugfixes for NER/IOB converters (#4186) * Updates/bugfixes for NER/IOB converters * Converter formats `ner` and `iob` use autodetect to choose a converter if possible * `iob2json` is reverted to handle sentence-per-line data like `word1|pos1|ent1 word2|pos2|ent2` * Fix bug in `merge_sentences()` so the second sentence in each batch isn't skipped * `conll_ner2json` is made more general so it can handle more formats with whitespace-separated columns * Supports all formats where the first column is the token and the final column is the IOB tag; if present, the second column is the POS tag * As in CoNLL 2003 NER, blank lines separate sentences, `-DOCSTART- -X- O O` separates documents * Add option for segmenting sentences (new flag `-s`) * Parser-based sentence segmentation with a provided model, otherwise with sentencizer (new option `-b` to specify model) * Can group sentences into documents with `n_sents` as long as sentence segmentation is available * Only applies automatic segmentation when there are no existing delimiters in the data * Provide info about settings applied during conversion with warnings and suggestions if settings conflict or might not be not optimal. * Add tests for common formats * Add '(default)' back to docs for -c auto * Add document count back to output * Revert changes to converter output message * Use explicit tabs in convert CLI test data * Adjust/add messages for n_sents=1 default * Add sample NER data to training examples * Update README * Add links in docs to example NER data * Define msg within converters --- examples/training/ner_example_data/README.md | 7 + .../ner_example_data/ner-sent-per-line.iob | 2 + .../ner_example_data/ner-sent-per-line.json | 349 +++++++++++++++++ .../ner-token-per-line-conll2003.iob | 70 ++++ .../ner-token-per-line-conll2003.json | 349 +++++++++++++++++ .../ner-token-per-line-with-pos.iob | 66 ++++ .../ner-token-per-line-with-pos.json | 353 ++++++++++++++++++ .../ner_example_data/ner-token-per-line.iob | 66 ++++ .../ner_example_data/ner-token-per-line.json | 353 ++++++++++++++++++ spacy/cli/convert.py | 45 ++- spacy/cli/converters/conll_ner2json.py | 120 +++++- spacy/cli/converters/iob2json.py | 27 +- spacy/tests/test_cli.py | 87 ++++- website/docs/api/cli.md | 8 +- 14 files changed, 1880 insertions(+), 22 deletions(-) create mode 100644 examples/training/ner_example_data/README.md create mode 100644 examples/training/ner_example_data/ner-sent-per-line.iob create mode 100644 examples/training/ner_example_data/ner-sent-per-line.json create mode 100644 examples/training/ner_example_data/ner-token-per-line-conll2003.iob create mode 100644 examples/training/ner_example_data/ner-token-per-line-conll2003.json create mode 100644 examples/training/ner_example_data/ner-token-per-line-with-pos.iob create mode 100644 examples/training/ner_example_data/ner-token-per-line-with-pos.json create mode 100644 examples/training/ner_example_data/ner-token-per-line.iob create mode 100644 examples/training/ner_example_data/ner-token-per-line.json diff --git a/examples/training/ner_example_data/README.md b/examples/training/ner_example_data/README.md new file mode 100644 index 000000000..af70694f5 --- /dev/null +++ b/examples/training/ner_example_data/README.md @@ -0,0 +1,7 @@ +## Examples of NER/IOB data that can be converted with `spacy convert` + +spacy JSON training files were generated with: + +``` +python -m spacy convert -c iob -s -n 10 -b en file.iob +``` diff --git a/examples/training/ner_example_data/ner-sent-per-line.iob b/examples/training/ner_example_data/ner-sent-per-line.iob new file mode 100644 index 000000000..1ff5a1a39 --- /dev/null +++ b/examples/training/ner_example_data/ner-sent-per-line.iob @@ -0,0 +1,2 @@ +When|WRB|O Sebastian|NNP|B-PERSON Thrun|NNP|I-PERSON started|VBD|O working|VBG|O on|IN|O self|NN|O -|HYPH|O driving|VBG|O cars|NNS|O at|IN|O Google|NNP|B-ORG in|IN|O 2007|CD|B-DATE ,|,|O few|JJ|O people|NNS|O outside|RB|O of|IN|O the|DT|O company|NN|O took|VBD|O him|PRP|O seriously|RB|O .|.|O +“|''|O I|PRP|O can|MD|O tell|VB|O you|PRP|O very|RB|O senior|JJ|O CEOs|NNS|O of|IN|O major|JJ|O American|JJ|B-NORP car|NN|O companies|NNS|O would|MD|O shake|VB|O my|PRP$|O hand|NN|O and|CC|O turn|VB|O away|RB|O because|IN|O I|PRP|O was|VBD|O n’t|RB|O worth|JJ|O talking|VBG|O to|IN|O ,|,|O ”|''|O said|VBD|O Thrun|NNP|B-PERSON ,|,|O in|IN|O an|DT|O interview|NN|O with|IN|O Recode|NNP|B-ORG earlier|RBR|B-DATE this|DT|I-DATE week|NN|I-DATE .|.|O diff --git a/examples/training/ner_example_data/ner-sent-per-line.json b/examples/training/ner_example_data/ner-sent-per-line.json new file mode 100644 index 000000000..3bc35133b --- /dev/null +++ b/examples/training/ner_example_data/ner-sent-per-line.json @@ -0,0 +1,349 @@ +[ + { + "id":0, + "paragraphs":[ + { + "sentences":[ + { + "tokens":[ + { + "orth":"When", + "tag":"WRB", + "ner":"O" + }, + { + "orth":"Sebastian", + "tag":"NNP", + "ner":"B-PERSON" + }, + { + "orth":"Thrun", + "tag":"NNP", + "ner":"L-PERSON" + }, + { + "orth":"started", + "tag":"VBD", + "ner":"O" + }, + { + "orth":"working", + "tag":"VBG", + "ner":"O" + }, + { + "orth":"on", + "tag":"IN", + "ner":"O" + }, + { + "orth":"self", + "tag":"NN", + "ner":"O" + }, + { + "orth":"-", + "tag":"HYPH", + "ner":"O" + }, + { + "orth":"driving", + "tag":"VBG", + "ner":"O" + }, + { + "orth":"cars", + "tag":"NNS", + "ner":"O" + }, + { + "orth":"at", + "tag":"IN", + "ner":"O" + }, + { + "orth":"Google", + "tag":"NNP", + "ner":"U-ORG" + }, + { + "orth":"in", + "tag":"IN", + "ner":"O" + }, + { + "orth":"2007", + "tag":"CD", + "ner":"U-DATE" + }, + { + "orth":",", + "tag":",", + "ner":"O" + }, + { + "orth":"few", + "tag":"JJ", + "ner":"O" + }, + { + "orth":"people", + "tag":"NNS", + "ner":"O" + }, + { + "orth":"outside", + "tag":"RB", + "ner":"O" + }, + { + "orth":"of", + "tag":"IN", + "ner":"O" + }, + { + "orth":"the", + "tag":"DT", + "ner":"O" + }, + { + "orth":"company", + "tag":"NN", + "ner":"O" + }, + { + "orth":"took", + "tag":"VBD", + "ner":"O" + }, + { + "orth":"him", + "tag":"PRP", + "ner":"O" + }, + { + "orth":"seriously", + "tag":"RB", + "ner":"O" + }, + { + "orth":".", + "tag":".", + "ner":"O" + } + ] + }, + { + "tokens":[ + { + "orth":"\u201c", + "tag":"''", + "ner":"O" + }, + { + "orth":"I", + "tag":"PRP", + "ner":"O" + }, + { + "orth":"can", + "tag":"MD", + "ner":"O" + }, + { + "orth":"tell", + "tag":"VB", + "ner":"O" + }, + { + "orth":"you", + "tag":"PRP", + "ner":"O" + }, + { + "orth":"very", + "tag":"RB", + "ner":"O" + }, + { + "orth":"senior", + "tag":"JJ", + "ner":"O" + }, + { + "orth":"CEOs", + "tag":"NNS", + "ner":"O" + }, + { + "orth":"of", + "tag":"IN", + "ner":"O" + }, + { + "orth":"major", + "tag":"JJ", + "ner":"O" + }, + { + "orth":"American", + "tag":"JJ", + "ner":"U-NORP" + }, + { + "orth":"car", + "tag":"NN", + "ner":"O" + }, + { + "orth":"companies", + "tag":"NNS", + "ner":"O" + }, + { + "orth":"would", + "tag":"MD", + "ner":"O" + }, + { + "orth":"shake", + "tag":"VB", + "ner":"O" + }, + { + "orth":"my", + "tag":"PRP$", + "ner":"O" + }, + { + "orth":"hand", + "tag":"NN", + "ner":"O" + }, + { + "orth":"and", + "tag":"CC", + "ner":"O" + }, + { + "orth":"turn", + "tag":"VB", + "ner":"O" + }, + { + "orth":"away", + "tag":"RB", + "ner":"O" + }, + { + "orth":"because", + "tag":"IN", + "ner":"O" + }, + { + "orth":"I", + "tag":"PRP", + "ner":"O" + }, + { + "orth":"was", + "tag":"VBD", + "ner":"O" + }, + { + "orth":"n\u2019t", + "tag":"RB", + "ner":"O" + }, + { + "orth":"worth", + "tag":"JJ", + "ner":"O" + }, + { + "orth":"talking", + "tag":"VBG", + "ner":"O" + }, + { + "orth":"to", + "tag":"IN", + "ner":"O" + }, + { + "orth":",", + "tag":",", + "ner":"O" + }, + { + "orth":"\u201d", + "tag":"''", + "ner":"O" + }, + { + "orth":"said", + "tag":"VBD", + "ner":"O" + }, + { + "orth":"Thrun", + "tag":"NNP", + "ner":"U-PERSON" + }, + { + "orth":",", + "tag":",", + "ner":"O" + }, + { + "orth":"in", + "tag":"IN", + "ner":"O" + }, + { + "orth":"an", + "tag":"DT", + "ner":"O" + }, + { + "orth":"interview", + "tag":"NN", + "ner":"O" + }, + { + "orth":"with", + "tag":"IN", + "ner":"O" + }, + { + "orth":"Recode", + "tag":"NNP", + "ner":"U-ORG" + }, + { + "orth":"earlier", + "tag":"RBR", + "ner":"B-DATE" + }, + { + "orth":"this", + "tag":"DT", + "ner":"I-DATE" + }, + { + "orth":"week", + "tag":"NN", + "ner":"L-DATE" + }, + { + "orth":".", + "tag":".", + "ner":"O" + } + ] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/examples/training/ner_example_data/ner-token-per-line-conll2003.iob b/examples/training/ner_example_data/ner-token-per-line-conll2003.iob new file mode 100644 index 000000000..8a2c4f9e8 --- /dev/null +++ b/examples/training/ner_example_data/ner-token-per-line-conll2003.iob @@ -0,0 +1,70 @@ +-DOCSTART- -X- O O + +When WRB _ O +Sebastian NNP _ B-PERSON +Thrun NNP _ I-PERSON +started VBD _ O +working VBG _ O +on IN _ O +self NN _ O +- HYPH _ O +driving VBG _ O +cars NNS _ O +at IN _ O +Google NNP _ B-ORG +in IN _ O +2007 CD _ B-DATE +, , _ O +few JJ _ O +people NNS _ O +outside RB _ O +of IN _ O +the DT _ O +company NN _ O +took VBD _ O +him PRP _ O +seriously RB _ O +. . _ O + +“ '' _ O +I PRP _ O +can MD _ O +tell VB _ O +you PRP _ O +very RB _ O +senior JJ _ O +CEOs NNS _ O +of IN _ O +major JJ _ O +American JJ _ B-NORP +car NN _ O +companies NNS _ O +would MD _ O +shake VB _ O +my PRP$ _ O +hand NN _ O +and CC _ O +turn VB _ O +away RB _ O +because IN _ O +I PRP _ O +was VBD _ O +n’t RB _ O +worth JJ _ O +talking VBG _ O +to IN _ O +, , _ O +” '' _ O +said VBD _ O +Thrun NNP _ B-PERSON +, , _ O +in IN _ O +an DT _ O +interview NN _ O +with IN _ O +Recode NNP _ B-ORG +earlier RBR _ B-DATE +this DT _ I-DATE +week NN _ I-DATE +. . _ O + diff --git a/examples/training/ner_example_data/ner-token-per-line-conll2003.json b/examples/training/ner_example_data/ner-token-per-line-conll2003.json new file mode 100644 index 000000000..3bc35133b --- /dev/null +++ b/examples/training/ner_example_data/ner-token-per-line-conll2003.json @@ -0,0 +1,349 @@ +[ + { + "id":0, + "paragraphs":[ + { + "sentences":[ + { + "tokens":[ + { + "orth":"When", + "tag":"WRB", + "ner":"O" + }, + { + "orth":"Sebastian", + "tag":"NNP", + "ner":"B-PERSON" + }, + { + "orth":"Thrun", + "tag":"NNP", + "ner":"L-PERSON" + }, + { + "orth":"started", + "tag":"VBD", + "ner":"O" + }, + { + "orth":"working", + "tag":"VBG", + "ner":"O" + }, + { + "orth":"on", + "tag":"IN", + "ner":"O" + }, + { + "orth":"self", + "tag":"NN", + "ner":"O" + }, + { + "orth":"-", + "tag":"HYPH", + "ner":"O" + }, + { + "orth":"driving", + "tag":"VBG", + "ner":"O" + }, + { + "orth":"cars", + "tag":"NNS", + "ner":"O" + }, + { + "orth":"at", + "tag":"IN", + "ner":"O" + }, + { + "orth":"Google", + "tag":"NNP", + "ner":"U-ORG" + }, + { + "orth":"in", + "tag":"IN", + "ner":"O" + }, + { + "orth":"2007", + "tag":"CD", + "ner":"U-DATE" + }, + { + "orth":",", + "tag":",", + "ner":"O" + }, + { + "orth":"few", + "tag":"JJ", + "ner":"O" + }, + { + "orth":"people", + "tag":"NNS", + "ner":"O" + }, + { + "orth":"outside", + "tag":"RB", + "ner":"O" + }, + { + "orth":"of", + "tag":"IN", + "ner":"O" + }, + { + "orth":"the", + "tag":"DT", + "ner":"O" + }, + { + "orth":"company", + "tag":"NN", + "ner":"O" + }, + { + "orth":"took", + "tag":"VBD", + "ner":"O" + }, + { + "orth":"him", + "tag":"PRP", + "ner":"O" + }, + { + "orth":"seriously", + "tag":"RB", + "ner":"O" + }, + { + "orth":".", + "tag":".", + "ner":"O" + } + ] + }, + { + "tokens":[ + { + "orth":"\u201c", + "tag":"''", + "ner":"O" + }, + { + "orth":"I", + "tag":"PRP", + "ner":"O" + }, + { + "orth":"can", + "tag":"MD", + "ner":"O" + }, + { + "orth":"tell", + "tag":"VB", + "ner":"O" + }, + { + "orth":"you", + "tag":"PRP", + "ner":"O" + }, + { + "orth":"very", + "tag":"RB", + "ner":"O" + }, + { + "orth":"senior", + "tag":"JJ", + "ner":"O" + }, + { + "orth":"CEOs", + "tag":"NNS", + "ner":"O" + }, + { + "orth":"of", + "tag":"IN", + "ner":"O" + }, + { + "orth":"major", + "tag":"JJ", + "ner":"O" + }, + { + "orth":"American", + "tag":"JJ", + "ner":"U-NORP" + }, + { + "orth":"car", + "tag":"NN", + "ner":"O" + }, + { + "orth":"companies", + "tag":"NNS", + "ner":"O" + }, + { + "orth":"would", + "tag":"MD", + "ner":"O" + }, + { + "orth":"shake", + "tag":"VB", + "ner":"O" + }, + { + "orth":"my", + "tag":"PRP$", + "ner":"O" + }, + { + "orth":"hand", + "tag":"NN", + "ner":"O" + }, + { + "orth":"and", + "tag":"CC", + "ner":"O" + }, + { + "orth":"turn", + "tag":"VB", + "ner":"O" + }, + { + "orth":"away", + "tag":"RB", + "ner":"O" + }, + { + "orth":"because", + "tag":"IN", + "ner":"O" + }, + { + "orth":"I", + "tag":"PRP", + "ner":"O" + }, + { + "orth":"was", + "tag":"VBD", + "ner":"O" + }, + { + "orth":"n\u2019t", + "tag":"RB", + "ner":"O" + }, + { + "orth":"worth", + "tag":"JJ", + "ner":"O" + }, + { + "orth":"talking", + "tag":"VBG", + "ner":"O" + }, + { + "orth":"to", + "tag":"IN", + "ner":"O" + }, + { + "orth":",", + "tag":",", + "ner":"O" + }, + { + "orth":"\u201d", + "tag":"''", + "ner":"O" + }, + { + "orth":"said", + "tag":"VBD", + "ner":"O" + }, + { + "orth":"Thrun", + "tag":"NNP", + "ner":"U-PERSON" + }, + { + "orth":",", + "tag":",", + "ner":"O" + }, + { + "orth":"in", + "tag":"IN", + "ner":"O" + }, + { + "orth":"an", + "tag":"DT", + "ner":"O" + }, + { + "orth":"interview", + "tag":"NN", + "ner":"O" + }, + { + "orth":"with", + "tag":"IN", + "ner":"O" + }, + { + "orth":"Recode", + "tag":"NNP", + "ner":"U-ORG" + }, + { + "orth":"earlier", + "tag":"RBR", + "ner":"B-DATE" + }, + { + "orth":"this", + "tag":"DT", + "ner":"I-DATE" + }, + { + "orth":"week", + "tag":"NN", + "ner":"L-DATE" + }, + { + "orth":".", + "tag":".", + "ner":"O" + } + ] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/examples/training/ner_example_data/ner-token-per-line-with-pos.iob b/examples/training/ner_example_data/ner-token-per-line-with-pos.iob new file mode 100644 index 000000000..073398269 --- /dev/null +++ b/examples/training/ner_example_data/ner-token-per-line-with-pos.iob @@ -0,0 +1,66 @@ +When WRB O +Sebastian NNP B-PERSON +Thrun NNP I-PERSON +started VBD O +working VBG O +on IN O +self NN O +- HYPH O +driving VBG O +cars NNS O +at IN O +Google NNP B-ORG +in IN O +2007 CD B-DATE +, , O +few JJ O +people NNS O +outside RB O +of IN O +the DT O +company NN O +took VBD O +him PRP O +seriously RB O +. . O +“ '' O +I PRP O +can MD O +tell VB O +you PRP O +very RB O +senior JJ O +CEOs NNS O +of IN O +major JJ O +American JJ B-NORP +car NN O +companies NNS O +would MD O +shake VB O +my PRP$ O +hand NN O +and CC O +turn VB O +away RB O +because IN O +I PRP O +was VBD O +n’t RB O +worth JJ O +talking VBG O +to IN O +, , O +” '' O +said VBD O +Thrun NNP B-PERSON +, , O +in IN O +an DT O +interview NN O +with IN O +Recode NNP B-ORG +earlier RBR B-DATE +this DT I-DATE +week NN I-DATE +. . O diff --git a/examples/training/ner_example_data/ner-token-per-line-with-pos.json b/examples/training/ner_example_data/ner-token-per-line-with-pos.json new file mode 100644 index 000000000..8645097de --- /dev/null +++ b/examples/training/ner_example_data/ner-token-per-line-with-pos.json @@ -0,0 +1,353 @@ +[ + { + "id":0, + "paragraphs":[ + { + "sentences":[ + { + "tokens":[ + { + "orth":"When", + "tag":"WRB", + "ner":"O" + }, + { + "orth":"Sebastian", + "tag":"NNP", + "ner":"B-PERSON" + }, + { + "orth":"Thrun", + "tag":"NNP", + "ner":"L-PERSON" + }, + { + "orth":"started", + "tag":"VBD", + "ner":"O" + }, + { + "orth":"working", + "tag":"VBG", + "ner":"O" + }, + { + "orth":"on", + "tag":"IN", + "ner":"O" + }, + { + "orth":"self", + "tag":"NN", + "ner":"O" + }, + { + "orth":"-", + "tag":"HYPH", + "ner":"O" + }, + { + "orth":"driving", + "tag":"VBG", + "ner":"O" + }, + { + "orth":"cars", + "tag":"NNS", + "ner":"O" + }, + { + "orth":"at", + "tag":"IN", + "ner":"O" + }, + { + "orth":"Google", + "tag":"NNP", + "ner":"U-ORG" + }, + { + "orth":"in", + "tag":"IN", + "ner":"O" + }, + { + "orth":"2007", + "tag":"CD", + "ner":"U-DATE" + }, + { + "orth":",", + "tag":",", + "ner":"O" + }, + { + "orth":"few", + "tag":"JJ", + "ner":"O" + }, + { + "orth":"people", + "tag":"NNS", + "ner":"O" + }, + { + "orth":"outside", + "tag":"RB", + "ner":"O" + }, + { + "orth":"of", + "tag":"IN", + "ner":"O" + }, + { + "orth":"the", + "tag":"DT", + "ner":"O" + }, + { + "orth":"company", + "tag":"NN", + "ner":"O" + }, + { + "orth":"took", + "tag":"VBD", + "ner":"O" + }, + { + "orth":"him", + "tag":"PRP", + "ner":"O" + }, + { + "orth":"seriously", + "tag":"RB", + "ner":"O" + }, + { + "orth":".", + "tag":".", + "ner":"O" + } + ] + }, + { + "tokens":[ + { + "orth":"\u201c", + "tag":"''", + "ner":"O" + } + ] + }, + { + "tokens":[ + { + "orth":"I", + "tag":"PRP", + "ner":"O" + }, + { + "orth":"can", + "tag":"MD", + "ner":"O" + }, + { + "orth":"tell", + "tag":"VB", + "ner":"O" + }, + { + "orth":"you", + "tag":"PRP", + "ner":"O" + }, + { + "orth":"very", + "tag":"RB", + "ner":"O" + }, + { + "orth":"senior", + "tag":"JJ", + "ner":"O" + }, + { + "orth":"CEOs", + "tag":"NNS", + "ner":"O" + }, + { + "orth":"of", + "tag":"IN", + "ner":"O" + }, + { + "orth":"major", + "tag":"JJ", + "ner":"O" + }, + { + "orth":"American", + "tag":"JJ", + "ner":"U-NORP" + }, + { + "orth":"car", + "tag":"NN", + "ner":"O" + }, + { + "orth":"companies", + "tag":"NNS", + "ner":"O" + }, + { + "orth":"would", + "tag":"MD", + "ner":"O" + }, + { + "orth":"shake", + "tag":"VB", + "ner":"O" + }, + { + "orth":"my", + "tag":"PRP$", + "ner":"O" + }, + { + "orth":"hand", + "tag":"NN", + "ner":"O" + }, + { + "orth":"and", + "tag":"CC", + "ner":"O" + }, + { + "orth":"turn", + "tag":"VB", + "ner":"O" + }, + { + "orth":"away", + "tag":"RB", + "ner":"O" + }, + { + "orth":"because", + "tag":"IN", + "ner":"O" + }, + { + "orth":"I", + "tag":"PRP", + "ner":"O" + }, + { + "orth":"was", + "tag":"VBD", + "ner":"O" + }, + { + "orth":"n\u2019t", + "tag":"RB", + "ner":"O" + }, + { + "orth":"worth", + "tag":"JJ", + "ner":"O" + }, + { + "orth":"talking", + "tag":"VBG", + "ner":"O" + }, + { + "orth":"to", + "tag":"IN", + "ner":"O" + }, + { + "orth":",", + "tag":",", + "ner":"O" + }, + { + "orth":"\u201d", + "tag":"''", + "ner":"O" + }, + { + "orth":"said", + "tag":"VBD", + "ner":"O" + }, + { + "orth":"Thrun", + "tag":"NNP", + "ner":"U-PERSON" + }, + { + "orth":",", + "tag":",", + "ner":"O" + }, + { + "orth":"in", + "tag":"IN", + "ner":"O" + }, + { + "orth":"an", + "tag":"DT", + "ner":"O" + }, + { + "orth":"interview", + "tag":"NN", + "ner":"O" + }, + { + "orth":"with", + "tag":"IN", + "ner":"O" + }, + { + "orth":"Recode", + "tag":"NNP", + "ner":"U-ORG" + }, + { + "orth":"earlier", + "tag":"RBR", + "ner":"B-DATE" + }, + { + "orth":"this", + "tag":"DT", + "ner":"I-DATE" + }, + { + "orth":"week", + "tag":"NN", + "ner":"L-DATE" + }, + { + "orth":".", + "tag":".", + "ner":"O" + } + ] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/examples/training/ner_example_data/ner-token-per-line.iob b/examples/training/ner_example_data/ner-token-per-line.iob new file mode 100644 index 000000000..d00fb5d9c --- /dev/null +++ b/examples/training/ner_example_data/ner-token-per-line.iob @@ -0,0 +1,66 @@ +When O +Sebastian B-PERSON +Thrun I-PERSON +started O +working O +on O +self O +- O +driving O +cars O +at O +Google B-ORG +in O +2007 B-DATE +, O +few O +people O +outside O +of O +the O +company O +took O +him O +seriously O +. O +“ O +I O +can O +tell O +you O +very O +senior O +CEOs O +of O +major O +American B-NORP +car O +companies O +would O +shake O +my O +hand O +and O +turn O +away O +because O +I O +was O +n’t O +worth O +talking O +to O +, O +” O +said O +Thrun B-PERSON +, O +in O +an O +interview O +with O +Recode B-ORG +earlier B-DATE +this I-DATE +week I-DATE +. O diff --git a/examples/training/ner_example_data/ner-token-per-line.json b/examples/training/ner_example_data/ner-token-per-line.json new file mode 100644 index 000000000..37f77760a --- /dev/null +++ b/examples/training/ner_example_data/ner-token-per-line.json @@ -0,0 +1,353 @@ +[ + { + "id":0, + "paragraphs":[ + { + "sentences":[ + { + "tokens":[ + { + "orth":"When", + "tag":"-", + "ner":"O" + }, + { + "orth":"Sebastian", + "tag":"-", + "ner":"B-PERSON" + }, + { + "orth":"Thrun", + "tag":"-", + "ner":"L-PERSON" + }, + { + "orth":"started", + "tag":"-", + "ner":"O" + }, + { + "orth":"working", + "tag":"-", + "ner":"O" + }, + { + "orth":"on", + "tag":"-", + "ner":"O" + }, + { + "orth":"self", + "tag":"-", + "ner":"O" + }, + { + "orth":"-", + "tag":"-", + "ner":"O" + }, + { + "orth":"driving", + "tag":"-", + "ner":"O" + }, + { + "orth":"cars", + "tag":"-", + "ner":"O" + }, + { + "orth":"at", + "tag":"-", + "ner":"O" + }, + { + "orth":"Google", + "tag":"-", + "ner":"U-ORG" + }, + { + "orth":"in", + "tag":"-", + "ner":"O" + }, + { + "orth":"2007", + "tag":"-", + "ner":"U-DATE" + }, + { + "orth":",", + "tag":"-", + "ner":"O" + }, + { + "orth":"few", + "tag":"-", + "ner":"O" + }, + { + "orth":"people", + "tag":"-", + "ner":"O" + }, + { + "orth":"outside", + "tag":"-", + "ner":"O" + }, + { + "orth":"of", + "tag":"-", + "ner":"O" + }, + { + "orth":"the", + "tag":"-", + "ner":"O" + }, + { + "orth":"company", + "tag":"-", + "ner":"O" + }, + { + "orth":"took", + "tag":"-", + "ner":"O" + }, + { + "orth":"him", + "tag":"-", + "ner":"O" + }, + { + "orth":"seriously", + "tag":"-", + "ner":"O" + }, + { + "orth":".", + "tag":"-", + "ner":"O" + } + ] + }, + { + "tokens":[ + { + "orth":"\u201c", + "tag":"-", + "ner":"O" + } + ] + }, + { + "tokens":[ + { + "orth":"I", + "tag":"-", + "ner":"O" + }, + { + "orth":"can", + "tag":"-", + "ner":"O" + }, + { + "orth":"tell", + "tag":"-", + "ner":"O" + }, + { + "orth":"you", + "tag":"-", + "ner":"O" + }, + { + "orth":"very", + "tag":"-", + "ner":"O" + }, + { + "orth":"senior", + "tag":"-", + "ner":"O" + }, + { + "orth":"CEOs", + "tag":"-", + "ner":"O" + }, + { + "orth":"of", + "tag":"-", + "ner":"O" + }, + { + "orth":"major", + "tag":"-", + "ner":"O" + }, + { + "orth":"American", + "tag":"-", + "ner":"U-NORP" + }, + { + "orth":"car", + "tag":"-", + "ner":"O" + }, + { + "orth":"companies", + "tag":"-", + "ner":"O" + }, + { + "orth":"would", + "tag":"-", + "ner":"O" + }, + { + "orth":"shake", + "tag":"-", + "ner":"O" + }, + { + "orth":"my", + "tag":"-", + "ner":"O" + }, + { + "orth":"hand", + "tag":"-", + "ner":"O" + }, + { + "orth":"and", + "tag":"-", + "ner":"O" + }, + { + "orth":"turn", + "tag":"-", + "ner":"O" + }, + { + "orth":"away", + "tag":"-", + "ner":"O" + }, + { + "orth":"because", + "tag":"-", + "ner":"O" + }, + { + "orth":"I", + "tag":"-", + "ner":"O" + }, + { + "orth":"was", + "tag":"-", + "ner":"O" + }, + { + "orth":"n\u2019t", + "tag":"-", + "ner":"O" + }, + { + "orth":"worth", + "tag":"-", + "ner":"O" + }, + { + "orth":"talking", + "tag":"-", + "ner":"O" + }, + { + "orth":"to", + "tag":"-", + "ner":"O" + }, + { + "orth":",", + "tag":"-", + "ner":"O" + }, + { + "orth":"\u201d", + "tag":"-", + "ner":"O" + }, + { + "orth":"said", + "tag":"-", + "ner":"O" + }, + { + "orth":"Thrun", + "tag":"-", + "ner":"U-PERSON" + }, + { + "orth":",", + "tag":"-", + "ner":"O" + }, + { + "orth":"in", + "tag":"-", + "ner":"O" + }, + { + "orth":"an", + "tag":"-", + "ner":"O" + }, + { + "orth":"interview", + "tag":"-", + "ner":"O" + }, + { + "orth":"with", + "tag":"-", + "ner":"O" + }, + { + "orth":"Recode", + "tag":"-", + "ner":"U-ORG" + }, + { + "orth":"earlier", + "tag":"-", + "ner":"B-DATE" + }, + { + "orth":"this", + "tag":"-", + "ner":"I-DATE" + }, + { + "orth":"week", + "tag":"-", + "ner":"L-DATE" + }, + { + "orth":".", + "tag":"-", + "ner":"O" + } + ] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/spacy/cli/convert.py b/spacy/cli/convert.py index 550a7ff85..4acda30ba 100644 --- a/spacy/cli/convert.py +++ b/spacy/cli/convert.py @@ -5,12 +5,14 @@ import plac from pathlib import Path from wasabi import Printer import srsly +import re from .converters import conllu2json, iob2json, conll_ner2json from .converters import ner_jsonl2json -# Converters are matched by file extension. To add a converter, add a new +# Converters are matched by file extension except for ner/iob, which are +# matched by file extension and content. To add a converter, add a new # entry to this dict with the file extension mapped to the converter function # imported from /converters. CONVERTERS = { @@ -31,7 +33,9 @@ FILE_TYPES_STDOUT = ("json", "jsonl") input_file=("Input file", "positional", None, str), output_dir=("Output directory. '-' for stdout.", "positional", None, str), file_type=("Type of data to produce: {}".format(FILE_TYPES), "option", "t", str), - n_sents=("Number of sentences per doc", "option", "n", int), + n_sents=("Number of sentences per doc (0 to disable)", "option", "n", int), + seg_sents=("Segment sentences (for -c ner)", "flag", "s"), + model=("Model for sentence segmentation (for -s)", "option", "b", str), converter=("Converter: {}".format(tuple(CONVERTERS.keys())), "option", "c", str), lang=("Language (if tokenizer required)", "option", "l", str), morphology=("Enable appending morphology to tags", "flag", "m", bool), @@ -41,6 +45,8 @@ def convert( output_dir="-", file_type="json", n_sents=1, + seg_sents=False, + model=None, morphology=False, converter="auto", lang=None, @@ -70,14 +76,24 @@ def convert( msg.fail("Input file not found", input_path, exits=1) if output_dir != "-" and not Path(output_dir).exists(): msg.fail("Output directory not found", output_dir, exits=1) + input_data = input_path.open("r", encoding="utf-8").read() if converter == "auto": converter = input_path.suffix[1:] + if converter == "ner" or converter == "iob": + converter_autodetect = autodetect_ner_format(input_data) + if converter_autodetect == "ner": + msg.info("Auto-detected token-per-line NER format") + converter = converter_autodetect + elif converter_autodetect == "iob": + msg.info("Auto-detected sentence-per-line NER format") + converter = converter_autodetect + else: + msg.warn("Can't automatically detect NER format. Conversion may not succeed. See https://spacy.io/api/cli#convert") if converter not in CONVERTERS: msg.fail("Can't find converter for {}".format(converter), exits=1) # Use converter function to convert data func = CONVERTERS[converter] - input_data = input_path.open("r", encoding="utf-8").read() - data = func(input_data, n_sents=n_sents, use_morphology=morphology, lang=lang) + data = func(input_data, n_sents=n_sents, seg_sents=seg_sents, use_morphology=morphology, lang=lang, model=model) if output_dir != "-": # Export data to a file suffix = ".{}".format(file_type) @@ -88,10 +104,29 @@ def convert( srsly.write_jsonl(output_file, data) elif file_type == "msg": srsly.write_msgpack(output_file, data) - msg.good("Generated output file ({} documents)".format(len(data)), output_file) + msg.good("Generated output file ({} documents): {}".format(len(data), output_file)) else: # Print to stdout if file_type == "json": srsly.write_json("-", data) elif file_type == "jsonl": srsly.write_jsonl("-", data) + + +def autodetect_ner_format(input_data): + # guess format from the first 20 lines + lines = input_data.split("\n")[:20] + format_guesses = {"ner": 0, "iob": 0} + iob_re = re.compile(r"\S+\|(O|[IB]-\S+)") + ner_re = re.compile(r"\S+\s+(O|[IB]-\S+)$") + for line in lines: + line = line.strip() + if iob_re.search(line): + format_guesses["iob"] += 1 + if ner_re.search(line): + format_guesses["ner"] += 1 + if format_guesses["iob"] == 0 and format_guesses["ner"] > 0: + return "ner" + if format_guesses["ner"] == 0 and format_guesses["iob"] > 0: + return "iob" + return None diff --git a/spacy/cli/converters/conll_ner2json.py b/spacy/cli/converters/conll_ner2json.py index 3fd51a140..97ef8e0f4 100644 --- a/spacy/cli/converters/conll_ner2json.py +++ b/spacy/cli/converters/conll_ner2json.py @@ -1,17 +1,71 @@ # coding: utf8 from __future__ import unicode_literals +from wasabi import Printer + from ...gold import iob_to_biluo +from ...lang.xx import MultiLanguage +from ...tokens.doc import Doc +from ...util import load_model -def conll_ner2json(input_data, **kwargs): +def conll_ner2json(input_data, n_sents=10, seg_sents=False, model=None, **kwargs): """ - Convert files in the CoNLL-2003 NER format into JSON format for use with - train cli. + Convert files in the CoNLL-2003 NER format and similar + whitespace-separated columns into JSON format for use with train cli. + + The first column is the tokens, the final column is the IOB tags. If an + additional second column is present, the second column is the tags. + + Sentences are separated with whitespace and documents can be separated + using the line "-DOCSTART- -X- O O". + + Sample format: + + -DOCSTART- -X- O O + + I O + like O + London B-GPE + and O + New B-GPE + York I-GPE + City I-GPE + . O + """ - delimit_docs = "-DOCSTART- -X- O O" + msg = Printer() + doc_delimiter = "-DOCSTART- -X- O O" + # check for existing delimiters, which should be preserved + if "\n\n" in input_data and seg_sents: + msg.warn("Sentence boundaries found, automatic sentence segmentation with `-s` disabled.") + seg_sents = False + if doc_delimiter in input_data and n_sents: + msg.warn("Document delimiters found, automatic document segmentation with `-n` disabled.") + n_sents = 0 + # do document segmentation with existing sentences + if "\n\n" in input_data and not doc_delimiter in input_data and n_sents: + n_sents_info(msg, n_sents) + input_data = segment_docs(input_data, n_sents, doc_delimiter) + # do sentence segmentation with existing documents + if not "\n\n" in input_data and doc_delimiter in input_data and seg_sents: + input_data = segment_sents_and_docs(input_data, 0, "", model=model, msg=msg) + # do both sentence segmentation and document segmentation according + # to options + if not "\n\n" in input_data and not doc_delimiter in input_data: + # sentence segmentation required for document segmentation + if n_sents > 0 and not seg_sents: + msg.warn("No sentence boundaries found to use with option `-n {}`. Use `-s` to automatically segment sentences or `-n 0` to disable.".format(n_sents)) + else: + n_sents_info(msg, n_sents) + input_data = segment_sents_and_docs(input_data, n_sents, doc_delimiter, model=model, msg=msg) + # provide warnings for problematic data + if not "\n\n" in input_data: + msg.warn("No sentence boundaries found. Use `-s` to automatically segment sentences.") + if not doc_delimiter in input_data: + msg.warn("No document delimiters found. Use `-n` to automatically group sentences into documents.") output_docs = [] - for doc in input_data.strip().split(delimit_docs): + for doc in input_data.strip().split(doc_delimiter): doc = doc.strip() if not doc: continue @@ -21,7 +75,17 @@ def conll_ner2json(input_data, **kwargs): if not sent: continue lines = [line.strip() for line in sent.split("\n") if line.strip()] - words, tags, chunks, iob_ents = zip(*[line.split() for line in lines]) + cols = list(zip(*[line.split() for line in lines])) + if len(cols) < 2: + raise ValueError( + "The token-per-line NER file is not formatted correctly. Try checking whitespace and delimiters. See https://spacy.io/api/cli#convert" + ) + words = cols[0] + iob_ents = cols[-1] + if len(cols) > 2: + tags = cols[1] + else: + tags = ["-"] * len(words) biluo_ents = iob_to_biluo(iob_ents) output_doc.append( { @@ -36,3 +100,47 @@ def conll_ner2json(input_data, **kwargs): ) output_doc = [] return output_docs + + +def segment_sents_and_docs(doc, n_sents, doc_delimiter, model=None, msg=None): + sentencizer = None + if model: + nlp = load_model(model) + if "parser" in nlp.pipe_names: + msg.info("Segmenting sentences with parser from model '{}'.".format(model)) + sentencizer = nlp.get_pipe("parser") + if not sentencizer: + msg.info("Segmenting sentences with sentencizer. (Use `-b model` for improved parser-based sentence segmentation.)") + nlp = MultiLanguage() + sentencizer = nlp.create_pipe("sentencizer") + lines = doc.strip().split("\n") + words = [line.strip().split()[0] for line in lines] + nlpdoc = Doc(nlp.vocab, words=words) + sentencizer(nlpdoc) + lines_with_segs = [] + sent_count = 0 + for i, token in enumerate(nlpdoc): + if token.is_sent_start: + if n_sents and sent_count % n_sents == 0: + lines_with_segs.append(doc_delimiter) + lines_with_segs.append("") + sent_count += 1 + lines_with_segs.append(lines[i]) + return "\n".join(lines_with_segs) + + +def segment_docs(input_data, n_sents, doc_delimiter): + sent_delimiter = "\n\n" + sents = input_data.split(sent_delimiter) + docs = [sents[i:i+n_sents] for i in range(0, len(sents), n_sents)] + input_data = "" + for doc in docs: + input_data += sent_delimiter + doc_delimiter + input_data += sent_delimiter.join(doc) + return input_data + + +def n_sents_info(msg, n_sents): + msg.info("Grouping every {} sentences into a document.".format(n_sents)) + if n_sents == 1: + msg.warn("To generate better training data, you may want to group sentences into documents with `-n 10`.") diff --git a/spacy/cli/converters/iob2json.py b/spacy/cli/converters/iob2json.py index e0086afa0..826609bc4 100644 --- a/spacy/cli/converters/iob2json.py +++ b/spacy/cli/converters/iob2json.py @@ -2,17 +2,30 @@ from __future__ import unicode_literals import re +from wasabi import Printer from ...gold import iob_to_biluo from ...util import minibatch +from .conll_ner2json import n_sents_info def iob2json(input_data, n_sents=10, *args, **kwargs): """ - Convert IOB files into JSON format for use with train cli. + Convert IOB files with one sentence per line and tags separated with '|' + into JSON format for use with train cli. IOB and IOB2 are accepted. + + Sample formats: + + I|O like|O London|I-GPE and|O New|B-GPE York|I-GPE City|I-GPE .|O + I|O like|O London|B-GPE and|O New|B-GPE York|I-GPE City|I-GPE .|O + I|PRP|O like|VBP|O London|NNP|I-GPE and|CC|O New|NNP|B-GPE York|NNP|I-GPE City|NNP|I-GPE .|.|O + I|PRP|O like|VBP|O London|NNP|B-GPE and|CC|O New|NNP|B-GPE York|NNP|I-GPE City|NNP|I-GPE .|.|O """ - sentences = read_iob(input_data.split("\n")) - docs = merge_sentences(sentences, n_sents) + msg = Printer() + docs = read_iob(input_data.split("\n")) + if n_sents > 0: + n_sents_info(msg, n_sents) + docs = merge_sentences(docs, n_sents) return docs @@ -21,7 +34,7 @@ def read_iob(raw_sents): for line in raw_sents: if not line.strip(): continue - tokens = [re.split("[^\w\-]", line.strip())] + tokens = [t.split('|') for t in line.split()] if len(tokens[0]) == 3: words, pos, iob = zip(*tokens) elif len(tokens[0]) == 2: @@ -29,7 +42,7 @@ def read_iob(raw_sents): pos = ["-"] * len(words) else: raise ValueError( - "The iob/iob2 file is not formatted correctly. Try checking whitespace and delimiters." + "The sentence-per-line IOB/IOB2 file is not formatted correctly. Try checking whitespace and delimiters. See https://spacy.io/api/cli#convert" ) biluo = iob_to_biluo(iob) sentences.append( @@ -40,7 +53,7 @@ def read_iob(raw_sents): ) sentences = [{"tokens": sent} for sent in sentences] paragraphs = [{"sentences": [sent]} for sent in sentences] - docs = [{"id": 0, "paragraphs": [para]} for para in paragraphs] + docs = [{"id": i, "paragraphs": [para]} for i, para in enumerate(paragraphs)] return docs @@ -50,7 +63,7 @@ def merge_sentences(docs, n_sents): group = list(group) first = group.pop(0) to_extend = first["paragraphs"][0]["sentences"] - for sent in group[1:]: + for sent in group: to_extend.extend(sent["paragraphs"][0]["sentences"]) merged.append(first) return merged diff --git a/spacy/tests/test_cli.py b/spacy/tests/test_cli.py index f0c34276d..3ea9d1b0c 100644 --- a/spacy/tests/test_cli.py +++ b/spacy/tests/test_cli.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals import pytest from spacy.lang.en import English -from spacy.cli.converters import conllu2json +from spacy.cli.converters import conllu2json, iob2json, conll_ner2json from spacy.cli.pretrain import make_docs @@ -32,6 +32,91 @@ def test_cli_converters_conllu2json(): assert [t["ner"] for t in tokens] == ["O", "B-PER", "L-PER", "O"] +def test_cli_converters_iob2json(): + lines = [ + "I|O like|O London|I-GPE and|O New|B-GPE York|I-GPE City|I-GPE .|O", + "I|O like|O London|B-GPE and|O New|B-GPE York|I-GPE City|I-GPE .|O", + "I|PRP|O like|VBP|O London|NNP|I-GPE and|CC|O New|NNP|B-GPE York|NNP|I-GPE City|NNP|I-GPE .|.|O", + "I|PRP|O like|VBP|O London|NNP|B-GPE and|CC|O New|NNP|B-GPE York|NNP|I-GPE City|NNP|I-GPE .|.|O", + ] + input_data = "\n".join(lines) + converted = iob2json(input_data, n_sents=10) + assert len(converted) == 1 + assert converted[0]["id"] == 0 + assert len(converted[0]["paragraphs"]) == 1 + assert len(converted[0]["paragraphs"][0]["sentences"]) == 4 + for i in range(0, 4): + sent = converted[0]["paragraphs"][0]["sentences"][i] + assert len(sent["tokens"]) == 8 + tokens = sent["tokens"] + assert [t["orth"] for t in tokens] == ["I", "like", "London", "and", "New", "York", "City", "."] + assert [t["ner"] for t in tokens] == ["O", "O", "U-GPE", "O", "B-GPE", "I-GPE", "L-GPE", "O"] + + +def test_cli_converters_conll_ner2json(): + lines = [ + "-DOCSTART- -X- O O", + "", + "I\tO", + "like\tO", + "London\tB-GPE", + "and\tO", + "New\tB-GPE", + "York\tI-GPE", + "City\tI-GPE", + ".\tO", + "", + "I O", + "like O", + "London B-GPE", + "and O", + "New B-GPE", + "York I-GPE", + "City I-GPE", + ". O", + "", + "I PRP O", + "like VBP O", + "London NNP B-GPE", + "and CC O", + "New NNP B-GPE", + "York NNP I-GPE", + "City NNP I-GPE", + ". . O", + "", + "I PRP _ O", + "like VBP _ O", + "London NNP _ B-GPE", + "and CC _ O", + "New NNP _ B-GPE", + "York NNP _ I-GPE", + "City NNP _ I-GPE", + ". . _ O", + "", + "I\tPRP\t_\tO", + "like\tVBP\t_\tO", + "London\tNNP\t_\tB-GPE", + "and\tCC\t_\tO", + "New\tNNP\t_\tB-GPE", + "York\tNNP\t_\tI-GPE", + "City\tNNP\t_\tI-GPE", + ".\t.\t_\tO", + ] + input_data = "\n".join(lines) + converted = conll_ner2json(input_data, n_sents=10) + print(converted) + assert len(converted) == 1 + assert converted[0]["id"] == 0 + assert len(converted[0]["paragraphs"]) == 1 + assert len(converted[0]["paragraphs"][0]["sentences"]) == 5 + for i in range(0, 5): + sent = converted[0]["paragraphs"][0]["sentences"][i] + assert len(sent["tokens"]) == 8 + tokens = sent["tokens"] + assert [t["orth"] for t in tokens] == ["I", "like", "London", "and", "New", "York", "City", "."] + assert [t["ner"] for t in tokens] == ["O", "O", "U-GPE", "O", "B-GPE", "I-GPE", "L-GPE", "O"] + + def test_pretrain_make_docs(): nlp = English() diff --git a/website/docs/api/cli.md b/website/docs/api/cli.md index 62752beb4..32e3623b0 100644 --- a/website/docs/api/cli.md +++ b/website/docs/api/cli.md @@ -145,6 +145,8 @@ $ python -m spacy convert [input_file] [output_dir] [--file-type] [--converter] | `--file-type`, `-t` 2.1 | option | Type of file to create (see below). | | `--converter`, `-c` 2 | option | Name of converter to use (see below). | | `--n-sents`, `-n` | option | Number of sentences per document. | +| `--seg-sents`, `-s` 2.2 | flag | Segment sentences (for `-c ner`) | +| `--model`, `-b` 2.2 | option | Model for parser-based sentence segmentation (for `-s`) | | `--morphology`, `-m` | option | Enable appending morphology to tags. | | `--lang`, `-l` 2.1 | option | Language code (if tokenizer required). | | `--help`, `-h` | flag | Show help message and available arguments. | @@ -174,10 +176,10 @@ All output files generated by this command are compatible with | ID | Description | | ------------------------------ | --------------------------------------------------------------- | -| `auto` | Automatically pick converter based on file extension (default). | +| `auto` | Automatically pick converter based on file extension and file content (default). | | `conll`, `conllu`, `conllubio` | Universal Dependencies `.conllu` or `.conll` format. | -| `ner` | Tab-based named entity recognition format. | -| `iob` | IOB or IOB2 named entity recognition format. | +| `ner` | NER with IOB/IOB2 tags, one token per line with columns separated by whitespace. The first column is the token and the final column is the IOB tag. Sentences are separated by blank lines and documents are separated by the line `-DOCSTART- -X- O O`. Supports CoNLL 2003 NER format. See [sample data](https://github.com/explosion/spaCy/tree/master/examples/training/ner_example_data). | +| `iob` | NER with IOB/IOB2 tags, one sentence per line with tokens separated by whitespace and annotation separated by `|`, either `word|B-ENT` or `word|POS|B-ENT`. See [sample data](https://github.com/explosion/spaCy/tree/master/examples/training/ner_example_data). | ## Train {#train} From bcd1b12f430140d5316741172a9eb505fd0c115c Mon Sep 17 00:00:00 2001 From: Ines Montani Date: Fri, 30 Aug 2019 17:02:43 +0200 Subject: [PATCH 05/10] Add contributor agreement [ci skip] --- .github/contributors/Schibsted.png | Bin 0 -> 264869 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .github/contributors/Schibsted.png diff --git a/.github/contributors/Schibsted.png b/.github/contributors/Schibsted.png new file mode 100644 index 0000000000000000000000000000000000000000..218341804d930a7ca4097368c76cb16ca1279fce GIT binary patch literal 264869 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%0A%^nYS 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 literal 0 HcmV?d00001 From cd907521939d7294e3e0cca5cf4d61f52cd99904 Mon Sep 17 00:00:00 2001 From: Ines Montani Date: Sat, 31 Aug 2019 13:39:06 +0200 Subject: [PATCH 06/10] Tidy up and auto-format [ci skip] --- spacy/cli/convert.py | 17 ++++++-- spacy/cli/converters/conll_ner2json.py | 58 ++++++++++++++++++------- spacy/cli/converters/iob2json.py | 2 +- spacy/language.py | 4 +- spacy/matcher/_schemas.py | 5 +-- spacy/tests/lang/sr/test_еxceptions.py | 9 +++- spacy/tests/matcher/test_matcher_api.py | 4 +- spacy/tests/test_cli.py | 4 ++ 8 files changed, 73 insertions(+), 30 deletions(-) diff --git a/spacy/cli/convert.py b/spacy/cli/convert.py index 4acda30ba..67f97f632 100644 --- a/spacy/cli/convert.py +++ b/spacy/cli/convert.py @@ -88,12 +88,21 @@ def convert( msg.info("Auto-detected sentence-per-line NER format") converter = converter_autodetect else: - msg.warn("Can't automatically detect NER format. Conversion may not succeed. See https://spacy.io/api/cli#convert") + msg.warn( + "Can't automatically detect NER format. Conversion may not succeed. See https://spacy.io/api/cli#convert" + ) if converter not in CONVERTERS: msg.fail("Can't find converter for {}".format(converter), exits=1) # Use converter function to convert data func = CONVERTERS[converter] - data = func(input_data, n_sents=n_sents, seg_sents=seg_sents, use_morphology=morphology, lang=lang, model=model) + data = func( + input_data, + n_sents=n_sents, + seg_sents=seg_sents, + use_morphology=morphology, + lang=lang, + model=model, + ) if output_dir != "-": # Export data to a file suffix = ".{}".format(file_type) @@ -104,7 +113,9 @@ def convert( srsly.write_jsonl(output_file, data) elif file_type == "msg": srsly.write_msgpack(output_file, data) - msg.good("Generated output file ({} documents): {}".format(len(data), output_file)) + msg.good( + "Generated output file ({} documents): {}".format(len(data), output_file) + ) else: # Print to stdout if file_type == "json": diff --git a/spacy/cli/converters/conll_ner2json.py b/spacy/cli/converters/conll_ner2json.py index 97ef8e0f4..a3a37d6c9 100644 --- a/spacy/cli/converters/conll_ner2json.py +++ b/spacy/cli/converters/conll_ner2json.py @@ -38,32 +38,50 @@ def conll_ner2json(input_data, n_sents=10, seg_sents=False, model=None, **kwargs doc_delimiter = "-DOCSTART- -X- O O" # check for existing delimiters, which should be preserved if "\n\n" in input_data and seg_sents: - msg.warn("Sentence boundaries found, automatic sentence segmentation with `-s` disabled.") + msg.warn( + "Sentence boundaries found, automatic sentence segmentation with " + "`-s` disabled." + ) seg_sents = False if doc_delimiter in input_data and n_sents: - msg.warn("Document delimiters found, automatic document segmentation with `-n` disabled.") + msg.warn( + "Document delimiters found, automatic document segmentation with " + "`-n` disabled." + ) n_sents = 0 # do document segmentation with existing sentences - if "\n\n" in input_data and not doc_delimiter in input_data and n_sents: + if "\n\n" in input_data and doc_delimiter not in input_data and n_sents: n_sents_info(msg, n_sents) input_data = segment_docs(input_data, n_sents, doc_delimiter) # do sentence segmentation with existing documents - if not "\n\n" in input_data and doc_delimiter in input_data and seg_sents: + if "\n\n" not in input_data and doc_delimiter in input_data and seg_sents: input_data = segment_sents_and_docs(input_data, 0, "", model=model, msg=msg) # do both sentence segmentation and document segmentation according # to options - if not "\n\n" in input_data and not doc_delimiter in input_data: + if "\n\n" not in input_data and doc_delimiter not in input_data: # sentence segmentation required for document segmentation if n_sents > 0 and not seg_sents: - msg.warn("No sentence boundaries found to use with option `-n {}`. Use `-s` to automatically segment sentences or `-n 0` to disable.".format(n_sents)) + msg.warn( + "No sentence boundaries found to use with option `-n {}`. " + "Use `-s` to automatically segment sentences or `-n 0` " + "to disable.".format(n_sents) + ) else: n_sents_info(msg, n_sents) - input_data = segment_sents_and_docs(input_data, n_sents, doc_delimiter, model=model, msg=msg) + input_data = segment_sents_and_docs( + input_data, n_sents, doc_delimiter, model=model, msg=msg + ) # provide warnings for problematic data - if not "\n\n" in input_data: - msg.warn("No sentence boundaries found. Use `-s` to automatically segment sentences.") - if not doc_delimiter in input_data: - msg.warn("No document delimiters found. Use `-n` to automatically group sentences into documents.") + if "\n\n" not in input_data: + msg.warn( + "No sentence boundaries found. Use `-s` to automatically segment " + "sentences." + ) + if doc_delimiter not in input_data: + msg.warn( + "No document delimiters found. Use `-n` to automatically group " + "sentences into documents." + ) output_docs = [] for doc in input_data.strip().split(doc_delimiter): doc = doc.strip() @@ -78,8 +96,10 @@ def conll_ner2json(input_data, n_sents=10, seg_sents=False, model=None, **kwargs cols = list(zip(*[line.split() for line in lines])) if len(cols) < 2: raise ValueError( - "The token-per-line NER file is not formatted correctly. Try checking whitespace and delimiters. See https://spacy.io/api/cli#convert" - ) + "The token-per-line NER file is not formatted correctly. " + "Try checking whitespace and delimiters. See " + "https://spacy.io/api/cli#convert" + ) words = cols[0] iob_ents = cols[-1] if len(cols) > 2: @@ -110,7 +130,10 @@ def segment_sents_and_docs(doc, n_sents, doc_delimiter, model=None, msg=None): msg.info("Segmenting sentences with parser from model '{}'.".format(model)) sentencizer = nlp.get_pipe("parser") if not sentencizer: - msg.info("Segmenting sentences with sentencizer. (Use `-b model` for improved parser-based sentence segmentation.)") + msg.info( + "Segmenting sentences with sentencizer. (Use `-b model` for " + "improved parser-based sentence segmentation.)" + ) nlp = MultiLanguage() sentencizer = nlp.create_pipe("sentencizer") lines = doc.strip().split("\n") @@ -132,7 +155,7 @@ def segment_sents_and_docs(doc, n_sents, doc_delimiter, model=None, msg=None): def segment_docs(input_data, n_sents, doc_delimiter): sent_delimiter = "\n\n" sents = input_data.split(sent_delimiter) - docs = [sents[i:i+n_sents] for i in range(0, len(sents), n_sents)] + docs = [sents[i : i + n_sents] for i in range(0, len(sents), n_sents)] input_data = "" for doc in docs: input_data += sent_delimiter + doc_delimiter @@ -143,4 +166,7 @@ def segment_docs(input_data, n_sents, doc_delimiter): def n_sents_info(msg, n_sents): msg.info("Grouping every {} sentences into a document.".format(n_sents)) if n_sents == 1: - msg.warn("To generate better training data, you may want to group sentences into documents with `-n 10`.") + msg.warn( + "To generate better training data, you may want to group " + "sentences into documents with `-n 10`." + ) diff --git a/spacy/cli/converters/iob2json.py b/spacy/cli/converters/iob2json.py index 826609bc4..fabf2ae26 100644 --- a/spacy/cli/converters/iob2json.py +++ b/spacy/cli/converters/iob2json.py @@ -34,7 +34,7 @@ def read_iob(raw_sents): for line in raw_sents: if not line.strip(): continue - tokens = [t.split('|') for t in line.split()] + tokens = [t.split("|") for t in line.split()] if len(tokens[0]) == 3: words, pos, iob = zip(*tokens) elif len(tokens[0]) == 2: diff --git a/spacy/language.py b/spacy/language.py index 86acf0257..10381573d 100644 --- a/spacy/language.py +++ b/spacy/language.py @@ -38,8 +38,8 @@ from . import about class BaseDefaults(object): @classmethod def create_lemmatizer(cls, nlp=None, lookups=None): - lemma_rules, lemma_index, lemma_exc, lemma_lookup = util.get_lemma_tables(lookups) - return Lemmatizer(lemma_index, lemma_exc, lemma_rules, lemma_lookup) + rules, index, exc, lookup = util.get_lemma_tables(lookups) + return Lemmatizer(index, exc, rules, lookup) @classmethod def create_lookups(cls, nlp=None): diff --git a/spacy/matcher/_schemas.py b/spacy/matcher/_schemas.py index 3c2127c31..471e2b7b5 100644 --- a/spacy/matcher/_schemas.py +++ b/spacy/matcher/_schemas.py @@ -89,10 +89,7 @@ TOKEN_PATTERN_SCHEMA = { "title": "Fine-grained part-of-speech tag", "$ref": "#/definitions/string_value", }, - "DEP": { - "title": "Dependency label", - "$ref": "#/definitions/string_value" - }, + "DEP": {"title": "Dependency label", "$ref": "#/definitions/string_value"}, "LEMMA": { "title": "Lemma (base form)", "$ref": "#/definitions/string_value", diff --git a/spacy/tests/lang/sr/test_еxceptions.py b/spacy/tests/lang/sr/test_еxceptions.py index 136c995ab..285e99996 100644 --- a/spacy/tests/lang/sr/test_еxceptions.py +++ b/spacy/tests/lang/sr/test_еxceptions.py @@ -6,8 +6,13 @@ import pytest @pytest.mark.parametrize( "text,norms,lemmas", - [("о.г.", ["ове године"], ["ова година"]), ("чет.", ["четвртак"], ["четвртак"]), - ("гђа", ["госпођа"], ["госпођа"]), ("ил'", ["или"], ["или"])]) + [ + ("о.г.", ["ове године"], ["ова година"]), + ("чет.", ["четвртак"], ["четвртак"]), + ("гђа", ["госпођа"], ["госпођа"]), + ("ил'", ["или"], ["или"]), + ], +) def test_sr_tokenizer_abbrev_exceptions(sr_tokenizer, text, norms, lemmas): tokens = sr_tokenizer(text) assert len(tokens) == 1 diff --git a/spacy/tests/matcher/test_matcher_api.py b/spacy/tests/matcher/test_matcher_api.py index ccbc7c57e..df35a1be2 100644 --- a/spacy/tests/matcher/test_matcher_api.py +++ b/spacy/tests/matcher/test_matcher_api.py @@ -394,7 +394,7 @@ def test_attr_pipeline_checks(en_vocab): ([{"IS_PUNCT": True}], "."), ([{"IS_SPACE": True}], "\n"), ([{"IS_BRACKET": True}], "["), - ([{"IS_QUOTE": True}], "\""), + ([{"IS_QUOTE": True}], '"'), ([{"IS_LEFT_PUNCT": True}], "``"), ([{"IS_RIGHT_PUNCT": True}], "''"), ([{"IS_STOP": True}], "the"), @@ -405,7 +405,7 @@ def test_attr_pipeline_checks(en_vocab): ) def test_matcher_schema_token_attributes(en_vocab, pattern, text): matcher = Matcher(en_vocab) - doc = Doc(en_vocab, words=text.split(' ')) + doc = Doc(en_vocab, words=text.split(" ")) matcher.add("Rule", None, pattern) assert len(matcher) == 1 matches = matcher(doc) diff --git a/spacy/tests/test_cli.py b/spacy/tests/test_cli.py index 3ea9d1b0c..6dce649a9 100644 --- a/spacy/tests/test_cli.py +++ b/spacy/tests/test_cli.py @@ -49,8 +49,10 @@ def test_cli_converters_iob2json(): sent = converted[0]["paragraphs"][0]["sentences"][i] assert len(sent["tokens"]) == 8 tokens = sent["tokens"] + # fmt: off assert [t["orth"] for t in tokens] == ["I", "like", "London", "and", "New", "York", "City", "."] assert [t["ner"] for t in tokens] == ["O", "O", "U-GPE", "O", "B-GPE", "I-GPE", "L-GPE", "O"] + # fmt: on def test_cli_converters_conll_ner2json(): @@ -113,8 +115,10 @@ def test_cli_converters_conll_ner2json(): sent = converted[0]["paragraphs"][0]["sentences"][i] assert len(sent["tokens"]) == 8 tokens = sent["tokens"] + # fmt: off assert [t["orth"] for t in tokens] == ["I", "like", "London", "and", "New", "York", "City", "."] assert [t["ner"] for t in tokens] == ["O", "O", "U-GPE", "O", "B-GPE", "I-GPE", "L-GPE", "O"] + # fmt: on def test_pretrain_make_docs(): From dad5621166955481d3c86ad81bb3726d06cb6ff3 Mon Sep 17 00:00:00 2001 From: Ines Montani Date: Sat, 31 Aug 2019 13:39:31 +0200 Subject: [PATCH 07/10] Tidy up and auto-format [ci skip] --- .../keras_parikh_entailment/spacy_hook.py | 30 +++++++++---------- examples/training/rehearsal.py | 4 +-- examples/training/train_textcat.py | 8 ++--- 3 files changed, 18 insertions(+), 24 deletions(-) diff --git a/examples/keras_parikh_entailment/spacy_hook.py b/examples/keras_parikh_entailment/spacy_hook.py index 98c355738..307669a70 100644 --- a/examples/keras_parikh_entailment/spacy_hook.py +++ b/examples/keras_parikh_entailment/spacy_hook.py @@ -12,15 +12,15 @@ class KerasSimilarityShim(object): @classmethod def load(cls, path, nlp, max_length=100, get_features=None): - + if get_features is None: get_features = get_word_ids - - with (path / 'config.json').open() as file_: + + with (path / "config.json").open() as file_: model = model_from_json(file_.read()) - with (path / 'model').open('rb') as file_: + with (path / "model").open("rb") as file_: weights = pickle.load(file_) - + embeddings = get_embeddings(nlp.vocab) weights.insert(1, embeddings) model.set_weights(weights) @@ -33,8 +33,8 @@ class KerasSimilarityShim(object): self.max_length = max_length def __call__(self, doc): - doc.user_hooks['similarity'] = self.predict - doc.user_span_hooks['similarity'] = self.predict + doc.user_hooks["similarity"] = self.predict + doc.user_span_hooks["similarity"] = self.predict return doc @@ -48,24 +48,24 @@ class KerasSimilarityShim(object): def get_embeddings(vocab, nr_unk=100): # the extra +1 is for a zero vector representing sentence-final padding - num_vectors = max(lex.rank for lex in vocab) + 2 - + num_vectors = max(lex.rank for lex in vocab) + 2 + # create random vectors for OOV tokens oov = np.random.normal(size=(nr_unk, vocab.vectors_length)) oov = oov / oov.sum(axis=1, keepdims=True) - - vectors = np.zeros((num_vectors + nr_unk, vocab.vectors_length), dtype='float32') - vectors[1:(nr_unk + 1), ] = oov + + vectors = np.zeros((num_vectors + nr_unk, vocab.vectors_length), dtype="float32") + vectors[1 : (nr_unk + 1),] = oov for lex in vocab: if lex.has_vector and lex.vector_norm > 0: - vectors[nr_unk + lex.rank + 1] = lex.vector / lex.vector_norm + vectors[nr_unk + lex.rank + 1] = lex.vector / lex.vector_norm return vectors def get_word_ids(docs, max_length=100, nr_unk=100): - Xs = np.zeros((len(docs), max_length), dtype='int32') - + Xs = np.zeros((len(docs), max_length), dtype="int32") + for i, doc in enumerate(docs): for j, token in enumerate(doc): if j == max_length: diff --git a/examples/training/rehearsal.py b/examples/training/rehearsal.py index 21e897ced..123f5049d 100644 --- a/examples/training/rehearsal.py +++ b/examples/training/rehearsal.py @@ -80,7 +80,7 @@ def main(model_name, unlabelled_loc): nlp.rehearse(raw_batch, sgd=optimizer, losses=r_losses) print("Losses", losses) print("R. Losses", r_losses) - print(nlp.get_pipe('ner').model.unseen_classes) + print(nlp.get_pipe("ner").model.unseen_classes) test_text = "Do you like horses?" doc = nlp(test_text) print("Entities in '%s'" % test_text) @@ -88,7 +88,5 @@ def main(model_name, unlabelled_loc): print(ent.label_, ent.text) - - if __name__ == "__main__": plac.call(main) diff --git a/examples/training/train_textcat.py b/examples/training/train_textcat.py index 7cd492f75..4d4ebf396 100644 --- a/examples/training/train_textcat.py +++ b/examples/training/train_textcat.py @@ -24,7 +24,7 @@ from spacy.util import minibatch, compounding output_dir=("Optional output directory", "option", "o", Path), n_texts=("Number of texts to train from", "option", "t", int), n_iter=("Number of training iterations", "option", "n", int), - init_tok2vec=("Pretrained tok2vec weights", "option", "t2v", Path) + init_tok2vec=("Pretrained tok2vec weights", "option", "t2v", Path), ) def main(model=None, output_dir=None, n_iter=20, n_texts=2000, init_tok2vec=None): if output_dir is not None: @@ -43,11 +43,7 @@ def main(model=None, output_dir=None, n_iter=20, n_texts=2000, init_tok2vec=None # nlp.create_pipe works for built-ins that are registered with spaCy if "textcat" not in nlp.pipe_names: textcat = nlp.create_pipe( - "textcat", - config={ - "exclusive_classes": True, - "architecture": "simple_cnn", - } + "textcat", config={"exclusive_classes": True, "architecture": "simple_cnn"} ) nlp.add_pipe(textcat, last=True) # otherwise, get it, so we can add labels to it From 419ae59c79bada005a807d468f7b173c3c163bad Mon Sep 17 00:00:00 2001 From: Ines Montani Date: Sat, 31 Aug 2019 14:08:05 +0200 Subject: [PATCH 08/10] Make flaky test test_issue_1971_4 more explicit --- spacy/tests/regression/test_issue1501-2000.py | 1 + 1 file changed, 1 insertion(+) diff --git a/spacy/tests/regression/test_issue1501-2000.py b/spacy/tests/regression/test_issue1501-2000.py index 6edef0702..24f725ab8 100644 --- a/spacy/tests/regression/test_issue1501-2000.py +++ b/spacy/tests/regression/test_issue1501-2000.py @@ -329,3 +329,4 @@ def test_issue_1971_4(en_vocab): matches = matcher(doc) # Uncommenting this caused a segmentation fault assert len(matches) == 1 + assert matches[0] == (en_vocab.strings["TEST"], 0, 3) From 6b0fec76fddc08bd4ab5f69bae2125b2473cb278 Mon Sep 17 00:00:00 2001 From: Adriane Boyd Date: Wed, 4 Sep 2019 13:42:42 +0200 Subject: [PATCH 09/10] Fix handling of preset entities in NER * Fix check of valid ent_type for B * Add valid L as preset-I followed by not-I --- spacy/syntax/ner.pyx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spacy/syntax/ner.pyx b/spacy/syntax/ner.pyx index c2a85bfe1..767e4c2e0 100644 --- a/spacy/syntax/ner.pyx +++ b/spacy/syntax/ner.pyx @@ -258,7 +258,7 @@ cdef class Begin: @staticmethod cdef bint is_valid(const StateC* st, attr_t label) nogil: cdef int preset_ent_iob = st.B_(0).ent_iob - cdef int preset_ent_label = st.B_(0).ent_type + cdef attr_t preset_ent_label = st.B_(0).ent_type # If we're the last token of the input, we can't B -- must U or O. if st.B(1) == -1: return False @@ -395,6 +395,9 @@ cdef class Last: return False elif not st.entity_is_open(): return False + elif st.B_(0).ent_iob == 1 and st.B_(1).ent_iob != 1: + # If a preset entity has I followed by not-I, is L + return True elif st.E_(0).ent_type != label: return False elif st.B_(1).ent_iob == 1: From 2245e95e2d2af4c9089ac4ac89a30ddad37a8842 Mon Sep 17 00:00:00 2001 From: Ines Montani Date: Wed, 4 Sep 2019 17:11:40 +0200 Subject: [PATCH 10/10] Update languages.json [ci skip] --- website/meta/languages.json | 1 + 1 file changed, 1 insertion(+) diff --git a/website/meta/languages.json b/website/meta/languages.json index f3628f050..af756f205 100644 --- a/website/meta/languages.json +++ b/website/meta/languages.json @@ -10,6 +10,7 @@ "en_vectors_web_lg", "en_pytt_bertbaseuncased_lg", "en_pytt_robertabase_lg", + "pytt_distilbertbaseuncased_lg", "en_pytt_xlnetbasecased_lg" ], "example": "This is a sentence.",