Как создать новую сущность и использовать ее для поиска сущности в моих тестовых данных?
Распознаватели именованных объектов являются вероятностными, нейронными или линейными моделями. В вашем коде
chunked_sentences = nltk.ne_chunk_sents(tagged_sentences, binary=True)
делает это предсказание. Поэтому, если вы хотите, чтобы он распознавал новые типы сущностей, вы должны сначала обучить классификатор аннотированным данным, содержащим новый тип сущности.
Почему-то мой код не работает,
Как я уже говорил, вы не обучали модель NLTK собственным данным, поэтому она не работает.
Как заставить мой токениз работать?
Tokenizer извлекает только жетоны слов, что делается в вашем коде этой строкой
tokenized_sentences = [nltk.word_tokenize(sentence) for sentence in sentences]
Но токенайзер не предсказывает именованную сущность напрямую.
Если вы хотите обучить модель для предсказания индивидуально названного объекта, такого как лекарство, с помощью NLTK, попробуйте этот учебник.
Из моего личного опыта NLTK может не подойти для этого, посмотрите Spacy.