You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
◈ <영수증으로 얻을 수 있는 포인트 알아보기> 함수
Tesseract 프로그램으로 읽은 영수증 str형식 문자를 데이터 프레임(A)으로 만든 후 전처리.
원 데이터 프레임(B) 호출하여 A, B각각의 상품명을 벡터화하고 코사인 유사도를 계산.
코사인 유사도를 컬럼으로 추가하여 유사도가 0.5이상인 경우에 채택.
채택된 상품명의 포인트들의 총 합을 계산하여 리턴 함.
[[시행착오]]
대부분은 더하기 계산이 가능한 100p같은 형식이지만, 일부 상품의 경우엔 포인트가 10% 적립 형식임.
퍼센트형 적립형식이 있다면 따로 분류하여 계산하는 코드 작성으로 해결
◈ <상품명 검색으로 취급하는 매장 3곳 알아보기> 함수
입력받은 상품명과 대조할 원 데이터 csv파일 호출
상품명을 2차원 데이터 프레임으로 만들고 원 데이터와 함께 TF-IDF 벡터화하고 코사인 유사도를 계산
코사인 유사도를 컬럼으로 추가하여 유사도가 0.5이상인 경우에 채택.
채택된 매장의 수가 많으면 복잡하므로 리스트에서 3개만 슬라이싱하여 리턴
만약, 빈 리스트라면 매장 없음을 리턴
[[시행착오]]
찾는 상품이 '김' 또는 '배'같이 한 글자일 경우 오류메세지 출력.
이유는 TF-IDF Default 값으로 벡터화 중 한 글자 단어는 제외하기 때문.
TF-IDF의 파라미터 값으로 analyzer='word'와 token_pattern=r'\w{1,}'을 주어 해결.
◈ <매장 3곳에 대하여 입력한 주소 근처에 해당 매장이 있는지 알아보기> 함수
매장 3곳 알아보는 함수의 리턴값을 글로벌로 선언하여 변수 가져오기.
입력받은 주소를 split으로 나누어 끝자리가 '시', '구', '군', '면', '리'일 경우 분류하여 빈 리스트에 append.
카카오 api를 이용하여 입력한 주소 위도와 경도 구하기.
셀레니움을 이용하여 네이버 플레이스 url에 위도와 경도를 추가하고 매장명을 검색한 뒤
목록보기 클릭 -> 거리순으로 정렬 후 -> 상세주소 클릭.
현 위치에서 마켓 거리, 마켓 이름, 마켓 주소 3가지를 딕셔너리 형태로 저장.
[[시행착오]]
<1>
예를 들어 '이마트' 매장을 검색했을 때 5곳이 나오는 지역이 있고 1곳이 나오는 지역이 있음
나오는 데이터 갯수에 따라 XPATH의 값이 바뀌어 상세주소 클릭 시 오류가 뜸.
find_element를 find_elements로 변경 이후 XPATH대신 CLASS_NAME으로 수정 후 값을 리스트 형식으로 받음.
리스트 안에는 2개의 값이 있었고 인덱싱 하여 첫번째 값으로 click()해보니 해결되었음. 두번째는 안됨.
<2>
상세주소를 클릭 했을 때 지번만 있을경우 주소가 깔끔하게 불러지지 않았으며
매장명이 근처에 없어서 나오지 않을경우 오류메세지 출력.
try / except로 근처 [OO]매장 없음을 딕셔너리 해당 순서에 저장.
The text was updated successfully, but these errors were encountered:
정종문
사용자가 챗봇에게 질문 시 적절한 답변을 위한 함수 작성
◈ <영수증으로 얻을 수 있는 포인트 알아보기> 함수
Tesseract 프로그램으로 읽은 영수증 str형식 문자를 데이터 프레임(A)으로 만든 후 전처리.
원 데이터 프레임(B) 호출하여 A, B각각의 상품명을 벡터화하고 코사인 유사도를 계산.
코사인 유사도를 컬럼으로 추가하여 유사도가 0.5이상인 경우에 채택.
채택된 상품명의 포인트들의 총 합을 계산하여 리턴 함.
[[시행착오]]
대부분은 더하기 계산이 가능한 100p같은 형식이지만, 일부 상품의 경우엔 포인트가 10% 적립 형식임.
퍼센트형 적립형식이 있다면 따로 분류하여 계산하는 코드 작성으로 해결
◈ <상품명 검색으로 취급하는 매장 3곳 알아보기> 함수
입력받은 상품명과 대조할 원 데이터 csv파일 호출
상품명을 2차원 데이터 프레임으로 만들고 원 데이터와 함께 TF-IDF 벡터화하고 코사인 유사도를 계산
코사인 유사도를 컬럼으로 추가하여 유사도가 0.5이상인 경우에 채택.
채택된 매장의 수가 많으면 복잡하므로 리스트에서 3개만 슬라이싱하여 리턴
만약, 빈 리스트라면 매장 없음을 리턴
[[시행착오]]
찾는 상품이 '김' 또는 '배'같이 한 글자일 경우 오류메세지 출력.
이유는 TF-IDF Default 값으로 벡터화 중 한 글자 단어는 제외하기 때문.
TF-IDF의 파라미터 값으로 analyzer='word'와 token_pattern=r'\w{1,}'을 주어 해결.
◈ <매장 3곳에 대하여 입력한 주소 근처에 해당 매장이 있는지 알아보기> 함수
매장 3곳 알아보는 함수의 리턴값을 글로벌로 선언하여 변수 가져오기.
입력받은 주소를 split으로 나누어 끝자리가 '시', '구', '군', '면', '리'일 경우 분류하여 빈 리스트에 append.
카카오 api를 이용하여 입력한 주소 위도와 경도 구하기.
셀레니움을 이용하여 네이버 플레이스 url에 위도와 경도를 추가하고 매장명을 검색한 뒤
목록보기 클릭 -> 거리순으로 정렬 후 -> 상세주소 클릭.
현 위치에서 마켓 거리, 마켓 이름, 마켓 주소 3가지를 딕셔너리 형태로 저장.
[[시행착오]]
<1>
예를 들어 '이마트' 매장을 검색했을 때 5곳이 나오는 지역이 있고 1곳이 나오는 지역이 있음
나오는 데이터 갯수에 따라 XPATH의 값이 바뀌어 상세주소 클릭 시 오류가 뜸.
find_element를 find_elements로 변경 이후 XPATH대신 CLASS_NAME으로 수정 후 값을 리스트 형식으로 받음.
리스트 안에는 2개의 값이 있었고 인덱싱 하여 첫번째 값으로 click()해보니 해결되었음. 두번째는 안됨.
<2>
상세주소를 클릭 했을 때 지번만 있을경우 주소가 깔끔하게 불러지지 않았으며
매장명이 근처에 없어서 나오지 않을경우 오류메세지 출력.
try / except로 근처 [OO]매장 없음을 딕셔너리 해당 순서에 저장.
The text was updated successfully, but these errors were encountered: