이번에는 프롬프트 엔지니어링 방법을 이용해서 어떤 텍스트 자료에서 원하는 정보를 추출하거나 어떤 요소를 추축해 내는 방법에 대해 다뤄보겠습니다.
정보 추출 자동화 프롬프트 방법
기업과 조직이 다루는 데이터 중 상당수는 문장으로 이루어진 비정형 텍스트입니다. 개인마다 다르겠지만, 저 같은 경우도 개인적으로 필요한 데이터는 모두 텍스트 형식이죠. 이런 데이터를 사람이 직접 읽고 분류하는 데에는 시간이 많이 소요됩니다. 더구나, 많은 데이터를 분류하다 보면 분류 기준의 일관성도 흔들리기 쉽습니다.
만일, 특정 정보만 선별해 구조화된 형태로 추출할 수 있다면, 개인이나, 조직의 분석 효율을 높이고 운영 의사결정을 빠르게 내릴 수 있을 거예요.
GPT를 활용한 정보 추출
GPT 모델은 사용자가 입력한 프롬프트에 따라 감정 분석, 특정 항목 추출, 문서 분류 등의 작업이 가능합니다. 이때 역시 중요한 것은 프롬프트 구성이에요. 명확하게 형식을 지시하는게 중요하죠.
예를 들어, 감정 분석 시 “긍정 또는 부정 중 하나로 답하라”고 명시하면, 응답이 일관된 분류 기준을 따르게 됩니다.
예시 1) 고객 리뷰
고객 리뷰는 제품이나 서비스에 대한 피드백이 담긴 비정형 텍스트죠.
아래와 같이 어떤 고객의 리뷰가 있다고 하죠.
earbuds_review = """
출퇴근용으로 쓸 무선 이어폰이 필요했는데,
디자인도 깔끔하고 배터리 지속 시간도 길다는 후기를 보고 구매했어요.
배송은 이틀 만에 도착해서 만족스러웠습니다.
처음 연결할 때 약간 끊김이 있었지만,
재설정하니 문제없이 작동했어요.
통화 음질도 괜찮고,
특히 노이즈 캔슬링 기능이 생각보다 훨씬 효과적이네요.
한쪽 충전 케이스에 약간의 흠집이 있었지만,
고객센터에서 빠르게 새 제품으로 교환해줬어요.
전체적으로 가격 대비 성능이 좋고,
사후 대응도 친절해서 만족스러운 구매였습니다.
"""
이 리뷰에서 실무에 필요한 정보를 다음과 같이 분류할 수 있다.
항목 | 목적 |
감정 분류 (긍정/부정) | 제품 만족도 분석, 리뷰 필터링 |
감정 키워드 | 고객 반응의 세부 정서 파악 |
분노 여부 | 불만 고객 우선 대응 |
제품명, 브랜드명 | 리뷰 태깅, 통계 분류 자동화 |
예를 들어 다음과 같은 프롬프트를 사용하면, 구조화된 데이터를 쉽게 얻을 수 있다.
prompt = f"""
“리뷰 내용에서 구매한 제품명과 브랜드명을 추출하고,
JSON 형식으로 출력하시오.
정보가 없을 경우 unknown을 사용하시오.”
리뷰 내용: '''{earbuds_review}'''
"""
response = get_completion(prompt)
print(response)
출력:
{
"제품명": "무선 이어폰",
"브랜드명": "unknown"
}
자, 만약에 이런 고객 리뷰를 정리해야 한다면, 위와 같은 방식을 적용해서 정리할 수 있죠. 더욱이 json 형식으로 출력할 수 있다면 다양하게 자료를 가공할 수 있을 거예요.
예시를 하나 더 볼까요?
예시 2) 뉴스 기사
아래와 같은 기사가 있다고 합시다.
story = """
정부가 최근 실시한 전국 기업 근로환경 실태조사에 따르면,
국내 주요 스타트업 중 'A스타트업'이 가장 높은
직원 만족도를 기록한 것으로 나타났다.
이번 조사는 총 50개 민간 및 공공 기업을 대상으로 진행됐으며,
직원들의 근무 환경, 복지 수준, 조직 문화 등에
대한 종합적인 평가가 이루어졌다.
A스타트업은 특히 ‘자율근무제’와 ‘성과 기반 보상 시스템’에서
높은 점수를 받았으며, 전체 직원 만족도는 93%로 집계됐다.
직원들은 유연한 근무 방식과 수평적인 소통 문화에 대해
긍정적으로 평가한 것으로 나타났다.
한 A스타트업 개발자는
“상사의 눈치를 보지 않고 일할 수 있다는 점이 가장 큰 장점입니다.
성과를 내면 공정하게 인정받는 구조여서 동기부여도 됩니다”라고 말했다.
A스타트업의 인사담당 이사는
“직원이 중심이 되는 조직 문화를 만드는 것이 우리의 핵심 가치입니다.
앞으로도 창의적인 업무 환경을 조성하고,
직원의 삶의 질을 높이는 다양한 시도를 이어가겠습니다”라고 밝혔다.
반면, 만족도가 가장 낮게 나타난 곳은
‘B기업’으로, 직원 만족도가 46%에 그쳤다.
응답자들은 장시간 근무와 폐쇄적인 의사결정 구조에 대해
불만을 나타냈으며, 일부는 이직을 고려 중이라고 답했다.
정부는 이번 조사 결과를 바탕으로
각 기업에 맞춤형 피드백을 제공하고,
민간·공공 부문 전반의 근로환경 개선을 유도하겠다는 방침이다.
"""
위 기사처럼 정보량이 많은 문서에서는 핵심 주제를 자동으로 추출하거나, 특정 주제의 포함 여부만 판별하는 방식이 효율적일 거예요.
다음과 같이 분류해 보죠.
prompt = f"""
“다음 뉴스"에서 글의 주제 5개를 추출하시오.
각 주제는 두개의 단어 이내로 구성되어야 합니다.
결과는 쉼표로 구분하여 출력하시오.”
다음 뉴스: '''{story}'''
"""
response = get_completion(prompt)
print(response)
출력:
기업 근로환경, A스타트업, 직원 만족도, 자율근무제, 성과 기반 보상
이렇게 특정 단어/주제를 추출했는데, 만일 위와 같은 단어들을 앞에서 봤던 json 형태로 구성했다고 하면, 아래와 같이 특정 태그(단어)만 가지고 뭔가를 할 수도 있을 거예요.
response.split(sep=',')
topic_list = [
"A스타트업", "정부 기관", "직원 만족도"
]
위와 같이 정의해 볼게요.
이제 위 리스트의 단어만 뉴스에서 몇 개가 나오는지 체크하는 코드를 아래와 같이 구성할게요.
prompt = f"""
'목록'에 있는 각 항목이 아래 '다음 뉴스'에서
언급된 주제인지 여부를 판단하세요."
다음과 같은 형식으로 답을 작성하세요:
'목록'의 아이템: 0 또는 1
목록: {", ".join(topic_list)}
다음 뉴스: '''{story}'''
"""
response = get_completion(prompt)
print(response)
출력은 다음과 같아요.
A스타트업: 1
정부 기관: 0
직원 만족도: 1
이처럼 GPT를 이용해서 어떤 텍스트 데이터에서 원하는 정보를 추출해 보는 프롬프트를 작성해 봤어요.
간단하지만, 실제 실무나 개인의 자료를 정리할 때도 다양하게 원하는 방향으로 가공될 수 있을 거예요.
IPython.display로 HTML 출력하고 ipywidgets로 실시간 슬라이더까지! #3
오늘은 지금까지 다뤄왔던 프롬프트 엔지니어링 기술 이외 파이썬 자체 라이브러리 중 Jupyter Notebook이나 콘솔 환경에서 아주 유용한 IPython 라이브러리에 대해 살펴보겠습니다. IPython.display와 ipyw
eco7t.tistory.com
2025.04.25 - [Generative AI/Prompt Engineering] - OpenAI GPT 출력 형식 설정으로 JSON 파싱과 프롬프트 엔지니어링 #2
OpenAI GPT 출력 형식 설정으로 JSON 파싱과 프롬프트 엔지니어링 #2
이번 글에서는 지난번에 시작했던, 프롬프트 엔지니어링을 이용해서 GPT에게 원하는 답을 얻는 방법 중 GPT에게 명확하게 구체적으로 잘 묻는 방법에 이어서 GPT의 응답을 명확하게 하도록 요구하
eco7t.tistory.com
프롬프트 엔지니어링으로 챗GPT와 OpenAI API 활용 - GPT에게 원하는 답을 얻는 법 #1
이번 글부터는 최근 이슈가 되고 있는 생성형 AI와 관련한 기술에 대해 시작해 보겠습니다. 그중 오늘부터 몇 회에 걸쳐 프롬프트 엔지니어링에 살펴보겠습니다. 물론, 가장 많이 사용되는 OpenAI
eco7t.tistory.com
'Generative AI > Prompt Engineering' 카테고리의 다른 글
OpenAI API input/output token(토큰) 계산 및 확인 방법 - LLM 모델 사용량과 비용 #1 (0) | 2025.05.23 |
---|---|
OpenAI API Chat Format으로 챗봇 만들기 - 프롬프트 엔지니어링 가이드 #5 (0) | 2025.05.13 |
IPython.display로 HTML 출력하고 ipywidgets로 실시간 슬라이더까지! #3 (0) | 2025.04.30 |
OpenAI GPT 출력 형식 설정으로 JSON 파싱과 프롬프트 엔지니어링 #2 (0) | 2025.04.25 |
프롬프트 엔지니어링으로 챗GPT와 OpenAI API 활용 - GPT에게 원하는 답을 얻는 법 #1 (0) | 2025.04.22 |