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)