I need to optionally clear text from numbers / numbers. Need to implement using Python . For example, given the text:
"Мой дядя проживет по адресу улица Липатова дом 6, квартира 15. Он родился 15 мая 1970 г. Его зарплата составляет 300 долларов. Каждый месяц он откладывает по десять тысяч мне на учебу в институте ". The output should get the following text:
"Мой дядя проживет по адресу . Он родился Его зарплата составляет . Каждый месяц он откладывает по тысяч мне на учебу в институте " I decided to implement this task with the help of the Natasha library. . But there is not enough functionality (or I'm doing something wrong). My code is:
from natasha import ( DatesExtractor, AddressExtractor, MoneyExtractor, ) from natasha.markup import show_markup extractors = [ DatesExtractor(), AddressExtractor(), MoneyExtractor(), ] text = ''' Мой дядя проживет по адресу улица Липатова дом 6, квартира 15. Он родился 15 мая 1970 г. Его зарплата составляет 300 долларов. Каждый месяц он откладывает по десять тысяч мне на учебу в институте ''' spans = [] for extractor in extractors: matches = extractor(text) spans.extend(_.span for _ in matches) text = show_markup(text, spans) Displays:
Мой дядя проживет по адресу [[улица Липатова дом 6, квартира 15]]. Он родился [[15 мая 1970 г.]] Его зарплата составляет [[300 долларов]]. Каждый месяц он откладывает по десять тысяч мне на учебу в институте From this follow questions:
- How to remove what is in square brackets? (Example: [[May 15, 1970]])
- how to remove uppercase numbers? (Example: one, twenty six, etc.)