đồ án ứng dụng chatgpt vào công việc lập trình python

25 0 0
Tài liệu đã được kiểm tra trùng lặp
đồ án ứng dụng chatgpt vào công việc lập trình python

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO ĐỒ ÁN MÔN HỌC

ĐỒ ÁN 2

ỨNG DỤNG CHATGPT VÀO CÔNG VIỆC LẬP TRÌNH PYTHON

Giảng viên hướng dẫn:Ths.Nguyễn Công Hoan

Nhóm thực hiện:

16521436 Võ Huỳnh Việt

TP.HCM, tháng 12 năm 2023

Trang 2

LỜI CẢM ƠN

Em muốn bày tỏ lòng biết ơn sâu sắc đến Thầy vì sự hỗ trợ và sự dẫn dắt tận tình trong quá trình em thực hiện đồ án ứng dụng ChatGPT vào công việc lập trình Python Sự kiên nhẫn và sự chỉ bảo từ Thầy không chỉ giúp em nắm vững kiến thức mà còn mở ra cánh cửa của sự hiểu biết sâu rộng hơn về lĩnh vực này.Những lời khuyên quý báu và kiến thức mà Thầy chia sẻ đã là nguồn động viên lớn, giúp em vượt qua được những khó khăn và hoàn thành đồ án một cách thành công Sự tận tâm và tinh thần nhiệt huyết của Thầy là nguồn cảm hứng lớn, khơi gợi trong em đam mê học hỏi và nghiên cứu sâu hơn về lĩnh vực này.

Em rất may mắn và biết ơn khi được học hỏi từ một người thầy như Thầy Sự hướng dẫn của Thầy đã góp phần quan trọng vào sự phát triển cá nhân của em và sẽ luôn là nguồn động lực quý báu trong hành trình học tập và sự nghiệp tương lai của em.

Xin chân thành cảm ơn và trân trọng

Mục Lục

Trang 3

ChatGPT đã đem lại nhiều tiềm năng trong việc ứng dụng trong các lĩnh vực như trợ lý ảo, hỗ trợ khách hàng tự động, hoặc tạo ra các ứng dụng tương tác ngôn ngữ tự nhiên 5

2.Ý nghĩa chatGPT 5

3.Sử dụng ChatGPT hiệu quả 5

Chương 2: Dữ Liệu ChatGPT 7

Chương 3: Ứng dụng ChatGPT 8

1.Trợ lý ảo cho bệnh nhân: 8

2.Công cụ kiểm tra triệu chứng: 8

VI.PyTorch, TensorFlow hay Keras cái nào tốt hơn? 13

Chương 5: Google Colab, Numpy và pandas 14

I.Google Colab là gì? 14

II.Numpy là gì? 14

III.Pandas là gì? 14

Trang 4

IV.So sánh numpy và pandas 15

Chương 6: Model trên Kaggle 15

I.Kaggle là gì? 15

II.Random Forest 16

a.Random Forest là gì? 16

b.Trực giác thuật toán Rừng ngẫu nhiên 16

c.Ưu điểm của thuật toán Rừng ngẫu nhiên như sau: 17

d.Những nhược điểm của thuật toán Rừng ngẫu nhiên được liệt kê dưới đây: 18

III.XGBoost (Extreme Gradient Boosting) 18

a.XGBoost là gì? 18

b.Ưu điểm của thuật toán: 19

c.Nhược điểm của thuật toán: 19

IV.Convolutional Neural Networks (CNN) 19

a.Convolutional Neural Networks (CNN) là gì? 19

b.Các lớp cơ bản của mạng CNN 20

c.Cấu trúc của mạng CNN là gì? 22

d.Ưu điểm của thuật toán: 23

e.Nhược điểm của thuật toán: 23

Chương 7: Dữ liệu thực nghiệm 23

Trang 5

1.ChatGPT là gì?

Là một mô hình trí tuệ nhân tạo dựa trên mạng nơ-ron tái sinh, được phát triển bởi OpenAI Nó là một phiên bản cải tiến của mô hình GPT (Generative Pre-trained Transformer)

Có khả năng sinh ra văn bản tự nhiên và logic, có thể tạo ra các phản hồi, câu trả lời và văn bản giống như con người trong các cuộc trò chuyện Mô hình này đã được huấn luyện trên dữ liệu lớn từ Internet, giúp nó hiểu và tái tạo ngôn ngữ tự nhiên một cách logic và thông minh

ChatGPT đã đem lại nhiều tiềm năng trong việc ứng dụng trong các lĩnh vực như trợ lý ảo, hỗ trợ khách hàng tự động, hoặc tạo ra các ứng dụng tương tác ngôn ngữ tự nhiên

2.Ý nghĩa chatGPT

Khả năng tạo ra văn bản tự nhiên, gần giống như cách con người nói chuyện Mô hình này không chỉ đơn thuần sinh ra các câu văn mà còn có khả năng hiểu và phản hồi dựa trên ngữ cảnh của đoạn văn

Cung cấp một công cụ mạnh mẽ trong lĩnh vực trí tuệ nhân tạo, giúp tự động hóa việc tạo ra nội dung văn bản, tương tác với người dùng thông qua ngôn ngữ tự nhiên và cung cấp sự hỗ trợ trong việc xây dựng các ứng dụng thông minh, từ chatbot đến trợ lý ảo và nhiều ứng dụng khác Điều này mở ra cơ hội sáng tạo và ứng dụng rộng rãi trong nhiều lĩnh vực, từ công nghiệp đến dịch vụ và giáo dục.

3 Sử dụng ChatGPT hiệu quả

1 Huấn luyện mô hình tốt:

Nếu bạn đang xây dựng và huấn luyện một mô hình ChatGPT riêng, việc códữ liệu đa dạng và chất lượng là rất quan trọng để mô hình có khả năng tái tạo ngôn ngữ tự nhiên một cách logic và thông minh.

2 Tối ưu hóa cho nhiệm vụ cụ thể:

Nếu sử dụng mô hình đã được huấn luyện sẵn, điều chỉnh và tinh chỉnh mô hình để phù hợp với nhiệm vụ cụ thể của bạn có thể cải thiện khả năng đáp ứng của mô hình.

3 Xử lý dữ liệu đầu vào:

Lọc và xử lý dữ liệu đầu vào sao cho phù hợp và có chất lượng tốt sẽ giúp mô hình sinh ra câu trả lời chính xác và hợp lý hơn.

4 Kiểm soát đầu ra:

Kiểm tra và lọc đầu ra của mô hình để đảm bảo nó phản ánh thông tin chínhxác và không tạo ra thông tin sai lệch hoặc không phù hợp.

5 Tích hợp vào ứng dụng hoặc giao diện người dùng:

Sử dụng mô hình ChatGPT một cách linh hoạt và tối ưu hóa để tích hợp vào ứng dụng của bạn, cung cấp trải nghiệm tương tác tốt cho người dùng.

6 Đánh giá và cải thiện liên tục:

Theo dõi hiệu suất của mô hình, thu thập phản hồi từ người dùng và cải thiện mô hình dựa trên thông tin thu được.

Trang 6

Chương 2: Dữ Liệu ChatGPT

Dữ liệu huấn luyện cho mô hình ChatGPT được thu thập từ một loạt các nguồn trên Internet Đây là một bộ dữ liệu lớn và đa dạng, bao gồm các loại văn bản khác nhau:

Trang 7

Bao gồm các diễn đàn trực tuyến, blog, trang web đánh giá sản phẩm/dịch vụ, và các cộng đồng trực tuyến khác.

o Trang Wikipedia và kiến thức thông tin tổng hợp:

Dữ liệu từ các bài viết, trang thông tin từ Wikipedia và các nguồn kiến thứctổng hợp trực tuyến.

o Nguồn tin nhắn và dữ liệu trò chuyện:

Có thể bao gồm các cuộc trò chuyện trực tuyến, tin nhắn, diễn đàn, nơi người dùng tương tác với nhau.

Thông qua việc huấn luyện trên một tập dữ liệu đa dạng và phong phú như vậy, mô hình ChatGPT học được cách xử lý ngôn ngữ tự nhiên một cách linh hoạt và phản ánh lại thông tin một cách logic và tự nhiên khi tương tác với người dùng

Chương 3: Ứng dụng ChatGPT

1 Trợ lý ảo cho bệnh nhân:

ChatGPT có thể được sử dụng như một trợ lý ảo cho bệnh nhân, đưa ra các khuyến nghị và lời khuyên dựa trên tiền sử bệnh, các triệu chứng hiện tại và các yếu tố liên quan khác Bên cạnh đó, bệnh nhân có thể sử dụng ChatGPT làm trợ lý ảo để truy cập vào hệ thống thông tin về sức khỏe để biết được tình trạng bệnh củahọ Bệnh nhân có thể sử dụng chatbot để đặt câu hỏi về các triệu chứng, quy trình

Trang 8

y tế, cách sử dụng thuốc và chatbot sẽ đưa ra các câu trả lời một cách chính xác cho bệnh nhân.

2 Công cụ kiểm tra triệu chứng:

Là công cụ kiểm tra triệu chứng, ChatGPT có thể hỗ trợ bệnh nhân xác địnhcác triệu chứng của họ và lựa chọn cách xử lý tốt nhất Chatbot có thể hỏi bệnh nhân về các triệu chứng của họ và đưa ra danh sách các chẩn đoán tiềm năng cũng như hướng dẫn về những việc cần làm tiếp theo.

3 Giáo dục bệnh nhân:

Bệnh nhân có thể sử dụng ChatGPT để biết được về tình trạng sức khỏe, cho phép họ tự lựa chọn dịch vụ chăm sóc sức khỏe một cách tối ưu và hiệu quả nhất Chatbot có thể trả lời bất kỳ câu hỏi nào mà bệnh nhân đưa ra và cung cấp cho họ thông tin về các phương pháp điều trị, thuốc men và thay đổi lối sống.4 Thử nghiệm lâm sàng:

ChatGPT có thể được sử dụng trong các cuộc thử nghiệm lâm sàng để giúp tuyển dụng người tham gia và thu thập dữ liệu Chatbot có thể thông báo cho bệnh nhân về các cuộc thử nghiệm lâm sàng và hỗ trợ xác định xem họ có đủ điều kiện hay không.

5 Hỗ trợ quyết định lâm sàng:

Các chuyên gia chăm sóc sức khỏe có thể sử dụng ChatGPT như một công cụ hỗ trợ quyết định lâm sàng để hỗ trợ họ đưa ra các quyết định sáng suốt về chăm sóc bệnh nhân Chatbot có thể thông báo cho các chuyên gia chăm sóc sức khỏe về các phương pháp điều trị, thuốc men và quy trình chẩn đoán, đồng thời hỗtrợ họ lựa chọn cách điều trị tốt nhất.

6 Giám sát từ xa:

ChatGPT có thể được sử dụng để theo dõi bệnh nhân từ xa, cho phép các chuyên gia y tế theo dõi sức khỏe của bệnh nhân Chatbot có thể nhắc nhở bệnh nhân kiểm tra các dấu hiệu sinh tồn của bệnh nhân và thông báo cho nhân viên y tếnếu có bất cứ điều gì thay đổi hoặc khiến họ lo lắng.

7 Tư vấn y tế:

Trang 9

Dựa trên các triệu chứng và lịch sử y tế của bệnh nhân, ChatGPT có thể đưara lời các khuyên và khuyến nghị y tế cho bệnh nhân Chatbot có thể giúp bệnh nhân yên tâm và hỗ trợ họ đưa ra quyết định sáng suốt về sức khỏe của họ.8 Lên lịch hẹn:

Bệnh nhân có thể đặt lịch hẹn với các chuyên gia y tế bằng ChatGPT, giúp họ dễ dàng nhận được sự chăm sóc mà họ yêu cầu Bệnh nhân có thể yêu cầu một danh sách các thời gian cuộc hẹn có sẵn từ chatbot, sau đó có thể hỗ trợ họ chọn thời gian phù hợp.

9 Nhắc nhở về sử dụng thuốc:

Bệnh nhân có thể nhận được nhắc nhở về sử dụng thuốc qua ChatGPT, điềunày sẽ giúp họ uống thuốc theo đúng thời gian quy định Chatbot có thể thông báo cho bệnh nhân về các tác dụng phụ và tương tác thuốc tiềm ẩn cũng như gửi lời nhắc về thời điểm dùng thuốc.

10.Dịch vụ khách hàng:

Dịch vụ khách hàng dành cho các nhà cung cấp dịch vụ chăm sóc sức khỏe có thể được cung cấp thông qua ChatGPT, điều này có thể giúp rút ngắn thời gian chờ đợi và nâng cao sự hài lòng của khách hàng Chatbot có thể cung cấp cho bệnh nhân thông tin họ yêu cầu bằng cách trả lời các câu hỏi phổ biến về bảo hiểm, thanh toán và các cuộc hẹn.

Tóm lại, ChatGPT có nhiều ứng dụng trong lĩnh vực chăm sóc sức khỏe và nó mang lại nhiều lợi ích cho cả bệnh nhân và nhân viên y tế Tuy nhiên, ChatGPT chỉ là một công cụ hỗ trợ hữu hiệu cho các chuyên gia y tế nhưng vẫn không thể thay thế hoàn toàn họ, ít nhất là trong thời điểm hiện tại

Chương 4: Platform: Keras, Tensorflow, PyTorch

I.Keras là gì?

Keras là Giao diện lập trình ứng dụng (API) mạng thần kinh cấp cao hiệu quả được viết bằng Python Thư viện mạng thần kinh nguồn mở này được thiết kế

Trang 10

để cung cấp thử nghiệm nhanh với các mạng thần kinh sâu và nó có thể chạy trên CNTK, TensorFlow và Theano.

Keras tập trung vào tính mô-đun, thân thiện với người dùng và có thể mở rộng Nó không xử lý các tính toán cấp thấp; thay vào đó, nó chuyển chúng cho một thư viện khác có tên là Backend.

Keras đã được áp dụng và tích hợp vào TensorFlow vào giữa năm 2017 Người dùng có thể truy cập nó thông qua mô-đun tf.keras Tuy nhiên, thư viện Keras vẫn có thể hoạt động riêng biệt và độc lập.

II.PyTorch là gì?

PyTorch là một framework deep learning tương đối mới dựa trên Torch Được phát triển bởi nhóm nghiên cứu AI của Facebook và có nguồn mở trên GitHub vào năm 2017, nó được sử dụng cho các ứng dụng xử lý ngôn ngữ tự nhiên PyTorch nổi tiếng về tính đơn giản, dễ sử dụng, linh hoạt, sử dụng bộ nhớ hiệu quả và đồ thị tính toán động Nó cũng mang lại cảm giác tự nhiên, giúp mã hóa dễ quản lý hơn và tăng tốc độ xử lý.

III.TensorFlow là gì?

TensorFlow là một khung học sâu nguồn mở toàn diện do Google phát triển và phát hành vào năm 2015 Nó được biết đến với khả năng hỗ trợ đào tạo và tài liệu, các tùy chọn sản xuất và triển khai có thể mở rộng, nhiều cấp độ trừu tượng và hỗ trợ cho các nền tảng khác nhau, chẳng hạn như Android.

TensorFlow là một thư viện toán học tượng trưng được sử dụng cho mạng nơ-ron và phù hợp nhất để lập trình luồng dữ liệu cho nhiều tác vụ Nó cung cấp nhiều mức độ trừu tượng để xây dựng và đào tạo các mô hình.

Là một lĩnh vực đầy hứa hẹn và phát triển nhanh chóng trong thế giới học sâu, TensorFlow cung cấp một hệ sinh thái linh hoạt, toàn diện gồm các tài nguyêncộng đồng, thư viện và công cụ hỗ trợ xây dựng và triển khai các ứng dụng học máy Ngoài ra, như đã đề cập trước đó, TensorFlow đã áp dụng Keras, điều này

