Haru's 개발 블로그

[NLP] 검색 기반 질의응답에서 사용할만한 모델에 대하여? 본문

머신러닝 & 딥러닝/NLP(자연어 처리)

[NLP] 검색 기반 질의응답에서 사용할만한 모델에 대하여?

Haru_29 2023. 8. 27. 06:13

검색 기반 질의응답에서 중요한 것은?

1. 정확성: 모델이 제공하는 답변은 정확하고 신뢰성 있어야 합니다. 사용자에게 부정확한 정보를 전달하거나 오류가 있는 답변을 제공하지 않도록 해야 합니다.

 

2. 문맥 이해: 모델은 질문과 관련된 문맥을 올바르게 이해해야 합니다. 질문의 의도와 문맥을 고려하지 않으면 잘못된 답변이 생성될 수 있습니다.

 

3. 다양한 문서 고려: 검색 기반 모델은 다양한 문서에서 정보를 검색하므로, 모델이 다양한 소스에서 문맥을 파악하고 정보를 종합할 수 있어야 합니다.


4. 문서의 신뢰도 평가: 검색된 문서의 신뢰도를 평가하여 신뢰성 있는 정보를 선별해야 합니다. 신뢰도 없는 정보로 인해 오해나 혼란을 야기하지 않도록 해야 합니다.


5. 데이터 양과 다양성: 모델을 학습시키거나 평가할 때 충분한 양과 다양성의 데이터가 필요합니다. 다양한 주제, 언어, 문체 등 다양한 데이터를 활용하여 모델이 다양한 상황에서 잘 작동하도록 해야 합니다.


6. 패스지 검색과 매칭: 검색된 패스지들 중에서 가장 관련성 높은 패스지를 선택하고, 질문과의 매칭을 통해 정확한 답변을 도출할 수 있어야 합니다.


7. 사용자의 의도 파악: 사용자의 질문의 의도를 파악하여 그에 맞는 답변을 제공해야 합니다. 종종 질문의 표면적인 내용보다 더 깊은 의미를 이해하고 답변을 제공해야 합니다.


8. 실시간성: 실시간 질의응답 서비스의 경우, 빠른 속도와 효율적인 검색이 중요합니다. 모델이 빠른 속도로 답변을 생성하고, 실시간으로 문서를 검색하여 처리할 수 있어야 합니다.


9. 사용자 피드백과 개선: 모델이 사용자로부터 피드백을 받고 이를 활용하여 지속적으로 개선되어야 합니다. 사용자들의 요구와 필요에 따라 모델을 업데이트하고 발전시켜야 합니다.

 

 

검색 기반 질의응답에서 사용할만한 모델

먼저 들어가기에 앞서 모델을 선정할 때는 데이터의 종류나 상황에 따라 성능에 편차가 있을 수 있기 때문에 레퍼런스를 참고를 하던지 아니면 직접 여러 모델들을 학습을 시켜서 판단하는 것이 좋습니다. 

 

DPR (Dense Passage Retrieval)
특징: DPR은 밀집한(dense) 패스지(retrieved passage)를 사용하여 검색 기반 질의응답(Retrieval-based Question Answering) 작업을 수행하는 모델입니다. 주어진 질문에 대해 후보가 될 수 있는 여러 개의 패스지를 검색한 다음, 각 패스지와 질문을 매칭하여 가장 유사한 패스지를 선택하고 그 안에서 답을 찾는 방식입니다. 전통적인 정보 검색 시스템들은 키워드 기반의 검색을 사용하여 관련 문서를 찾지만, DPR은 문장 임베딩 기법을 사용하여 문장 간의 의미론적 유사성을 이해합니다. 따라서, DPR은 기계의 이해력을 높여 검색 성능을 향상시키는 역할을 합니다. DPR은 두 개의 서로 다른 Transformer 인코더로 구성되어 있습니다. 하나는 질문을 인코딩하기 위한 것이고, 다른 하나는 지문을 인코딩하기 위한 것입니다. 각 인코더는 해당 텍스트를 고차원 벡터(representation)로 변환하는 역할을 합니다. 이 두 인코더간의 유사성을 통해 DPR은 검색 데이터베이스에서 질문과 가장 관련된 지문을 찾게 됩니다.전통적인 정보 검색 시스템들은 키워드 기반의 검색을 사용하여 관련 문서를 찾지만, DPR은 문장 임베딩 기법을 사용하여 문장 간의 의미론적 유사성을 이해합니다. 따라서, DPR은 기계의 이해력을 높여 검색 성능을 향상시키는 역할을 합니다. DPR은 두 개의 서로 다른 Transformer 인코더로 구성되어 있습니다. 하나는 질문을 인코딩하기 위한 것이고, 다른 하나는 지문을 인코딩하기 위한 것입니다. 각 인코더는 해당 텍스트를 고차원 벡터(representation)로 변환하는 역할을 합니다. 이 두 인코더간의 유사성을 통해 DPR은 검색 데이터베이스에서 질문과 가장 관련된 지문을 찾게 됩니다.


