I'm using Prodigy 1.10.2. If I use a trained model, I got the following error -
Traceback (most recent call last):
File "/home/ec2-user/anaconda3/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/home/ec2-user/anaconda3/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/ec2-user/anaconda3/lib/python3.7/site-packages/prodigy/main.py", line 60, in
controller = recipe(*args, use_plac=True)
File "cython_src/prodigy/core.pyx", line 318, in prodigy.core.recipe.recipe_decorator.recipe_proxy
File "cython_src/prodigy/core.pyx", line 138, in prodigy.core.Controller.init
File "cython_src/prodigy/components/feeds.pyx", line 56, in prodigy.components.feeds.SharedFeed.init
File "cython_src/prodigy/components/feeds.pyx", line 155, in prodigy.components.feeds.SharedFeed.validate_stream
File "/home/ec2-user/anaconda3/lib/python3.7/site-packages/toolz/itertoolz.py", line 376, in first
return next(iter(seq))
File "cython_src/prodigy/components/sorters.pyx", line 98, in iter
File "cython_src/prodigy/util.pyx", line 449, in predict
File "/home/ec2-user/anaconda3/lib/python3.7/site-packages/toolz/itertoolz.py", line 242, in interleave
yield next(itr)
File "cython_src/prodigy/models/matcher.pyx", line 167, in call
File "matcher.pyx", line 234, in spacy.matcher.matcher.Matcher.call
ValueError: [E155] The pipeline needs to include a tagger in order to use Matcher or PhraseMatcher with the attributes POS, TAG, or LEMMA. Try using nlp() instead of nlp.make_doc() or list(nlp.pipe()) instead of list(nlp.tokenizer.pipe()).
The command I used to teach is -
PRODIGY_PORT=8000 prodigy textcat.teach temp_db5 /tmp/my_model/ ~/user/class/chat_sentence_plus.jsonl --label my_class -pt ~/fiona/class/class_pattern.jsonl
If I replace my trained model with en_core_web_lg, I wont' get the error.
This is command I used to train my model -
prodigy train textcat temp_db5 blank:en -o /tmp/my_model/