HyperAI초신경

오타 수정 | 1 중국어 텍스트 철자 교정 모델 배포

2년 전
정보
Jiaxin Sun
特色图像

한눈에 보는 내용: 중국어 텍스트 오류 중 하나는 철자 오류입니다. 본 문서는 BART 사전 학습 방법을 사용하여 중국어 텍스트 오류 수정을 구현하기 위한 모델 배포 튜토리얼입니다.

키워드: BART, 중국어 철자 교정, NLP
본 기사는 WeChat 공식 계정 HyperAI에 처음 게시되었습니다.

중국어 텍스트 오류의 3가지 주요 장애물: 철자, 문법 및 의미론

중국어 텍스트 오류 수정은 자연어 처리의 현재 분야에서 중요한 분야로, 중국어 텍스트 오류를 감지하고 수정하는 것을 목표로 합니다.일반적인 중국어 텍스트 오류로는 철자 오류, 문법 오류, 의미 오류 등이 있습니다.

1. 철자 오류:

입력 방식, 음성-문자 소프트웨어 등으로 인해 단어나 구문이 잘못 사용되는 것을 말하며, 주로 "天氣晴郎 – 天氣晴", "時侯 – 当時"와 같이 동음이의어, 유사 문자, 혼음 등을 잘못 사용하는 것으로 나타납니다.
중국어 철자 교정 예시 이 작업에는 일반적으로 단어를 추가하거나 삭제하는 것이 포함되지 않고, 일반적으로 길이가 같은 출력 문장을 바꾸는 것만 포함됩니다.

2. 구문 오류:

"겸손은 사람을 발전시킨다 - 겸손은 사람을 발전시킨다"와 같이 입력 방법, 부주의한 필기, 무질서한 OCR 인식 등으로 인해 단어가 누락되거나, 중복되거나, 무질서하거나, 부적절하게 결합되는 것을 말합니다.

3. 의미 오류:

특정 지식에 대한 이해 부족이나 언어 구성 능력 부족으로 인해 발생하는 지식 및 논리적 오류, 예: "1년은 3분기로 이루어져 있으니 1년은 4분기로 이루어져 있다".

이 기사에서는 가장 흔한 철자 오류를 예로 들어 보겠습니다.BART 모델을 사용하여 중국어 텍스트 오류 수정 모델을 배포하는 방법을 보여줍니다.

튜토리얼을 직접 실행하려면 다음을 방문하세요.

https://openbayes.com/console/open-tutorials/containers/YvkMjHySdef

BART: 다양한 장점을 활용하는 SOTA 모델

BART는 양방향 및 자기 회귀 변압기를 의미합니다.이는 seq2seq 모델의 사전 학습을 위해 설계된 잡음 제거 자동 인코더입니다. 2019년 Meta(구 Facebook)에서 제안한 자연어 생성, 번역 및 이해 작업에 적합합니다.

자세한 내용은 다음에서 확인하세요.
https://arxiv.org/pdf/1910.13461.pdf

BART 모델은 BERT와 GPT의 장점을 활용하고 표준 Transformer 구조를 기반으로 사용합니다.

  • 디코더 모듈 참조 GPT: ReLU 활성화 함수를 GeLU 활성화 함수로 교체합니다.
  • 인코더 모듈은 BERT와 다릅니다. 피드포워드 신경망 모듈은 폐기되었고 모델 매개변수는 단순화되었습니다.
  • 코덱 연결 부분은 Transformer를 참조합니다. 디코더의 각 계층은 인코더의 마지막 계층의 출력 정보에 대해 교차 주의 계산을 수행해야 합니다(즉, 인코더-디코더 주의 메커니즘)
BART와 BERT의 비교 다이어그램

이 튜토리얼에서는모델 배포를 위해 nlp_bart_text-error-correction_chinese 모델을 사용합니다.

자세한 내용은 다음을 방문하세요.

https://modelscope.cn/models/damo/nlp_bart_text-error-correction_chinese/summary

튜토리얼 세부 정보: 온라인 텍스트 수정 데모 만들기

환경 준비