사용 시나리오: DPR은 정보 검색 작업에서 주로 사용됩니다. 특정 질문에 대한 적절한 정보를 검색하고 해당 정보에서 정확한 답을 추출하는 데 효과적입니다. 하지만 모든 정보를 이미 검색해야 하므로, 어떤 정보를 찾아야 하는지 명확한 경우에 유용합니다.

 

BERT 또는 Transformer 기반 모델

BERT와 같은 Transformer 기반의 언어 모델은 문맥을 이해하고 단어 간 관계를 파악하는 데 강점이 있습니다. 질문과 문맥을 함께 고려하여 질문에 대한 답을 직접 생성할 수 있습니다. BERT 에서 질의응답(Question Answering)에 대한 예시를 들면 주어진 문장에서 정답을 찾는 작업에 사용됩니다. 문장과 질문을 입력으로 받아, 정답을 예측합니다. SQuAD 데이터셋과 같은 질의응답 작업에 활용됩니다.


T5 (Text-To-Text Transfer Transformer)
특징: T5는 텍스트를 텍스트로 변환하는 모델로, 다양한 자연어 처리 작업을 하나의 일반적인 형태로 풀 수 있습니다. 입력 문장을 일련의 텍스트로 간주하여 출력 문장으로 변환하는 방식입니다. Pretrained T5 모델은 다양한 언어 처리 작업에 대해 미리 학습된 표현을 갖고 있으며, Fine-tuning을 통해 특정 작업에 맞게 세부 조정할 수 있습니다.

T5 모델의 핵심 아이디어는 '텍스트 비슷한 트랜스포머 작업'이라는 개념으로, 모든 NLP 작업을 텍스트 입력에서 텍스트 출력으로 매핑하는 문제로 처리합니다. T5는 입출력 데이터를 텍스트로 공통화함으로써 학습 및 추론 효율을 높입니다. 사전 훈련 및 미세 조정을 거쳐, T5 모델은 지도 학습 작업들에서 높은 정확도와 성능을 달성할 수 있습니다. 학습 과정 중, T5는 주요 기법으로 마스킹 된 언어 모델 학습(objective)를 사용하며, 이를 통해 맥락에 맞게 빈 칸 채워넣기 작업을 수행하게 됩니다.


사용 시나리오: T5는 텍스트 생성, 요약, 번역, 질의응답 등 다양한 작업에서 사용될 수 있습니다. 데이터가 적거나 특정 작업에 대한 정보 검색 없이도 텍스트를 생성하거나 변환해야 하는 경우에 유용합니다.

 

추가적으로 Accuracy는 모델이 예측한 결과가 실제 정답과 일치하는 비율을 측정하는 지표이지만, 질문-답변(QA) 데이터셋과 같은 경우에는 단순한 정확도(Accuracy)보다 F1-score을 사용하는 것이 더 적합합니다.

이유
클래스 불균형: QA 태스크에서는 일반적으로 문맥에 해당하는 답변은 매우 적고, 그 외의 불필요한 단어나 문장이 대부분입니다. 즉, 정답 클래스와 오답 클래스 간의 불균형이 발생합니다. 이런 경우, Accuracy는 단순히 가장 빈도가 높은 클래스를 예측하여 높은 Accuracy 값을 얻을 수 있지만, 실제로 중요한 클래스(정답)를 잘 예측하지 못하는 문제가 발생할 수 있습니다.
False Positive와 False Negative의 영향: Accuracy는 모델이 전체 데이터에서 얼마나 정확하게 예측하는지를 나타내지만, 양성(Positive) 클래스와 음성(Negative) 클래스의 중요도를 고려하지 않습니다. QA 태스크에서는 False Positive(예측이 양성인데 실제로는 음성인 경우)와 False Negative(예측이 음성인데 실제로는 양성인 경우)의 영향이 중요합니다.

Comments