Helpex - Trao đổi & giúp đỡ Đăng nhập

Xây dựng Chatbot: Phân tích và Hạn chế của Nền tảng Hiện đại

Ngành công nghiệp chatbot vẫn còn trong những ngày đầu, nhưng phát triển rất nhanh. Những gì lúc đầu có thể trông giống như một mốt nhất thời hoặc một chiến lược tiếp thị, đang trở thành một nhu cầu thực sự. Bạn có muốn biết những bộ phim đang là xu hướng trong khu vực của bạn, các rạp chiếu gần đó hoặc có thể xem một đoạn phim quảng cáo không? Bạn có thể sử dụng bot Fandango . Bạn có phải là một người hâm mộ NBA đang cố gắng để có được các bản cập nhật và cập nhật trò chơi? Có lẽ bạn có thể thử bot của NBA . Còn thực phẩm hay quần áo thì sao? Bạn đã thấy có bao nhiêu thương hiệu hiện có chatbot cho phép bạn dễ dàng đặt món ăn hoặc khám phá quần áo để mua sắm trực tuyến chưa?

Động lực tiếp thị không thể bị từ chối, nhưng nếu chatbot đáp ứng được kỳ vọng cao của người dùng, chúng sẽ trở thành công cụ không thể thiếu cho nhiều trường hợp sử dụng. Tầm quan trọng mà những gã khổng lồ công nghệ như Google, Facebook, Microsoft, IBM và Amazon đang dành cho chatbot là một chỉ số mạnh mẽ cho thấy công nghệ này sẽ đóng vai trò quan trọng trong tương lai.

Để tạo một chatbot, hiện tại có một số lượng lớn các nền tảngcông cụ đáng kinh ngạc , với các mức độ phức tạp khác nhau, sức mạnh biểu cảm và khả năng tích hợp. Giả sử bạn muốn phát triển một chatbot. Câu hỏi đáng giá triệu đô la là: trong số tất cả các nền tảng hiện có, cái nào phù hợp với nhu cầu của tôi nhất?

Năm ngoái tại Tryolabs, chúng tôi đã làm việc rất nhiều trên chatbot và chúng tôi đã phải đối mặt với câu hỏi này mỗi khi một dự án mới bắt đầu. Trong bài đăng này, chúng tôi sẽ cung cấp cho bạn tổng quan về một số nền tảng mà chúng tôi đã nghiên cứu và thử nghiệm. Bạn sẽ thấy rằng, tùy thuộc vào trường hợp sử dụng được chatbot xử lý, một số nền tảng phù hợp hơn các nền tảng khác. Và vì tất cả những thứ lấp lánh không phải là vàng, chúng ta cũng sẽ thấy rằng vẫn còn chỗ để cải thiện, và đôi khi các thành phần xử lý ngôn ngữ tự nhiên (NLP) và máy học (ML) tùy chỉnh là cần thiết để đạt được kết quả mong muốn.

Kiến trúc Chatbot chung

Điều đầu tiên cần hiểu là làm thế nào một chatbot hoạt động nội bộ. Về cơ bản, với một đầu vào của người dùng, một chatbot trả về một phản hồi. Nguyên tắc là đơn giản, nhưng trong thực tế mọi thứ không dễ dàng như vậy.

Hiểu những gì người dùng nói

Giả sử rằng bạn đang giao dịch với một chatbot du lịch và bạn hỏi như sau:

Tôi muốn bay đến Venice, Ý từ Paris, Pháp, vào ngày 31 tháng 1

Đầu tiên, chatbot cần hiểu đầu vào . Có hai kỹ thuật chính để đạt được điều này: khớp mẫuphân loại ý định .

Một cách tiếp cận khớp mẫu cần một danh sách các mẫu đầu vào có thể. Đầu vào ở trên có thể khớp với một mẫu như:

I want to fly to <city> from <city> on <date></date></city></city>


Điểm hay của phương pháp này là các mẫu có thể được đọc bởi con người, do đó, giai đoạn mô hình hóa đầu vào có thể đơn giản bằng cách nào đó. Vấn đề là các mẫu được xây dựng thủ công: nó không phải là một nhiệm vụ tầm thường và nó không mở rộng trong một số trường hợp sử dụng thực tế.

Một cách tiếp cận phân loại ý định dựa trên các kỹ thuật máy học. Bạn cần một tập hợp các ví dụ để huấn luyện một bộ phân loại sẽ chọn, đưa ra đầu vào của người dùng, trong số tất cả các ý định có thể (ví dụ: mua vé, kiểm tra tình trạng chuyến bay, nhận thông tin cụ thể, v.v.).

Trong mọi trường hợp, ví dụ ở trên, các khái niệm về thành phốngày là rất quan trọng để hiểu đầu vào và trả về một câu trả lời thích hợp. Chatbot có thể sẽ thực hiện tìm kiếm trong cơ sở dữ liệu (hoặc truy vấn trực tuyến) để tìm kiếm vé từ Venice đến Paris vào ngày nhất định. Do đó, chatbot cần thực hiện trích xuất thông tin trước đó trên đầu vào để trích xuất các thực thể quan trọng: địa điểm, hãng hàng không, sân bay, ngày, v.v.

Phân loại thông tin đầu vào và trích xuất từ ​​đó là hai khái niệm chính mà bạn phải ghi nhớ.

Trả lời người dùng

Khi chatbot hiểu những gì người dùng nói, nó có thể chọn hoặc tạo phản hồi, dựa trên đầu vào hiện tại và bối cảnh của cuộc trò chuyện.

Phản hồi tĩnh

Cách đơn giản nhất là có một phản hồi tĩnh, cuối cùng là một danh sách các biến thể, cho mỗi đầu vào của người dùng. Các phản hồi tĩnh này có thể là các mẫu, chẳng hạn như The flight time is hours, nơi một biến được tính toán nhanh chóng bởi chatbot.

Phản hồi năng động

Một cách tiếp cận khác sẽ là sử dụng các tài nguyên, như cơ sở tri thức, để có được danh sách các phản hồi tiềm năng, sau đó chấm điểm chúng để chọn phản hồi tốt hơn. Điều này đặc biệt thích hợp nếu bạn chatbot hoạt động chủ yếu như một hệ thống trả lời câu hỏi.

Tạo phản hồi

Nếu bạn có một khối lượng lớn các ví dụ về các cuộc hội thoại, bạn có thể sử dụng một kỹ thuật học sâu để đào tạo một mô hình tổng quát, với một đầu vào, sẽ tạo ra câu trả lời. Bạn sẽ cần hàng triệu ví dụ để đạt được chất lượng tốt và đôi khi kết quả sẽ bất ngờ, nhưng thật thú vị và thú vị khi thử nghiệm phương pháp tiếp cận và xem điều gì sẽ xảy ra. Đây là một chủ đề nghiên cứu đang diễn ra, cực kỳ hứa hẹn và thú vị.

Đừng quên bối cảnh của cuộc hội thoại

Đầu vào hiện tại là không đủ để đưa ra một câu trả lời chính xác cho người dùng. Để mô hình hóa và thực hiện logic của chatbot, khái niệm về bối cảnh là rất quan trọng. Ví dụ: nếu người dùng nhập đầu vào sau:

Tôi có thể mang theo bao nhiêu túi?

Chatbot chỉ có thể trả lời câu hỏi nếu nó biết chi tiết về vé. Thông thường, thông tin này trước đây được lưu trữ trong bối cảnh của cuộc trò chuyện. Tất nhiên, mỗi chatbot phải mô hình hóa khái niệm riêng về bối cảnh và quyết định thông tin quan trọng cần nhớ.

Nền tảng hiện có

