Я использую их маркировку POS по умолчанию и токенизацию по умолчанию ... и этого кажется достаточно. Я бы тоже хотел их чанкер по умолчанию.
Я читаю книгу о наборе инструментов NLTK, но мне не кажется, что у них есть блокировщик по умолчанию?
Я использую их маркировку POS по умолчанию и токенизацию по умолчанию ... и этого кажется достаточно. Я бы тоже хотел их чанкер по умолчанию.
Я читаю книгу о наборе инструментов NLTK, но мне не кажется, что у них есть блокировщик по умолчанию?
Вы можете выйти из коробки с именем фрагментации сущностей с помощью метода nltk.ne_chunk(). Он принимает список кортежей с тегами POS:
nltk.ne_chunk([('Barack', 'NNP'), ('Obama', 'NNP'), ('lives', 'NNS'), ('in', 'IN'), ('Washington', 'NNP')])
приводит к:
Tree('S', [Tree('PERSON', [('Barack', 'NNP')]), Tree('ORGANIZATION', [('Obama', 'NNP')]), ('lives', 'NNS'), ('in', 'IN'), Tree('GPE', [('Washington', 'NNP')])])
Он идентифицирует Барака как личность, а Обаму как организацию. Значит, не идеально.
Я также не смог найти чанчер/мелкий парсер по умолчанию. Хотя в книге описывается, как построить и обучить его с примерами функций. Придумать дополнительные функции для получения хорошей производительности не должно быть слишком сложно.
См. раздел главы 7, посвященный обучению на основе классификатора. Чанкеры.