python error L “TypeError: __str__ returned non-string” but still prints to output?
·
Error code 모음/4. Python errors
__str__ 는 특수 메서드 중 하나입니다. class Element(): def __init__(self, name, symbol, number): self.name = name self.symbol = symbol self.number = number def __str__(self): print("name:{0} symbole:{1} number:{2}".format(self.name, self.symbol, self.number)) 특수 메서드는 print 가 아닌 return 으로 값을 받아줘야 에러없이 출력이 되는데 위 에어는 print( ) 로 값을 받아서 생긴 에러였네요 print( ) --> return 으로 해야합니다. class Element(): def __init__(self, n..
python error : __init__() missing 1 required positional argument:
·
Error code 모음/4. Python errors
아... 너무 쪽팔리는 에러를 만났네여.. 함수를 만들어 놓고도.. 안에 값을 넣지 않아서.. 저런 에러를 만나고 30분을 고민햇다니..!!!으!!! 일단 에러를 낸것이니 기록! class Thing(): def __init__(self, example): self.example = example thin = Thing(#이 부분이 문제였음) 위에 class 를 만들어주고 이를 thin 이라는 객체에 담아주었는데 __init__ 라는 초기화 함수를 써주었는데요. 처음에는 이해가 안되었지만, 이 에러를 풀고 원인을 공부하는 과정에서 이 함수를 왜 쓰는지 짐작을 할 수 있게 된 것 같네요 __init__ 는 초기화 함수라고 해서 객체를 만들때마다 클래스를 초기화해서 새것처럼 사용할 수 있게 만들어줍니다.. ..
RASA 오픈소스 를 통해 간단한 챗봇 구축하고 훈련하기 04
·
프로젝트, 인강 그리고 책/RASA chatbot Project
두번째 포스트까지는 기본 챗봇을 만들 수 있는 방법을 알려드렸습니다. 이번 포스트는 두번째 포스트를 기반으로 챗봇을 조금이나마 한단계 업그레이드 할 수 있는 단계로 반드시, 따라하지 않으셔도 됩니다. 챗봇에서는 slot filling(슬롯 채우기)라는 기능이 있습니다. 슬롯 채우기는 몇개의 정보를 알아내어야 챗봇이 답을 줄 수 있을 때, 그 몇개의 정보(slot)들을 다 채워 넣는 것(filling)으로 모든 슬롯이 다 채워질때까지 질문을 하는 것입니다 챗봇은 슬롯에 필요한 정보들을 다 채우면 사용자가 원하는 정보를 출력해 줄수 있습니다. rasa 에는 3가지 정도의 슬롯 필링이 있다고 알고 있는데요 오늘은 그 중 하나인 action.py 파일을 활용하여 슬롯 채우기를 실행 할 수 있는 방법을 하려고 합..
RASA 오픈소스 를 통해 간단한 챗봇 구축하고 훈련하기 03
·
프로젝트, 인강 그리고 책/RASA chatbot Project
저번 포스트까지는 기본 챗봇을 만들 수 있는 방법을 알려드렸습니다. 이번 포스트는 저번 포스트를 기반으로 챗봇을 조금이나마 한단계 업그레이드 할 수 있는 단계로 반드시, 따라하지 않으셔도 됩니다. Response Selector NLU component 는 사람들끼리 간단하게 할 수 있는 일상 대화와 자주 물어보는 간단한 FAQ 관련 메시지들을 처리하기 위해 사용되는 RASA 챗봇의 요소 중 하나인데요. 이 기능을 사용하면 챗봇과 유저간에 일어날 수 있는 수많은일상적인 대화들과 FAQ 들을 처리하기 위한 스토리들과 인텐트들을 다 만들지 않고 간편하게 해결할 수 있어서 괜찮은 기능이라고 생각해요. 유저들은 챗봇에게 이런 저런 질문이나 시시콜콜한 이야기등을 하는데요. 라사 챗봇은 그렇게 들어오는 인텐트들을 ..
RASA 오픈소스 를 통해 간단한 챗봇 구축하고 훈련하기 02
·
프로젝트, 인강 그리고 책/RASA chatbot Project
이번에는 간단하게 자신이 원하는 챗봇을 만들어보겠습니다. 일단 저의 경우에는 챗봇을 구축하면서 RASA 오픈 소스를 이해하는 것에 방점을 두었기 때문에 빠르게 챗봇에 대한 뼈대를 구축하고자 했습니다 우선, RASA 를 통해 어떻게 챗봇을 만드는지 과정을 간단하게 설명해드리겠습니다. 간단하게 개인적으로 유튜브에 업로드 해놓은 동영상을 참고해주시기 부탁드릴게요 (채널홍보가 아니며, 추후에 저도 접근이 쉬운 플랫폼인 유튜브 채널을 선택하게 되었어요!) https://youtu.be/-eeshd7p0FQ 챗봇을 만드는 법에 대해서 제가 직접 간단하게 촬영해본 영상입니다 ^^ㅎㅎ 먼저, stories.md 파일을 열어서 만들고 싶은 스토리를 설정을 해주세요! 챗봇의 경우에는 '내가 어떻게 이야기를 진행시킬 것인가..
RASA 오픈소스 를 통해 간단한 챗봇 구축하고 훈련하기 01
·
프로젝트, 인강 그리고 책/RASA chatbot Project
어떻게 설치를 할까? 전반적으로는 유저 가이드를 참고해가면서 설치하면 쉽게 할 수 있는 편입니다. 하지만..영어가 귀찮다는 이유로 다른 곳을 찾아서 할 경우 더욱 미궁으로 빠질 수 있으니 주의 할 것 친절하지가 않은 것 같아서.. 주의 부탁드릴게요! RASA 사이트의 경우에도 설치 방법이라던지 버전 등등이 빠르게 변하는 편이기 때문에. 유저 가이드를 참고하면서 공부할 때 약간의 주의가 필요한 것 같아요! --> 지극히 개인적인 경험...얼마전에 다시 설치하려고 유저가이드 들어가봣더니..설치방법이 바뀌어 있었네요 ㅠㅠ 설치를 위한 GUIDE SITE 는 아래 의 링크를 참고해주세요! User guide 사이트 : https://rasa.com/docs/rasa/user-guide/installation/ ..
파이썬 에러 : 'tuple' object has no attribute 'get'
·
Error code 모음/4. Python errors
해당 에러같은 경우에는 튜플을 받지 않는 함수를 만들거나 일부 라이브러리에서 발생할 수 있는 에러입니다. 이 에러가 뜨면.. 내가 코드를 친 어딘가에 튜플을 만들어 주었구나 라고 의심을 하시고 코드를 잘 살펴보는 게 중요한데요... # 튜플을 만들수 있는 방법 2가지 tuple_01 = (1,2,3) tuple_02 = 1,2,3, # 파이썬은 ( )를 안하고도 튜플을 만들 수 있기 때문에 # ( )를 안했는데 뒤에 ' , '를 한 부분이 있다면 이를 튜플로 # 인식할 가능성이 좀 있으니 주의해야합니다 tuple_02와 같이 뒤에 ' , '를 한경우 파이썬이 순간 이를 튜플로 인식을 해서 벌어지는 에러일 수 도 있습니다. 한번 자신이 친 코드 뒤에 버려진 ' , ' 이 없나 살펴보면 좋을 것 같습니다! ..
python error : "<stdin>", line1, in <module> IndexError: list index out of range
·
Error code 모음/4. Python errors
파이썬 에러 중에서 입력한 값이 인덱싱의 범위를 벗어났을 때 위 에러가 발생한다. 리스트의 인덱싱은 값을 할당한 위치에 맞게 입력되어야 하는데, 오프셋의 위치가 리스트의 범위를 벗어날 경우에 예외(에러)가 발생한다. >>> marxes = ['grou','efa','aefaf'] >>> marxes[0] 'grou' >>> marxes[-1] 'aefaf' >>> marxes[5] Traceback (most recent call last): File "", line 1, in IndexError: list index out of range 참고참고
파이썬 에러: ValueError: invalid literal for int() with base10: '4.3'
·
Error code 모음/4. Python errors
우선 파이썬을 다시 복습하면서. 나오는 에러들은 기본적으로 정리를 해야겟다고 생각이 든다 특히 기본적으로 형변환을 할 때 가장 많이 만나는 에러인 "ValueError: invalid literal for int() with base10: " 에러인데 해당 에러는 int(), float(), str(). boolean() 등에서 원하는 형이 들어오지 않았을 때 에러를 알려준다 >>> e = '7.23' >>> type(e) >>> int(e) Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: '7.23' 변수 'e' 에는 실수 '문자열'을 넣어주었다 type()을 ..
리눅스 필수 암기 명령어1
·
언어/Linux
리눅스를 하기 위해선 암기해야만 하는 필수 명령어 공유합니다 리눅스는 한번 정도 기초는 땟지만..명령어는 거의 기억이 안나서 빨리 빨리 다시 공부할 수 있도록 해야겟네요 ㅠㅠ https://gomguard.tistory.com/73 02. 꼭 알아야 할 리눅스 기본 명령어 10가지 꼭 알아야할 리눅스 기본 명령어 10가지 1. ls - 현재 위치의 파일목록을 조회하는 명령어 2. cd - 디렉토리를 이동하는 명령어 3. touch - 파일의 용량이 0인 파일을 생성, 날짜 변경하는 명령어 4. mkdir - 디.. gomguard.tistory.com