PorterStemmer Stemmer, не использующий слова, если только в конце строки (в Python)

Я создаю бота, который говорит о шахматах, и сейчас я занимаюсь предварительной обработкой. Проблема в том, что когда программа Python объединяет слова в строке, она ничего не сделает, если только слово не является последним словом. Это выход. Что я ожидал, так это то, что стеммер будет использовать каждое слово в предложении, которое вводит пользователь. Что я делаю неправильно? Вот код:

import re
from nltk.stem import PorterStemmer
port = PorterStemmer()

print("Hello! I am the ChessBot. I will talk about chess, but can only talk     about chess. Nothing else. I can't even understand a greeting! Now, initiate this conversation!")

while True:
    userinput = input('> ')
    userinput = re.sub('(\?|\.|!|,)', '', userinput)
    userinput = str.lower(userinput)
    userinput = userinput.split('\s')
    userinput = " ".join([port.stem(word) for word in userinput])
    print(userinput)

0 ответов

Другие вопросы по тегам