Jupyter 터미널에서 다음 명령을 실행하여 종속성을 설치합니다.

pip install "modelscope[nlp]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
pip install fairseq

모델 다운로드

터미널에서 다음 명령을 실행하여 모델을 다운로드하세요.

git clone http://www.modelscope.cn/damo/nlp_bart_text-error-correction_chinese.git

모델을 다운로드하는 데 시간이 오래 걸립니다. 해당 모델은 이 컨테이너에 다운로드되어 바로 사용할 수 있습니다. nlp_bart_text-error-correction_chinese 예배 규칙서.

빠른 사용

여기에 이미지 설명을 삽입하세요

모델 배포

서비스 제공 서비스 글쓰기

쓰다 predictor.py 문서:

  • 종속 라이브러리 가져오기: 비즈니스에서 사용하는 라이브러리 외에도 openbayes-serving에도 의존해야 합니다.
import openbayes_serving as serv
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
  • 예측 클래스: 다른 클래스를 상속할 필요가 없으며 최소한 제공해야 합니다. 초기화 그리고 인터페이스를 예측합니다.
  • 존재하다 __init__ 부하 모델에서 모델 경로를 지정합니다.
  • 존재하다 predict 추론을 수행하고 결과를 반환합니다.
class Predictor:
    def __init__(self):
        self.model_path = './nlp_bart_text-error-correction_chinese'
        self.corrector = pipeline(Tasks.text_error_correction, model=self.model_path)


def predict(self, json):
    text = json["input"].lower()
    result = self.corrector(text)
    return result
  • 실행: 서비스 시작
if __name__ == '__main__':
    serv.run(Predictor)

시험

터미널에서 실행 python predictor.py서비스를 성공적으로 시작한 후 테스트를 위해 이 Notebook에서 다음 코드를 실행합니다.

참고: 컨테이너에서 테스트할 때 플라스크 버전이 2.1보다 높으면 중복 등록 오류가 발생할 수 있습니다. 버전을 낮추면 실행할 수 있습니다.

import requests
text = {"input": "这洋的话,下一年的福气来到自己身上。"}
result = requests.post('http://localhost:8080', json=text)
result.json()
{'output': '这样的话,下一年的福气就会来到自己身上。'}

로컬로 주소에 접근하는 것 외에도 http://localhost:8080,터미널에서 입력하는 외부 접근 가능한 URL을 통해 테스트할 수도 있습니다.

여기에 이미지 설명을 삽입하세요
참고: OpenBayes 컴퓨팅 파워 컨테이너마다 외부에서 접근 가능한 URL이 다릅니다. 이 튜토리얼의 링크를 직접 사용하는 것은 유효하지 않습니다. 터미널에서 묻는 링크로 바꿔야 합니다..

result = requests.post('https://openbayes.com/jobs-auxiliary/open-tutorials/t23g93jjm95d', json=text)
result.json()

배치하다

테스트가 성공하면 컴퓨팅 컨테이너를 중지하고 데이터 동기화가 완료될 때까지 기다립니다.

"컴퓨팅 컨테이너 - 모델 배포"에서 "새 배포 만들기"를 클릭하고 개발에 사용된 것과 동일한 이미지를 선택하고 이 컴퓨팅 컨테이너를 바인딩한 다음 "배포"를 클릭합니다.온라인 테스트를 실시할 수 있습니다.

배포가 완료되면 온라인 테스트를 위해 JSON 데이터를 입력하세요.

모델 배포에 대한 자세한 내용은 다음을 참조하세요.

https://openbayes.com/docs/serving/

이 시점에서 온라인 테스트를 지원하는 중국어 텍스트 오류 수정 모델이 훈련되어 배포되었습니다!

전체 튜토리얼을 보고 실행하려면 다음 링크를 방문하세요.

https://openbayes.com/console/open-tutorials/containers/YvkMjHySdef

와서 중국어 오류 수정 모델을 시험해 보세요!

-- 위에--

참조 링크:

[1] https://www.51cto.com/article/715865.html

[2] https://arxiv.org/pdf/1910.1346