snakers4 / silero-models

Silero Models: pre-trained speech-to-text, text-to-speech and text-enhancement models made embarrassingly simple
Other
4.96k stars 312 forks source link

Text-Enhancement #274

Closed tellts closed 6 months ago

tellts commented 6 months ago

Hello. I was unable to place punctuation marks on the Russian text, which is approximately 7,000 words long. Где брать клиентов и агентов-iP0BS1mVJ1M.zip `IndexError Traceback (most recent call last)

in () 1 input_text = input('Итак друзья всех Рад приветствовать у нас запустилась запись сегодня для вас будет выступать Андрей Розанов я нахожусь в квалификации о10 причём и по старому и по новому маркетингу У меня более 10.000 баллов товарооборота соответственно в проекте свае я самый быстрый о 10 на данный момент времени за полтора месяца мне получилось достичь этой планки команда более 40.000 человек И сегодня я вам буду передавать свой опыт как вот за 5 месяцев достичь такой такой объём команды как вообще стартовать в этом бизнесе Как легко и быстро самое главное подключать агентов и клиентов для меня очень важно Вот видите у меня прям сразу идёт первым первоочередное Агенты у меня фокус на бизнес Я всегда говорю через агентов то есть мы сегодня будем говорить про деньги про цифры про масштабы и мы сегодня будем настраивать пря шестерёнок как этот бизнес строить правильно Давайте сразу перейдём к сути я не супер любитель там презентовать себя Я очень люблю чтобы за меня говорили дела Давайте прямо сразу а перейдём соответственно к контентной части и далее мы с вами будем общаться Вы уже протестировали в чате Поволжья У вас есть последний пост под ним есть комментарий когда я попрошу А будете комментарии писать туда я их буду там читать Итак Где искать клиентов Давайте листаем сразу дальше И мы с вами натыкаются прежде чем вы начнёте рассказывать об этом проекте прежде чем вы поставите себе там планы и мечты Вы до... ----> 2 apply_te(input_text, lan='ru') ~/.cache/torch/hub/snakers4_silero-models_master/src/silero/silero.py in apply_te(text, lan) 140 141 def apply_te(text, lan='en'): --> 142 return model.enhance_text(text, lan) 143 144 return (model, .release_module.py in enhance_text(self, text, lan, len_limit) 120 enhanced = self.enhance_textblock(text, lan_id) 121 else: --> 122 enhanced = self.enhance_long_textblock(text, lan_id, len_limit) 123 124 if lan == 'es' and ('?' in enhanced or '!' in enhanced): .release_module.py in enhance_long_textblock(self, text, lan_id, len_limit) 99 block = ' '.join(words[_from:_to]) 100 --> 101 enhanced = self.enhance_textblock(block, lan_id) 102 enhanced_words = enhanced.split() 103 symbols = ''.join([word[-1] for word in enhanced_words]) .release_module.py in enhance_textblock(self, text, lan_id) 70 capital = capital[:, att_mask[0].bool()] 71 ---> 72 return self.tokenizer.convert_tokens_to_string(enhance_tokens(tokens[1:-1], 73 punct[0][1:-1], 74 capital[0][1:-1], .release_module.py in enhance_tokens(tokens, punct, capital, index2punct) 163 if len(token) < 2: 164 print(token) --> 165 token = '##' + token[2].upper() + token[3:] 166 if c == 2: 167 token = token.upper() IndexError: string index out of range`
snakers4 commented 6 months ago

Hi, text enhancement works for chunks shorter than 1000 tokens or so.

tellts commented 6 months ago

How can I fix this mechanism so that it works the way I need it?