1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng hệ thống tìm kiếm và gợi ý bất động sản

105 30 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 105
Dung lượng 2,97 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục tiêu đề tài: Hệ thống tìm kiếm và gợi ý bất động sản được thực hiện dựa trên các mục đích cụ thể sau: - Thứ nhất là xây dựng được một ứng dụng có tính thực tiễn cao, có thể đưa vào s

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BÁO CÁO CUỐI KỲ

Trần Huy Quỳnh 18521329 Nguyễn Hữu Minh Quý 18521315

Thành phố Hồ Chí Minh, 2021

1

Trang 2

NHẬN XÉT CỦA GIẢNG VIÊN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

2

Trang 3

LỜI CẢM ƠN

Chúng em xin cảm ơn thầy – Ths Trần Anh Dũng đã giúp đỡ chúng em trong quátrình thực hiện và giải đáp thắc mắc về đồ án Qua đó chúng em có đủ kiến thức để hoànthành đồ án

Dù đã cố gắng hoàn thành đề tài trong phạm vi và khả năng cho phép nhưng chắcchắn sẽ không tránh khỏi những thiếu sót Chúng em rất mong nhận được sự thông cảm,góp ý và tận tình chỉ bảo từ Thầy nhằm hoàn thiện những kiến thức mà nhóm chúng em

đã học tập và là hành trang để nhóm chúng em thực hiện tiếp đề tài trong tương lai

Chúng em xin chân thành cảm ơn

Nhóm thực hiện

Thành phố Thủ Đức, tháng 12 năm 2021

3

Trang 4

ĐỀ CƯƠNG CHI TIẾT

Tên đề tài: Xây dựng hệ thống tìm kiếm và gợi ý bất động sản

Giảng viên hướng dẫn: ThS Trần Anh Dũng

Thành viên:

Nguyễn Hữu Minh Quý – 18521315

Trần Huy Quỳnh – 18521329

Thời gian thực hiện: Từ 27/09/2021 đến 24/12/2021

Nội dung đề tài:

1 Lý do chọn đề tài:

Ngày nay, việc sở hữu một thiết bị có thể truy cập Internet đã dễ dàng hơn nhiều do cáccông ty ngày càng tạo ra nhiều sản phẩm có giá thành rẻ Điều đó đã giúp cho Internet pháttriển và phủ sóng khắp mọi nơi, kéo theo đó là sự bùng nổ của các website cung cấp cácdịch vụ trực tuyến Và bất động sản là một lĩnh vực có sự quan tâm rất lớn vì mỗi ngườiđều muốn sở hữu cho mình một nơi ở để sinh sống, học tập và làm việc Nắm bắt đượcnhững nhu cầu đó của khách hàng, nhiều công ty, doanh nghiệp, tổ chức cá nhân nói chung

đã tạo ra các hệ thống bất động sản ngay trên các trang webgiúp mọi người dễ dàngtrong việc tìm kiếm nơi phù hợp và nhanh chóng Nhưng với thực trạng hiện nay, cóquá nhiều thông tin về bất động sản khiến cho khách hàng rất khó khăn trong việc lựachọn

Nhận thấy những hạn chế trong việc lựa chọn bất động sản của khách hàng nên nhóm em

đã thảo luận và quyết định chọn đề tài “Xây dựng hệ thống tìm kiếm và gợi ý bất độngsản” để giúp khách hàng có thể dễ dàng tìm kiếm các bất động sản vừa ý về chất lượng vàtài chính

2 Mục tiêu đề tài:

Hệ thống tìm kiếm và gợi ý bất động sản được thực hiện dựa trên các mục đích cụ thể sau:

- Thứ nhất là xây dựng được một ứng dụng có tính thực tiễn cao, có thể đưa vào sửdụng trong thực tế, giúp người dùng có thể đăng bán, tìm kiếm, xem thông tin cácbất động sản dễ dàng và nhanh chóng Ngoài ra hệ thống có thể gợi ý được các bấtđộng sản để người dùng có thể đưa ra sự lựa chọn chính xác nhất

- Thứ hai là giúp cho nhóm em có thể tìm hiểu về các công nghệ mới hiện nay Điều

đó giúp nhóm em có nhiều kinh nghiệm hơn, tạo tiền đề để phát triển sự nghiệp saunày

4

Trang 5

- Nhóm hy vọng dựa trên nền tảng lý thuyết được thầy cô truyền thụ lại cùng với sựtìm hiểu của nhóm có thể tạo ra kết quả tốt cho đồ án này.

3 Nhiệm vụ của đề tài:

- Cải tiến và hoàn thiện trang quản lý

- Áp dụng các thuật toán để cải tiến hệ thống gợi ý bất động sản

- Xây dựng hệ thống cho phép người dùng đăng tin chia sẻ bất động sản

- Crawl thêm nhiều dữ liệu để nội dung thêm phong phú

4 Đối tượng nghiên cứu:

- NodeJS, Express, MongoDB, ReactJS

- Recommender System:Content based recommender system, Collaborative filtering recommender system

