Задать вопрос
@nv_vasilencov

Как сгруппировать список английских слов по частям речи и сохранить в отдельные файлы?

Добрый день. До этого задача была отпарсить русский словарь. Я использовал pyMorphy2 такой скрипт:
Скрипт
infile = Path(r"C:\Temp\slovar.txt")
words = infile.read_text(encoding="utf-8").splitlines()
print(words)
#['каждый', 'охотник', 'желает', 'знать', 'где', 'сидит', 'фазан']
morph = MorphAnalyzer()
items = [(str(morph.parse(w)[0].tag.POS), w) for w in words]

print(items)
#[('ADJF', 'каждый'), ('NOUN', 'охотник'), ('VERB', 'желает'), ('INFN', 'знать'), ('ADVB', 'где'), ('VERB', 'сидит'), ('NOUN', 'фазан')]
for g, it in groupby(sorted(items), key=lambda x: x[0]):
    otufile = infile.parent / f"{g}.txt"
    otufile.write_text("\n".join([word for pos, word in it]),
                       encoding="utf-8")

Но вот незадача, вот из этого поста https://toster.ru/q/305279, я узнал что pyMorphy2 не поддерживает английский.
Не знаю как поступить, прошу помощи). Содержание словаря - это слова где каждое начинается с новой строки https://drive.google.com/file/d/1K9YGgGY1Nk86bhIGW...
  • Вопрос задан
  • 147 просмотров
Подписаться 1 Сложный 2 комментария
Пригласить эксперта
Ответы на вопрос 2
@forkhammer
Fullstack-разработчик (Django, Angular)
Попробуй использовать библиотеку NLTK для анлийского языка www.nltk.org/index.html
Ответ написан
Комментировать
Если у Вас задача "сделал-забыл", Вам нужен костыль и не нужна производительность, попробуйте через API яндекс-переводчика переводить слова, а затем определять часть речи при помощи pyMorphy2. Или использовать какой-либо словарь с возможностью определения части речи. Разумеется, времени потребуется больше, чем Вам, вероятно, хотелось бы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