PyTorch의 NLP 기반 챗봇. 보너스 플라스크 및 JavaScript 배포

소스 노드 : 1123050
빅토리아 마슬로바

고객 만족도를 높일 수 있는 다양한 방법 중 챗봇은 고객 기반을 돕는 강력한 솔루션. 챗봇은 저렴하고, 비즈니스 확장에 도움이 되며, 완전히 사용자 지정할 수 있으며, 고객이 올바른 제품/서비스를 찾도록 돕고, 비즈니스에 대한 신뢰를 구축하는 데 도움이 됩니다. 이를 증명하기 위해 다음 내용을 살펴보겠습니다.

  1. 머신러닝 챗봇이란?
  2. 다양한 비즈니스 영역에서 챗봇이 중요한 이유는 무엇입니까?
  3. PyTorch를 사용하여 자신만의 NLP 기반 챗봇을 구축하십시오.
  4. Javascript 및 Flask에 챗봇을 배포합니다.

챗봇(대화형 AI) 문자 메시지, 음성 채팅 또는 둘 다를 통해 인간의 대화를 시뮬레이션하는 자동화된 프로그램입니다. 많은 입력을 기반으로 하는 방법을 학습하고 자연 언어 처리 (NLP).

의미론을 위해 이 기사에서는 챗봇과 대화 보조자를 같은 의미로 바꿔서 사용할 것입니다.

Business Insider는 전 세계 챗봇 시장이 2.6년 2019억 달러에서 9.4년 2024억 달러로 성장할 것으로 예상하고 연평균 29.7%의 성장률을 예상하고 있다고 보고했습니다. 동일한 보고서는 또한 고객에게 원활한 옴니채널 경험을 제공하려는 수요 증가로 인해 소매 및 전자 상거래 산업에서 챗봇 구현의 가장 높은 성장이 있을 것이라고 제안했습니다.

그것만으로도 당신을 설득하기에 충분할 것입니다. 챗봇은 고객 관계를 처리하는 방법입니다. 앞으로 나아가지만 엔터프라이즈 도구를 위한 내부 도구로 계속 성장할 것이며 아직 채택하지 않은 경우 거의 모든 산업에서 이 기술을 채택할 것입니다.

다음은 점점 더 많은 기업이 챗봇 전략을 채택하는 주요 이유와 고객 확보 및 유지를 위한 윈-윈 공식입니다.

  • 고객 대기 시간 감소 - 소비자의 21 % 비즈니스에 연락하는 가장 쉬운 방법으로 챗봇을 참조하십시오.. 봇은 고객이 대기열에서 기다리지 않고 원하는 즉각적인 응답을 받을 수 있도록 하는 보다 스마트한 방법입니다.
  • 24x7 가용성 — 봇은 항상 고객이 묻는 일반적인 질문에 대한 즉각적인 답변으로 고객의 참여를 유도할 수 있습니다. 챗봇 사용의 가장 큰 잠재적 이점은 24시간 고객 서비스입니다.
  • 더 나은 고객 참여 — 대화형 봇은 사전 예방적 보존을 시작하고 고객 경험을 향상시키는 개인화된 권장 사항을 제공하여 XNUMX시간 고객의 참여를 유도할 수 있습니다.
  • 고객 서비스 비용 절감 — 챗봇은 기업이 그 이상을 절약할 수 있도록 도와줍니다. $ 8 억 연간. 봇은 쉽게 확장할 수 있으므로 더 많은 리소스, 인프라 비용 등을 고용하는 고객 지원 비용을 절약할 수 있습니다.
  • 리드 검증 및 판매 자동화 — 챗봇을 사용하여 판매 유입경로를 자동화하여 리드를 사전 검증하고 추가 육성을 위해 적합한 팀으로 안내할 수 있습니다. 고객을 즉시 참여시킬 수 있으면 리드 수와 전환율이 증가합니다.

1. 대화 형 AI가 고객 서비스를 자동화하는 방법

2. 자동화 된 채팅과 실시간 채팅 : 고객 서비스의 미래는 어떤 모습일까요?

3. COVID-19 유행성 질병에서 의료 보조원으로서의 챗봇

4. 챗봇 대. 지능형 가상 도우미 — 차이점은 무엇이며 왜 관리해야합니까?

개발자, 데이터 과학자 및 기계 학습 엔지니어가 다음과 같은 챗봇을 만들고 유지 관리할 수 있는 플랫폼이 많이 있습니다. 대화 흐름아마존 렉스. 그러나 이 기사의 목표는 자연어 처리를 위한 Feed-Forward 네트워크의 개념을 이해하는 데 도움이 되도록 처음부터 챗봇을 만드는 방법을 보여 주는 것입니다.

시작하자!

내에서 완전한 코드를 쉽게 찾을 수 있습니다. GitHub 레포.

다음은 모델을 구축하기 위해 따르고 싶은 짧은 계획입니다.

  1. 이론 + NLP 개념(형태소 분석, 토큰화, 단어 모음)
  2. 훈련 데이터 생성
  3. PyTorch 모델 및 교육
  4. 모델 저장/로드 및 채팅 구현

운영 시간, 예약 옵션 등에 대한 간단한 질문을 처리하기 위해 Coffee and Tea Supplier가 필요로 하는 챗봇을 구축할 것입니다.

챗봇 프레임워크는 대화 의도가 정의된 구조가 필요합니다. 이를 수행하는 한 가지 깔끔한 방법은 이와 같은 JSON 파일을 사용하는 것입니다.

챗봇 인텐트

각 대화 의도에는 다음이 포함됩니다.

  • a 태그 (고유한 이름)
  • 패턴 (신경망 텍스트 분류기의 문장 패턴)
  • 응답 (하나는 응답으로 사용됩니다)

NLP 파이프라인은 다음과 같습니다.

  • 토큰 화
  • 하부 + 줄기
  • 구두점 문자 제외
  • 단어 가방

우리는 문서 (문장) 목록을 만들고 각 문장은 목록입니다. 파생어 각 문서는 의도(클래스)와 연결됩니다. 전체 코드는 이 파일.

그런 다음 훈련 데이터와 하이퍼파라미터를 설정해야 합니다.

필요한 모든 전처리 단계 후에 우리는 모델.py FeedForward 신경망을 정의하는 파일입니다.

피드포워드 신경망은 인공 신경망 단위 사이의 연결이 형성되지 않는 곳 주기. Feedforward 신경망은 인공 신경망의 첫 번째 유형으로 발명된 인공 신경망보다 간단합니다. 순환 신경망. 그들 불리는 피드 포워드 정보는 네트워크에서 앞으로만 이동하기 때문에(루프 없음) 먼저 입력 노드를 통과한 다음 숨겨진 노드 (있는 경우), 마지막으로 출력 노드를 통해.

조심하세요! 결국 우리는 활성화 함수가 필요하지 않습니다. 나중에 교차 엔트로피 손실을 사용하고 자동으로 활성화 함수를 적용하기 때문입니다.

왜 ReLU를 사용합니까?

그들은 간단하고 계산이 빠르며 시그모이드 함수(로지스틱, tanh, erf 등)와 같이 그라디언트가 사라지는 문제를 겪지 않습니다. 구현의 단순성으로 인해 GPU에서 사용하기에 적합하며, 이는 매트릭스 작업(3D 그래픽에도 필요함)에 최적화되어 있기 때문에 오늘날 매우 일반적입니다.

CrossEntropy Loss와 Adam을 정의한 후 우리는 역방향 및 최적화 단계를 구현합니다.

이 모든 줄은 무엇을 의미합니까?

우리는 PyTorch에서 훈련 단계 동안 모든 미니 배치에 대해 역전파(즉, 가중치 및 편향 업데이트)를 시작하기 전에 기울기를 명시적으로 XNUMX으로 설정해야 하기 때문에 옵티마이저에 zero_grad()를 설정했습니다. 이어지는 역방향 패스.

.backward()를 여러 번 호출하면 각 매개변수에 대한 기울기가 누적됩니다. 이것이 각 .step() 호출 후에 optimizer.zero_grad()를 호출해야 하는 이유입니다. 첫 번째 .backward 호출에 이어 두 번째 호출은 다른 전달 전달을 수행한 후에만 가능합니다.

optimizer.step은 현재 그래디언트(매개변수의 .grad 속성에 저장됨)와 업데이트 규칙을 기반으로 매개변수 업데이트를 수행합니다.

마지막으로, train.py 스크립트를 실행한 후 우리는 정말 멋진 결과를 얻었습니다!

마지막 부분에서는 모델을 저장해야 합니다. 여기 내가 쉽게 한 방법이 있습니다.

나는 더 나아가 ChatBot의 이 놀라운 시각화를 만들기로 결정했습니다.

내 모든 HTML, CSS 및 JavaScript 스크립트는 내 GitHub 리포지토리에서 찾을 수 있습니다.

즐기십시오!

이제 챗봇이 무엇이며 모든 종류의 비즈니스에서 봇 기술이 얼마나 중요한지 알고 있습니다. 봇이 기업이 고객과 상호 작용하는 방식을 크게 변화시켰다는 데 동의할 것입니다.

챗봇 기술은 앞으로 고객 참여 전략의 중요한 부분이 될 것입니다. 가까운 장래에 봇은 전략적 활동을 처리하는 데 있어 인간의 능력과 인간 에이전트를 더욱 혁신적으로 향상시키기 위해 발전할 것입니다.

Source: https://chatbotslife.com/nlp-based-chatbot-in-pytorch-bonus-flask-and-javascript-deployment-474c4e59ceff?source=rss—-a49517e4c30b—4

타임 스탬프 :

더보기 챗봇 생활