• Quản lý thông tin người dùng

• Quản lý thông tin bất động sản

- Nghiên cứu các công nghệ cần thiết để hoàn thiện hệ thống

- Nghiên cứu về các thuật toán gợi ý để chọn ra thuật toán thích hợp

- Tham khảo các trang web bất động sản uy tín tại Việt Nam

- Tham khảo ý kiến của giảng viên để có thể được định hướng đúng, đạt kết quả tốt

5

Trang 6

7 Kế hoạch thực hiện: (thời gian thực hiện trong 12 tuần)

Phase 1: Tìm hiểu các thuật toán gợi ý và hoàn

1.1 - Tìm hiểu các thuật toán gợi ý

27/9/2021 –18/10/2020

QuỳnhQuý1.2 - Hoàn thiện trang quản lý

Phase 2: Ứng dụng các thuật toán gợi ý vào hệ

thống, tạo chức năng đăng bán bất động sản

7 tuần

2.1 - Nghiên cứu, phân tích và ứng dụng các thuật

toán gợi ý vào hệ thống

Tuần 4 –8(18/10/2021 –22/11/2021)

QuỳnhQuý

2.2 - Tạo chức năng đăng bán bất động sản

Tuần 9 – 10(22/11/2021 –6/12/2021)

QuỳnhQuý

3.1 - Kiểm thử

- Đánh giá

Tuần 11 – 12(6/12/2021 –20/12/2021)

QuỳnhQuý

6

Trang 7

Mục lục

Hệ thống gợi ý theo nội dung (Content-based approach): 19

Hệ thống gợi ý lọc cộng tác (Collaborative filtering): 20

Trang 8

Tìm kiếm: 28

Trang 9

9

Trang 12

Chương 1: Giới thiệu đề tài 1.1 Nội dung đề tài:

1.1.1 Lý do chọn đề tài:

Ngày nay, việc sở hữu một thiết bị có thể truy cập Internet đã dễ dàng hơn nhiều docác công ty ngày càng tạo ra nhiều sản phẩm có giá thành rẻ Điều đó đã giúp choInternet phát triển và phủ sóng khắp mọi nơi, kéo theo đó là sự bùng nổ của cácwebsite cung cấp các dịch vụ trực tuyến Và bất động sản là một lĩnh vực có sựquan tâm rất lớn vì mỗi người đều muốn sở hữu cho mình một nơi ở để sinh sống,học tập và làm việc Nắm bắt được những nhu cầu đó của khách hàng, nhiều công

ty, doanh nghiệp, tổ chức cá nhân nói chung đã tạo ra các hệ thống bất động sảnngay trên các trang webgiúp mọi người dễ dàng trong việc tìm kiếm nơi phùhợp và nhanh chóng Nhưng với thực trạng hiện nay, có quá nhiều thông tin vềbất động sản khiến cho khách hàng rất khó khăn trong việc lựa chọn

Nhận thấy những hạn chế trong việc lựa chọn bất động sản của khách hàng nênnhóm em đã thảo luận và quyết định chọn đề tài “Xây dựng hệ thống tìm kiếm vàgợi ý bất động sản” để giúp khách hàng có thể dễ dàng tìm kiếm các bất động sảnvừa ý về chất lượng và tài chính

- Thứ hai là giúp cho nhóm em có thể tìm hiểu về các công nghệ mới hiệnnay Điều đó giúp nhóm em có nhiều kinh nghiệm hơn, tạo tiền đề để pháttriển sự nghiệp sau này

- Nhóm hy vọng dựa trên nền tảng lý thuyết được thầy cô truyền thụ lại cùngvới sự tìm hiểu của nhóm có thể tạo ra kết quả tốt cho đồ án này

12

Trang 13

1.1.3 Nhiệm vụ của đề tài:

Xây dựng hệ thống bao gồm những chức năng cơ bản của một trang thông tin bấtđộng sản: xem tin bất động sản, tìm kiếm thông tin như: giá cả, địa chỉ, thể hiện chitiết thông tin bất động sản

Xây dựng hệ thống gợi ý cho từng người dùng: gợi ý bất động sản theo các thôngtin giá cả, địa chỉ của bất động sản theo các thông tin người dùng đã tìm kiếm trướcđó

1.1.4 Đối tượng nghiên cứu:

NodeJS, Express, MongoDB, ReactJS

Recommender System: Content based recommender system, Collaborative filtering recommender system

Search Engine

1.2 Phương pháp khảo sát:

Các website/ứng dụng tham khảo: batdongsan.com.vn, mogi.vn, hoozing.com…

13

Trang 14

Chương 2: Cơ sở lý thuyết 2.1 Tìm hiểu Nodejs:

Nodejs cung cấp kiến trúc hướng sự kiện (event-driven) và non-blocking I/OAPI, tối ưu hóa thông lượng của ứng dụng và có khả năng mở rộng cho mọihàm trong Node.js là không đồng bộ (asynchronous) Do đó, các tác vụ đềuđược xử lý và thực thi ở chế độ nền

- Ưu điểm:

Realtime: Đây là tính năng quan trọng nhất của NodeJS Realtime ở đây chính

là xử lý giao tiếp từ client tới máy chủ theo thời gian thực Giống như khi bạnlướt Facebook thì mỗi khi bạn comment hay like một topic nào đó thì ngay lậptức chủ topic và những người đã comment trên đó sẽ nhận được thông báo làbạn đã comment

Không đồng bộ: Tất cả các API của NodeJS đều không đồng bộ

(non-blocking), nó chủ yếu dựa trên nền của NodeJS Server và chờ đợi Servertrả dữ liệu về Việc di chuyển máy chủ đến các API tiếp theo sau khi gọi và cơchế thông báo các sự kiện của Node.js giúp máy chủ để có được một phản ứng

từ các cuộc gọi API trước (Realtime)

Chạy rất nhanh: NodeJs được xây dựng dựa vào nền tảng V8 Javascript

Engine nên việc thực thi chương trình rất nhanh

14

Trang 15

Đơn luồng nhưng khả năng mở rộng cao: Node.js sử dụng một mô hình

luồng duy nhất với sự kiện lặp cơ chế tổ chức sự kiện giúp các máy chủ để đápứng một cách không ngăn chặn và làm cho máy chủ cao khả năng mở rộng nhưtrái ngược với các máy chủ truyền thống mà tạo đề hạn chế để xử lý yêu cầu.Node.js sử dụng một chương trình đơn luồng và các chương trình tương tự cóthể cung cấp dịch vụ cho một số lượng lớn hơn nhiều so với yêu cầu máy chủtruyền thống như Apache HTTP Server

2.2 Tìm hiểu Express framework:

- Khái niệm:

Express js là một Framework nhỏ, nhưng linh hoạt được xây dựng trên nềntảng của Nodejs Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặcmobile

- Ưu điểm:

Framework giúp cho việc phát triển ứng dụng được rút ngắn đi rất nhiều Cũngnhư các framework dựa trên những ngôn ngữ khác như Rails (Ruby); Django(Python); Laravel, CakePHP (PHP)… Express được xây dựng dựa trênNodeJs Vậy nó có ưu điểm gì để ta lựa chọn cho việc phát triển ứng dụng.Express hỗ trợ việc phát triển ứng dụng theo mô hình MVC, mô hình phổ biếncho việc lập trình web hiện nay

Cho phép định nghĩa Middleware hỗ trợ cho việc tổ chức và tái sử dụng code.Định nghĩa routes và các request method đến server một cách dễ dàng

Trang 16

Ngoài ra, MongoDB là một cơ sở dữ liệu đa nền tảng, hoạt động trên các kháiniệm Collection và Document, nó cung cấp hiệu suất cao, tính khả dụng cao vàkhả năng mở rộng dễ dàng.

- Ưu điểm:

Điều đầu tiên phải kể đến ở đây là MongoDB không có các tính chất ràng buộcnhư trong RDBMS nên khi thao tác với mongoDB thì phải hết sức cẩn thận

Khác với RDBMS, dữ liệu trong đây không có sự ràng buộc và không có yêu

cầu tuân theo khuôn khổ nhất định, điều này giúp bạn tiết kiệm thời gian choviệc kiểm tra sự thỏa mãn về cấu trúc nếu muốn chèn, xóa, cập nhật hay thayđổi các dữ liệu trong bảng

MongoDB dễ dàng mở rộng hệ thống bằng cách thêm node vào cluster – cụmcác node chứa dữ liệu giao tiếp với nhau

Ưu điểm thứ tư là tốc độ truy vấn nhanh hơn nhiều so với hệ quản trị cơ sở dữ

liệu quan hệ RDBMS do dữ liệu truy vấn được cached lên bộ nhớ RAM để lượt

truy vấn sau diễn ra nhanh hơn mà không cần đọc từ ổ cứng

2.4 Tìm hiểu Reactjs:

- Khái niệm:

React là một thư viện UI phát triển tại Facebook để hỗ trợ việc xây dựng

những thành phần (components) UI có tính tương tác cao, có trạng thái và cóthể sử dụng lại được React được sử dụng tại Facebook trong production, vàInstagram được viết hoàn toàn trên React

Một trong những điểm hấp dẫn của React là thư viện này không chỉ hoạt độngtrên phía client, mà còn được render trên server và có thể kết nối với nhau.React so sánh sự thay đổi giữa các giá trị của lần render này với lần rendertrước và cập nhật ít thay đổi nhất trên DOM

- Ưu điểm:

16

Trang 17

Dễ sử dụng, giao diện thân thiện với người dùng:

React là một thư viện GUI nguồn mở JavaScript tập trung vào một điều cụ thể;hoàn thành nhiệm vụ UI hiệu quả Nó được phân loại thành kiểu “V” trong môhình MVC (Model-View-Controller)

