Skip to content

Basic Usage Examples

Text Processing Pipeline

from nepalikit.stemmer import stem_text
from nepalikit.normalizer import normalize, detect_script
from nepalikit.number_extractor import extract_numbers
from nepalikit.manage_stopwords import remove_stopwords_from_text
from nepalikit.pos_tagger import tag_pos

def process_nepali_text(text):
    # Normalize
    normalized = normalize(text)

    # Detect script
    script = detect_script(text)

    # Remove stopwords
    filtered = remove_stopwords_from_text(normalized)

    # Stem
    stemmed = stem_text(filtered)

    return {
        'normalized': normalized,
        'script': script,
        'filtered': filtered,
        'stemmed': stemmed
    }

# Example
text = "नेपालको राजधानी काठमाडौं हो।"
result = process_nepali_text(text)
print(result)

Sentiment Analysis Prep

from nepalikit.normalizer import normalize
from nepalikit.pos_tagger import tag_pos
from nepalikit.manage_stopwords import remove_stopwords_from_text

def prepare_for_sentiment(text):
    # Normalize
    normalized = normalize(text)

    # Tokenize
    tokens = normalized.split()

    # Remove stopwords
    filtered = remove_stopwords_from_text(normalized)

    # Get POS tags
    tags = tag_pos(tokens)

    return {
        'normalized': normalized,
        'tokens': tokens,
        'filtered': filtered,
        'pos_tags': tags
    }

text = "यो फिल्म धेरै राम्रो छ।"
result = prepare_for_sentiment(text)
print(result)

Number Extraction Example

from nepalikit.number_extractor import extract_numbers, convert_number

# Extract numbers from text
text = "मैले २ लाख ५ हजार रुपैयाँ तिरें।"
numbers = extract_numbers(text)
print(numbers)  # [('२ लाख ५ हजार', 205000)]

# Convert specific expressions
print(convert_number("पचास"))        # 50
print(convert_number("१,२३,४५६"))   # 123456
print(convert_number("२.५ लाख"))    # 250000

Spell Checking Example

from nepalikit.spell_checker import check_spelling, suggest_corrections

# Check spelling
words = ["नेपाल", "राम्रो", "नेपालक"]
for word in words:
    is_correct = check_spelling(word)
    print(f"{word}: {'✓' if is_correct else '✗'}")

# Get suggestions
suggestions = suggest_corrections("नेपालक")
print(f"Suggestions: {suggestions}")

Transliteration Example

from nepalikit.transliterate import roman_to_devanagari, devanagari_to_roman

# Roman to Devanagari
roman_text = "mero naam ram ho"
devanagari = roman_to_devanagari(roman_text)
print(f"Roman: {roman_text}")
print(f"Devanagari: {devanagari}")

# Devanagari to Roman
devanagari_text = "नेपालको राजधानी काठमाडौं हो"
roman = devanagari_to_roman(devanagari_text)
print(f"Devanagari: {devanagari_text}")
print(f"Roman: {roman}")

# Preeti font to Unicode
from nepalikit.transliterate import preeti_to_unicode

preeti_text = "s{sf"
unicode_text = preeti_to_unicode(preeti_text)
print(f"Preeti: {preeti_text}")
print(f"Unicode: {unicode_text}")

POS Tagging Example

from nepalikit.pos_tagger import tag_pos

# Tag a sentence
text = "रामले किताब पढ्छ।"
tokens = text.split()
tags = tag_pos(tokens)

for token, tag in tags:
    print(f"{token}: {tag}")

Complete NLP Pipeline

from nepalikit.normalizer import normalize, detect_script
from nepalikit.stemmer import stem, stem_text
from nepalikit.number_extractor import extract_numbers
from nepalikit.manage_stopwords import remove_stopwords_from_text
from nepalikit.pos_tagger import tag_pos
from nepalikit.spell_checker import check_spelling
from nepalikit.transliterate import devanagari_to_roman

def analyze_nepali_text(text):
    """Complete NLP analysis of Nepali text."""

    # 1. Normalize
    normalized = normalize(text)

    # 2. Detect script
    script = detect_script(text)

    # 3. Tokenize
    tokens = normalized.split()

    # 4. Remove stopwords
    filtered = remove_stopwords_from_text(normalized)
    filtered_tokens = filtered.split()

    # 5. POS tagging
    pos_tags = tag_pos(tokens)

    # 6. Stem
    stemmed = stem_text(filtered)

    # 7. Extract numbers
    numbers = extract_numbers(text)

    # 8. Transliterate to Roman
    roman = devanagari_to_roman(text)

    return {
        'original': text,
        'normalized': normalized,
        'script': script,
        'tokens': tokens,
        'filtered': filtered,
        'pos_tags': pos_tags,
        'stemmed': stemmed,
        'numbers': numbers,
        'roman': roman
    }

# Example usage
text = "मैले २ लाख रुपैयाँमा किताब किनें।"
result = analyze_nepali_text(text)
for key, value in result.items():
    print(f"{key}: {value}")