Skip to content

Morphological Analysis Task

openaivec.task.nlp.morphological_analysis

Morphological analysis task for OpenAI API.

This module provides a predefined task for morphological analysis including tokenization, part-of-speech tagging, and lemmatization using OpenAI's language models.

Example

Basic usage with BatchResponses:

from openai import OpenAI
from openaivec.responses import BatchResponses
from openaivec.task import nlp

client = OpenAI()
analyzer = BatchResponses.of_task(
    client=client,
    model_name="gpt-4o-mini",
    task=nlp.MORPHOLOGICAL_ANALYSIS
)

texts = ["Running quickly", "The cats are sleeping"]
analyses = analyzer.parse(texts)

for analysis in analyses:
    print(f"Tokens: {analysis.tokens}")
    print(f"POS Tags: {analysis.pos_tags}")
    print(f"Lemmas: {analysis.lemmas}")

With pandas integration:

import pandas as pd
from openaivec import pandas_ext  # Required for .ai accessor
from openaivec.task import nlp

df = pd.DataFrame({"text": ["Running quickly", "The cats are sleeping"]})
df["analysis"] = df["text"].ai.task(nlp.MORPHOLOGICAL_ANALYSIS)

# Extract analysis components
extracted_df = df.ai.extract("analysis")
print(extracted_df[["text", "analysis_tokens", "analysis_pos_tags", "analysis_lemmas"]])

Attributes:

Name Type Description
MORPHOLOGICAL_ANALYSIS PreparedTask

A prepared task instance configured for morphological analysis with temperature=0.0 and top_p=1.0 for deterministic output.