Sử dụng ReactJS, lập trình viên có thể tạo ra những ứng dụng web hấp dẫn,nhanh và hiệu quả với mã hóa tối thiểu Người dùng sẽ cảm nhận rõ độ tối ưucủa ReactJS ở các component (thành phần) riêng lẻ

Thay vì phải làm việc trên toàn bộ ứng dụng website, khi sử dụng ReactJS,developer có thể chia nhỏ cấu trúc UI thành những component đơn giản hơn

Hỗ trợ Reusable Component trong Java:

React cho phép bạn sử dụng lại components đã được phát triển thành các ứngdụng khác có cùng chức năng Tính năng tái sử dụng component là một lợi thếkhác biệt cho các lập trình viên

Viết component dễ dàng hơn:

React component dễ viết hơn vì nó sử dụng , mở rộng cú pháp tùy chọn choJavaScript cho phép kết hợp HTML với JavaScript

JSX là một sự pha trộn tuyệt vời của JavaScript và HTML Nó làm rõ toàn bộquá trình viết cấu trúc trang web Ngoài ra, phần mở rộng cũng giúp rendernhiều lựa chọn dễ dàng hơn

JSX có thể không là phần mở rộng cú pháp phổ biến nhất, nhưng nó đượcchứng minh là hiệu quả trong việc phát triển components đặc biệt hoặc các ứngdụng có khối lượng lớn

Sử dụng JSX, người dùng có thể mở rộng cú pháp với nhiều lựa chọn dễ dàng.Quá trình viết cấu trúc trang web cũng rõ ràng hơn

17

Trang 18

Hiệu suất tốt hơn với Virtual DOM:

Các dự án ứng dụng trên website thường dễ gặp rắc rối trong quá trình DOM.Với lợi thế sử dụng Virtual-DOM, ReactJS sẽ giúp người dùng tránh được vấn

đề này

Bên cạnh đó, ReactJS cũng cho phép người dùng xây dựng các Virtual DOM

và host chúng trong bộ nhớ Ưu điểm này sẽ giúp Virtual thay đổi ngay khiDOM thực tế có sự thay đổi Cập nhật liên tục giúp các ứng dụng tránh tìnhtrạng bị gián đoạn Người dùng sử dụng liên tục, website ổn định giúp doanhthu duy trì và tăng trưởng vượt bậc

Hệ thống này sẽ ngăn DOM thực tế để buộc các bản cập nhật được liên tục Do

đó, tốc độ của ứng dụng sẽ không bị gián đoạn

Thân thiện với SEO:

React cho phép tạo giao diện người dùng có thể được truy cập trên các công cụtìm kiếm khác nhau Tính năng này là một lợi thế rất lớn vì không phải tất cảcác khung JavaScript đều thân thiện với SEO

Ngoài ra, vì React có thể tăng tốc quá trình của ứng dụng nên có thể cải thiệnkết quả SEO Cuối cùng tốc độ web đóng một vai trò quan trọng trong tối ưuhóa SEO

2.5 Tìm hiểu thuật toán gợi ý:

2.5.1 Tổng quan:

Hệ thống gợi ý (Recommender systems hoặc Recommendation systems) là mộtdạng của hệ hỗ trợ ra quyết định, cung cấp giải pháp mang tính cá nhân hóa màkhông phải trải qua quá trình tìm kiếm phức tạp Hệ gợi ý học từ người dùng vàgợi ý các sản phẩm tốt nhất trong số các sản phẩm phù hợp

Hệ thống khuyến nghị thường được xây dựng tự động dựa trên hồ sơ (profile) củangười dùng Hệ thống so sánh hồ sơ người dùng với một số đặc điểm tài liệu tham

18

Trang 19

khảo, và tìm cách dự đoán “đánh giá” mà người dùng sẽ cung cấp cho một nộidung mà người dùng đó vẫn chưa đánh giá.

Thông tin về người sử dụng được dùng cho hệ thống khuyến nghị tự động có thểchia thành hai loại: thông tin ẩn và thông tin hiện Các thông tin ẩn bao gồm cácthông tin như thời gian người mua xem sản phẩm, quá trình người dùng duyệt quacác sản phẩm trước khi chọn sản phẩm cuối cùng để xem, nguồn mà người dùngtruy cập đến trang hiện tại,… Các nội dung này rất dễ thu thập, nhưng thường có

độ nhiễu cao và không có tương tác trực tiếp với người dùng (hệ thống tự động ghilại lịch sử) Các thông tin hiện là các kết quả nhận được khi người dùng trực tiếpđưa ra đánh giá về sản phẩm như thích/ không thích, chấm điểm, bình luận… Cácthông tin này thường khó thu thập hơn rất nhiều so với thông tin ẩn, nhưng độchính xác cao hơn và rất hữu ích cho việc khuyến nghị

Kết quả của hệ khuyến nghị là dự đoán “đánh giá” của người dùng cho một sảnphẩm nhất định hoặc danh sách những sản phẩm mà người dùng có thể thích.Recommendation System thường được chia làm hai nhóm lớn:

