본문 바로가기
AI/AI 스터디

GPTCHAT 프롬프트 엔지니어가 되기 위한 스터디 3 - 요약하기

by davi_kr 2023. 5. 6.

목차

    반응형

    글을 요약할 땐, 어떤 목적(방향)으로 요약할 것인가를 알려주는게 좋다.

     

    실사례를 들어서 코드를 테스트 해보려 합니다.

    구글 플레이스토어에 있는 카카오페이지의 리뷰를 약간 긁어와보겠습니다.

    5/5 기준 최고 매출 1위인 카카오페이지

     

    긁는 것도 코딩으로 다 가능합니다. GPT 만세..

    구글 리뷰 긁어오고 분석하는 코드는 별도의 포스팅에 올려두겠습니다.

     

    import openai
    openai.api_key = '나의 api key 등록하기'
    
    # gpt 모델 가져오기
    def get_completion(prompt, model="gpt-3.5-turbo"): # Andrew mentioned that the prompt/ completion paradigm is preferable for this class
        messages = [{"role": "user", "content": prompt}]
        response = openai.ChatCompletion.create(
            model=model,
            messages=messages,
            temperature=0, # this is the degree of randomness of the model's output
        )
        return response.choices[0].message["content"]

     

    긁어온 리뷰들을 kakao_review라는 이름으로 선언합니다.

     

    kakao_review = """
    왜 개발자 안짤라여? 어떻게 이리 극과 극으로 점점더 업데이트를 하면 할수록 구리게 하는것도 재주라면 재준데 내가 봐야할께 12개 남음 예전버전은 내가 원하는만큼 대여권 충전해서 구매할수 있었는데 이건 뭐 강매도 아니고 여긴 6.26버전 젤 잘해논건데 이런사람을 짜르고 업데이트를 하면 할수록 그지같이 하는사람만 데따놓고 참 카카오페이지 수준이 너무 알만하다대여권 지적하고 업데이트를 해놨길래 뭐 바뀐줄 알았는데 바뀐것듀 없고 겉멋만 찌들고 허세에 찌들어 실사용자가 불편하다고 느낀거 단 한개도 안고치고 카카오페이지 정말 궁금한데 왜 매번 욕먹으면서 이 개발자 왜 안짤라요? 6.26버전 만든사람은 카카페를 직접 사용해봤던 사람이고 자꾸 업데이트를 하는사람은 카카오페이지 본적조차 사용한적조차 없는 인간들이 업그레이드 하는거같은데 이렇게 욕먹어가면서 그 개발자를 데리고 있는 이유가 뭘지 참 궁금하네 작년 업데이트를 할때부터 저딴 개발자 잘라라 바꿔라 말 많은데 계속델고끌고가는 이유가 낙하산
    업데이트의 목적이 대놓고 보이는 ...
    ui가 바뀔수록 불편해요..
    페*코 최신버전및 어플에 다운되어 있는데도 계속된 오류메시지 창이 떠요 시간이 지나면 되겠지라 생각했지만 여전히 그러네요.. 단순 오류인건지 아님 제 기기의 문제인건지ㅜㅜ
    좋은데요. 웹소설볼때 매화 첫 페이지마다 표지가 커다랗게 떠서 좀 불편해서 건의드립니다. 첫 화와 표지가 새로 바꼈을때 제외하고는 첫페이지에 표지가 없어졌으면 좋겠습니다.
    업데이트 이후 아래 탭 사용시 탭전환이 되지 않는 버그가 자주 발생합니다 알림을 눌러도 선물함을 눌러도 홈울 눌러도 화면이 요지부동이에요.
    업데이트 그만해주세요.. 정말.. 겨우 익숙해졌더니 왜 더 사용하기 어려운 방향으로 업뎃되죠? 바로가기 카테고리를 만들거면 다 들어가게 만들어 놓던가 웹소설에 연재무료 카테고리는 어디로 날라갔나요.. 작품이 뿔뿔이 흩어져있어서 보기 넘 힘들어요..
    예전으로 돌아갈순 없나요..?ㅠㅠ 저 이 얩 엄청 좋아했는데 오늘보니 이상하졌어요ㅠㅠ 더 블편해 진 것 같아요.. ( 이 말에 상처 받으셨다면 죄송합니다ㅠㅠ)
    보완 감사합니다. 잘 보고있어요! 업데이트 이후 웹소설 설정에서 색반전을 사용할수가 없네요. 몇년전 구매자료 다시보기 하는데 화면이 흰색 밖에 안 됩니다. 색반전 체크해도 안되고 나갔다 다시 들어가면 해제 되고 하네요
    """

     

    1. 양 조절하기

    보다 정확한 내용을 받기 위해서 영어로 먼저 적어주고 한글로 적어달라고 명령을 줘봤습니다.

    요약의 양을 컨트롤 하기 위해 in at most 30 words가 사용 됐습니다.

     

    prompt = f"""
    Your task is to generate a short summary of a product \
    review from an ecommerce site. 
    
    Summarize the review below, delimited by triple 
    backticks, in at most 30 words. 
    
    After summarizing, translate the summary in korean.
    
    Review: ```{kakao_review}```
    """
    
    response = get_completion(prompt)
    print(response)

     

    결과 : 

    The review criticizes the constant updates and changes to the app, causing inconvenience and bugs. The developer is also criticized for not listening to user feedback. 
    
    리뷰는 앱의 지속적인 업데이트와 변경으로 인한 불편함과 버그를 비판하며, 개발자는 사용자의 피드백을 듣지 않는다는 비판을 받고 있습니다.

     

    현재 카카오 페이지는 비판을 받고 있나 봅니다... 별 2.2점이 다 말해주고 있긴 하네요..

    분포도 궁금해서 그냥 봤는데

    올해 안에 받은 리뷰 기준으로도 굉장히 부정리뷰가 많네요. 1점이 이렇게 많다니....

     

    2. 특정 항목에 집중해서 보기

    이번에는 요약의 의도를 담아보겠습니다. 기술 이슈에 대해서 포커싱 해서 글을 작성해달라고 요청했습니다.

     

    첫문단 - to give feedback \
    to development department, responsible for developing apps. 

     

    두번째 문단 - , and focusing on any aspects \
    that mention the technical issues of the product. 

     

    이렇게 내용을 추가해봤습니다.

     

    prompt = f"""
    Your task is to generate a short summary of a product \
    review from an ecommerce site to give feedback \
    to development department, responsible for developing apps. 
    
    Summarize the review below, delimited by triple 
    backticks, in at most 30 words, and focusing on any aspects \
    that mention the technical issues of the product. 
    
    After summarizing, translate the summary in korean.
    
    Review: ```{kakao_review}```
    """
    
    response = get_completion(prompt)
    print(response)

     

    결과)

    The review mentions technical issues with the app, including bugs, UI changes causing inconvenience, and the inability to use certain features after updates. Users are frustrated with the constant updates and lack of improvement. 
    
    요약: 앱의 기술적 문제, 버그, UI 변경으로 불편함, 업데이트 후 기능 사용 불가능 등이 언급되며 사용자들은 지속적인 업데이트와 개선의 부재로 인해 좌절감을 느끼고 있다.

    (여기부터는 리뷰 데이터를 23/5/4 기준으로 23/5/3에 등록된 것만 확인해봤습니다.)

     

    너무 부정적인 얘기만 나오는 것 같아서.. 긍정적인 얘기도 있을지 물어보겠습니다.

     

    두번째 문단 - that metion positive side of the product. 

    라고 기재해줬습니다.

     

    prompt = f"""
    Your task is to generate a short summary of a product \
    review from an ecommerce site to give feedback \
    to development department, responsible for developing apps. 
    
    Summarize the review below, delimited by triple 
    backticks, in at most 30 words, and focusing on any aspects \
    that metion positive side of the product. 
    
    After summarizing, translate the summary in korean.
    
    Review: ```{kakao_review}```
    """
    
    response = get_completion(prompt)
    print(response)

     

    결과)

    Positive aspects of the product were not mentioned in the review. 
    
    리뷰: ```
    상품에 대한 긍정적인 측면은 언급되지 않았습니다.
    ```

     

    그럴 수 있지....

     

    3. 단순 요약이 아닌 특정 정보를 추출해달라고 말해보기

     

    첫문단에 is to generate a short summary of 대신 is to extract from a 를 사용했습니다.

     

    prompt = f"""
    Your task is to extract from a product \
    review from an ecommerce site to give feedback \
    to development department, responsible for developing apps. 
    
    Summarize the review below, delimited by triple 
    backticks, in at most 30 words, and focusing on any aspects \
    that mention the technical issues of the product. 
    
    After summarizing, translate the summary in korean.
    
    Review: ```{kakao_review}```
    """
    
    response = get_completion(prompt)
    print(response)

     

    결과)

    The review mentions technical issues with the app, including frequent updates that make the app worse, bugs with tab switching, and the inability to use color inversion in the web novel settings.
    
    리뷰는 앱의 기술적 문제를 언급하며, 앱을 더 나빠지게 만드는 빈번한 업데이트, 탭 전환 버그 및 웹 소설 설정에서 색상 반전을 사용할 수 없는 문제를 언급합니다.

     

    추출하는 방식으로 적어보니 좀 더 디테일한 정보가 담기는 것 같습니다.

    생상 반전이 뭐지 봤더니 다크 모드 셋팅이 안되는 내용 같네요.

     

    반복문으로 개별 리뷰를 전부 디테일하게 요약해보기

    요약을 하는 것도 좋은데, 하다보면 중요한 디테일들을 놓칠 수도 있기 마련입니다.

    그래서 이번엔 반복문을 활용해서 디테일한 내용까지 체크할 수 있도록 해보겠습니다.

     

    추출한 리뷰들을 리스트 형태로 받고 리스트를 반복문으로 출력했습니다.

     

    reviews = ['왜 개발자 안짤라여? 어떻게 이리 극과 극으로 점점더 업데이트를 하면 할수록 구리게 하는것도 재주라면 재준데 내가 봐야할께 12개 남음 예전버전은 내가 원하는만큼 대여권 충전해서 구매할수 있었는데 이건 뭐 강매도 아니고 여긴 6.26버전 젤 잘해논건데 이런사람을 짜르고 업데이트를 하면 할수록 그지같이 하는사람만 데따놓고 참 카카오페이지 수준이 너무 알만하다대여권 지적하고 업데이트를 해놨길래 뭐 바뀐줄 알았는데 바뀐것듀 없고 겉멋만 찌들고 허세에 찌들어 실사용자가 불편하다고 느낀거 단 한개도 안고치고 카카오페이지 정말 궁금한데 왜 매번 욕먹으면서 이 개발자 왜 안짤라요? 6.26버전 만든사람은 카카페를 직접 사용해봤던 사람이고 자꾸 업데이트를 하는사람은 카카오페이지 본적조차 사용한적조차 없는 인간들이 업그레이드 하는거같은데 이렇게 욕먹어가면서 그 개발자를 데리고 있는 이유가 뭘지 참 궁금하네 작년 업데이트를 할때부터 저딴 개발자 잘라라 바꿔라 말 많은데 계속델고끌고가는 이유가 낙하산',
     '업데이트의 목적이 대놓고 보이는 ...',
     'ui가 바뀔수록 불편해요..',
     '페*코 최신버전및 어플에 다운되어 있는데도 계속된 오류메시지 창이 떠요 시간이 지나면 되겠지라 생각했지만 여전히 그러네요.. 단순 오류인건지 아님 제 기기의 문제인건지ㅜㅜ',
     '좋은데요. 웹소설볼때 매화 첫 페이지마다 표지가 커다랗게 떠서 좀 불편해서 건의드립니다. 첫 화와 표지가 새로 바꼈을때 제외하고는 첫페이지에 표지가 없어졌으면 좋겠습니다.',
     '업데이트 이후 아래 탭 사용시 탭전환이 되지 않는 버그가 자주 발생합니다 알림을 눌러도 선물함을 눌러도 홈울 눌러도 화면이 요지부동이에요.',
     '업데이트 그만해주세요.. 정말.. 겨우 익숙해졌더니 왜 더 사용하기 어려운 방향으로 업뎃되죠? 바로가기 카테고리를 만들거면 다 들어가게 만들어 놓던가 웹소설에 연재무료 카테고리는 어디로 날라갔나요.. 작품이 뿔뿔이 흩어져있어서 보기 넘 힘들어요..',
     '예전으로 돌아갈순 없나요..?ㅠㅠ 저 이 얩 엄청 좋아했는데 오늘보니 이상하졌어요ㅠㅠ 더 블편해 진 것 같아요.. ( 이 말에 상처 받으셨다면 죄송합니다ㅠㅠ)',
     '보완 감사합니다. 잘 보고있어요! 업데이트 이후 웹소설 설정에서 색반전을 사용할수가 없네요. 몇년전 구매자료 다시보기 하는데 화면이 흰색 밖에 안 됩니다. 색반전 체크해도 안되고 나갔다 다시 들어가면 해제 되고 하네요']
    
    for i in range(len(reviews)):
        prompt = f"""
    Your task is to extract from a product \
    review from an ecommerce site. 
    
    Summarize the review below, delimited by triple 
    backticks, in at most 30 words. 
    
    After summarizing, translate the summary in korean.
    
        Review: ```{reviews[i]}```
        """
    
        response = get_completion(prompt)
        print(i, response, "\n")

     

    결과)

    0 Summary: The reviewer criticizes the developer for making updates that make the app worse, not fixing user complaints, and not allowing users to purchase older versions. They question why the developer is still employed and why they continue to update the app.
    
    Korean Translation: 이 리뷰어는 앱을 악화시키는 업데이트를 하고 사용자 불만을 해결하지 않으며 예전 버전을 구매할 수 없게 만든 개발자를 비판합니다. 그들은 개발자가 왜 고용되어 있는지와 앱을 계속 업데이트하는 이유를 의문 삼습니다. 
    
    1 Summary: ```Obvious purpose of the update, improved performance and features.```
    
    Korean Translation: ```업데이트 목적이 분명하며, 성능과 기능이 개선되었다.``` 
    
    2 Summary: The user finds the change in UI uncomfortable.
    
    Korean Translation: 사용자는 UI 변경이 불편하다고 느낍니다. 
    
    3 Summary: The latest version of the app has persistent error messages, and the reviewer is unsure if it's a simple error or a problem with their device.
    
    Korean Translation: 최신 버전의 앱에서 지속적인 오류 메시지가 나타나며, 리뷰어는 간단한 오류인지 아니면 자신의 기기의 문제인지 확실하지 않다. 
    
    4 Summary: The reviewer suggests removing the large cover image on the first page of each chapter in web novels, except for the first chapter and cover change. 
    
    Korean Translation: 리뷰어는 웹소설의 각 장의 첫 페이지에 있는 큰 표지 이미지를 제외하고는 첫 장과 표지 변경을 제외하고는 표지가 없는 것이 좋다고 건의합니다. 
    
    5 Summary: Bug with tab switching after update, notifications and button presses do not work. 
    
    번역: 업데이트 후 탭 전환 버그 발생, 알림 및 버튼 누름이 작동하지 않음. 
    
    6 Summary: The reviewer is frustrated with the updates, finding them difficult to use and missing features like the free web novel category. They also find it hard to navigate the scattered works.
    
    Korean Translation: 리뷰어는 업데이트가 어렵고 무료 웹소설 카테고리와 같은 기능이 사라져서 당혹스러워합니다. 작품이 흩어져 있어서 찾기도 어렵다고 합니다. 
    
    7 Summary: The reviewer used to love the product but noticed a change in its quality, feeling disappointed. 
    
    Korean Translation: 리뷰어는 제품을 사랑했지만 품질이 변화되어 실망했다는 내용입니다. 
    
    8 Summary: Unable to use color inversion in web novel settings after update. Revisiting purchased material results in white screen only. Color inversion checkbox does not work and is automatically unchecked upon exiting and re-entering. 
    
    한국어 번역: 업데이트 이후 웹소설 설정에서 색반전을 사용할 수 없고, 구매한 자료를 다시보면 화면이 흰색으로만 나타납니다. 색반전 체크박스도 작동하지 않으며, 나가고 다시 들어가면 자동으로 체크 해제됩니다.

     

    반복문으로 요약문이 전부 만들어졌습니다. 여기서 2번의 경우, 업데이트의 목적이 대놓고 보이는... 인데 한국인이라면 오히려 부정적으로 인식할 수 있겠지만.. 아무래도 gpt가 이해하기엔 어려웠나봅니다. 

     

    반응형

    댓글