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

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

Похожие вопросы