AWS 기술 블로그
Amazon Bedrock 기반 Amorepacific 리뷰 요약 서비스 평가 방법 구현하기
Amorepacific은 ‘사람을 아름답게, 세상을 아름답게’ 하는 뷰티 기업으로, 고객의 다양한 아름다움을 존중하며 혁신과 창의성을 통해 글로벌 뷰티 산업을 선도하는 기업입니다. Amorepacific은 설화수, 라네즈, 헤라, 이니스프리, 아이오페, 에뛰드 등 32개의 브랜드를 보유하고 있으며 최근 ‘Live Your New Beauty’ 슬로건 아래, 모든 고객이 자신만의 아름다움을 발견하고 실현하는 삶을 누리는 미래를 만들어나가고자 노력하고 있습니다.
Amorepacific의 AI솔루션 팀은 최근 “디지털로 연결되는 뉴 뷰티”라는 비전으로, AI 기술과 고객 데이터를 활용해 모든 접점에서 고객과 소통의 연결고리를 촘촘히 구축하기 위한 솔루션을 제공하고자 다양한 R&D 활동을 하고 있습니다. 그 중 AmoreMall을 비롯한 자사몰과 외부 입점몰의 제품 리뷰를 대량 수집하고, 가공 및 요약을 통해 내부 직원들의 생산성 향상에 도움을 주는 리뷰요약 서비스를 운영 중이며, 추가로 다양한 고객 서비스를 기획하고 있습니다.
이 블로그에서는 AWS의 프로토타이핑팀과 AI/ML Expert SA가 함께 프로젝트를 통해 Amazon Bedrock을 이용한 리뷰 요약의 품질을 평가하는 방법을 제안하고 최적화 한 사례에 대해 소개해 드리고자 합니다.
Amorepacific 내 리뷰 요약 서비스에 대한 품질 평가의 어려움
Amorepacific의 리뷰 요약 서비스는 사내의 여러 제품 기획팀의 요구사항을 빠르게 반영하여 좋은 평가를 받고 있지만, 이를 개발/운영 하는 AI솔루션 팀은 Amazon Bedrock을 포함하여 상용 Large Language Model (LLM) 에서 생성한 요약문의 품질 관리에 대한 고민을 가지고 있었습니다.
AI솔루션 팀은 요약문의 품질 관리에 대한 시작점으로 요약문을 정량적 지표로 평가하는 방안을 고려하였습니다. 하지만, 전통적인 요약문 생성 모델의 평가 방식을 사용하여 좋은 결과를 받더라도 사람이 직접 판단했을 때 어색하거나 잘못된 결과가 있었음을 확인하였으며, 아래와 같은 추가적인 어려움이 있었습니다.
- 인간 기반 Annotation에 대한 부담 : 다양한 요약문의 평가 방법들 중 상당수의 방법들은 사람의 annotation, 즉 요약문의 정답지가 필요합니다. 하지만, 요약문의 경우 annotation을 만드는 과정이 인간이 직접 생성해야 하므로 쉽지 않고 드는 비용이 큽니다. 특히, 특정 전문 분야에 대한 인간의 annotation을 공개한 경우가 많지 않고, 이를 특정 업무에 활용하는 것 또한 정확한 성능을 반영하지 못한다고 판단하였습니다.
- LLM을 통한 품질 검증의 한계 : 품질 평가 시 요약문을 생성한 LLM으로 다시 요약문을 평가했을 때 편향 문제가 존재합니다. G-EVAL 논문의 결과를 보면, LLM은 자신이 생성한 요약문에 대해 평가 결과를 알려 달라고 요청할 경우 다른 LLM에서 생성한 요약문 보다 더 좋은 평가 결과를 제공하는 편향을 가지고 있습니다.
AWS는 이러한 어려움을 해결하기 위해, 인간의 annotation 생성 없이 다양한 상용 LLM을 교차하여 사용하는 방식으로 요약문을 평가하는 방법을 제안하였습니다. 따라서, 이 블로그에서는 리뷰 요약문의 품질 평가에서 Amazon Bedrock이 어떻게 활용 되었는지에 대해 다룰 예정입니다.
Amazon Bedrock의 선택
Amazon Bedrock은 Anthropic, AI21 Labs, Cohere, Meta, Amazon 등에서 만든 다양한 LLM을 단일 API로 사용할 수 있는 AWS의 완전 관리형 서비스입니다. Amazon Bedrock은 생성형 AI 애플리케이션을 구축하는 데 손쉽게 활용할 수 있으며, model ID만 변경하면 API를 별도로 변경할 필요 없이 다양한 LLM 모델을 활용할 수 있고, 특히 개인 정보 보호 및 보안을 유지하며 개발을 간소화할 수 있습니다. 이러한 장점을 활용하고자 Amorepacific의 AI솔루션 팀은 리뷰 요약문의 품질 평가에 Amazon Bedrock을 쓰기로 결정하였습니다. 또한, 고객의 리뷰 내용이 길어질 수 있기에 입력할 수 있는 context 길이가 긴 모델을 선호했고, 한국어로 쓰인 리뷰 요약문을 평가하기 위해 여러 언어로 학습한 모델을 선택하게 되었는데, 이 조건을 만족하는 모델이 Amazon Bedrock의 Claude 모델이었습니다.
Amazon Bedrock의 Claude 2.1 모델은 앞서 언급한 대로 보안을 유지하면서 context의 길이가 200K 이며, 이전 버전의 Claude 모델 대비 허위 답변을 하는 비율이 2배 감소했고 환각 (hallucination)에 빠지는 비율도 3~4배 감소했기 때문에 요약문을 평가하거나, 요약문을 생성하는데 많은 장점을 가지고 있습니다. 특히, 카네기 멜론 대학교와 샌프란시스코의 인공지능 안전 센터에서 진행한 인공지능의 안전성 연구에서도 좋은 결과를 얻었는데, 해당 연구에서 다른 LLM 모델들에 대해 40%~66%의 확률로 안전성 조치를 우회하여 거의 무제한에 가까운 양의 유해한 정보 (혐오 발언, 허위 정보 및 기타 유해한 자료 등) 를 생성할 수 있었던 반면, Claude 모델은 단 2% 만 우회가 가능하다는 결과를 얻었습니다.
기존 리뷰 요약문의 평가 방법 연구
인간의 annotation 없이 LLM으로 요약문을 평가하는 다양한 연구 결과를 확인하면서, 대표적으로 2개의 논문을 리뷰 요약문의 평가 방법을 구현하는데 참조하였습니다.
LLM-EVAL
첫번째로 LLM-EVAL은 LLM모델이 생성한 결과를 평가하는데 다차원의 자동 평가 방법을 제안한 논문입니다. 인간의 annotation과 다양한 LLM prompt 들을 생성하는 것은 비용이 많이 들거나 시간이 많이 소요될 수 있습니다. 이를 해결하기 위해, 해당 논문에서는 통합된 평가 스키마를 이용하여 대화 품질에 대한 다차원 평가 항목의 결과를 한 번에 얻을 수 있는 기법을 제안합니다. 먼저, 평가 스키마는 태스크와 함께 요구되는 평가 기준을 정의한 instruction을 통해 콘텐츠, 문법, 연관성, 적절성 등의 다차원의 평가 결과를 한 번에 얻을 수 있도록 구성합니다. 다음으로, 필요한 대화 context와 평가 스키마를 통해 각 평가 차원에 대한 점수를 출력하도록 prompt를 작성하였습니다. 결과적으로, 평가의 효율성을 위해 LLM 모델에서 한 번의 호출로 다차원의 품질 평가 결과를 한꺼번에 파악할 수 있도록 하였습니다.
G-EVAL
두번째로 G-EVAL은 LLM을 활용한 품질 평가 방식이 사람의 평가 방식과 상이한 정도를 줄이기 위해 Chain-Of-Thought (CoT)와 form-filling 기법을 도입하여 기존 연구들보다 크게 일치도를 높인 연구입니다. 이 연구는 평가 태스크에 대한 소개와 평가 기준만을 prompt로 넣은 다음, 품질 평가의 중간 사고 과정(CoT)을 LLM을 통해 생성해 가면서 생성을 원하는 특정 정보를 form-filling 하는 방식으로LLM의 생성 결과로 평가 단계를 자동으로 채워가는 방식을 제안하였습니다. 평가 결과는 5점 척도로 점수를 주면서, 각 점수에 대한 확률 값도 함께LLM 결과로 받아 최종적으로는 점수와 확률의 곱으로 계산하여 생성 문장의 품질 결과에 반영할 수 있도록 하였습니다.
Amorepacific의 리뷰 요약에 대한 품질 평가 방법 구현
Amorepacific에서 제공하는 리뷰 요약 서비스는 위와 같이 ‘리뷰 원문의 자연어 처리’ 단계에서 리뷰 원문을 자체 솔루션으로 가공한 다음, ‘리뷰 원문 요약’ 단계에서 상용 LLM으로 구조화된 요약문을 생성하고 있었습니다.
이번 AWS와의 프로토타이핑에서 요약문의 성능 향상을 위해 ‘리뷰 요약문의 품질 평가’ 단계를 추가하게 되었는데, 아래의 과정으로 품질 평가 단계를 진행하게 됩니다.
- Amazon Bedrock에 포함된 상용 LLM 중 하나로 리뷰 요약문을 품질 평가합니다.
- 요약문의 품질 평가 점수가 낮을 경우 요약문을 어떻게 개선하면 좋을지에 대한 피드백을 생성하게 됩니다.
- 생성된 피드백은 ‘리뷰 원문 요약’ 단계로 전달되어 prompt에 추가된 다음, 요약문을 다시 생성하게 되며, 최종 요약문은 ‘서비스 제공’ 단계로 전달 됩니다.
- 요약문의 품질 평가 점수가 높은 경우 요약문은 ‘서비스 제공’ 단계로 바로 넘어 갑니다.
비용과 품질 관점을 고려하여, 요약문을 생성하는 상용 LLM은 모델 사이즈가 작지만 속도가 빠른 모델들을 활용하였고, 품질 평가는 모델 사이즈가 크지만 성능이 좋은 LLM 모델을 사용하였습니다. 추가로, ‘리뷰 요약문의 품질 평가’ 단계에서 품질 평가 지표는 통일성(Coherence), 일관성(Consistency), 유창성(Fluency), 연관성(Relevance) 4가지로 설정하였습니다.
- 통일성 : 모든 문장의 총체적 품질로 요약문이 잘 구조화되고 체계적으로 구성되었는지를 평가하는 기준입니다. 즉, 요약문이 단순히 관련 정보만이 아니라 특정 주제에 관한 문장으로 통일되게 구성 되어 있는지를 5점 척도로 평가합니다.
- 일관성 : 요약문과 요약된 출처 간의 사실적 일치여부를 판단하는 기준으로 요약문이 원본 문서에 있는 사실만을 사용했는지 확인합니다. LLM의 한계로 지적되는 환각이 포함된 요약문은 감점을 주도록 기준을 정의하였습니다. 이 항목 또한 5점 척도로 평가합니다.
- 유창성 : 문법, 철자, 구두점, 단어 선택 및 문장 구조 측면에서 요약문의 품질 평가하는 것으로, 이 항목은 3점 척도로 평가합니다.
- 연관성 : 요약문이 출처에서 중요한 내용을 선택했는지 확인하는 기준입니다. 내용이 중복되거나 필요 이상의 정보가 포함된 요약문에는 감점을 주도록 정의했습니다. 이 항목은 5점 척도로 평가합니다.
‘리뷰 요약문의 품질 평가’ 단계에서는 태스크와 평가 기준을 Amazon Bedrock의 LLM 모델 중 하나인 Claude 모델의 prompt 특성에 맞게 아래와 같이 수정하였습니다. 예를 들어, Criteria는 XML tag 형식의 <criteria></criteria>로 변경하여 구현하였습니다. 아래는 통일성(Coherence)에 대한 prompt의 예시입니다.
[Prompt 예시]
"""
Human: You will be given reviews of a product and the summary of the product.
Your task is to rate the summary on one metric.
Please make sure you read and understand these instructions carefully. Please keep this document open while reviewing, and refer to it as needed.
<criteria>
Coherence (1-5) - the collective quality of all sentences. We align this dimension with the DUC quality question of structure and coherence whereby "the summary should be well-structured and well-organized. The summary should not just be a heap of related information, but should build from sentence to a coherent body of information about a topic."
</criteria>
Assistant: Evaluation Steps:
"""
위 prompt의 결과로 Amazon Bedrock에서 G-EVAL의 방식과 유사하게 form-filling 방식으로 통일성(Coherence)에 대한 평가의 중간 사고 과정 (CoT)을 생성할 수 있었습니다.
[Prompt에 대한 Amazon Bedrock의 생성 결과]
"""
Step 1. Carefully read the product reviews and summary provided.
Step 2. Evaluate how coherent the summary is, based on the coherence criteria provided. Coherence refers to how well-structured and organized the summary is in building up information about the topic.
Step 3. Rate the coherence on a scale of 1 to 5:
1 - Incoherent: The summary lacks structure and organization. The sentences do not build upon each other and read as unrelated information.
2 - Barely Coherent: The summary has minimal structure and logical flow. Some sentences may be unrelated.
3 - Moderately Coherent: The summary has some logical structure and flow. Most sentences build upon each other reasonably well.
4 - Largely Coherent: The summary is well-structured with good logical flow. The sentences generally build upon each other to convey information on the topic.
5 - Fully Coherent: The summary has excellent structure and organization. The sentences smoothly build upon each other to create a logical, cohesive summary.
Step 4. Provide the coherence rating from 1 to 5 based solely on the provided criteria.
Step 5. Provide a short justification for the coherence rating assigned using examples.
"""
생성한 평가의 중간 사고 과정을 다시 prompt에 추가하여, 아래와 같이 통일성(Coherence)의 평가 결과를 얻기 위한 최종 prompt를 완성하였습니다.
[최종 Prompt 예시]
"""
Human: You will be given reviews of a product and the summary of the product.
Your task is to rate the summary on criteria.
Please make sure you read and understand criteria and steps carefully. Please keep this document open while reviewing, and refer to it as needed.
<criteria>
Coherence (1-5) - the collective quality of all sentences. We align this dimension with the Document Understanding Conference quality question of structure and coherence whereby "the summary should be well-structured and well-organized. The summary should not just be a heap of related information, but should build from sentence to a coherent body of information about a topic."
</criteria>
<steps>
Step 1. Carefully read the product reviews and summary provided.
Step 2. Evaluate how coherent the summary is, based on the coherence criteria provided. Coherence refers to how well-structured and organized the summary is in building up information about the topic.
Step 3. Rate the coherence on a scale of 1 to 5:
1 - Incoherent: The summary lacks structure and organization. The sentences do not build upon each other and read as unrelated information.
2 - Barely Coherent: The summary has minimal structure and logical flow. Some sentences may be unrelated.
3 - Moderately Coherent: The summary has some logical structure and flow. Most sentences build upon each other reasonably well.
4 - Largely Coherent: The summary is well-structured with good logical flow. The sentences generally build upon each other to convey information on the topic.
5 - Fully Coherent: The summary has excellent structure and organization. The sentences smoothly build upon each other to create a logical, cohesive summary.
Step 4. Provide the coherence rating from 1 to 5 based solely on the provided criteria.
Step 5. Provide a short justification for the coherence rating assigned using examples.
</steps>
<reviews>{}</reviews>
<summary>{}</summary>
Assistant: - Coherence:"""
Amorepacific의 리뷰 요약문에 대한 품질 확인
최종 prompt를 이용하여 AmoreMall의 상품별 리뷰 요약문들을 평가하였으며, 각 품질 평가 지표의 결과를 확인하였습니다.
결과에서4가지 평가 지표 기준으로 품질 평가 점수가 떨어지는 요약문을 확인할 수 있었습니다. 낮은 평가 점수를 가진 요약문들은 상용화에서 문제가 될 수 있기에, 사람의 개입을 최소화하면서 이를 개선할 필요가 있었습니다. 기존의 평가 방법의 연구 논문에서 통일성(Coherence), 일관성(Consistency), 연관성(Relevance) 평가는 인간의 annotation, 즉, 리뷰 원문과 요약문의 ground-truth가 모두 필요했습니다. 하지만 유창성(Fluency)은 평가 시 요약문만 사용할 수 있다는 점에서 리뷰 요약문에 대해 효율성이 높은 유효성 검증 도구(validator)로 활용 가치가 높다고 판단하여, 이 지표를 다시 정의한 다음 피드백을 제공하는 지표로 활용하게 되였습니다.
리뷰 요약문 품질 평가 단계에서의 피드백 구성
낮은 평가 점수를 가진 요약문들에 대해 LLM 을 이용하여 품질을 개선할 수 있도록 피드백을 구성하는 과정을 살펴보면, ‘리뷰 원문 요약’ 단계에서 먼저 각 상품에 매칭된 리뷰 요약문은 감정과 속성 단위로 생성하였습니다. 그리고, ‘리뷰 요약문의 품질 평가’ 단계에서 유창성(Fluency) prompt를 개선하여 감정과 속성 태그에 대한 관련성이 적절한지를 판단할 수 있도록 추가 하였습니다. 아래는 이를 개선한 prompt의 예시 입니다.
[피드백 구성을 위해 개선된 유창성 prompt 예시]
fluency_prompt_from_claude2_1_form = """
Human: As a fluent native speaker of Korean, you are responsible for evaluating the korean review summaries of products written by your colleagues as an indicator.
Please make sure you read and understand these instructions carefully. Please keep this document open while reviewing, and refer to it as needed.
<criteria>
Fluency (1-3): the quality of the summary in terms of grammar, spelling, punctuation, word choice, sentence structure and relevance.
</criteria>
<steps>
1. Read through the product review summary carefully.
2. Evaluate the fluency of the summary based on the criteria provided:
- Grammar - assess if grammar is used correctly
- Spelling - check for spelling mistakes
- Punctuation - verify punctuation usage follows conventions
- Word choice - determine if vocabulary is appropriate
- Sentence structure - check if sentences are clear and logical
- Relevance - Is the coherence between the given attributes and the content of the summary text appropriate?
3. Assign a fluency score from 1-3:
1: Multiple issues with grammar, spelling, punctuation, word choice, sentence structure or relevance that significantly impact readability and comprehension.
2: Some minor issues with grammar, spelling, punctuation, vocabulary, phrasing or relevance but can still be mostly understood.
3: Very clear writing with proper grammar, spelling, punctuation, vocabulary or relevance and sentence structure.
4. Provide specific feedback on the issues you identified and suggestions for improvement. Be constructive and professional. Focus feedback on the content and style, not the author.
5. Submit your fluency score and review comments to the appropriate team member for consideration.
</steps>
<output_format>
The output is provided in json format and has `thoughts`, `fluency`, and `feedback` as keys.
For detailed output format description, please check the provided json format.
{json_schema}
</output_format>
<data>
<attribute>{attribute}</attribute>
<summary>{summary}</summary>
</data>
Assistant:"""
실제 Amorepacific의 구현 코드에서는 위 prompt를 기반으로 langchain 을 통해 아래와 같이 구현하였습니다.
[샘플 코드 예제]
# use langchain version: 0.1.0
import json
from langchain.prompts import PromptTemplate
from langchain.pydantic_v1 import ValidationError, BaseModel, Field
from langchain_community.llms import Bedrock
# define prompt
prompt = PromptTemplate.from_template(fluency_prompt_from_claude2_1_form)
# define bedrock llm
llm = Bedrock(
region_name='us-west-2',
model_id="anthropic.claude-v2:1"
)
# define output schema
class FluencyRating(BaseModel):
"""Represents a rating for fluency."""
thoughts: str = Field(..., description="The outputs of detailed analysis.")
fluency: int = Field(..., description="The quality of the summary in terms of grammar, spelling, punctuation, word choice , sentence structure and relevance.", ge=1, le=3)
feedback: str = Field(..., description="The constructive feedback to improve fluency.")
parser = PydanticOutputParser(pydantic_object=FluencyRating)
json_schema = FluencyRating.schema_json()
# define chain
chain = prompt | llm | parser
# inference
attribute = ' 맛 '
summary = ' 소비자들은 맛있는 맛, 특히 녹차 풍미와 부드러운 질감으로 즐거운 경험을 제공하는 제품을 사랑합니다. '
results = chain.invoke({
'json_schema':json_schema,
'attribute':attribute,
'summary':summary
})
[ 결과]
{
"thoughts": "The summary is well-written overall with proper grammar, spelling, punctuation, and appropriate vocabulary. The sentences flow logically and coherently connect the product attribute of taste to the consumers' enjoyment of the green tea flavor and smooth texture. No issues identified.",
"fluency": 3,
"feedback": "The summary effectively highlights how consumers love the enjoyable experience provided by the great green tea flavor and smooth texture of the product. No suggestions for improvement."
}
피드백을 이용한 리뷰 요약문의 성능 개선
앞에서 구현한 코드를 이용하여 리뷰 요약문의 성능 개선 테스트를 수행하였고, 유창성(Fluency)이 2점인 사례에 대해 ‘리뷰 요약문의 품질 평가’ 단계에서 적용한 피드백으로 요약문의 품질을 높인 사례를 보여주고 있습니다.
첫번째 사례는 ‘이니스프리몰의 멤버스 박스 – 그린티 세럼 80mL’ 제품의 리뷰입니다. 이 제품의 리뷰 원문을 Amorepacific 내 리뷰 분석 플랫폼을 통한 ‘리뷰 원문의 자연어 처리’ 단계를 거쳐서 ‘효과’라는 속성을 지닌 리뷰라는 것을 판단하게 되었습니다.
리뷰 원문과 속성은 아래와 같습니다.
{"효과": [
"배송도 빠르고상품도 만족합니다.",
"이제 습관이 되어 세안 후 바르지 않으면 뭔가 빠뜨린 느낌이 들어요",
"피부촉촉탱김저고스킨하고로션세림만하고도좋아졌어요",
"쫀득하니 탄력이 생긴것같아요",
"또 사고 싶다그린티 라인이 제일 조음피부결 진짜 달라짐"
]}
‘효과’ 속성을 가진 리뷰 원문에 대해 ‘리뷰 원문 요약’ 단계를 수행한 결과입니다. 요약문의 결과는 ‘빠른 배송, 만족, 습관 형성, 피부 질감 개선, 보습 효과’ 라고 나오며 키워드의 나열에 가까운 형태입니다.
{ "attribute": "효과",
"thoughts": "Customers primarily talk about the fast delivery, satisfaction with the product, the habit of using it after cleansing, the improvement in skin texture, and the moisturizing effect.",
"sumnary_en": "Fast delivery, satisfaction, habit-forming, improved skin texture, and moisturizing effect.",
"summary_kr": "빠른 배송, 만족, 습관 형성, 피부 질감 개선, 보습 효과"}
이후 ‘리뷰 요약문의 품질 평가’ 단계를 통해 리뷰 요약문의 유창성(Fluency) 점수와 함께 피드백을 생성하였습니다. LLM으로 평가 시킨 결과를 보면, 점수는 3점 만점의 2점이 나오고 그 이유와 함께 피드백이 다음과 같이 제공 됩니다. “문장이 완전하지 않습니다. 주어와 동사가 필요합니다. 예를 들어, ‘고객들은 빠른 배송, 만족, 습관 형성, 피부 질감 개선, 보습 효과를 칭찬합니다.’라고 수정할 수 있습니다.”
{ "thoughts": "빠른 배송, 만족, 습관 형성, 피부 질감 개선, 보습 효과",
"fluency": 2,
"feedback": "문장이 완전하지 않습니다. 주어와 동사가 필요합니다. 예를 들어, '고객들은 빠른 배송, 만족, 습관 형성, 피부 질감 개선, 보습 효과를 칭찬합니다.' 라고 수정할 수 있습니다."}
마지막으로 ‘리뷰 원문 요약’ 단계에서는 피드백을 반영하여 아래와 같이 개선된 리뷰 요약문을 생성할 수 있었습니다.
{ "attribute": "효과",
"thoughts": "Customers primarily talk about the fast delivery, satisfaction with the product, the habit of using it after cleansing, the improvement in skin texture, and the moisturizing effect.",
"summary_en": "Customers praise the fast delivery, satisfaction, habit-forming, improved skin texture, and moisturizing effect.",
"summary_kr": "고객들은 빠른 배송, 만족, 습관 형성, 피부 질감 개선, 보습 효과를 칭찬합니다."}
두번째 사례는 제품이 ‘아모레몰의 0.2 테라피 에어 마스크 알로에 5매’ 이며, 이 제품은 ‘편리성’라는 속성을 지닌 리뷰라는 것을 ‘리뷰 원문의 자연어 처리’ 단계를 통해 판단하였습니다.
리뷰 원문은 아래와 같습니다.
{"편리성 ": [
"시트가 얇아서 사용하기 불편해요.",
"팩이 얇아서 액상이 후두둑 떨어졔서 불편해요. ",
"다만 에어시트라고 광고하는데 너무 얇아서 떼서 바르기가 너무 힘들어요.",
"다좋은데 시트지가 엄청 얇아서 펼치는데 엄청 오래걸려요 ",
"아쉬운점은 시트지가 너무나 얇아서 펴고 할때 불편함이 있습니다만 알로에 팩으로는 최고인듯하고 재구매 하려고합니다."
]}
아래는 ‘리뷰 원문 요약’ 단계의 결과입니다. 요약문의 내용은 맞지만 너무 단순화되어 제품 개선의 아이디어를 얻기에 아쉬운 점이 있습니다.
{ "attribute": "편리성",
"thoughts": "시트가 너무 얇아서 사용이 불편하다는 점에 대해 주로 언급하고 있습니다.",
"surmary_en": "The main concern is that the sheet is too thin, making it inconvenient to use.",
"summary_kr": "시트가 너무 얇아 사용이 불편하다는 것이 주요 관심사입니다."}
다음으로 ‘리뷰 요약문의 품질 평가’ 단계의 결과입니다. 해당 요약문의 유창성 결과를 Amazon bedrock으로 평가를 시키면, 3점 만점의 2점이 나오고 피드백이 생성되는 것을 확인할 수 있습니다.
{ "thoughts": "두 번째 요약문은 첫 번째 요약문과 비슷한 내용을 담고 있지만, '단품_디자인' 태그와는 연관성이 없습니다. '편리성' 태그와는 부분적으로 연관성이 있습니다.",
" fluency": 2,
"feedback": "요약문이 태그와 더 잘 연관되도록 작성해보세요. '단품_디자인' 태그에 대해 언급하거나, 시트의 얇음이 어떻게 편리성에 영향을 미치는지 더 구체적으로 설명할 수 있습니다."}
마지막으로 피드백 결과를 반영한 ‘리뷰 원문 요약’ 단계의 개선된 결과입니다. 개선된 요약문은 제품의 개선 아이디어를 얻는데 도움이 될 수 있도록 구체적으로 다양한 불편함을 포함하고 있습니다.
{ "attribute": "편리성",
"thoughts": "시트가 얇은 디자인으로 사용이 불편하며, 팩을 펴는 데 오랜 시간이 걸리고 액상이 흘러나옵니다.",
"summary_en": "The thin design of the sheet affects usability, taking a long time to unfold the pack, and causing liquid to drip.",
"summary_kr": "시트의 얇은 디자인이 사용성에 영향을 미치며, 팩을 펴는 데 오랜 시간이 걸리고 액상이 흘러나옵니다."}
마무리
지금까지 Amorepacific의 리뷰 요약 서비스에서 Amazon Bedrock을 통해 요약문을 정량적으로 품질 평가하고, 그 결과를 자동으로 개선하는 요약문의 성능 향상 과정에 대해 설명 드렸습니다.
“AWS Korea의 프로토 타이핑 프로그램은 업계 최고 수준의 기술력으로 제공하고 있으며 솔직히 비교할 대상이 없을 정도의 고수준입니다. 기술력도 대단하지만 서비스가 딜리버리되는 전 과정이 체계화된 프레임워크 기반으로 실행되기 때문에 실질적인 비즈니스 임팩트를 만드는데 있어서 큰 도움이 되었습니다. 특히 Amorepacific은 이미 자체 NLP 솔루션을 기반으로 고객 후기를 분석하고, LLM을 통한 리뷰요약 서비스를 제공하고 있지만, 이번 프로그램을 통해 요약문 품질에 대한 평가나 자동화된 피드백 과정을 구현할 수 있었다는 점에서 프로토타이핑 프로그램에 참여한 모든 AWS의 솔루션즈 아키텍트 분들과 영업대표를 포함한 AWS Korea의 모든 분들께 감사드립니다.”
— Amorepacific CDTO (Chief Digital Technology Officer) 홍성봉 상무
Amorepacific의 AI솔루션팀은 이번 프로토타이핑 프로그램의 결과물을 상용화 하기 위해 현재 운용중인 리뷰 시스템에 적합한 prompt를 Amazon Bedrock의 LLM 모델에 맞게 최적화하여 개선하고 있으면 향후 서비스에 적용할 계획을 갖고 있습니다. 더 나아가 Amazon Bedrock기반으로 리뷰 의도를 분류하고, 의도 분류 결과에 따라 요약문을 생성하는 각 에이전트를 도입하여, 향후 Amorepacific의 리뷰 분석 시스템의 개선과 고객 서비스 적용에 활용할 예정입니다.