@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...
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ответы на вопрос 2
@forkhammer
Fullstack-разработчик (Django, Angular)
Попробуй использовать библиотеку NLTK для анлийского языка www.nltk.org/index.html
Ответ написан
Комментировать
Если у Вас задача "сделал-забыл", Вам нужен костыль и не нужна производительность, попробуйте через API яндекс-переводчика переводить слова, а затем определять часть речи при помощи pyMorphy2. Или использовать какой-либо словарь с возможностью определения части речи. Разумеется, времени потребуется больше, чем Вам, вероятно, хотелось бы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
20 апр. 2024, в 13:56
7000 руб./за проект
20 апр. 2024, в 13:52
7000 руб./за проект
20 апр. 2024, в 13:23
1000 руб./за проект