이 메인 엔진을 갖고 어떤걸 만들어 볼까 고민을 많이했다. 그래서 사수분께 여쭤봤고 기능들을 받았다.

1. 분류 및 미분류, 회사 전체 및 선택 회사 리뷰 기능

2. 이메일 전송기능

3. 자동 저장기능

4. 퀄리티value의 최대 최소 지정

 

대략적인 작업 흐름도를 그려보았다.

 

 

우선 날짜 입력 함수를 만들어보자.

<날짜 입력 함수>

def start_to_date():
    start_date_list=[]
    st=input("시작 년도를 적으시오: ")
    start_date_list.append(st)
    st=input("시작 월을 적으시오: ")
    start_date_list.append(st)
    st=input("시작 일을 적으시오: ")
    start_date_list.append(st)
    s_year,s_month,s_day=int(start_date_list[0]), int(start_date_list[1]), int(start_date_list[2])
    start_date=datetime(s_year,s_month,s_day)
    return start_date

def end_to_date():
    
    end_date_list=[]
    et=input("종료 년도를 적으시오: ")
    end_date_list.append(et)
    et=input("종료 월을 적으시오: ")
    end_date_list.append(et)
    et=input("종료 일을 적으시오: ")
    end_date_list.append(et)
    e_year,e_month,e_day=int(end_date_list[0]), int(end_date_list[1]), int(end_date_list[2])    
    end_date=datetime(e_year,e_month,e_day)
    
    return end_date

이 함수를 통해 우리가 반환 받는 값은 start_date(시작일) end_date(종료일) 이다. 이 사이의 리뷰들을 가져오기 위한 함수이다.

 

 

def call_url():
    
    url_dict={'CameraFi':'https://play.google.com/store/apps/details?id=com.vaultmicro.camerafi.live&hl=ko&gl=US&showAllReviews=true',
              'V_app':'https://play.google.com/store/apps/details?id=com.naver.vapp&hl=ko&gl=US&showAllReviews=true',
              'Mobizen':'https://play.google.com/store/apps/details?id=com.rsupport.mobizen.live&hl=ko&gl=US&showAllReviews=true',
              'Bigolive':'https://play.google.com/store/apps/details?id=sg.bigo.live&hl=ko&gl=US&showAllReviews=true',
              'Omlet':'https://play.google.com/store/apps/details?id=mobisocial.arcade&hl=ko&gl=US&showAllReviews=true',
              'Sgether':'https://play.google.com/store/apps/details?id=com.sgrsoft.streetgamer&hl=ko&gl=US&showAllReviews=true'}
    return url_dict    

call_url함수는 전체 회사 데이터를 가져오기 위한 사전 url 세팅 함수이다.

혹여, 나중에 더 많은 url이 필요하다면 txt에 저장해 한줄씩 읽어오는 방법도 물론 있다.

 

def select_url():
    url_list=['https://play.google.com/store/apps/details?id=com.vaultmicro.camerafi.live&hl=ko&gl=US&showAllReviews=true',
              'https://play.google.com/store/apps/details?id=com.naver.vapp&hl=ko&gl=US&showAllReviews=true',
              'https://play.google.com/store/apps/details?id=com.rsupport.mobizen.live&hl=ko&gl=US&showAllReviews=true',
              'https://play.google.com/store/apps/details?id=sg.bigo.live&hl=ko&gl=US&showAllReviews=true',
              'https://play.google.com/store/apps/details?id=mobisocial.arcade&hl=ko&gl=US&showAllReviews=true',
              'https://play.google.com/store/apps/details?id=com.sgrsoft.streetgamer&hl=ko&gl=US&showAllReviews=true']
    
    check_num=int(input("원하는 회사를 고르시오: \n"+"[0]:CameraFi\n"+"[1]:V_App\n"+"[2]:BigoLive\n"+"[3]:Mobizen\n"+"[4]:Omlet\n"+"[5]:Sgether\n"))
    
    name=check_num
    if(name==0):
        CameraFi_live=url_list[0]
        checking_url=[CameraFi_live,'CameraFi']
        checked=checking_url[0],checking_url[1]
            
    elif(name==1):
        V_App=url_list[1]
        checking_url=[V_App,'V_App']
        checked=checking_url[0],checking_url[1]
            
    elif(name==2):
        Mobizen=url_list[2]
        checking_url=[Mobizen,'Mobizen']
        checked=checking_url[0],checking_url[1]
            
    elif(name==3):
        Bigolive=url_list[3]
        checking_url=[Bigolive,'Bigolive']
        checked=checking_url[0],checking_url[1]
            
    elif(name==4):
        Omlet=url_list[4]
        checking_url=[Omlet,'Omlet']
        checked=checking_url[0],checking_url[1]
    elif(name==5):
        Sgether=url_list[5]
        checking_url=[Sgether,'Sgether']
        checked=checking_url[0],checking_url[1]
    return checked

select_url함수는 선택적 회사 데이터를 가져오기 위한 사전 url 세팅 함수이다. 

def GRU_predict(new_sentence):
    max_len=90
    new_sentence=okt.morphs(new_sentence)
    new_words=[word for word in new_sentence if not word in stopwords]
    encoded=tokenizer.texts_to_sequences([new_sentence])
    pad_new=pad_sequences(encoded,maxlen=max_len)
    score=float(GRU_model.predict(pad_new))
    percentage=score*100
    return percentage,new_words

앞서 만들어본 GRU모델은 이미 h5 파일로 저장되어있다. 그러므로 이걸 불러서 사용하기만 하면 된다.

 

 

이메일 전송기능도 준비하자.

+ Recent posts