"Use TextBlob document-level NLP workflows for tokenization,
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill core-nlp-workflows --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Core Nlp Workflows?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-core-nlp-workflows)More formats (shields.io, HTML) on the badges page.
---
name: core-nlp-workflows
description: "Use TextBlob document-level NLP workflows for tokenization,
sentence splitting, POS tags, noun phrases, sentiment, parsing, counts, and
Blobber routing."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# TextBlob core NLP workflows
Use this sub-skill when a task starts from raw text and needs TextBlob's
high-level document or sentence APIs: `TextBlob`, `Sentence`, `Blobber`, words,
tokens, sentences, POS tags, noun phrases, sentiment, parsing, n-grams, counts,
JSON serialization, or built-in model overrides.
Route elsewhere when the request is mostly about:
- Word-level spelling, inflection, lemmatization, stemming, WordNet, or
`WordList` batch transforms: `../word-and-lexical-tools/SKILL.md`.
- Classifier training/evaluation, training data files, feature extractors, or
`TextBlob(..., classifier=...)`: `../classifiers-and-data-formats/SKILL.md`.
- Writing custom model classes, extension packages, or reusable `Blobber`
factories with custom components: `../custom-models-and-extensions/SKILL.md`.
## Bundled resources
- [Workflows](references/workflows.md): task-oriented recipes for tokenization,
tagging, noun phrases, sentiment, parsing, counts, JSON, and `Blobber`.
- [API reference](references/api-reference.md): verified signatures, defaults,
return shapes, and model classes for document-level APIs.
- [Troubleshooting](references/troubleshooting.md): missing NLTK corpora,
punctuation/tokenization surprises, slow corpus-backed models, and analyzer
or parser misuse.
- [Core NLP smoke script](scripts/core_nlp_smoke.py): read-only installed
package checks. Run `python scripts/core_nlp_smoke.py --help`.
## Operating workflow
1. **Confirm setup.** TextBlob import alone is not enough for corpus-backed
workflows. If tags, sentence splitting, noun phrases, lemmatization, or the
Naive Bayes sentiment analyzer are needed, ensure the installed environment
has TextBlob corpora. The parent skill links a setup reference and a root
setup diagnostic.
2. **Create a blob.** Use `TextBlob(text)` for ordinary raw text. The
constructor validates tokenizer, POS tagger, NP extractor, analyzer, and
parser objects when custom ones are supplied.
3. **Choose the right property.**
- Use `.sentences` for `Sentence` objects and sentence-level processing.
- Use `.words` for word tokens without punctuation.
- Use `.tokens` or `.tokenize(tokenizer)` when punctuation or a custom
tokenizer contract matters.
- Use `.tags`/`.pos_tags` for flattened POS tags across sentences.
- Use `.noun_phrases` for normalized lowercase noun phrase strings.
- Use `.sentiment`, `.polarity`, `.subjectivity`, or
`.sentiment_assessments` for built-in sentiment workflows.
- Use `.parse()` for the pattern-style parse string.
- Use `.word_counts`, `.np_counts`, and `.ngrams(n)` for simple counts and
phrase windows.
4. **Use `Blobber` when models should be shared.** `Blobber(...)` creates
`TextBlob` instances that reuse the same tokenizer, tagger, extractor,
analyzer, parser, and classifier objects. This is useful for expensive or
configured models; route to the custom-model sub-skill when implementing the
components themselves.
5. **Validate with a tiny smoke.** Run the bundled smoke script before relying
on a new environment or after debugging corpus paths. Use
`--skip-corpus-heavy` only when POS, sentences, and noun phrases are not part
of the task.
6. **Keep downstream outputs explicit.** TextBlob properties are convenient and
often cached. When building pipelines, record which property produced each
field, whether punctuation was kept, and whether corpora or optional models
were required.
## Quick patterns
```python
from textblob import Blobber, TextBlob
from textblob.sentiments import NaiveBayesAnalyzer
from textblob.tokenizers import WordTokenizer
blob = TextBlob("TextBlob is amazingly simple. Great fun!")
[str(s) for s in blob.sentences]
[(str(word), tag) for word, tag in blob.tags]
blob.noun_phrases
blob.sentiment.polarity
blob.ngrams(2)
# Discrete sentiment analyzer trained from movie_reviews corpus.
TextBlob("I love this library", analyzer=NaiveBayesAnalyzer()).sentiment
# Shared model factory.
tb = Blobber(tokenizer=WordTokenizer())
first = tb("one text")
second = tb("another text")
assert first.tokenizer is second.tokenizer
```
If `.tags`, `.sentences`, or `.noun_phrases` raises `MissingCorpusError`, do not
silently switch algorithms. Use [references/troubleshooting.md](references/troubleshooting.md)
to identify the missing corpus and run the explicit setup command in the target
environment.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!