Каков фрагментатор по умолчанию для инструментария NLTK в Python?

Я думаю, что венгерская запись является интересной сноской вдоль 'пути' к большему количеству читаемого кода, и, если сделано правильно, предпочтительна для не сделанного он.

В высказывании этого, хотя, я покончил бы с ним, и вместо этого:

int vBox = aBottom * lVerticalSide;

запись это:

int boxVolume = bottomArea * verticalHeight;

Это - 2008. У нас больше нет починенных экранов ширины 80 символов!

кроме того, если Вы написали имена переменной, которые намного более длинны, чем это, необходимо смотреть на рефакторинг в объекты или функции так или иначе.

9
задан TIMEX 6 November 2009 в 13:10
поделиться

2 ответа

Вы можете выйти из коробки с именованным фрагментированием сущностей с помощью метода nltk.ne_chunk (). Требуется список кортежей с тегами POS:

nltk.ne_chunk ([('Barack', 'NNP'), ('Obama', 'NNP'), ('live', 'NNS'), ('in ',' IN '), (' Washington ',' NNP ')])

приводит к:

Tree (' S ', [Tree (' PERSON ', [(' Barack ',' NNP ') ]), Tree ('ORGANIZATION', [('Obama', 'NNP')]), ('живет', 'NNS'), ('in', 'IN'), Tree ('GPE', [( «Вашингтон», «ННП»)])])

Он идентифицирует Барака как человека, а Обаму как организацию. Так что не идеально.

9
ответ дан 4 December 2019 в 12:19
поделиться

Я также не смог найти блокировщик / мелкий парсер по умолчанию. Хотя в книге описано, как создать и обучить его, на примерах функций. Придумать дополнительные функции для достижения хорошей производительности не должно быть слишком сложно.

См. Раздел главы 7 о Обучение чанкеров на основе классификатора .

8
ответ дан 4 December 2019 в 12:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: