Я хотел бы раскрасить предложение в терминале, чтобы существительные были синими, а глаголы зелеными. Все остальное будет черным.
До сих пор я пытался использовать для этой цели модули nltk
и colorama
.
import nltk
from colorama import Fore
Этот код найдет существительные и глаголы, так что глаголы будут VB
или VBD
, а существительные NN
.
s = nltk.word_tokenize(sample_sentence)
tagged_text = nltk.pos_tag(s)
print tagged_text
[('Stately', 'RB'), (',', ','), ('plump', 'VB'), ('Buck', 'NNP'), ('Mulligan', 'NNP'), ('came', 'VBD'), ('from', 'IN'), ('the', 'DT'), ('stairhead', 'NN'), (',', ','), ('bearing', 'VBG'), ('a', 'DT'), ('bowl', 'NN'), ('of', 'IN'), ('lather', 'NN'), ('on', 'IN'), ('which', 'WDT'), ('a', 'DT'), ('mirror', 'NN'), ('and', 'CC'), ('a', 'DT'), ('razor', 'NN'), ('lay', 'NN'), ('crossed', 'VBD'), ('.', '.')]
Когда я хочу напечатать цветной текст, я буду использовать:
print Fore.BLUE + some_noun
print Fore.GREEN + some_verb
print Fore.BLACK + something_else
У меня проблема с печатью предложения. Как бы вы перебрали tagged_text
, чтобы он печатал sample_sentence
без изменений (будут применены только нужные цвета)?