Trang 11

khiến việc so sánh cả hai dường như có vấn đề Tuy nhiên, chúng tôi vẫn sẽ so sánh hai khung để hoàn thiện, đặc biệt vì người dùng Keras không nhất thiết phải sử dụng TensorFlow.

IV.So sánh Pytorch và TensorFlow

Cả TensorFlow và PyTorch đều cung cấp các tính năng trừu tượng hóa hữu ích giúp dễ dàng phát triển các mô hình bằng cách giảm mã soạn sẵn Chúng khác nhau vì PyTorch có cách tiếp cận "pythonic" hơn và hướng đối tượng, trong khi TensorFlow cung cấp nhiều tùy chọn khác nhau.

PyTorch được sử dụng cho nhiều dự án deep learning ngày nay và mức độ phổ biến của nó ngày càng tăng trong giới nghiên cứu AI, mặc dù trong ba

framework chính, nó ít phổ biến nhất Xu hướng cho thấy điều này có thể sớm thayđổi.

Khi các nhà nghiên cứu muốn có sự linh hoạt, khả năng sửa lỗi và thời gian đào tạo ngắn, họ chọn PyTorch Nó chạy trên Linux, macOS và Windows.

Nhờ khuôn khổ được ghi chép đầy đủ và có nhiều mô hình cũng như hướng dẫn được đào tạo, TensorFlow là công cụ yêu thích của nhiều chuyên gia và nhà nghiên cứu trong ngành TensorFlow cung cấp khả năng hiển thị tốt hơn, cho phép các nhà phát triển gỡ lỗi tốt hơn và theo dõi quá trình đào tạo Tuy nhiên, PyTorch chỉ cung cấp khả năng hiển thị hạn chế.

TensorFlow cũng đánh bại PyTorch trong việc triển khai các mô hình đã được đào tạo vào sản xuất nhờ vào khung Phục vụ TensorFlow PyTorch không cung cấp khung như vậy, vì vậy các nhà phát triển cần sử dụng Django hoặc Flask làm máy chủ phụ trợ.

Trang 12

Trong lĩnh vực song song dữ liệu, PyTorch đạt được hiệu suất tối ưu bằng cách dựa vào sự hỗ trợ riêng để thực thi không đồng bộ thông qua Python Tuy nhiên, với TensorFlow, bạn phải viết mã thủ công và tối ưu hóa mọi thao tác chạy trên một thiết bị cụ thể để cho phép đào tạo phân tán Tóm lại, bạn có thể sao chép mọi thứ từ PyTorch trong TensorFlow; bạn chỉ cần làm việc chăm chỉ hơn với nó.

V.So sánh PyTorch và Keras

Cả hai lựa chọn này đều phù hợp nếu bạn mới bắt đầu làm việc với các framework deep learning Các nhà toán học và nhà nghiên cứu giàu kinh nghiệm sẽtìm thấy PyTorch phù hợp hơn với sở thích của họ Keras phù hợp hơn với các nhà phát triển muốn có một framework plug-and-play cho phép họ xây dựng, đào tạo và đánh giá mô hình của mình một cách nhanh chóng Keras cũng cung cấp nhiều tùy chọn triển khai hơn và xuất mô hình dễ dàng hơn.

Tuy nhiên, hãy nhớ rằng PyTorch nhanh hơn Keras và có khả năng sửa lỗi tốt hơn.

Cả hai nền tảng đều có đủ mức độ phổ biến để cung cấp nhiều tài nguyên học tập Keras có khả năng truy cập tuyệt vời vào các hướng dẫn và mã có thể tái sử dụng, trong khi PyTorch có sự hỗ trợ cộng đồng xuất sắc và sự phát triển tích cực.

Keras là tốt nhất khi làm việc với các tập dữ liệu nhỏ, tạo mẫu nhanh và hỗ trợ nhiều back-end Đây là framework phổ biến nhất nhờ tính đơn giản tương đối của nó Nó chạy trên Linux, MacOS và Windows.

