기술나눔

BERT 기반 비정형 도메인 텍스트 지식 추출

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

기사 디렉토리

주제

식품 테스트를 위한 대규모 언어 모델

사진 이름

논문 주소: https://arxiv.org/abs/2103.00728

요약

지식 그래프 기술의 발전과 상용 응용의 대중화로 인해 다양한 비정형 도메인 텍스트로부터 지식 그래프 엔터티 및 관계형 데이터를 추출해야 할 필요성이 증가하고 있습니다. 이는 도메인 텍스트에서 자동화된 지식 추출을 상당히 의미 있게 만듭니다. 본 논문에서는 지식 그래프를 구축하는 과정에서 인력을 절약하기 위해 구조화되지 않은 도메인별 텍스트(예: 보험업의 보험 조항)에서 지식 포인트를 자동으로 추출하는 BERT 기반의 지식 추출 방법을 제안합니다. 규칙, 템플릿 또는 엔터티 추출 모델을 기반으로 일반적으로 사용되는 지식 포인트 추출 방법과 달리, 이 기사에서는 답변 위치 전후의 텍스트를 컨텍스트로 사용하여 도메인 텍스트의 지식 포인트를 질문 및 답변 쌍으로 변환하고 SQuAD 데이터를 기반으로 독해를 수행하는 BERT. 미세 조정된 모델을 사용하여 더 많은 보험 조항에서 지식 포인트를 자동으로 추출하고 좋은 결과를 얻었습니다.

방법

최근 다양한 산업 분야에서 디지털 전환이 심화되면서 관련 전자문서의 수가 급격히 증가하고 있습니다. 동시에 점점 더 많은 기업이 데이터 분석, 마이닝, 데이터 자원의 개발 및 활용에 관심을 기울이기 시작했습니다. 그리고 외부 서비스. 이러한 애플리케이션은 디지털 지식 기반 구축을 위해 다양한 비정형 도메인 텍스트에 포함된 정형 정보를 추출해야 하는 경우가 많습니다. 데이터는 컴퓨터 제품과 서비스의 기초입니다. 컴퓨터에 데이터를 제공하는 것은 새로운 시대의 기업과 기관의 발전을 위한 새로운 과제가 되었습니다. 기업과 기관의 다양한 비즈니스 및 비즈니스 문서 원본에는 풍부한 지식과 정보가 포함되어 있지만 모두 사람이 읽을 수 있도록 작성된 것이므로 컴퓨터 프로그램의 요구 사항에 비해 중복된 정보가 많습니다. 현재 이러한 데이터를 적용할 때, 기본적으로 문서를 읽고 필요한 정보를 수동으로 추출하고, 이를 컴퓨터가 읽을 수 있는('이해') 형태로 표현하는 데는 많은 인력 투자가 필요하다. 이로 인해 추가 학습 비용과 인적 자원 소비가 많이 발생합니다. 자동화된 수단을 활용하여 비정형 텍스트 데이터에서 지식을 발견하고 이를 다양한 지능형 애플리케이션이 의존하는 데이터 리소스로 활용하는 방법은 지식 추출 분야의 연구 핫스팟입니다. 본 논문은 특정 분야의 비정형 텍스트를 연구 대상으로 삼아 딥러닝 기반의 언어 이해 모델을 통한 지식 추출 방법을 제안한다. 이 방법은 추출할 지식 포인트를 질문-답변 쌍의 형태로 제시하고, 수동으로 주석이 달린 데이터를 훈련 데이터로 사용하고, 사전 훈련된 모델을 기반으로 전이학습을 수행하며, 동일한 분야의 텍스트로부터 자동 추출을 얻는 방법이다. 지식 포인트 모델.

통일된 구조 사양을 가진 문서의 경우, 빌딩 규칙을 통해 지식 추출을 수행할 수 있습니다. 규칙의 구성은 수동적인 귀납과 요약, 즉 동일한 분야의 많은 텍스트를 읽고 그 중에서 선택하여 최종 추출 규칙을 요약하는 과정을 통해 완료되는 경우가 많습니다. Jyothi 등은 규칙 기반 접근 방식을 사용하여 수많은 개인 이력서에서 효과적인 정보를 추출하고 데이터베이스를 구축했습니다. JunJun et al.은 학술 문헌에서 학문적 개념 지식을 추출하기 위해 유사한 방법을 사용했습니다. 이 방법의 장점은 훈련 모델이 필요하지 않고 간단하고 효율적이라는 것입니다. 우리가 구축한 규칙은 동일한 구조를 가진 텍스트에만 적용 가능하며 일단 텍스트 구조가 엄격해야 합니다. 약간 변경되면 새로운 지식 추출 규칙이 구성되므로 이 방법은 이식성이 없습니다.

지식 추출 작업 중 하나는 엔터티 추출이라고 하며, 이는 텍스트에서 시간, 위치 등과 같은 사전 정의된 태그 콘텐츠를 추출하는 것입니다. 특정 태그는 애플리케이션에 따라 달라집니다. 가장 일반적으로 사용되는 지식 추출은 명명된 엔터티 인식(명명된 엔터티)이라고 합니다. 인식). 엔터티 인식(NER). 엔터티 추출 자체는 HMM(Hidden Markov Models) 또는 CRF(Conditional Random Fields)와 같은 전통적인 통계 학습 방법을 사용하여 처리할 수 있는 시퀀스 레이블링 작업으로 직접 해결할 수 있습니다. 최근에는 이러한 유형의 문제에 일부 딥러닝 모델도 적용되었습니다. 예를 들어 BiLSTM과 CRF를 결합한 시퀀스 주석 방법은 좋은 결과를 얻었습니다. Lample et al.은 stacked LSTM을 사용하여 스택 구조를 표현하고 여러 단어의 표현을 직접 구성하는 새로운 네트워크 구조를 제안하고 이를 LSTM-CRF 모델과 비교했습니다. Ma 등은 BiLSTM-CNN-CRF를 기반으로 한 엔드투엔드 시퀀스 주석 모델을 제안했습니다. 또한 미세 조정된 BERT 모델은 시퀀스 라벨링 작업에서도 좋은 결과를 얻을 수 있습니다.

텍스트에서 엔터티를 추출하는 것 외에도 엔터티 간의 관계도 지식 추출의 초점이 됩니다. 엔터티와 그 관계는 일반적으로 트리플로 구성됩니다.<E1, R, E2> , 작업 목표는 텍스트에서 가능한 모든 엔터티 관계 트리플을 추출하는 것이며 해당 관계는 미리 설정된 스키마로 제한됩니다. Zeng 등은 관계를 분류하기 위해 CNN을 설계했지만 트리플은 아닙니다. Makoto 등은 BiLSTM 및 Bi-TreeLSTM을 기반으로 스택 네트워크를 구축하여 엔터티 추출과 관계 감지를 동시에 수행함으로써 엔터티 관계에 대한 엔드투엔드 예측을 달성했습니다. Li 등은 인코더-디코더 아키텍처를 갖춘 이중 계층 LSTM을 사용하여 트리플에 국한되지 않고 고정된 형식으로 구조화된 지식을 예측할 수 있는 지식 추출 모델을 구축했습니다. Zheng et al.은 라벨링 전략을 통해 엔터티 및 관계 추출 작업을 시퀀스 라벨링 작업으로 변환한 다음 이를 처리하기 위해 이전 모델과 유사한 Bi-LSTM 모델을 구축했습니다. Luan 등은 과학 지식 그래프를 구축하기 위해 과학 문서의 개체와 관계를 식별하기 위한 다중 작업 학습 프레임워크를 설계했습니다. 이 모델은 해당 영역에 대한 사전 지식 없이도 기존 모델보다 성능이 뛰어났습니다.

    除了以上提到的知识抽取模式,一个不同的角度是将知识点本身看作一个问题,将知识点的内容作为该问题的答案,将知识点所在的文本段作为这个问答对的上下文,这样知识抽取模型便可以用问答模型来构造。近年来,GPT和 BERT等预训练模型的出现使得这类问答阅读理解任务可以很好地作为其下游任务,仅需简单改造原有网络结构,并进行微调,即可得到很好的效果。Wang等人在原始BERT 的基础上使用多段落预测的方式改进了其在 SQuAD数据集上的效果。Alberti等人在BERT 与 SQuAD 的基础上改进后,将其应用在一个更困难的问答数据集 NQ上,𝐹1分数相对之前的基准线提升了 30%。这种问答形式的知识抽取可以更灵活地处理不同结构的知识——只需将其定义为不同的问题,而不需要根据知识的形式单独设计新的网络结构。

