# nltk

Правило задаёт практики для NLTK-кода на Python: модульная структура, типизация, загрузка данных и выбор токенизатора.

- правило · `type=rule` · Cursor · ★ 3580
- Автор: sanjeed5
- Лицензия: CC0-1.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/sanjeed5/awesome-cursor-rules-mdc/tree/HEAD/rules-mdc/nltk.mdc
- Обновлён: 2026-05-19
- HTML: https://affpapa.org/nevibecode/rules/nltk

## Что делает

Правило применяется к Python-файлам по маске `**/*.py`. Оно советует разделять токенизацию, удаление стоп-слов, стемминг и лемматизацию на небольшие функции или классы, передавать объекты явно и добавлять типы к аргументам и результатам.

Отдельные рекомендации касаются данных NLTK и производительности: загрузку корпусов следует проверять и выполнять только при необходимости, а для больших текстов рассматривать `RegexpTokenizer` или `ToktokTokenizer` вместо `nltk.word_tokenize`. Лемматизация через `WordNetLemmatizer` требует POS-тегов для корректного результата. Для больших корпусов `nltk.word_tokenize` здесь не лучший выбор.

## Установка

### Cursor (родная платформа)

**Вручную: положить файлы**
- Файл: `.cursor/rules/nltk.mdc` — Во frontmatter: description, globs, alwaysApply

### Claude Code

**Вручную: положить файлы**
- Файл: `.claude/rules/nltk.md` — Поле paths во frontmatter ограничивает файлы: globs из источника → paths

### Codex

**AGENTS.md**
- Codex читает AGENTS.md: вставьте текст правила туда

### GitHub Copilot

**Вручную: положить файлы**
- Файл: `.github/instructions/nltk.instructions.md` — Поле applyTo задаёт, к каким файлам применять: globs из источника → applyTo

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/rules/nltk.md`

### Cline

**Вручную: положить файлы**
- Файл: `.clinerules/nltk.md`

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/sanjeed5/awesome-cursor-rules-mdc/tree/HEAD/rules-mdc/nltk.mdc

## Когда брать
- разделить NLTK-пайплайн на тестируемые этапы
- проверять наличие корпусов перед загрузкой
- убрать глобальное состояние из обработки текста
- выбрать токенизатор для больших корпусов
- передать POS-теги в лемматизацию

## Примеры запросов агенту
- Проверь этот Python-код с NLTK по правилу и раздели обработку текста на функции.
- Замени `nltk.word_tokenize` в обработке большого корпуса на подходящий токенизатор.
- Исправь лемматизацию в этом файле: добавь POS-теги и проверь загрузку данных NLTK.

## Похожие
- [nlp-natural-language-processing](https://affpapa.org/nevibecode/skills/nlp-natural-language-processing.md) — скилл · 980 установок
- [transformers-huggingface](https://affpapa.org/nevibecode/skills/transformers-huggingface.md) — скилл · 758 установок
- [azure-ai-textanalytics-py](https://affpapa.org/nevibecode/skills/azure-ai-textanalytics-py.md) — скилл · 2 установки
- [azure-ai-translation-text-py](https://affpapa.org/nevibecode/skills/azure-ai-translation-text-py.md) — скилл · 2 установки
- [chunking-strategy](https://affpapa.org/nevibecode/skills/chunking-strategy.md) — скилл · 3900 установок
- [The Ainglish Project](https://affpapa.org/nevibecode/mcp/the-ainglish-project.md) — MCP-сервер

Из того же набора: [sanjeed5/awesome-cursor-rules-mdc](https://affpapa.org/nevibecode/by/sanjeed5/awesome-cursor-rules-mdc.md) — 240 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