- Content-based system: đánh giá đặc tính của items được recommend Vídụ: một user xem rất nhiều các bộ phim về cảnh sát hình sự, vậy thì gợi ýmột bộ phim trong cơ sở dữ liệu có chung đặc tính hình sự tới user này.Cách tiếp cận này yêu cầu việc sắp xếp các items vào từng nhóm hoặc đitìm các đặc trưng của từng items Tuy nhiên, có những items không cónhóm cụ thể và việc xác định nhóm hoặc đặc trưng của từng item đôi khi làbất khả thi

- Collaborative filtering: hệ thống gợi ý items dựa trên sự tương quan

(similarity) giữa các users và items Có thể hiểu rằng ở nhóm này, một itemđược recommend tới một user dựa trên những users có hành vi tương tự

2.5.2 Hệ thống gợi ý theo nội dung (Content-based approach):

19

Trang 20

Hệ thống gợi ý dựa theo nội dung (Content-based recommendation systems): là sự

kế thừa và mở rộng của lĩnh vực nghiên cứu lọc thông tin

Trong hệ thống thì các đối tượng được biểu diễn bởi các đặc điểm liên quan tớichúng

Ví dụ, hệ thống gợi ý văn bản như hệ thống lọc tin NewsWeeder sử dụng những từcủa các văn bản như các đặc điểm

Một số hệ thống gợi ý dựa trên nội dung học một hồ sơ cá nhân về sở thích củangười sử dụng dựa trên các đặc điểm xuất hiện trong chính các đối tượng người sửdụng đã đánh giá (rated) Hồ sơ người sử dụng của một hệ thống gợi ý theo nộidung phụ thuộc vào phương pháp học máy được dùng

Cây quyết định (Decision trees), mạng norton (neural nets) và biểu diễn dựa theovector (vector-based representations) đều có thể được sử dụng để học hồ sơ ngườidùng Hồ sơ người dùng trong gợi ý dựa theo nội dung là những dữ liệu lâu dài vàđược cập nhật theo thời gian

2.5.3 Hệ thống gợi ý lọc cộng tác (Collaborative filtering):

Hệ thống gợi ý dựa theo lọc cộng tác (Collaborative recommendation systems): làphương pháp gợi ý được triển khai rộng rãi nhất và thành công nhất trong thực tế

Hệ thống theo lọc công tác phân tích và tổng hợp các điểm số đánh giá của các đốitượng, nhận ra sự tương đồng giữa những người sử dụng trên cơ sở các điểm sốđánh giá của họ và tạo ra các gợi ý dựa trên sự so sánh này Hồ sơ (profile) củangười sử dụng điển hình trong hệ thống lọc cộng tác bao gồm một vector các đốitượng (item) và các điểm số đánh giá của chúng, với số chiều tăng lên liên tục khingười sử dụng tương tác với hệ thống theo thời gian

20

Trang 21

Một số hệ thống sử dụng phương pháp chiết khấu dựa trên thời gian (time-baseddiscounting) để tính toán cho yếu tố “trượt” đối với sự quan tâm của người sửdụng Trong một số trường hợp điểm số đánh giá (rating) có thể là nhị phân

(thích/không thích) hoặc các giá trị số thực cho thấy mức độ ưu tiên

Thế mạnh lớn nhất của kỹ thuật gợi ý theo lọc cộng tác là chúng hoàn toàn độc lậpvới sự biểu diễn của các đối tượng đang được gợi ý, và do đó có thể làm việc tốtvới các đối tượng phức tạp như âm thanh và phim

Hệ thống gợi ý lọc cộng tác có 2 hướng tiếp cận là:

- Lọc cộng tác dựa trên người dùng - User based approach:bản chất của lọccộng tác dựa trên người dùng chính là tìm người dùng có sở thích tương tự vớingười dùng hiện tại và gợi ý những thứ họ thích cho người dùng hiện tại

- Lọc cộng tác dựa trên sản phẩm - Item based approach:Chúng ta không cần

quan tâm đến user trong giải thuật lọc cộng tác dựa trên các item Mục đích của

phương pháp này chính là dựa vào dữ liệu trong quá khứ của các items để tìm

ra các items có độ tương đồng và gợi ý cho người dùng Chính vì thế nó khôngcần quan tâm đến người dùng hiện tại

Lọc cộng tác dựa trên giả định rằng những người đã đồng ý trong quá khứ sẽ đồng

ý trong tương lai và rằng họ sẽ thích các loại mặt hàng tương tự như họ thích trongquá khứ

Khi xây dựng mô hình từ hành vi của người dùng, sự phân biệt thường được thựchiện giữa các hình thức thu thập dữ liệu rõ ràng và tiềm ẩn

Hệ thống recommender so sánh dữ liệu đã thu thập với dữ liệu tương tự vàkhác nhau được thu thập từ những người khác và tính toán danh sách các mụcđược đề xuất cho người dùng

21

Trang 22

Một trong những ví dụ nổi tiếng nhất về lọc cộng tác là lọc cộng tác theotừng mục (những người mua x cũng mua y), một thuật toán được phổ biến rộng rãibởi hệ thống gợi ý của Amazon.com.

Các phương pháp lọc cộng tác thường gặp phải ba vấn đề: Cold Start, khảnăng mở rộng và sự thưa thớt (sparsity)

Một loại thuật toán lọc cộng tác cụ thể sử dụng hệ số ma trận hóa (matrixfactorization), kỹ thuật xấp xỉ ma trận cấp thấp (low-rank matrix approximation).Các phương pháp lọc cộng tác được phân loại là bộ lọc cộng tác dựa trên bộ nhớ

và dựa trên mô hình Một ví dụ nổi tiếng về các phương pháp dựa trên bộ nhớ làthuật toán dựa trên người dùng và các phương pháp dựa trên mô hình làKernel-Mapping Recommender

22

Trang 23

Chương 3: Mô Hình Usecase 3.1 Danh sách actor:

1 Nhân viên quản lý(Admin) Người có trách nhiệm quản lý trang web bất động

Trang 24

3.2.2 Usecase Nhân viên quản lý:

24

Trang 25

3.3 Danh sách các Use-case:

1 Đăng ký Thêm tài khoản người dùng mới

7 Quản lý đăng tin Đăng tin bất động sản, sửa tin đăng, xóa tin đăng

8 Quản lý bất động sản Thêm xóa sửa các thông tin bất động sản

9 Quản lý tiện ích Thêm xóa sửa các tiện ích

10 Quản lý danh mục bất động

sản

Thêm xóa sửa các danh mục bất động sản

11 Quản lý đăng tin Xác nhận tin đăng của khách hàng

12 Quản lý tài khoản Xóa tài khoản khách hàng

25

Trang 26

3.4 Đặc tả Use-case:

3.4.1 Đăng ký:

Tên chức năng Đăng ký

Tóm tắt Chức năng đăng ký trên hệ thống

Dòng sự kiện chính 1 Hệ thống hiển thị form đăng ký

2 Nhập thông tin vào form đăng ký và chọn nút “Đăng ký”

3 Hệ thống kiểm tra thông tin đăng ký

4 Thông báo về kết quả đăng kýDòng sự kiện khác 3.1 Thông tin đăng ký bị trùng hoặc người dùng điền thiếu thông

Actor: khách hàng và nhân viên quản lý

Điều kiện: Chọn chức năng đăng ký trên hệ thống

Trạng thái hệ thống sau

khi thực hiện use case

Người dùng đăng nhập thành công vào hệ thống, có thể sử dụng cácquyền mà hệ thống cho phép

26

Trang 27

3.4.2 Đăng nhập:

Tên chức năng Đăng nhập

Tóm tắt Chức năng đăng nhập vào hệ thống

Dòng sự kiện chính 1 Hệ thống hiển thị form đăng nhập

2 Nhập tên và tài khoản (bắt buộc) và nhấn “Đăng nhập”

3 Hệ thống kiểm tra thông tin đăng nhập

4 Hệ thống hiển thị trang chủ

Dòng sự kiện khác 3.1 Thông tin đăng nhập sai:

Hệ thống hiển thị thông báo tài khoản đăng nhập không hợp lệ.Các yêu cầu đặc biệt Không có

Trạng thái hệ thống

trước khi thực thiện use

case

Actor: Khách hàng và nhân viên quản lý

Điều kiện: Chọn chức năng đăng nhập trên hệ thống

Trạng thái hệ thống sau

khi thực hiện use case

Người dùng đăng nhập thành công vào hệ thống, có thể sử dụng cácquyền mà hệ thống cho phép

Điểm mở rộng Không có

27

Trang 28

3.4.3 Xem thông tin chi tiết bất động sản:

Tên chức năng Xem thông tin chi tiết bất động sản

Tóm tắt Chức năng xem thông tin chi tiết của bất động sản được chọn.Dòng sự kiện chính 1 Hệ thống danh sách các bất động sản trên trang chủ hoặc trên

trang tìm kiếm

2 Người dùng chọn một bất động sản để xem thông tin

3 Hiển thị thông tin chi tiết của bất động sản gồm: danh mục bấtđộng sản, địa chỉ, giá, số lượng phòng, diện tích, các tiện ích

Trạng thái hệ thống sau

khi thực hiện use case

Hiển thị danh sách bất động sản Người dùng có thể sử dụng cácquyền mà hệ thống cho phép

Điểm mở rộng Không có

28

Trang 29

3.4.4 Xem danh sách bất động sản:

Tên chức năng Xem danh sách bất động sản

Tóm tắt Chức năng xem danh sách bất động sản

Dòng sự kiện chính 1 Người dùng vào trang chủ website

2 Hệ thống danh sách các bất động sản trên trang chủ hoặc trêntrang tìm kiếm

Trạng thái hệ thống sau

khi thực hiện use case

Hiển thị danh sách bất động sản Người dùng có thể sử dụng cácquyền mà hệ thống cho phép