다양한 산업의 구조화된 텍스트는 산업 특성으로 인해 서로 다른 특성을 갖습니다. 일부 산업별 문서(의료 지침 등)는 구조가 엄격할 뿐만 아니라 용어 및 문구에 대한 요구 사항도 매우 엄격하여 규칙 기반 지식 추출에 더 적합합니다. 텍스트가 일반 텍스트(예: 뉴스 보도, 인터뷰 등)와 크게 다르지 않아 일반 추출 기술을 직접 적용할 수 있는 산업도 있습니다. 일부 분야의 텍스트도 있는데, 이는 어느 정도 전문성을 갖고 있지만 그다지 엄격하지 않습니다. 다른 회사의 유사한 텍스트의 구조와 표현은 유사하지만 동일한 회사 내에서 용어의 사용 및 표시가 다릅니다. . 상대적으로 통일되어 있습니다. 보험 업계의 보험 조항 문서는 이 세 번째 범주의 텍스트에 속합니다. 보험조항은 보험계약의 양 당사자, 즉 보험사(보험회사)와 보험계약자 쌍방이 공동으로 합의한 권리와 의무에 관한 조항입니다. 보험 조항은 일반적으로 세 부분으로 구성됩니다.

  1. 기본 정보, 즉 보험사, 조항명, 조항 약어, 조항 유형, 기간 유형, 유예 기간, 소멸시효, 신고 번호 및 신고 시간, 주보험으로 판매 가능 여부 등 조항 자체에 대한 정보입니다. , 등.;
  2. 구매 조건, 즉 피보험자의 연령, 성별, 직업/직업 요건, 신체검사 요건, 사회보장 요건, 진실하게 보고해야 하는 개인 상황, 본 조항에 따라 피보험자가 충족해야 하는 객관적인 조건, 등.;
  3. 보험 책임, 즉 본 조항의 책임 범위 및 보상 내용;

보험 조항에는 어느 정도 전문 용어가 포함되어 있지만 전문 용어의 사용은 업계에서 대부분 표준화되지 않았습니다(예: "유예 기간"은 "냉각 기간"이라고도 할 수 있음). 조항 문서는 다음과 같습니다. 추출해야 할 대부분의 지식 포인트가 자연어 표현으로 혼합되어 있어 정적인 규칙에 따른 텍스트 추출에는 적합하지 않습니다. 추출된 필수 지식포인트 자체는 엔터티 추출을 통해 얻을 수 있지만, 지식포인트에 해당하는 값이 자연어 표현에 섞여 있어 지식포인트 설명과 함께 추출할 수 없는 경우가 많다. 예를 들어, 특정 조항의 공소시효는 2년입니다. 이 "2년"은 다음 설명에 나타날 수 있습니다. "수혜자가 당사에 보험 혜택 또는 보험료 면제를 요청할 수 있는 공소시효는 2년입니다. 보험사고 발생일부터 산정이 시작된다는 사실을 보험수익자가 알고 있거나 알아야 한다”고 하여 보험약관에서 기본정보, 구매조건, 보험책임 및 기타 지식포인트를 추출해야 할 경우에는 해당 규칙을 직접 제외합니다. 기반 및 엔터티 기반 추출 방법. 지식 포인트를 트리플로 변환하기 위해 스키마 스타일 추출을 사용하는 경우 필요한 교육 데이터 세트와 라벨링 양이 상대적으로 커집니다. 따라서 최종적으로 질문-답변 기반 지식 추출 방법을 선택하였다.