Trước khi bạn có thể chọn một nền tảng, bạn phải biết loại chatbot nào bạn đang cố gắng xây dựng. Đây có phải là một chatbot hướng đến mục tiêu, đàm thoại hoặc định hướng mục tiêu với khả năng đàm thoại mạnh mẽ chatbot?

Một mục tiêu theo định hướng hoặc giao dịch chatbot là loại thường gặp nhất của chatbot cho doanh nghiệp. Nó giúp người dùng đạt được các nhiệm vụ như mua vé, đặt thức ăn hoặc nhận thông tin cụ thể.

Một chatbot trò chuyện được tập trung vào việc có một cuộc trò chuyện với người dùng. Nó không cần phải hiểu sâu sắc những gì người dùng nói và không phải nhớ tất cả bối cảnh của cuộc trò chuyện, nó chỉ cần mô phỏng một cuộc trò chuyện. Chatbots đàm thoại hữu ích cho việc gì? Chà, giải trí có thể là một lý do, nhưng bạn có thể, ví dụ, tạo một chatbot thay thế cho Câu hỏi thường gặp cổ điển và cung cấp trải nghiệm năng động hơn cho người dùng.

Khi đã làm rõ điều này, chúng ta có thể phân biệt ba gia đình trong số các nền tảng hiện có:

  • Không có nền tảng lập trình.
  • Nền tảng định hướng hội thoại.
  • Nền tảng được hỗ trợ bởi các đại gia công nghệ.

Đây không phải là một phân loại chính thức mà là một cách để nhóm hoặc phân loại các nền tảng.

Không có nền tảng lập trình

Họ là những nền tảng định hướng người dùng phi kỹ thuật. Thông thường dễ dàng viết mã chatbot mà không cần có kỹ năng lập trình và không cần học máy hoặc chuyên môn xử lý ngôn ngữ tự nhiên. Ý tưởng chính là người dùng không phải lo lắng về các chi tiết kỹ thuật.

Có rất nhiều nền tảng không có lập trình và không thể liệt kê tất cả chúng ở đây. Tại Tryolabs, chúng tôi đã thử nghiệm một số trong số họ để biết được ưu và nhược điểm của họ: Chatfuel , ManyChat , Octane Ai , MassivelyMotion.ai .

Điều đầu tiên phải nói là tất cả chúng đều hướng đến nhiệm vụ, ví dụ phổ biến nhất được trình bày là đặt hàng một chiếc bánh pizza. Chúng tôi thấy rằng, ngay cả khi thoạt nhìn chúng có vẻ rất giống nhau, có những khác biệt quan trọng về sự trưởng thành, khả năng sử dụng GUI và khả năng xử lý ngôn ngữ tự nhiên.

Ưu

  • Bạn có thể phát triển một chatbot rất nhanh.
  • Họ có một đường cong học tập thấp.
  • Chúng rất lý tưởng cho các bot đơn giản.

Nhược điểm

  • Có rất nhiều nền tảng, với mức độ trưởng thành và ổn định khác nhau.
  • Đôi khi GUI không quá dễ hiểu và khi logic chatbot trở nên phức tạp hơn, nó trở nên khó xử lý.
  • Họ có ít hoặc không có khả năng xử lý ngôn ngữ tự nhiên. Ví dụ, một số nền tảng không thể thực hiện khai thác thông tin. Do đó, được đưa ra một cụm từ như là tôi ở Boston, họ không thể rút ra được thực tế là thành phố Boston (thực thể địa điểm) xảy ra.
  • Chúng dường như không thích hợp cho các bot phức tạp.

Phần kết luận

Theo quan điểm của chúng tôi, không có nền tảng lập trình nào thiếu sức mạnh cho các dự án thương mại quy mô lớn. Các cuộc hội thoại không thể rất phức tạp và thường không thể tích hợp các tài nguyên bên ngoài, chẳng hạn như các thành phần cụ thể của NLP và ML.

Tuy nhiên, chúng thực sự là nền tảng tốt cho các dự án quy mô nhỏ, điển hình là nhanh chóng thêm chức năng chatbot vào trang Facebook chẳng hạn. Vì vậy, bạn có thể muốn cho họ dùng thử và xem những gì họ có thể làm cho bạn.

Nền tảng đàm thoại

Mục tiêu chính ở đây là cho phép người dùng có một cuộc trò chuyện với bot, mà không xem xét một kịch bản hướng đến nhiệm vụ. Các nền tảng này thường sử dụng các ngôn ngữ đặc tả như AIML (Ngôn ngữ đánh dấu trí tuệ nhân tạo) để mô hình hóa các tương tác với người dùng. Ví dụ dưới đây cho thấy cách mã hóa các tương tác với AIML.

<aiml version="1.0.1" encoding="UTF-8">
   <category>
      <pattern>MY DOGS NAME IS *</pattern>
      <template>
         That is interesting that you have a dog named <set name="dog"><star></star></set>
      </template>
   </category>
   <category>
      <pattern>WHAT IS MY DOGS NAME</pattern>
      <template>
         Your dog's name is <get name="dog"></get>.
      </template>
   </category>
</aiml>


Khi người dùng nói tên con chó của tôi là Max, thì chatbot nhận ra mô hình đó và trích xuất tên của con chó. Cần lưu ý rằng việc trích xuất bằng cách khớp văn bản này rất đơn giản nếu chúng ta so sánh nó với sức mạnh của việc trích xuất thông tin NLP. Chatbot sẽ trả lời với J. Thật thú vị khi bạn có một chú chó tên Max Max. Sau đó, nếu người dùng hỏi tên con chó của anh ta, chatbot sẽ có thể trả lời tên của con chó của bạn là Max.

Ví dụ nổi tiếng nhất của loại nền tảng này là Pandorabots .

Ưu

  • AIML là một tiêu chuẩn.
  • Nó rất linh hoạt để tạo ra các cuộc hội thoại.

Nhược điểm

  • Có thể khó mở rộng quy mô nếu các mẫu được xây dựng thủ công.
  • Khả năng khai thác thông tin còn hạn chế.
  • Chúng không thực sự thích hợp cho các bot định hướng nhiệm vụ.

Phần kết luận

Bạn sẽ không sử dụng các nền tảng này để xây dựng một chatbot để đặt mua thực phẩm hoặc mua vé, nhưng bạn có thể thấy rằng chúng rất thú vị để nhanh chóng mô hình một chatbot giải trí hoặc, ví dụ, một chatbot thay thế FAQ và mang lại trải nghiệm tốt hơn cho người dùng.

Nền tảng được hỗ trợ bởi Tech Giants

Những nền tảng này được phát triển bởi những người khổng lồ công nghệ và, bằng cách nào đó, chúng đã đại diện cho một tiêu chuẩn hoặc ít nhất là đang trên đường trở thành một:

Họ cố gắng để có một đường cong học tập thấp, đồng thời, một sức mạnh biểu cảm mạnh mẽ.

Vì nhiều lý do, tại Tryolabs, chúng tôi đã tập trung vào Api.ai và Wit.ai. Ấn tượng của chúng tôi là LUIS và Watson đề xuất một khung phức tạp hơn một chút (và cuối cùng mạnh hơn) so với những gì chúng tôi cần. Về Amazon Lex, chúng tôi không có quyền truy cập vào Bản xem trước có giới hạn tại thời điểm viết bài này.

Chúng tôi sẽ không so sánh một cách thấu đáo Api.ai và Wit.ai, hoặc đi sâu vào từng nền tảng, mà là cung cấp cho bạn thông tin phản hồi kinh nghiệm của chúng tôi. Khi bạn lập mô hình một chatbot, bạn hiểu ngay rằng một trong những phần khó nhất, nếu không phải là khó nhất trong tất cả, là mô hình hóa dòng hội thoại. Chính điều này đã định nghĩa, về cơ bản, hành vi của chatbot. Chúng ta hãy xem Api.ai và Wit.ai đối phó với khía cạnh quan trọng này như thế nào.

Api.ai

Hành vi Chatbot

Ý địnhbối cảnh là các khái niệm chính để mô hình hóa hành vi của một chatbot với Api.ai. Ý định tạo ra các liên kết giữa những gì người dùng nói và hành động nào nên được thực hiện bởi bot. Các bối cảnh là các giá trị chuỗi, hữu ích để phân biệt các yêu cầu có thể có ý nghĩa khác nhau tùy thuộc vào các yêu cầu trước đó.

Về cơ bản, khi Api.ai nhận được yêu cầu của người dùng, đầu tiên nó được phân loại để xác định xem nó có phù hợp với mục đích đã biết hay không. Api.ai đề xuất một ý định dự phòng mặc định của người Viking, để giải quyết các yêu cầu không phù hợp với bất kỳ mục đích nào của người dùng.

Giao diện Api.ai


Bạn có thể hạn chế kết hợp ý định bằng cách chỉ định danh sách các bối cảnh phải hoạt động. Đồng thời, sự phù hợp của một ý định có thể tạo và xóa các bối cảnh.

Trong ví dụ trên, khi người dùng nói rằng tôi muốn đặt một chiếc bánh pizza lớn, yêu cầu này phù hợp với ý định được đặt tên order, có thể tạo ra một bối cảnh được đặt tên ordering. Khi người dùng đã chỉ ra loại bánh pizza, kích thước, v.v., bạn có thể tạo một bối cảnh có tên pizza_selected(và giữ cho orderingbối cảnh tồn tại). Sau đó, nếu người dùng nói rằng Thời gian giao hàng là gì? Thì bot có thể phù hợp với một mục đích get_order_infochỉ được đặt tên nếu bối cảnh được đặt tên pizza_selectedtồn tại.

Cơ chế này của các ý định và bối cảnh cho phép tạo ra các máy trạng thái mô hình các luồng lớn và phức tạp. Tuy nhiên, bạn không thể mô hình hóa một ý định chỉ có thể được khớp nếu một bối cảnh nhất định không có. Đây là một hạn chế hiện tại của Api.ai và chúng tôi nghĩ rằng có khả năng họ sẽ làm việc về vấn đề này.

Các thực thể

Bạn có thể xác định các thực thể của riêng bạn và sử dụng các thực thể được đề xuất bởi nền tảng. Trong đơn đặt hàng trên một ví dụ về pizza, loạikích cỡ của pizza là các thực thể do người dùng xác định, trong khi địa chỉ và số lượng là các thực thể hệ thống.

Khả năng lấp chỗ trống

Đây là một điểm quan trọng của Api.ai, mang lại sự linh hoạt và sức mạnh đồng thời. Điền vào chỗ trống cho phép bạn chỉ ra, đối với một mục đích nhất định, các lĩnh vực đóng vai trò là gì và chúng có bắt buộc hay không.

Điều này thật tuyệt vì bạn không phải đối phó với thông tin bị thiếu vì nó được thực hiện ở phía Api.ai. Trong ví dụ trên, Api.ai sẽ yêu cầu từng trường bắt buộc cho đến khi chúng được người dùng điền vào: loại và kích cỡ pizza, địa chỉ và thời gian giao hàng. Như bạn có thể thấy, lĩnh vực số Số có thể là một phần của ý định nhưng nó không bắt buộc.

Mã hóa kích thước máy chủ

Tất nhiên, để xác định logic đầy đủ của chatbot của bạn, bạn sẽ cần thêm một số mã hóa tùy chỉnh ở phía máy chủ. Api.ai đề xuất một tích hợp webhook thực sự làm cho quá trình rất đơn giản. Về cơ bản, Api.ai chuyển thông tin từ một mục đích phù hợp vào một dịch vụ web và nhận được kết quả từ nó. Một tính năng rất hữu ích là kết quả được gửi tới Api.ai có thể thay đổi bối cảnh và phản hồi chatbot, cả ở cấp độ văn bản và giọng nói, do đó bạn không chỉ có thể thực hiện logic phía máy chủ mà còn có thể sửa đổi, ở một mức độ nào đó, logic bên chatbot. Bạn có thể quyết định ý định nào sẽ gọi webhook và nếu webhook sẽ được gọi trong quá trình xử lý điền vào chỗ trống. Sự kết hợp này là một công cụ mạnh mẽ và linh hoạt để tùy chỉnh hành vi chatbot của bạn.

Ưu

  • Api.ai đề xuất một cách mạnh mẽ để mô hình hóa các luồng lớn và phức tạp bằng cách sử dụng Ý định và bối cảnh.
  • Slot-fill là một tính năng tích hợp. Do đó, một phần tốt của logic có thể được giải quyết bằng chatbot, làm giảm mã hóa phía máy chủ.
  • Tên miền có sẵn, đó là thông số kỹ thuật có thể xử lý một số trường hợp và ứng dụng sử dụng phổ biến (ví dụ như nói chuyện nhỏ, khôn ngoan, lịch trình chuyến bay, nhắc nhở Hồi).
  • Một phần đào tạo đào tạo (trong bản beta) được đề xuất để đào tạo chatbot với các ví dụ.
  • Tích hợp một cú nhấp chuột với một số nền tảng: Facebook Messenger, Slack, Twitter, Telegram,

Nhược điểm

  • Không thể chặn sự phù hợp của một ý định nếu có bối cảnh.
  • Phần đào tạo vẫn đang trong giai đoạn thử nghiệm.

Ái chà

Hành vi Chatbot

Câu chuyện là khái niệm chính để mô hình hóa hành vi của một chatbot với Wit.ai. Mỗi câu chuyện đại diện cho một ví dụ về một cuộc trò chuyện có thể. Cần lưu ý rằng ý định của người Viking không còn là một khái niệm mà là một thực thể người dùng, không bắt buộc. Đây là một sự thay đổi có ảnh hưởng lớn trong Wit.ai, được thúc đẩy bởi thực tế là một chatbot phức tạp cần rất nhiều ý định, theo một cách nào đó, có thể được nhóm lại thành các câu chuyện.

Các nhà phát triển bot về cơ bản dạy cho Wit.ai bằng ví dụ. Ý tưởng phụ là khi người dùng viết các yêu cầu tương tự của Viking, Wit.ai sẽ xử lý yêu cầu, trích xuất các thực thể và áp dụng logic được xác định bởi nhà phát triển.

Giao diện wit.ai


Một câu chuyện có thể được xem như một biểu đồ về ý định của người dùng. Bạn có thể thêm các nhánh được kích hoạt trong các điều kiện như sự tồn tại hoặc không có giá trị biến cụ thể, được trích xuất từ ​​đầu vào của người dùng. Điều này cho phép bạn xác định một luồng hội thoại. Hơn nữa, bạn có một cơ chế đánh dấu , được sử dụng để nhảy giữa các ý định và giữa các câu chuyện.

Để tương tác với phía máy chủ, bạn có chương trình Bot Bot gửi các lệnh, về cơ bản là gọi các hàm. Một điểm rất thú vị là bạn có thể đặt vai trò của các thực thể trong một cụm từ. Chẳng hạn, ở thành phố Tôi muốn bay đến Venice, Ý từ Paris, Pháp, vào ngày 31 tháng 1, bạn có thể nói rằng thành phố đầu tiên là điểm khởi hành và là điểm đến thứ hai.

Các thực thể

Wit.ai cho phép bạn xác định các thực thể của riêng bạn hoặc sử dụng các thực thể được xác định trước.

Mã hóa kích thước máy chủ

Wit.ai đề xuất tích hợp webhook : nó truyền thông tin cho mỗi Bot Bot gửi lệnh vào một dịch vụ web và nhận được kết quả từ nó. Về phía máy chủ, bạn thường sẽ tạo hoặc mở rộng bối cảnh của cuộc trò chuyện. Kết quả được gửi tới Wit.ai có thể thêm, sửa đổi và xóa các biến ngữ cảnh được sử dụng ở phía chatbot.

Ưu

  • Khái niệm về câu chuyện là mạnh mẽ.
  • Wit.ai cho phép kiểm soát luồng hội thoại bằng cách sử dụng các nhánh và cả điều kiện hành động (ví dụ: chỉ hiển thị thông báo này nếu một số biến cụ thể được xác định).
  • Gán vai trò cho các thực thể giúp xử lý phía máy chủ.
  • Một phần Hiểu Hiểu được đề xuất để đào tạo chatbot với các ví dụ.
  • Một hộp thư đến có tên là tồn tại, trong đó các yêu cầu mà chatbot không thể xử lý được liệt kê, vì vậy các nhà phát triển có thể dạy bot.

Nhược điểm

  • Truyện đang trong giai đoạn thử nghiệm.
  • Ngay cả khi các câu chuyện là một khái niệm mạnh mẽ, có những trường hợp khó kiểm soát dòng chảy của cuộc trò chuyện và bot có xu hướng hiểu sai các yêu cầu của người dùng.

Hạn chế hiện tại: Cải thiện với NLP và ML

Như chúng ta đã thấy, để mô hình hóa một chatbot, chúng ta cần cung cấp logic và tài nguyên ngôn ngữ, chủ yếu là các cụm từ đầu vào và đầu ra và các thực thể. Điều này đặc biệt đúng với Api.ai và Wit.ai. Đối với các chatbot nhỏ thì đây không phải là vấn đề, nhưng nếu bạn dự định xử lý một thuật ngữ lớn và rất nhiều biến thể cho các cụm từ, bạn nên cân nhắc sử dụng NLP và ML. Chúng tôi đề cập đến một vài ví dụ mà chúng có thể hữu ích.

Hình thức số ít và số nhiều

Nếu bạn muốn chatbot của mình trích xuất ra pizzas, đây là một thực thể, thì việc định nghĩa pizza pizza là không đủ, bạn cũng cần phải cung cấp cho Pizzas.

Api.ai có một tính năng gọi là bản mở rộng tự động của Google và Wit.ai có các thực thể văn bản miễn phí. Chúng là các cơ chế sẽ cố gắng bắt các mục mới, dựa trên ngữ cảnh từ. Vì vậy, nếu bạn đã huấn luyện chatbot của mình với các cụm từ như là Tôi muốn đặt một chiếc bánh pizza, thì có khả năng là nó sẽ hiểu rằng trong cuốn sách mà tôi muốn đặt 3 chiếc pizza, từ "pizzas" là một thực thể. Nhưng độ chính xác của tính năng này sẽ phụ thuộc vào việc đào tạo và bạn không thể chắc chắn về mức độ tiếng ồn mà nó sẽ mang lại.

Một sự thay thế chắc chắn là cung cấp, cho mỗi khái niệm, dạng số ít và số nhiều. Bạn có thể tạo chúng bằng cách sử dụng các công cụ NLP được gọi là Inflector .

Từ đồng nghĩa, Hypernym và Hyponyms

Giả sử người dùng yêu cầu một loại soda , nhưng chatbot của bạn chỉ biết các thuật ngữ cụ thể như coca-cola hoặc pepsi , đó là các hyponyms của soda. Hypernyms, từ đồng nghĩa và hyponym có thể được xử lý bằng tiếng Anh vì có rất nhiều tài nguyên NLP, được gọi là thesaurus và ontology, nhưng chúng thường dành cho ngôn ngữ chung. Do đó, coca-cola, một thuật ngữ tên miền rất cụ thể, dường như không phải là một phần của loại tài nguyên này.

Bạn có thể cố gắng tìm một từ điển đồng nghĩa hiện có phù hợp với vấn đề của bạn hoặc tự xây dựng nó. Tài nguyên được xây dựng bởi các chuyên gia tên miền là đắt tiền nhưng độ chính xác cao. Với Machine Learning, bạn có thể tạo tài nguyên ngôn ngữ, đặc biệt là với các kỹ thuật Deep Learning, có thể đủ tốt cho trường hợp sử dụng của bạn.

Phân tích tình cảm

Bạn có muốn thêm một số mức độ phản ứng cảm xúc vào chatbot của mình không? Chà, bạn có thể thử thực hiện phân tích tình cảm ở phía máy chủ để điều chỉnh các phản hồi do đó.

Tuy nhiên, nó có thể không phải là một nhiệm vụ dễ dàng nếu bạn đang sử dụng Api.ai hoặc Wit.ai. Nếu bạn muốn một chatbot rất linh hoạt và phong phú, có lẽ bạn nên xem xét việc phát triển chatbot từ đầu.

Kết luận / Suy nghĩ cuối cùng

Rõ ràng, chatbot là một xu hướng đang gia tăng và tại Tryolabs, chúng tôi đang chứng kiến ​​nhu cầu tăng trưởng nhanh chóng đối với họ. Nếu được thực hiện đúng, kênh liên lạc này với người dùng của bạn có thể tăng sự tương tác, mang lại trải nghiệm tốt hơn và cũng tiết kiệm chi phí. Tuy nhiên, làm cho họ đúng là không tầm thường.

Hiện tại, có rất nhiều nền tảng có thể hỗ trợ bạn khi tạo chatbot. Một số nền tảng này đã được xây dựng với các trường hợp sử dụng khác nhau, vì vậy rõ ràng tùy thuộc vào trường hợp kinh doanh được xử lý bởi chatbot của bạn, một số nền tảng có thể phù hợp hơn các nền tảng khác. Với mục đích giúp bạn chọn công cụ tốt nhất, chúng tôi đã xem xét một số điểm mạnh và điểm yếu của các dịch vụ hiện có để xây dựng các chatbot.

Nếu bạn đang có kế hoạch xây dựng một chatbot phức tạp, bạn nên nghiêm túc xem xét các khía cạnh ổn định, khả năng mở rộng và tính linh hoạt. Nếu bạn không chú ý đầy đủ đến sự phức tạp của ngôn ngữ loài người, một cuộc trò chuyện có thể nhanh chóng đi ra khỏi đường ray. Bạn có thể được yêu cầu xây dựng giải pháp của riêng mình từ đầu hoặc sử dụng kết hợp một công cụ để giải quyết các vấn đề NLP chung (ví dụ Api.ai) cộng với logic phía máy chủ tùy chỉnh cho các tính năng mạnh hơn.

Nói chung, hệ sinh thái chatbot đang di chuyển rất nhanh và các tính năng mới đang được phát hành mỗi ngày bởi nhiều nền tảng hiện có. Cho đến hôm nay, rõ ràng rằng khi cố gắng xây dựng một chatbot đầy tham vọng , có khả năng xử lý các cuộc hội thoại phức tạp và thực hiện các hành động (nghĩa là thanh toán), người ta không thể dựa 100% vào nền tảng và cần phát triển NLP tùy chỉnh. Những tiến bộ gần đây trong kỹ thuật Deep Learning có thể sẽ giúp ích rất nhiều trong tương lai gần, và chúng tôi rất mong chờ điều đó.

Bạn có câu hỏi / nhận xét nào liên quan đến việc xây dựng một chatbot không? Hãy chia sẻ chúng với chúng tôi trong các ý kiến.

9 hữu ích 0 bình luận 5.9k xem chia sẻ

Có thể bạn quan tâm

loading