@Fantaz242020

Возможна ли проверка наличия слова в Python по первым буквам?

есть список слов наличие которых будет проверяться, в предложении надо найти это слово по корню так как окончания изменяются
. как это сделать!
  • Вопрос задан
  • 254 просмотра
Пригласить эксперта
Ответы на вопрос 3
drygdryg
@drygdryg
Python-разработчик
Можно сначала разбить предложение на токены, затем отбросить окончания всех искомых слов и токенов предложения посредством стемминга, и в конечном счёте пересечь полученные множества слов. Для этого можно применить NLTK:
from nltk.tokenize import word_tokenize
from nltk.stem import SnowballStemmer

# Список искомых слов
word_list = ['шалаши', 'инжир']
# Предложение для поиска
sentence = 'В шалаше шуршит шелками желтый дервиш из Алжира и, жонглируя ножами, штуку кушает инжира.'

# Разделить предложение на отдельные слова — токены
tokens = word_tokenize(sentence, language='russian')

snowball = SnowballStemmer(language='russian')
# Отбросить окончания слов предложения и слов из списка, после чего пересечь множества
stems_found = set(map(snowball.stem, tokens)) & set(map(snowball.stem, word_list))

print(stems_found)

Результат выполнения:
{'инжир', 'шалаш'}

Если вам будет недостаточно стемминга, то примените лемматизацию. Лемматизация для русского языка есть в pymorhpy2.
Ответ написан
Iscrenniy
@Iscrenniy
Можно попробовать так:

test = 'Стандартное интересное предложение со словами и буквами. Тестируем Тестим'
a = test.split(' ')
for i in a:
    if 'Тест' in i:
        print(i)
Ответ написан
Dr_Elvis
@Dr_Elvis
В гугле забанен
Направление - str.startswith
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы