Vào một ngày đẹp mắt trời và chán nản. Tôi lang thang trên các diễn bọn về Tech và đọc được một post về chat bot nó có cái tên nghe tương đối là simple nhưng lại cực có lợi với hồ hết thanh niên mong tiếp cận với "chat bot".
Bạn đang xem: Mã nguồn chatbot python

Đôi đường nét về Chatter
Bot
Chatter
Bot là một trong thư viện Python giúp đỡ bạn tạo ra một chat bot có chức năng trả lời auto từ đầu vào của người dùng. Chatter
Bot áp dụng thuật toán lựa chọn của dòng sản phẩm học để tạo thành các các loại Response không giống nhau. Điều này giúp những nhà phạt triển dễ dãi tạo các chatbot có chức năng trò chuyện và tự động hóa hóa cuộc hội thoại với những người dùng. Để biết thêm cụ thể về các ý tưởng phát minh và khái niệm phía sau Chatter
Bot hãy coi Process Flow Diagram (Sơ vật dụng luồng cách xử lý ở bên dưới).
Một ví dụ cho một cuộc đối thoại giữa tín đồ và bot:
user: Good morning! How are you doing?bot: I am doing very well, thank you for asking.user: You"re welcome.bot: vì chưng you lượt thích hats?Độc lập Ngôn ngữ
Thiết kế Độc lập ngôn từ của Chatter
Bot cho phép nó được đào tạo và huấn luyện để hoàn toàn có thể nói bất cứ ngôn ngữ nào. Xung quanh ra thực chất Machinelearing của Chatter
Bot có thể chấp nhận được một Instance là tác nhân cải thiện kiến thức của chính nó về những phản ứng rất có thể có lúc nó hệ trọng với con bạn và từ các nguồn dữ liệu khác.
Cách Chatter
Bot hoạt động
Chatter
Bot là 1 thư viện Python có thiết kế để giúp dễ ợt tạo một phần mềm mà ở kia nó hoàn toàn có thể tham gia vào việc tiếp xúc hay còn gọi là chatbot.
Một instance của Chatter
Bot không được train, start mà chưa tồn tại kiến thức về phong thái giao tiếp. Mỗi khi người dùng nhập một statement, thư viện vẫn lưu văn bản mà họ sẽ nhập và văn phiên bản mà bot phản hồi lại. Khi số lượng input cơ mà Chatter
Bot cảm nhận tăng thì con số các response nhưng mà nó rất có thể trả lời cũng giống như độ chính xác của từng response có tương quan đến input đầu vào statement đó cũng tăng theo.
Chương trình này tuyển lựa response tương xứng nhất bằng cách tìm kiếm statement sẽ biết ngay sát nghĩa độc nhất với input đầu vào statement, tiếp nối nó chọn 1 response từ các response đã biết của statement đó. (Cái này khá giống với tiện ích Simimi)
Process Flow Diagram

Cài đặt
Chú ý phải các các tủ sách hỗ trợ:
tensorflownumpypandassklearnimutilsNếu các bạn mới bắt đầu với Chatter
Bot, các bạn nên thiết lập phiên bản mới nhất của chính nó từ Python Package Index (Py
Pi), để thiết lập Chatter
Bot bằng pip, bạn áp dụng lệnh sau vào Terminal.
pip install chatterbotCài để từ Git
Hub
Bạn có thể thiết đặt phiên bản development tiên tiến nhất của Chatter
Bot trực tiếp từ Git
Hub bằng phương pháp sử dụng pip:
pip install git+git://github.com/gunthercox/Chatter
Bot.git
masterCài đặt từ Source
Tải về phiên bản sao của code bên trên Git
Hub. Bạn phải cài đặt git để làm điều này.
git clone https://github.com/gunthercox/Chatter
Bot.git
Cài để code mà các bạn vừa tải bằng cách sử dụng pip
pip install ./Chatter
Bot
Kiểm tra phiên phiên bản Chatter
Bot mà chúng ta vừa download đặt
Bạn áp dụng lệnh sau để kiểm soát phiên bạn dạng của Chatter
Bot vừa bắt đầu cài đặt.
python -m chatterbot --version
Nâng cấp Chatter
Bot lên phiên bản mới nhất
Giống như bất kể phần mềm nào, Chatterbot đã được đổi mới theo thời gian. Hay thì, bạn chưa hẳn thay đổi bất kể điều gì vào code của mình để hưởng thụ từ phiên bản mới.
Đôi khi, gồm những biến đổi sẽ yêu cầu sửa thay đổi code của công ty hoặc sẽ sở hữu được những đổi khác giúp bạn nâng cao chất lượng code của mình bằng phương pháp sử dụng những hào kiệt mới.
Có thể xem các bản release của Chatter Bot tại đây:.https://github.com/gunthercox/Chatter
Bot/releases
Một số lắp thêm cơ bạn dạng ban đầu
Tạo bắt đầu một chat bot
from chatterbot import Chat
Botchatbot = Chat
Bot("Ron Obvious")Chú thích:Tham số yêu cầu duy độc nhất của Chat
Bot là tên. Bạn cũng có thể đặt tên của chính nó sao cũng được. Và bạn có thể gọi ra thương hiệu của chat bot trải qua thuộc tính name.
Training mang đến chatbot
Sau lúc tạo bắt đầu một instance Chatbot, bạn đã có thể train cho nó. Training là 1 trong những cách giỏi để bảo vệ rằng con bot của bạn mở màn với một lượng kỹ năng và kiến thức về các response nhưng nó rất có thể sử dụng. Cách làm training lúc này là dìm một list các statement (câu nói) trong cuộc nói chuyện thông thường. Chi tiết về phần training có thể mình sẽ viết trong bài bác sau.
Chatter Bot này đã có một số trong những bộ ngữ điệu nên bạn cũng có thể sử dụng luôn mà không cần thiết phải training lại. Tuy vậy với tiến Vieetjj thì chắc nên training đấy.
Một lấy một ví dụ nho nhỏ tuổi cho câu hỏi training bé bot này:
from chatterbot.trainers import List
Trainer conversation = < "Hello", "Hi there!", "How are you doing?", "I"m doing great.", "That is good khổng lồ hear", "Thank you.", "You"re welcome.">trainer = List
Trainer(chatbot)trainer.train(conversation)Để mang ra response trả về. Ở trên đây tham số đầu vào là một trong input của người dùng và respone là câu bình luận của bot:
response = chatbot.get_response("Good morning!")print(response) Thiết lập storage adapter
Chatter
Bot đi kèm với những adapter class tích hợp có thể chấp nhận được nó kết nối với nhiều loại database khác nhau. Trong trả lời này, sẽ thực hiện SQLStorage
Adapter cho phép chat bot liên kết tới SQL database. Mang định, adapter này sẽ tạo nên một SQLite database.
Tham số database được sử dụng để chỉ định đường truyền đến database mà chat bot đã sử dụng. Trong lấy ví dụ như này, sẽ thực hiện database sqlite:///database.sqlite3. Tập tin này sẽ tiến hành tạo auto nếu nó ko tồn tại.
bot = Chat
Bot( "Norman", storage_adapter="chatterbot.storage.SQLStorage
Adapter", database_uri="sqlite:///database.sqlite3")Chú thích:
SQLStorage
Adapter là adapter mang định của Chatter
Bot. Nếu bạn không chỉ có định một adapter nào trong constructor, adapter SQLStorage
Adapter đang được tự động sử dụng.
Chỉ định các logic adapter
Tham số logic_adapters là một trong list những logic adapter. Trong Chatter
Bot, một ngắn gọn xúc tích adapter là 1 class dìm một input atatement với trả về một response cho statement đó.
Có thể chọn sử dụng nhiều xúc tích adapter nếu muốn (Có thể đọc thêm tại trang chủ của chatterbot). Trong lấy một ví dụ này, ta áp dụng hai lô ghích adapter. Time
Logic
Adapter trả về thời hạn hiện tại khi input đầu vào statement hỏi nó. Mathematical
Evaluation adapter thực hiện toán tử cơ phiên bản (cộng trừ nhân chia) để xử lý các vụ việc toán học.
bot = Chat
Bot( "Norman", storage_adapter="chatterbot.storage.SQLStorage
Adapter", logic_adapters=< "chatterbot.logic.Mathematical
Evaluation", "chatterbot.logic.Time
Logic
Adapter" >, database_uri="sqlite:///database.sqlite3")Training chat bot
Lúc này chat bot của doanh nghiệp – Norman sẽ học cách tiếp xúc khi bạn thì thầm với nó. Chúng ta cũng có thể tăng tốc quy trình này bằng phương pháp training nó với các ví dụ về cuộc hội thoại hiện nay có(như ví dụ bên trên kia). Hoàn toàn có thể chạy quy trình training này nhiều lần để củng cố các response ưa thích cho các input statement cố kỉnh thể. Bạn cũng có thể chạy lệnh train trên những cuộc hội thoại mẫu khác nhau để tăng cường mức độ rộng của những input mà lại chat bot của bạn cũng có thể phản hồi lại. (Chi ngày tiết về thuật toán đã được trình bày sau)
Một số ví dụ vận dụng Chatter Bot
Một số ví dụ
Ví dụ đối kháng giản
from chatterbot import Chat
Botfrom chatterbot.trainers import List
Trainer # Create a new chat bot named Charliechatbot = Chat
Bot("Charlie") trainer = List
Trainer(chatbot) trainer.train(< "Hi, can I help you?", "Sure, I"d lượt thích to book a flight khổng lồ Iceland.", "Your flight has been booked.">) # Get a response lớn the input text "I would lượt thích to book a flight."response = chatbot.get_response("I would lượt thích to book a flight.") print(response)Ví dụ bên trên Terminal
Đoạn code này sẽ cho thấy cách chế tạo một terminal client solo giản cho phép bạn tiếp xúc với chat bot của mình bằng phương pháp nhập vào terminal.
from chatterbot import Chat
Bot # Uncomment the following lines khổng lồ enable verbose logging# import logging# logging.basic
Config(level=logging.INFO) # Create a new instance of a Chat
Botbot = Chat
Bot( "Terminal", storage_adapter="chatterbot.storage.SQLStorage
Adapter", logic_adapters=< "chatterbot.logic.Mathematical
Evaluation", "chatterbot.logic.Time
Logic
Adapter", "chatterbot.logic.Best
Match" >, database_uri="sqlite:///database.db") print("Type something to lớn begin...") # The following loop will execute each time the user enters inputwhile True: try: user_input = input() bot_response = bot.get_response(user_input) print(bot_response) # Press ctrl-c or ctrl-d on the keyboard to lớn exit except (Keyboard
Interrupt, EOFError, System
Exit): breakSử dụng Mongo
DB
Để khai báo cho Chatter
Bot thực hiện adapter này, bạn sẽ cần đặt tham số storage_adapter.
Đây là code mẫu:
from chatterbot import Chat
Bot # Uncomment the following lines khổng lồ enable verbose logging# import logging# logging.basic
Config(level=logging.INFO) # Create a new Chat
Bot instance bot = Chat
Bot( "Terminal", storage_adapter="chatterbot.storage.Mongo
Database
Adapter", logic_adapters=< "chatterbot.logic.Best
Match" >, database_uri="mongodb://localhost:27017/chatterbot-database") print("Type something khổng lồ begin...") while True: try: user_input = input() bot_response = bot.get_response(user_input) print(bot_response) # Press ctrl-c or ctrl-d on the keyboard khổng lồ exit except (Keyboard
Interrupt, EOFError, System
Exit): breakVí dụ về thời hạn và Tính toán
Chatter
Bot có công dụng đánh giá chỉ natural language chất nhận được nó cách xử trí và review các đầu vào Toán học tập (Mathematical) và thời gian (Time-Based) tất yếu là bởi tiếng Anh. Giờ đồng hồ việt họ cần buộc phải training
from chatterbot import Chat
Bot bot = Chat
Bot( "Math & Time Bot", logic_adapters=< "chatterbot.logic.Mathematical
Evaluation", "chatterbot.logic.Time
Logic
Adapter" >) # Print an example of getting one math based responseresponse = bot.get_response("What is 4 + 9?")print(response) # Print an example of getting one time based responseresponse = bot.get_response("What time is it?")print(response)Sử dụng SQL Adapter
Dữ liệu của Chatter
Bot có thể được lưu giữ và mang ra từ SQL database.
from chatterbot import Chat
Bot # Uncomment the following lines lớn enable verbose logging# import logging# logging.basic
Config(level=logging.INFO) # Create a new instance of a Chat
Botbot = Chat
Bot( "SQLMemory
Terminal", storage_adapter="chatterbot.storage.SQLStorage
Adapter", database_uri=None, logic_adapters=< "chatterbot.logic.Mathematical
Evaluation", "chatterbot.logic.Time
Logic
Adapter", "chatterbot.logic.Best
Match" >) # Get a few responses from the bot bot.get_response("What time is it?") bot.get_response("What is 7 plus 7?")Read-only mode
Chat bot của các bạn sẽ học dựa vào mỗi đầu vào statement new mà nó dìm được. Nếu bạn muốn tắt kĩ năng học này sau khoản thời gian bot của chúng ta đã được train, chúng ta cũng có thể truyền giá bán trị đến tham số readonly=True lúc khởi chế tác chat bot.
chatbot = Chat
Bot("Johnny Five", read_only=True)
Tổng kết phần
Qua phần trên tôi đã trình bày một số trong những kiến thức cơ bạn dạng về chatter bot và một trong những tính năng tốt ho của nó. Vào phần sau bản thân sẽ trình bày thêm về (kỹ thuật training, xúc tích và ngắn gọn adapters, ... ) với tích phù hợp vào django
Chatbots thời nay rất phổ biến. Vì chưng vậy, cửa hàng chúng tôi đến sẽ giúp bạn trở nên tân tiến một chatbot bằng Python. Trong bài xích đăng này, chúng ta sẽ nói đến việc cách tân và phát triển một chatbot AI tương tác.
Interactive trí tuệ nhân tạo chatbot là hệ thống máy tính tái tạo ra cuộc hội thoại của con người. Quanh đó ra, bọn chúng phản hồi đầu vào của con người bằng cách sử dụng cách xử trí ngôn ngữ thoải mái và tự nhiên và học sản phẩm Công nghệ.
Để đem đến trải nghiệm chăm lo khách hàng tác dụng hơn, những chatbot này hoàn toàn có thể được liên kết với nhiều nền tảng. Do đó, các nền tảng này hoàn toàn có thể là trang web, ứng dụng di động và hệ thống nhắn tin. Sát bên đó, chúng rất có thể được thực hiện cho nhiều mục tiêu khác nhau, bao gồm giải trí, giáo dục và đào tạo và quảng cáo.
thư viện Open
AI
Mô hình GPT-3 tất cả sẵn trong tủ sách Open
AI. Cửa hàng chúng tôi có thể sử dụng nó để chế tạo câu vấn đáp cho chatbot của bạn. Gói này cũng đều có một API đơn giản dễ dàng để giao tiếp với mô hình. Nó tạo cho nó đơn giản dễ dàng để tích hợp vào của bạn chatbot Python ứng dụng.

Do đó, bạn cũng có thể sử dụng Open
AI trong dự án công trình của mình.
Để sản xuất câu trả lời từ mô hình GPT-3, công ty chúng tôi sẽ sử dụng phương thức Complete.create().
Open
AI cũng hỗ trợ các quy mô thay nỗ lực như GPT-2, DALL-E và các quy mô khác. Chúng ta cũng có thể sử dụng ngẫu nhiên thứ nào trong những này để tạo thành chatbot của mình. Mặc dù nhiên, hãy nhớ là mỗi chân dài đều bao gồm tài năng, ưu thế và điểm yếu riêng.
Xây dựng Chatbot
1- Trước tiên, chúng ta phải thiết đặt thư viện Open
AI cùng gán khóa API nhận được từ website Open
AI. Điều này vẫn cung cấp cho chính mình quyền truy cập vào quy mô GPT-3 trải qua API Open
AI.
import openai
openai.api_key = "YOUR_API_KEY"
Để đặt khóa API, hãy truy cập https://beta.openai.com/ và đăng ký.

2- hiện thời chúng ta bắt buộc tạo một hàm chatbot() đồng ý đầu vào của người dùng. Và, nó sẽ áp dụng nó làm cho dấu nhắc của mẫu GPT-3. Phương thức input() được thực hiện để tích lũy thông tin đầu vào của người dùng và vòng lặp sẽ chạy cho tới khi người dùng nhập "thoát".
def chatbot():
while True:
user_input = input("You: ")
3- Nếu đầu vào của người tiêu dùng tương đương với “thoát”, thì vòng lặp sẽ ảnh hưởng ngắt cùng chatbot vẫn chấm dứt.
if user_input.lower() == "exit":
break
4- Để tạo bình luận từ quy mô GPT-3, bây giờ chúng ta phải thực hiện hàm openai.Completion.create(). Tham số hộp động cơ được đặt thành “text-davinci-002”, là vẻ bên ngoài máy GPT-3. Thông số lời nhắc được đặt thành đầu vào của người dùng, theo sau là khoảng trắng để biểu hiện phần cuối của lời nhắc.
Tham số nhiệt độ được đặt thành 0.5 để điều chỉnh mức độ khó lường trong văn bạn dạng được tạo. Và, thông số mã thông tin tối đa được để thành 2048 nhằm hạn cơ chế dài của câu trả lời đã tạo.
response = openai.Completion.create(
engine="text-davinci-002",
prompt=user_input + " ",
max_tokens=2048,
temperature=0.5
)
5- hiện thời chúng ta sẽ tạo phản hồi in từ mẫu GPT-3.
print("Chatbot: ", response<"choices"><0><"text">)
6- bây giờ chúng ta vẫn thêm chức năng chính của tập lệnh. Khi được gọi, nó sẽ in thông tin chào mừng và sau đó gọi phương thức chatbot().
if __name__ == "__main__":
print("Welcome lớn the GPT-3 Chatbot!")
print("Type "exit" khổng lồ close the chatbot.")
chatbot()

Đặt một câu hỏi khác mang đến Chatbot
Chúng ta đã nói đến thời tiết. Hãy thử một cái gì đấy khác để nâng cao cuộc trò chuyện của bọn chúng tôi. Ví dụ, bạn có thể hỏi “Hôm nay trung ương trạng của doanh nghiệp thế nào?”.
def chatbot():
while True:
user_input = input("You: ")
if user_input.lower() == "exit":
break
elif user_input.lower() == "how is your mood today?":
print("Chatbot: My mood is great, thank you for asking!")
continue
response = openai.Completion.create(
engine="text-davinci-002",
prompt=user_input + " ",
max_tokens=2048,
temperature=0.5
)
print("Chatbot: ", response<"choices"><0><"text">)

Các phương thức khác để phát triển Chat
Bot với Python
Sử dụng Bộ biện pháp ngôn ngữ tự nhiên và thoải mái (NLTK) hoặc thư viện SpaCy
Các tủ sách này rất phù hợp cho những tác vụ như mã thông tin và chế tác gốc. Quanh đó ra, chúng rất có thể được sử dụng cho thực thể được đặt tên nhận dạng trong xử lý ngữ điệu tự nhiên. NLTK là mục tiêu chung hơn. Ngoài ra, nó cung cấp một loạt những tính năng. Mặc dù nhiên, Spa
Cy triệu tập vào công suất hơn với thường biết tới nhanh hơn.
Bạn hoàn toàn có thể sử dụng lệnh sau để thiết đặt NLTK:
pip install nltk
Để cài đặt Spacy:
pip install spacy
Sử dụng RASARASA là một trong nền tảng mã mối cung cấp mở để cách tân và phát triển trò chuyện AI trò chuyện. Nó gồm 1 bộ thư viện và hiện tượng để sản xuất chatbot. Xung quanh ra, nó rất có thể nhận dạng đầu vào ngôn ngữ thoải mái và tự nhiên và ý kiến một phương pháp thích hợp.
Bạn rất có thể sử dụng lệnh sau để thiết lập RASA:
pip install rasa
TensorFlow cùng Keras
Tensor
Flow với Keras là hồ hết thư viện trang bị học nổi bật. Chúng ta có thể sử dụng nó để giảng dạy một mô hình nhận dạng nguồn vào ngôn ngữ thoải mái và tự nhiên và sản xuất câu trả lời phù hợp.
Bạn có thể chạy lệnh sau để thiết lập Tensor
Flow:
pip install tensorflow
pip install keras
Kết luận
Chatbot trí tuệ tự tạo tương tác là hệ thống máy tính bắt chước giao tiếp của con người. Vày đó, họ phản ứng với đầu vào của bé người. Nó rất thú vị với hứa hẹn mang lại tương lai.
Xem thêm: Cách chuyển tiếng anh sang tiếng việt trong google chrome, cách cài tiếng việt cho chrome cực kỳ đơn giản
Thư viện Open
AI cung cấp một API đơn giản để liên kết với mô hình GPT-3. Bạn có thể thiết kế một chatbot liên tưởng với người tiêu dùng một cách tự nhiên và thoải mái và hấp dẫn. Chúng ta có thể tạo trải nghiệm tùy chỉnh cấu hình và công dụng hơn với bí quyết tiếp cận phù hợp.