최근에는 사전 훈련된 모델을 기반으로 미세 조정을 통해 학습하는 방법이 BERT 모델이 중요한 대표인 자연어 처리(NLP) 분야에서 큰 성공을 거두고 있습니다. BERT는 변환기를 기반으로 하는 양방향 코딩 표현 모델입니다. 토폴로지는 다층 양방향 변환기 네트워크입니다. BERT 모델은 미세 조정 학습을 기반으로 하는 일반적인 응용 프로그램입니다. 즉, 구성에는 사전 학습과 미세 조정의 두 단계가 포함됩니다. 첫째, 사전 훈련 단계에서는 다양한 훈련 작업의 레이블이 지정되지 않은 대량의 코퍼스 데이터가 훈련되고, 코퍼스의 지식이 사전 훈련 모델의 텍스트 임베딩(Embedding)으로 전달됩니다. 이러한 방식으로 미세 조정 단계에서는 사전 훈련된 모델을 조정하기 위해 신경망에 출력 계층을 추가하기만 하면 됩니다. 구체적으로 미세 조정은 사전 훈련된 매개변수로 BERT 모델을 초기화한 다음 다운스트림 작업의 레이블이 지정된 데이터를 사용하여 모델을 미세 조정하는 것입니다. 보험 문서에서 지식 포인트를 추출해야 하는 필요성에 대응하여 보험 조항 데이터를 사용하여 보험 조항 지식 추출 요구 사항을 충족하도록 BERT의 질문 및 답변 작업을 미세 조정하면 됩니다.

사진 이름

보험 조항 지식 추출 프로세스는 먼저 수동으로 레이블이 지정된 보험 조항 지식 포인트를 생성합니다.<question, answer> 그런 다음 텍스트 구문 분석 프로그램을 사용하여 보험 약관 문서를 문서 트리로 구문 분석합니다. 여기서 기본 제목은 루트 노드이고 각 후속 제목은 이전 수준의 하위 노드이며 텍스트의 각 단락은 읽혀집니다. 이를 리프 노드로 사용합니다.질문-답변 쌍의 답변을 그것이 위치한 리프 노드와 일치시키고, 전체 리프 노드에 해당하는 텍스트를 질문-답변 쌍의 컨텍스트로 사용하여 최종적으로<question, answer, context> 마지막으로 이 데이터 세트를 사용하여 SQuAD 데이터 기반 독해 작업을 위한 Fine-tuning 방법에 따라 BERT 사전 학습 모델을 학습시키고 최종 지식 추출 모델을 획득합니다. 위 그림에서 볼 수 있듯이 질문 및 답변 작업의 경우 BERT에 의해 출력된 인코딩 벡터 뒤에 추가 완전 연결 레이어를 추가하기만 하면 컨텍스트에서 답변의 위치를 ​​예측할 수 있습니다.테스트하는 동안 새로운 보험 조항에 대해 다양한 지식 포인트의 맥락을 동일한 방식으로 분석해야 합니다.<question, context> 모델에 대한 입력으로 각 지식 포인트에 대한 답변을 얻습니다. 위의 방법은 동일 회사, 동일 유형의 보험 조항을 더 잘 처리할 수 있습니다. 이는 동일 회사의 보험 조항 조항의 구조가 일관되고, 동일한 프로그램을 사용하여 맥락을 분석할 수 있기 때문입니다. 다양한 회사와 유형의 조항, 용어와 구조가 다르기 때문에 원본 분석 프로그램으로는 처리할 수 없으며, 조항별로 텍스트 분석 프로그램을 다시 작성하는 것도 불가능하므로 모델 개선이 필요합니다.

지식 추출 프로세스를 보다 다양하게 만들기 위해 먼저 예측 프로세스를 수정합니다. 새 절의 원본 텍스트를 단어 수에 따라 세그먼트로 나누고 각 세그먼트는 약 300 단어입니다(문장을 깨지 않도록 노력하십시오). 그런 다음 각 텍스트 세그먼트를 지식 포인트의 가능한 컨텍스트로 나누어 모델의 입력 역할을 합니다. 출력 답변이 비어 있으면 이 단락에 해당 지식 포인트가 없다는 의미입니다. 그렇지 않으면 모든 텍스트 단락의 각 지식 포인트의 출력을 종합적으로 고려하여 확률이 가장 높은 답변을 선택합니다. 지식 포인트. 이 새로운 예측 방법은 모든 절에 대한 범용이며 추가 텍스트 구문 분석이 필요하지 않습니다. 이 방법을 사용하여 여러 회사의 용어를 테스트한 결과 이전 모델에서는 잘 작동하지 않고 정확도가 크게 떨어지는 것으로 나타났습니다. 그 이유는 개선 이전에는 학습 중에 각 지식 포인트의 컨텍스트가 문서 구조를 기반으로 정확하게 위치했기 때문입니다. 부정적인 샘플이 많지 않았기 때문에 모델은 정확하게 위치된 컨텍스트를 기반으로만 예측을 할 수 있었습니다. 텍스트 구성 구조와 제목 형식이 변경되면 원본 텍스트 구문 분석 프로그램은 문제 컨텍스트를 정확하게 찾을 수 없어 간섭하는 데이터가 많이 생성되고 모델 효과에 영향을 미칩니다. 따라서 모델의 학습 과정을 수정해야 합니다. 즉, 학습 세트의 각 절을 동일한 방식으로 분할합니다. 세그먼트에 지식 포인트로 표시된 답변이 포함되어 있으면 다음과 같이 사용됩니다. 새로운 샘플, 그렇지 않으면 음성 샘플로 사용됩니다(대답은 비어 있습니다). 실제 테스트에서 이러한 새 샘플이 모두 훈련 세트에 추가되면 너무 많은 훈련 데이터가 생성되고 음수 샘플 수가 양수 샘플 수를 훨씬 초과하게 됩니다. 이 프로세스의 균형을 맞추기 위해 다음과 같은 개선 사항을 추가로 적용했습니다. 각 지식 포인트 질문에 대해 조항 자체에 지식 포인트가 포함되어 있지 않은 경우(지식 포인트가 모든 보험 조항에 대해 균일하게 정의되므로 특정 조항의 경우 지식 포인트가 포함되지 않음) 모든 지식 포인트가 포함될 수 있음), 각 조각은 10% 확률로 문제의 부정적인 샘플로 사용됩니다. 절 자체에 지식 포인트가 포함되어 있으면 두 가지 상황이 있습니다. 목표 지식 포인트가 있으면 긍정적인 샘플로, 그렇지 않으면 50% 확률로 부정적인 샘플로 선택됩니다. 이러한 방식으로 새로운 모델을 얻기 위해 새로운 훈련 세트가 구성됩니다. 아이디어는 절에 지식 포인트가 포함된 경우 지식 포인트와 관련된 부정 샘플 수를 늘려 모델이 유사한 조각의 간섭을 더 잘 처리하고 답변의 정확도를 향상시킬 수 있도록 하는 것입니다. 조항 자체에 지식 포인트가 포함되어 있지 않으면 텍스트 조각과 지식 포인트 간의 적합도가 좋지 않으며 소수의 부정적인 샘플을 선택하는 것으로 충분합니다. 테스트 결과, 새로운 모델은 기존 모델에 비해 크게 개선되었으며, 새로운 예측 방법에 더 적합하고, 보다 일반적인 보험 조항 지식 추출 모델로 사용될 수 있습니다.