VI.PyTorch, TensorFlow hay Keras cái nào tốt hơn?

Trang 13

Kiến trúc Đơn giản, ngắn

gọn, dễ đọc Phức tạp, khó đọc Không dễ sử dụngDatasets Bộ dữ liệu nhỏ hơn Bộ dữ liệu lớn, hiệu

suất cao

Bộ dữ liệu lớn, hiệusuất cao

Debugging Mạng đơn giản nên không thường xuyên phải gỡ lỗi

Khả năng gỡ lỗi tốt Khó tiến hành gỡ lỗi

Does It Have

Phổ biến Phổ biến nhất Phổ biến thứ ba Phổ biến thứ hai

thấp Nhanh chóng, hiệu suất cao Nhanh chóng, hiệu suất cao

II.Numpy là gì?

NumPy là một thư viện Python phổ biến và mạnh mẽ được sử dụng chủ yếu để làm việc với mảng số học đa chiều và các phép toán trên mảng đó Nó cung cấp một loạt các chức năng và công cụ để thực hiện các phép tính số học, đại số tuyến tính, biến đổi Fourier và nhiều thuật toán toán học khác.

Với NumPy, người dùng có thể tạo và quản lý các mảng số, thực hiện các phép tính toán một cách hiệu quả và nhanh chóng Điều này làm cho NumPy trở thành một công cụ quan trọng trong các lĩnh vực như khoa học dữ liệu, machine learning và tính

Trang 14

toán khoa học nói chung Thư viện này còn cung cấp các công cụ mạnh mẽ để làm việc với ma trận và mảng nhiều chiều, giúp tối ưu hóa các phép tính số trên dữ liệu lớn.

III.Pandas là gì?

Pandas là một thư viện mã nguồn mở trong Python, được sử dụng rộng rãi trong xử lý và phân tích dữ liệu Nó cung cấp cấu trúc dữ liệu linh hoạt như DataFrame, cho phép người dùng làm việc với dữ liệu dưới dạng bảng và chuỗi thời gian một cách thuận tiện.

Đặc điểm chính của Pandas là khả năng xử lý và làm việc với dữ liệu không đồng nhất, có thể chứa các kiểu dữ liệu khác nhau trong một DataFrame Nó cũng cung cấp cáccông cụ mạnh mẽ để thực hiện các thao tác tiền xử lý dữ liệu như lọc, sắp xếp, thống kê, ghép nối và thao tác trên cột dễ dàng.

Pandas thường được sử dụng trong các lĩnh vực khoa học dữ liệu, phân tích dữ liệu, và tiền xử lý dữ liệu trước khi áp dụng các mô hình học máy và các công cụ phân tích thống kê khác.

IV.So sánh numpy và pandas

Mục đích chính Tập trung vào việc làm việc với mảng đa chiều và các phép toán số học trên mảng đó.

Tập trung vào xử lý dữ liệucó cấu trúc dưới dạng bảng và chuỗi thời gian, cung cấp DataFrame để làm việcvới dữ liệu có

Cấu trúc dữ liệu Sử dụng mảng nhiều chiều (ndarray) để lưu trữ dữ liệu.

Sử dụng DataFrame, Seriesđể lưu trữ và xử lý dữ liệu có cấu trúc.

Phạm vi ứng dụng Được sử dụng rộng rãi trong tính toán khoa học, xử lý ảnh, xử lý tín hiệu, vàcác tác vụ tính toán số.

Thường được sử dụng trong phân tích dữ liệu, xử lý dữ liệu có cấu trúc như bảng dữ liệu.

Tính linh hoạt Tập trung vào tính toán số học và không có khả năng xử lý dữ liệu có cấu trúc.

Có khả năng xử lý dữ liệu không đồng nhất, có thể chứa các kiểu dữ liệu khác nhau trong một cấu trúc dữ liệu.

Chương 6: Model trên Kaggle

Ngày đăng: 15/05/2024, 09:26

Tài liệu cùng người dùng

Tài liệu liên quan