현재 진술을 반영 할 수있는 기본 'AI'를 작성하려고합니다. 예를 들어 사용자가 "내 고양이는 갈색입니다."라고 입력하면 인공 지능은 "당신의 고양이는 갈색입니까?"라고 대답 할 것입니다.파이썬에서 문자열의 단어를 대체하는 방법은 무엇입니까?
내가 번역을 위해 사용하려는 변수 데이터의 테이블을 작성했습니다 :
reflections = \
[["I", "you"],
["i", "you"],
["We", "you"],
["we", "you"],
["We're", "you're"],
["we're", "you're"],
["I'm", "you're"],
["i'm", "you're"],
["im", "you're"],
["this", "that"],
["This", "that"],
["am", "are"],
["Am", "are"],
["My", "your"],
["my", "your"],
["you", "I"], # Grammar: Sometimes "me" is better
["You", "I"],
["u", "me"],
["I'd", "you'd"],
["I'll", "you'll"],
["We'd", "you'd"],
["we'd", "you'd"],
["We'll", "you'll"],
["we'll", "you'll"],
["You're", "I'm"],
["you're", "I'm"],
["ur", "I'm"],
["c", "see"],
["I've", "you've"],
["We've", "you've"],
["we've", "you've"],
["Our", "your"],
["our", "your"],
["was", "were"],
["Was", "were"],
["were", "was"],
["Were", "was"],
["me", "you"],
["your", "my"],
["Your", "my"]]
는 그러나, 나는 데이터를 구현하는 몇 가지 문제가 있어요. 문자열 반성
내 현재의 정의는 다음과 같습니다
from string import maketrans
intab = ".!"
outtab = "??"
translate_message = maketrans(intab, outtab) #used to replace punctuation
def reflect_statement(message):
if ' ' not in message:
if len(message) == 0:
return elicitations[0]
if len(message) == 1:
return elicitations[1]
if len(message) == 2:
return elicitations[2]
if len(message) == 3:
return elicitations[3]
if len(message) == 4:
return elicitations[4]
if len(message) == 5:
return elicitations[5]
if len(message) == 6:
return elicitations[6]
if len(message) == 7:
return elicitations[7]
if len(message) == 8:
return elicitations[8]
if len(message) == 9:
return elicitations[9]
if len(message) == 10:
return elicitations[10]
if len(message) > 10:
return elicitations[11]
if ' ' in message:
message = message.translate(translate_message)
return message
가 elicitations 참조를 무시, 그게 내가 완료 한 프로그램의 별도의 일부입니다.
누군가가 저에게 제공 할 수있는 도움에 정말 감사드립니다.
건배!
: 반환 elicitations은 [I] – zod