실험

    我们的数据集由某保险公司的保险条款组成,每个条款具有人工标注的知识点,如犹豫期,诉讼期,保险金额等。在实验过程中,训练集,测试集分别由 251 个条款和 98 个条款组成。经过统计,这些条款中所有可能的知识点问题数量为309 条,平均每个条款有 45 条知识点需要提取。测试过程中,我们将条款文本分段,尝试从所有段中提取知识点𝑘𝑖,并根据模型输出的概率,选择概率最高的文本作为该知识点的答案。如果最终得到的输出为空字符串,则代表条款不存在该知识点。由于每个条款提取的知识点只占 309条中的小部分,大多数知识点的输出应当是空的,因此我们在评估时忽略这部分空知识点,关注两个指标:模型输出的知识点正确率𝑃,即精准率(precision),以及应提取知识点中确实被正确提取的比率𝑅,即召回率(recall)。假设知识点𝑘𝑖标注为𝑦𝑖,模型的输出为𝑦̃𝑖,则𝑃和𝑅可定义为:

우리는 Google의 오픈 소스 BERT 중국어 사전 학습 모델 BERT_chinese_L-12_H-768_A-12를 사용하고 이를 기반으로 후속 테스트를 수행합니다. 매개변수 설정 측면에서 초기 학습률은 3E-5, 배치 크기는 4, 훈련 epoch 수는 4이고 다른 매개변수는 모델의 기본 구성을 채택합니다. 이 기사의 실험은 테스트의 두 부분으로 구성됩니다. 첫 번째 부분은 벤치마크 모델의 테스트입니다. 먼저 텍스트 구문 분석 프로그램을 사용하여 보험 조항의 구조를 구문 분석하고 해당 지식이 있는 컨텍스트를 추출합니다. 포인트를 찾은 다음 이를 BERT용 훈련 세트로 결합합니다. 모델이 미세 조정됩니다. 두 번째 부분은 새 모델을 테스트하는 것입니다. 훈련 프로세스는 벤치마크 모델의 훈련 세트를 기반으로 새 샘플을 추가하는 것입니다. 해당 보험 조항은 단어 수에 따라 단락으로 구분됩니다. 텍스트의 각 단락은 약 300 단어입니다. 각 지식 포인트 문제에 대해 새로운 모델을 훈련하기 위해 훈련 세트가 구성됩니다. 테스트 결과는 다음 표와 같이 테스트 세트의 98개 보험 조항 통계의 평균입니다.

사진 이름

    可以看出,以前文所述的方法添加有限的负样本后训练的模型明显优于基准模型,其中𝑃提高了约 40%,𝑅提高了约 20%。𝑃的提升相当显著。基准模型的训练集中,仅通过文本解析程序精确定位知识点的上下文信息,导致模型只具备从正确的上下文中抽取对应的知识点的能力,而不具备辨别无效上下文的能力,因此基准模型存在很大比例的无效输出。而按比例添加负样本后,新模型的无效输出大幅度减少,输出的知识点中 60%以上是有效且正确的输出。而由于添加了相对于基准模型粒度更粗的上下文信息(文本段)组成的正样本,使得模型能够更好地从无规则截取的文本段中抽取出目标知识点,因此召回率𝑅也有大幅提升。最终𝐹1值提升了约30%。

실험 결과는 훈련 세트를 최적화한 후 훈련된 새로운 모델이 텍스트 분할 예측 방법에서 원래 기준 모델보다 우수하고 보다 일반적인 보험 조항 지식 추출 작업에 더 사용될 수 있음을 보여줍니다. 동시에 현재 모델에는 여전히 개선의 여지가 많이 있습니다.

  • 현실적인 조건(데이터 주석 양)의 한계로 인해 우리의 훈련에는 251개의 용어만 포함되었으며 모든 훈련 데이터는 동일한 보험 회사에서 나왔습니다. 보험사에서 설정한 더 많은 용어 데이터를 포함하도록 데이터 세트의 크기를 확장한 후 모델의 효과를 더욱 최적화해야 합니다.
  • 현재 우리의 데이터 주석에는 조항 지식 포인트의 내용만 포함되어 있으며, 학습 데이터의 해당 컨텍스트는 자체 작성된 텍스트 분석 프로그램을 통해 얻은 것입니다. 이렇게 얻은 컨텍스트에는 소수의 오류가 포함되어 있습니다. 수동 주석 전략을 최적화하고 지식 포인트와 해당 컨텍스트에 동시에 주석을 달 수 있으므로 얻은 데이터가 더 정확해질 수 있습니다.