Tải bản đầy đủ (.docx) (22 trang)

đồ án 2 chatbot hỗ trợ tư vấn bất động sản

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (741.97 KB, 22 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN</b>

<b>KHOA CÔNG NGHỆ PHẦN MỀM</b>

<b>------BÁO CÁO ĐỒ ÁN 2Đề tài:</b>

<b>CHATBOT HỖ TRỢ TƯ VẤN BẤT ĐỘNG SẢNGiảng viên hướng dẫn: Huỳnh Tuấn Anh</b>

<b>Lớp: SE122.011.PMCLSinh viên thực hiện:Phạm Thanh Phong – 20520272Hồ Hồng Đăng – 20520427</b>

<i>TP.HCM, tháng 12 năm 2023 </i>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>Lời cảm ơn</b>

Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đạihọc Công nghệ Thông tin – ĐHQG TP.HCM, em đã được trang bị các kiến thức cơbản cùng các kỹ năng thực tế để có thể hồn thành Đồ án 2 của mình.

Để hồn thành đồ án này, với lịng biết ơn sâu sắc em xin gửi lời cảm ơn chânthành đến:

Ban Giám hiệu trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM vì đãtạo điều kiện thuận lợi để sinh viên tìm kiếm, nghiên cứu thơng tin với hệ thốngthư viện hiện đại, đa dạng các loại sách và tài liệu.

Gần gũi hơn là những lời tốt đẹp nhất xin gửi đến đến thầy Huỳnh Tuấn Anhđã tận tình giúp đỡ, định hướng cách tư duy và hướng làm việc khoa học. Đó lànhững góp ý hết sức quý báu khơng chỉ trong q trình thực hiện đồ án mà cịn làhành trang tiếp bước cho em trong q trình học tập và làm việc sau này.

Sau cùng, xin chúc q Thầy Cơ trong khoa Cơng nghệ Phần mềm nói riêngcũng như các giáo viên tại trường Công nghệ thông tin nói chung thật dồi dào sứckhỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình.

Thành phố Hồ Chí Minh, 31 tháng 12 năm 2023Sinh Viên

<b>Phạm Thanh PhongHồ Hồng Đăng</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>2.1.3.Cách hoạt động của ChatGPT</b>...6

<b>2.1.4.Ưu điểm của ChatGPT</b>...6

<b>2.1.5.Nhược điểm của ChatGPT</b>...6

<b>2.2.Cơ sở lý thuyết</b>...7

<b>2.2.1.Học tăng cường từ phản hồi của con người - Reinforcement learning from human feedback (RLHF)</b>...7

<b>2.2.2.Xử lý ngôn ngữ tự nhiên - Natural language processing (NLP)</b>...10

<b>2.3.Phương pháp tích hợp ChatGPT với dữ liệu riêng</b>...13

<b>2.3.1.Chuẩn bị dữ liệu riêng</b>...13

<b>2.3.2.Tích Hợp Dữ Liệu vào Quá Trình Đào Tạo</b>...13

<b>2.3.3. X Lý Câu H i và Tìm Ki m Trong D Li u Riêngử Lý Câu Hỏi và Tìm Kiếm Trong Dữ Liệu Riêngỏi và Tìm Kiếm Trong Dữ Liệu Riêngếm Trong Dữ Liệu Riêngữ Liệu Riêngệu Riêng</b> ...13

<b>2.3.4. K t H p Câu Tr L i T ChatGPT và D Li u B t ếm Trong Dữ Liệu Riêngợp Câu Trả Lời Từ ChatGPT và Dữ Liệu Bất Động Sản Riêngả Lời Từ ChatGPT và Dữ Liệu Bất Động Sản Riêng ời Từ ChatGPT và Dữ Liệu Bất Động Sản Riêngừ ChatGPT và Dữ Liệu Bất Động Sản Riêngữ Liệu Riêngệu Riêngất Động Sản Riêng Động Sản Riêngng S n Riêngả Lời Từ ChatGPT và Dữ Liệu Bất Động Sản Riêng</b> ...14

<b>2.4. Cách l y ất Động Sản Riêng đượp Câu Trả Lời Từ ChatGPT và Dữ Liệu Bất Động Sản Riêngc API c a ChatGPTủa ChatGPT</b> ...14

<b>3. Tri n khai và ki m thển khai và kiểm thửển khai và kiểm thửử Lý Câu Hỏi và Tìm Kiếm Trong Dữ Liệu Riêng...15</b>

<b>3.1. Tri n khai Chatbotển khai và kiểm thử</b> ...15

<b>3.2. Ki m th và ánh giáển khai và kiểm thửử Lý Câu Hỏi và Tìm Kiếm Trong Dữ Liệu Riêng đ</b> ...15

<b>3.3. Hướng phát triển trong tương laing phát tri n trong tển khai và kiểm thửương laing lai</b>...15

<b>3.4. Cài đặt ...15t4. Các công c ụ được sử dụng đượp Câu Trả Lời Từ ChatGPT và Dữ Liệu Bất Động Sản Riêng ử Lý Câu Hỏi và Tìm Kiếm Trong Dữ Liệu Riêng ụ được sử dụng ...16c s d ng4.1. Visual Studio Code...16</b>

<b>4.2. Python...18</b>

<b>5. K t lu nếm Trong Dữ Liệu Riêngận ...20</b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>6. Tài li u tham kh oệu Riêngả Lời Từ ChatGPT và Dữ Liệu Bất Động Sản Riêng ...21</b>

<b>1. Giới thiệu </b>

<b>1.1.Lý do chọn đề tài</b>

Bất động sản đóng vai trị quan trọng trong đời sống hàng ngày của mọi người và là một lĩnh vực có nhiều yếu tố phức tạp, địi hỏi sự hiểu biết sâu rộng và quyết định đúng đắn. Chính vì vậy, việc phát triển một Chatbot hỗ trợ tư vấn bất động sản sẽ mang lại nhiều ưu điểm và lợi ích lớn, làm tăng trải nghiệm người dùng và hỗ trợ quyết định của họ trong quá trình mua, bán, hay đầu tư vào bất động sản.

Trong bối cảnh thị trường bất động sản ngày càng phát triển, nhu cầu tư vấn và hỗ trợ từ phíakhách hàng cũng ngày một tăng cao. Việc sử dụng trí tuệ nhân tạo và chatbot giúp giảm áp lực cho người làm bất động sản và cung cấp thơng tin chính xác, nhanh chóng cho người tiêudùng.

Chatbot có khả năng hoạt động 24/7 mà khơng mệt mỏi, giúp người dùng có thể nhận được tư vấn và thông tin mọi lúc, mọi nơi. Điều này không chỉ tiết kiệm thời gian mà còn tạo ra sự thuận tiện và linh hoạt cho người tiêu dùng, đặc biệt là những người có lịch trình bận rộn.Chatbot khơng chỉ là cơng cụ tìm kiếm thơng tin, mà cịn có khả năng tương tác với người dùng theo cách tự nhiên và thân thiện. Điều này tạo ra một trải nghiệm người dùng tương tác và cá nhân hóa, giúp họ cảm thấy được chăm sóc và hỗ trợ đặc biệt.

Chúng ta có khả năng kết hợp dữ liệu từ nền tảng riêng của chúng ta với khả năng đáp ứng ngôn ngữ tự nhiên của ChatGPT, tạo ra một hệ thống thông tin tồn diện và đáp ứng chính xác đến nhu cầu cụ thể của từng người dùng.

Phát triển một chatbot hỗ trợ tư vấn bất động sản không chỉ đáp ứng nhu cầu thị trường hiện tại mà cịn đóng góp vào xu hướng sử dụng trí tuệ nhân tạo để cải thiện các lĩnh vực khác nhau của đời sống xã hội.

<b>1.2.Mục tiêu</b>

Mục tiêu chính của đồ án là phát triển một chatbot có khả năng tư vấn bất động sản một cách thông minh và linh hoạt. Chatbot sẽ có khả năng hiểu và đáp ứng các câu hỏi của người dùngvới độ chính xác cao, đồng thời tương tác một cách tự nhiên.

Mục tiêu này nhằm tận dụng sức mạnh của API ChatGPT của OpenAI và kết hợp nó với dữ liệu từ nền tảng riêng. Chatbot sẽ sử dụng API để cải thiện khả năng hiểu ngôn ngữ tự nhiên và đồng thời tích hợp dữ liệu bất động sản cụ thể từ nền tảng để cung cấp thơng tin chính xácvà phản hồi tương tác.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Mục tiêu này là tiếp tục đánh giá hiệu suất của chatbot thông qua việc thu thập phản hồi từ người dùng. Dựa vào đánh giá, chúng tôi sẽ thực hiện các điều chỉnh và tối ưu hóa liên tục đểcung cấp một sản phẩm ngày càng hoàn thiện và đáp ứng nhu cầu thực tế.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>2. Công nghệ và phương pháp2.1.Sử dụng API ChatGPT</b>

<b>2.1.1. Giới thiệu về ChatGPT</b>

ChatGPT là một mơ hình ngơn ngữ tự nhiên do OpenAI phát triển, là một phiên bản của gia đình mơ hình GPT (Generative Pre-trained Transformer). Được đào tạo trên một lượng lớn dữ liệu từ Internet, ChatGPT là một trợ lý ảo có khả năng tương tác tự nhiên với người dùng thông qua việc tạo ra văn bản phản hồi.

<b>2.1.2. Kiến trúc GPT</b>

Mơ hình ChatGPT được xây dựng trên kiến trúc GPT (Generative Pre-trained Transformer), một kiến trúc mạng nơ-ron transformer. Công nghệ này dựa trên việc áp dụng cơ chế

transformer để hiểu và tạo ra ngôn ngữ tự nhiên.

<b>+ Transformer: Sử dụng kiến trúc transformer giúp mơ hình xử lý ngơn ngữ tự nhiên một </b>

cách hiệu quả với khả năng tương tác giữa các từ và đồng thời chú ý đến ngữ cảnh từ xa. Điều này làm cho mơ hình có khả năng nắm bắt thông tin và mối quan hệ phức tạp trong văn bản.

<b>+ Mơ Hình Đào Tạo Tiền (Pre-training): Q trình đào tạo tiền giúp mơ hình hiểu được </b>

cấu trúc và ngữ cảnh từ dữ liệu đa dạng trước khi nó được fine-tuned cho một mục đích cụ thể.

<b>+ Transfer Learning: Mơ hình ChatGPT sử dụng kỹ thuật transfer learning để chuyển giao </b>

kiến thức từ dữ liệu lớn được sử dụng trong quá trình đào tạo tiền. Điều này giúp mơ hình nắm bắt thơng tin tổng quát và biểu diễn ngôn ngữ tự nhiên.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>+ Fine-tuning: Sau quá trình đào tạo tiền, mơ hình được điều chỉnh hoặc "fine-tuned" trên </b>

một tập dữ liệu cụ thể hoặc cho một nhiệm vụ cụ thể như tư vấn bất động sản. Quá trình này giúp mơ hình tinh chỉnh hiệu suất và khả năng đáp ứng cho nhiệm vụ cụ thể đó.

<b>2.1.3. Cách hoạt động của ChatGPT</b>

ChatGPT được xây dựng dựa trên kiến trúc GPT, với ý tưởng chính là mơ hình được đào tạo trước trên dữ liệu lớn để hiểu và tái tạo ngơn ngữ tự nhiên. Nó sử dụng kiến trúc Transformerđể xử lý và tạo ra văn bản.

Mơ hình được đào tạo trước trên một lượng lớn dữ liệu và sau đó được fine-tune cho các nhiệm vụ cụ thể như chatbot. Q trình transfer learning giúp mơ hình nắm bắt được ngữ cảnh và kiến thức phổ quát từ dữ liệu rộng lớn.

<b>2.1.4. Ưu điểm của ChatGPT</b>

<b>+ Tính tương tác tự nhiên</b>

ChatGPT có khả năng tạo ra phản hồi và câu trả lời tự nhiên, gần với cách con người sử dụngngơn ngữ.

<b>+ Linh hoạt và đa dạng</b>

Mơ hình có khả năng xử lý nhiều loại nhiệm vụ và câu hỏi, từ tư vấn đến giải đố vấn đề.

<b>+ Khả năng Pre-training is Key</b>

Với việc đào tạo tiền (pre-training), ChatGPT có thể được fine-tune cho nhiều mục đích cụ thể, làm cho nó linh hoạt và đa dạng.

<b>2.1.5. Nhược điểm của ChatGPT</b>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>2.2.Cơ sở lý thuyết</b>

<b>2.2.1. Học tăng cường từ phản hồi của con người - Reinforcement learning from human feedback (RLHF)</b>

<b>2.2.1.1.Cách hoạt động của RLHF</b>

Quá trình RLHF có thể được chia thành nhiều bước:

<b>+ Đào tạo mơ hình ban đầu: </b>

Ban đầu, mơ hình AI được đào tạo bằng cách sử dụng phương pháp học có giám sát, trong đónhững người đào tạo con người cung cấp các ví dụ được dán nhãn về hành vi đúng. Mơ hình học cách dự đốn hành động hoặc đầu ra chính xác dựa trên các đầu vào đã cho.

<b>+ Thu thập phản hồi của con người: </b>

Sau khi mơ hình ban đầu được đào tạo, những người đào tạo con người sẽ tham gia cung cấp phản hồi về hiệu suất của mơ hình. Họ xếp hạng các đầu ra hoặc hành động khác nhau do mơhình tạo ra dựa trên chất lượng hoặc tính chính xác của chúng. Phản hồi này được sử dụng đểtạo tín hiệu khen thưởng cho việc học tăng cường.

<b>+ Học tăng cường: </b>

Sau đó, mơ hình được tinh chỉnh bằng cách sử dụng Tối ưu hóa chính sách gần nhất (PPO) hoặc các thuật tốn tương tự kết hợp các tín hiệu phần thưởng do con người tạo ra. Mơ hình

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

tiếp tục cải thiện hiệu suất của nó bằng cách học hỏi từ phản hồi do các huấn luyện viên con người cung cấp.

<b>+ Quá trình lặp lại: </b>

Quá trình thu thập phản hồi của con người và tinh chỉnh mơ hình thơng qua học tăng cường được lặp đi lặp lại, dẫn đến cải thiện liên tục hiệu suất của mơ hình.

<b>2.2.1.2. RLHF trong ChatGPT và GPT-4</b>

ChatGPT và GPT-4 là các mơ hình ngơn ngữ tiên tiến do OpenAI phát triển đã được đào tạo bằng RLHF. Kỹ thuật này đã đóng một vai trị quan trọng trong việc nâng cao hiệu suất của các mơ hình này và làm cho chúng có khả năng tạo ra các phản ứng giống con người hơn.Trong trường hợp của ChatGPT, mơ hình ban đầu được đào tạo bằng cách sử dụng tinh chỉnhcó giám sát. Các huấn luyện viên AI của con người tham gia vào các cuộc hội thoại, đóng cả vai trị người dùng và trợ lý AI, để tạo ra một bộ dữ liệu đại diện cho các tình huống hội thoạiđa dạng. Sau đó, mơ hình sẽ học từ bộ dữ liệu này bằng cách dự đoán phản hồi phù hợp tiếp theo trong cuộc trị chuyện.

Tiếp theo, q trình thu thập phản hồi của con người bắt đầu. Các huấn luyện viên AI xếp hạng nhiều câu trả lời do mơ hình tạo dựa trên mức độ liên quan, tính nhất quán và chất lượng của chúng. Phản hồi này được chuyển đổi thành tín hiệu phần thưởng và mơ hình đượctinh chỉnh bằng thuật toán học tăng cường.

GPT-4, phiên bản nâng cao của người tiền nhiệm GPT-3, tuân theo quy trình tương tự. Mơ hình ban đầu được đào tạo bằng cách sử dụng tập dữ liệu lớn chứa văn bản từ nhiều nguồn khác nhau. Phản hồi của con người sau đó được kết hợp trong giai đoạn học tăng cường, giúpmơ hình nắm bắt được các sắc thái và sở thích tinh tế khơng dễ được mã hóa trong các hàm phần thưởng được xác định trước.

<b>2.2.1.3. Lợi ích của RLHF trong Hệ thống AI</b>

RLHF mang lại một số lợi thế trong việc phát triển các hệ thống AI như ChatGPT và GPT-4:

<b>+ Cải thiện hiệu suất: </b>

Bằng cách kết hợp phản hồi của con người vào quá trình học tập, RLHF giúp các hệ thống AIhiểu rõ hơn về sở thích phức tạp của con người và tạo ra các phản hồi chính xác, mạch lạc và phù hợp với ngữ cảnh hơn.

<b>+ Khả năng thích ứng: </b>

RLHF cho phép các mơ hình AI thích ứng với các nhiệm vụ và tình huống khác nhau bằng cách học hỏi từ kinh nghiệm và chuyên môn đa dạng của người huấn luyện con người. Tính

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

linh hoạt này cho phép các mơ hình hoạt động tốt trong nhiều ứng dụng khác nhau, từ AI đàm thoại đến tạo nội dung và hơn thế nữa.

<b>+ Giảm thành kiến: </b>

Quá trình lặp đi lặp lại để thu thập phản hồi và tinh chỉnh mơ hình giúp giải quyết và giảm thiểu các sai lệch có trong dữ liệu đào tạo ban đầu. Khi những người đào tạo con người đánh giá và xếp hạng các kết quả đầu ra do mơ hình tạo ra, họ có thể xác định và giải quyết hành vi không mong muốn, đảm bảo rằng hệ thống AI phù hợp hơn với các giá trị của con người.

<b>+ Cải tiến liên tục: </b>

Quá trình RLHF cho phép cải tiến liên tục hiệu suất của mơ hình. Khi những người huấn luyện con người cung cấp nhiều phản hồi hơn và mơ hình trải qua q trình học tăng cường, nó ngày càng trở nên thành thạo trong việc tạo ra các kết quả đầu ra chất lượng cao.

<b>+ Tăng cường an toàn: </b>

RLHF góp phần phát triển các hệ thống AI an toàn hơn bằng cách cho phép người huấn luyện con người điều khiển mơ hình tránh tạo ra nội dung có hại hoặc khơng mong muốn. Vịng phản hồi này giúp đảm bảo rằng các hệ thống AI đáng tin cậy hơn trong các tương tác của chúng với người dùng.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>2.2.2. Xử lý ngôn ngữ tự nhiên - Natural language processing (NLP)</b>

<b>2.2.2.1.Giới thiệu</b>

<b>+ Khái niệm:</b>

Xử lý ngơn ngữ tự nhiên (NLP) là một nhánh của Trí tuệ nhân tạo.

Tập trung vào việc nghiên cứu sự tương tác giữa máy tính và ngơn ngữ tự nhiên của con người.

<b>+ Mục tiêu:</b>

Giúp máy tính hiểu và thực hiện hiệu quả những nhiệm vụ liên quan đến ngôn ngữ của con người như: tương tác giữa người và máy, cải thiện hiệu quả giao tiếp giữa con người với con người

Nâng cao hiệu quả xử lý văn bản và lời nói.

<b>2.2.2.2.Các thành phần của NLP</b>

<b>+ Hiểu ngơn ngữ tự nhiên (Natural Language Understanding - NLU)</b>

- Ánh xạ tới đầu vào đã biến ngôn ngữ tự nhiên thành các biểu diễn hữu ích - Phân tích các khía cạnh khác nhau của ngơn ngữ.

<b>+ Tạo ngôn ngữ tự nhiên (Natural Language Generation - NLG)</b>

Chúng ta phải tạo ra các cụm từ và câu có nghĩa, dưới dạng ngơn ngữ tự nhiên từ biểu diễn bên trong.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Quá trình này bao gồm:

- Lập kế hoạch văn bản: Trong quá trình này, chúng ta phải tìm kiếm và truy xuất các nội dung liên quan từ cơ sở tri thức.

- Lập kế hoạch về câu: Chúng ta phải chọn những câu từ cần thiết để thiết lập giọng điệu của câu.

- Hiện thực hóa văn bản: Về cơ bản, đây là quá trình ánh xạ kế hoạch các câu riêng lẻ thành cấu trúc câu.

<b>2.2.2.3.Các bước trong NLP</b>

<b>+ Lexical Analysis</b>

Chúng ta phải phân tích cấu trúc của từ. Các tập hợp gồm các từ và cụm từ trong một ngôn ngữ được gọi là một bộ từ vựng của một ngơn ngữ.

<b>+ Phân tích cú pháp (Syntactic Analysis)</b>

Chúng ta sẽ sử dụng phân tích cú pháp để phân tích các từ và cụm từ. Điều này đồng nghĩa với việc bạn phải sắp xếp các từ theo một cách cụ thể, trong đó, các từ phải có mối quan hệ với nhau.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b>2.2.2.4.Quá trình xử lý ngơn ngữ tự nhiên</b>

Trong quy trình NLP, một văn bản sẽ bao gồm cả lời nói trong đó, vì vậy, việc chuyển đổi giọng nói thành văn bản có thể được thực hiện dễ dàng.

Trong cơ chế này, nó bao gồm hai quá trình: - Hiểu về ngôn ngữ tự nhiên (NLU) - Tạo ra ngôn ngữ tự nhiên (NLG)

<b>+ Hiểu ngôn ngữ tự nhiên (NLU)</b>

Chúng tôi sử dụng hệ thống hiểu về ngôn ngữ tự nhiên để tìm hiểu ý nghĩa của văn bản nhất định. Đối với NLU, chúng ta phải hiểu rõ bản chất và cấu tạo của từng từ ngữ bên trong: 1. Sự mơ hồ về ngơn ngữ: Trong các ngơn ngữ sẽ có những từ có nhiều nghĩa

2. Sự mơ hồ về cú pháp: Về cơ bản, trong sự mơ hồ về cú pháp này được thể hiện ở tình huống khi mà 1 câu có nhiều cây phân tích cú pháp.

3. Sự mơ hồ về ngữ nghĩa: Một câu có nhiều nghĩa

4. Sự mơ hồ tương tự: Một từ đã được đề cập trước đây nhưng bây giờ, chúng lại có một ýnghĩa khác.

<b>+ Tạo ngơn ngữ tự nhiên (NLG)</b>

Về cơ bản, văn bản tự động được tạo ra từ dữ liệu có cấu trúc (định dạng có thể đọc được vớicác cụm từ và câu có nghĩa). Việc tạo ra một hệ thống ngôn ngữ tự nhiên NLG không hề dễ dàng, và chúng chỉ là tập con của NLP.

Việc hình thành ngơn ngữ tự nhiên được chia thành ba giai đoạn như sau:

1. Lập kế hoạch văn bản: Lúc này, chúng sẽ sắp xếp thứ tự nội dung trong dữ liệu cấu trúc.

2. Lập kế hoạch câu: Từ dữ liệu cấu trúc, chúng ta phải biết cách kết hợp các câu để biểu diễn luồng thông tin.

</div>

×