Views
No views yet
1from transformers import AutoTokenizer, AutoModelForTokenClassification
2import torch
3
4# Load model and tokenizer
5tokenizer = AutoTokenizer.from_pretrained("Arofat/uzbek-pos-tagger")
6model = AutoModelForTokenClassification.from_pretrained("Arofat/uzbek-pos-tagger")
7
8# Prepare text
9text = "Men O'zbekistonda yashayman."
10tokens = text.split()
11
12# Get predictions
13inputs = tokenizer(tokens, is_split_into_words=True, return_tensors="pt")
14with torch.no_grad():
15 outputs = model(**inputs)
16
17# Process outputs
18predictions = torch.argmax(outputs.logits, dim=2)
19id2label = model.config.id2label
20
21# Get POS tags
22pos_tags = []
23word_ids = inputs.word_ids(batch_index=0)
24prev_word_id = None
25for idx, word_id in enumerate(word_ids):
26 if word_id is None or word_id == prev_word_id:
27 continue
28 pos_tags.append(id2label[predictions[0, idx].item()])
29 prev_word_id = word_id
30
31# Print results
32for token, tag in zip(tokens, pos_tags):
33 print(f"{token}: {tag}")