Điểm mở rộng Không có

29

Trang 30

3.4.5 Tìm kiếm:

Tên chức năng Tìm kiếm thông tin bất động sản

Tóm tắt Chức năng tìm kiếm bất động sản theo địa chỉ, giá, danh mục.Dòng sự kiện chính 1 Hệ thống hiển thị thanh tìm kiếm trên màn hình

2 Người dùng chọn và nhập thông tin tìm kiếm

3 Hiển thị danh sách bất động sản theo mức độ đánh giá

Trạng thái hệ thống sau

khi thực hiện use case

Hiển thị danh sách bất động sản Người dùng có thể sử dụng cácquyền mà hệ thống cho phép

Điểm mở rộng Không có

30

Trang 31

3.4.6 Gợi ý bất động sản:

Tên chức năng Gợi ý bất động sản

Tóm tắt Chức năng gợi ý bất động sản trên hệ thống

Dòng sự kiện chính 1 Chọn xem thông tin của bất động sản

2 Xem thông tin gợi ý bất động sản do hệ thống đề xuất

Trạng thái hệ thống sau

khi thực hiện use case

Hiển thị danh sách bất động sản Người dùng có thể sử dụng cácquyền mà hệ thống cho phép

Điểm mở rộng Không có

31

Trang 32

3.4.7 Quản lý đăng tin:

3.4.7.1 Đăng tin bất động sản:

Tên chức năng Đăng tin bất động sản

Tóm tắt Chức năng cho phép người dùng đăng tin bất động sản lên hệ thốngDòng sự kiện chính 1 Chọn chức năng đăng tin

2 Hệ thống hiển thị form đăng tin

3 Nhập đầy đủ thông tin và chọn “Đăng tin”

4 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì sẽ tiến hànhbước tiếp theo

5 Hệ thống lưu dữ liệu và thông báo tin đăng đang chờ xét duyệt.Dòng sự kiện khác 4.1 Thông tin không hợp lệ:

Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhậplại thông tin

Trạng thái hệ thống

trước khi thực thiện use

case

Actor: Khách hàngĐiều kiện: Đã đăng nhập

Trạng thái hệ thống sau

khi thực hiện use case

Hiển thị thông báo tin đang chờ xét duyệt

Các yêu cầu đặc biệt Không có

32

Trang 33

3.4.7.2 Xóa tin đăng

Tên chức năng Xóa tin đăng

Tóm tắt Chức năng xóa tin đã đăng của người dùng

Dòng sự kiện chính 1 Vào quản lý tin đăng và chọn tin đã đăng muốn xóa

Trạng thái hệ thống sau

khi thực hiện use case

Hiển thị thông báo

Điểm mở rộng Không có

3.4.7.3 Sửa tin đăng:

Tên chức năng Sửa tin đăng

Tóm tắt Cập nhật thông tin về tin đã đăng

Dòng sự kiện chính 1 Vào quản lý tin đăng, chọn tin đăng muốn sửa và nhấn sửa

2 Hệ thống hiển thị form sửa tin đăng

2 Người dùng nhập thông tin mới vào form và chọn “Lưu”

3 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì sẽ tiến hànhbước tiếp theo

4 Hệ thống lưu dữ liệu và thông báo thành công

Dòng sự kiện khác 3.1 Thông tin không hợp lệ:

Hệ thống hiển thị thông báo yêu cầu nhập lại thông tin

Các yêu cầu đặc biệt Không có

33

Trang 34

Trạng thái hệ thống

trước khi thực thiện use

case

Actor: khách hàngĐiều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sửdụng chức năng này

Trạng thái hệ thống sau

khi thực hiện use case

Người dùng cập nhật thành công thông tin của tin đăng trên hệthống

Điểm mở rộng Không có

3.4.8 Quản lý thông tin bất động sản:

3.4.8.1 Xóa thông tin bất động sản

Tên chức năng Xóa thông tin bất động sản

Tóm tắt Chức năng xóa thông tin chi tiết về bất động sản

Dòng sự kiện chính 1 Chọn một bất động sản muốn xóa

Trạng thái hệ thống sau

khi thực hiện use case

Hiển thị thông tin chi tiết về bất động sản Người dùng có thể sửdụng các quyền mà hệ thống cho phép

Điểm mở rộng Không có

3.4.8.2 Thêm thông tin bất động sản:

Tên chức năng Thêm thông tin bất động sản

Tóm tắt Chức năng thêm bất động sản trên hệ thống

Dòng sự kiện chính 1 Chọn chức năng thêm bất động sản

34

Trang 35

2 Hệ thống hiển thị form thêm bất động sản.

3 Nhập đầy đủ thông tin và chọn “Thêm bất động sản”

4 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì sẽ tiến hànhbước tiếp theo

5 Hệ thống lưu dữ liệu và thông báo thành công

Dòng sự kiện khác 4.1 Thông tin không hợp lệ:

Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhậplại thông tin

Các yêu cầu đặc biệt Không có

Trạng thái hệ thống sau

khi thực hiện use case

Người dùng thêm thành công bất động sản mới vào hệ thống

Điểm mở rộng Không có

3.4.8.3 Sửa thông tin bất động sản:

Tên chức năng Sửa thông tin bất động sản

4 Hệ thống lưu dữ liệu và thông báo thành công

Dòng sự kiện khác 3.1 Thông tin không hợp lệ:

35

Trang 36

Hệ thống hiển thị thông báo yêu cầu nhập lại thông tin.

Các yêu cầu đặc biệt Không có

Trạng thái hệ thống sau

khi thực hiện use case

Người dùng cập nhật thành công thông tin bất động sản trên hệthống

Điểm mở rộng Không có

3.4.9 Quản lý tiện ích:

3.4.9.1 Xem danh sách tiện ích:

Tên chức năng Xem danh sách tiện ích

Tóm tắt Xem danh sách các tiện ích

Dòng sự kiện chính 1 Vào trang tiện ích

2 Hiển thị danh sách các tiện ích

khi thực hiện use case

Hiển thị danh sách các tiện ích Người dùng có thể sử dụng cácquyền mà hệ thống cho phép

Điểm mở rộng Không có

3.4.9.2 Thêm tiện ích:

Tên chức năng Thêm tiện ích

Tóm tắt Chức năng thêm tiện ích

36

Trang 37

Dòng sự kiện chính 1 Chọn chức năng thêm tiện ích.

2 Hệ thống hiển thị form thêm tiện ích

3 Nhập đầy đủ thông tin và chọn “Thêm tiện ích”

4 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì sẽ tiến hànhbước tiếp theo

5 Hệ thống lưu dữ liệu và thông báo thành công

Dòng sự kiện khác 4.1 Thông tin không hợp lệ:

Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhậplại thông tin

Các yêu cầu đặc biệt Không có

Trạng thái hệ thống sau

khi thực hiện use case

Người dùng thêm thành công tiện ích mới vào hệ thống

Điểm mở rộng Không có

3.4.9.3 Sửa tiện ích:

Tên chức năng Sửa thông tin tiện ích

Tóm tắt Cập nhật thông tin tiện ích

Dòng sự kiện chính 1 Người dùng vào mục thông tin, nhập thông tin mới vào form

thông tin và chọn “Lưu”

2 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì sẽ tiến hànhbước tiếp theo

3 Hệ thống lưu dữ liệu và thông báo thành công

37

Trang 38

Dòng sự kiện khác 2.1 Thông tin không hợp lệ:

Hệ thống hiển thị thông báo yêu cầu nhập lại thông tin

Các yêu cầu đặc biệt Không có

Trạng thái hệ thống sau

khi thực hiện use case

Người dùng cập nhật thành công thông tin tiện ích trên hệ thống

Điểm mở rộng Không có

3.4.9.4 Xóa tiện ích:

Tên chức năng Xóa tiện ích

Tóm tắt Xóa tiện ích trên hệ thống

Dòng sự kiện chính 1 Vào mục danh sách tiện ích và chọn tiện ích muốn xóa khỏi hệ

Trang 39

Trạng thái hệ thống sau

khi thực hiện use case

Người dùng xóa thành công tiện ích trên hệ thống

Điểm mở rộng Không có

3.4.10 Quản lý danh mục bất động sản:

3.4.10.1 Xem danh sách danh mục:

Tên chức năng Xem danh sách danh mục

Tóm tắt Xem danh sách các danh mục

Dòng sự kiện chính 1 Vào trang danh mục

2 Hiển thị danh sách các danh mục

khi thực hiện use case

Hiển thị danh sách các tiện ích Người dùng có thể sử dụng cácquyền mà hệ thống cho phép

Điểm mở rộng Không có

3.4.10.2 Thêm danh mục:

39

Trang 40

Tên chức năng Thêm danh mục

Tóm tắt Chức năng thêm danh mục

Dòng sự kiện chính 1 Chọn chức năng thêm danh mục

2 Hệ thống hiển thị form thêm danh mục

3 Nhập đầy đủ thông tin và chọn “Thêm danh mục”

4 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì sẽ tiến hànhbước tiếp theo

5 Hệ thống lưu dữ liệu và thông báo thành công

Dòng sự kiện khác 4.1 Thông tin không hợp lệ:

Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhậplại thông tin

Các yêu cầu đặc biệt Không có

Trạng thái hệ thống sau

khi thực hiện use case

Người dùng thêm thành công tiện ích mới vào hệ thống

Điểm mở rộng Không có

3.4.10.3 Sửa danh mục:

Tên chức năng Sửa thông tin danh mục

Tóm tắt Cập nhật thông tin danh mục

Dòng sự kiện chính 1 Người dùng vào mục thông tin, nhập thông tin mới vào form

thông tin và chọn “Lưu”

2 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì sẽ tiến hànhbước tiếp theo

3 Hệ thống lưu dữ liệu và thông báo thành công

40

Ngày đăng: 08/03/2022, 21:38

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w