Tải bản đầy đủ (.pdf) (103 trang)

Khóa luận xây dựng hệ thống tư vấnbuôn bá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 (2.63 MB, 103 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
KHOA CƠNG NGHỆ PHẦN MỀM

NGUYỄN TRỌNG TÍNH

KHĨA LUẬN TỐT NGHIỆP

XÂY DỰNG HỆ THỐNG TƯ VẤN/BUÔN BÁN BẤT
ĐỘNG SẢN
REAL ESTATE CONSULTING/TRADING SYSTEM

KỸ SƯ/ CỬ NHÂN NGÀNH CÔNG NGHỆ PHẦN MỀM

TP. HỒ CHÍ MINH, 2023


THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……………………
ngày ………………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1. .......................................................... – Chủ tịch
2. .......................................................... – Thư ký
3. .......................................................... – Ủy viên
4. .......................................................... – Ủy viên


LỜI CẢM ƠN

Sau quá trình học tập và rèn luyện xuyên suốt 4 năm tại khoa Công nghệ


phần mềm trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM, em đã được
trang bị các kiến thức cơ bản, các kỹ năng thực tế để có thể thực hiện Khóa luận
tốt nghiệp của mình.
Để hồn thành Khóa luận này, chúng em xin gửi lời cảm ơn chân thà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 về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách,
tài liệu thuận lợi cho việc tìm kiếm, nghiên cứu thông tin.
Chúng em xin gửi lời cảm ơn chân thành đến cô Nguyễn Thị Thanh Trúc
và thầy Nguyễn Hà Giang đã tận tình giúp đỡ, định hướng cách tìm hiểu, làm việc
và hiện thực hóa ý tưởng một cách khoa học. Qua khoảng thời gian làm khóa luận,
chúng em đã nhận những góp ý hết sức quý báu cho chúng em khơng chỉ trong
q trình học tập mà cịn dành cho con đường lập nghiệp sau này.
Cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, tất cả thầy cô trong
khoa, bạn bè, tập thể lớp KTPM 2019 là những người đã luôn sẻ chia và giúp đỡ
trong học tập và cuộc sống trong quá trình học tập 4 năm.
Trong q trình làm Khóa luận này chúng em khơng tránh khỏi được những
sai sót, chúng em kính mong nhận được sự chỉ dẫn và góp ý của quý thầy cơ để
hồn thiện và phát triển sự nghiệp của bản thân trong tương lai.
Chúng em xin chân thành cảm ơn.
Thành phố Hồ Chí Minh, 22 tháng 06 năm 2023
Sinh viên

NGUYỄN TRỌNG TÍNH


MỤC LỤC

NỘI DUNG KHÓA LUẬN ................................................................................................................9
CHƯƠNG 1: MỞ ĐẦU .......................................................................................................................9
1.1. Lý do chọn đề tài ................................................................................................................9

1.2. Mục đích nghiên cứu ..................................................................................................... 10
1.2.1.

Mục đích khách quan ........................................................................................ 10

1.2.2.

Mục đích chủ quan ............................................................................................. 10

1.2.3.

Mục tiêu dự án ................................................................................................... 10

CHƯƠNG 2: KIẾN THỨC NỀN TẢNG ..................................................................................... 12
2.1

React JS .............................................................................................................................. 12

2.2. NodeJS................................................................................................................................. 13
2.3

Khái niệm hệ thống gợi ý (Recommendation system) ...................................... 13

2.3.1

Recommendation System .................................................................................... 13

2.3.2

Content-based recommendation system ......................................................... 14


2.3.3

Cơ chế điểm chú ý trong recommendation system ..................................... 15

2.3.4

Áp dụng thông tin bối cảnh trong recommendation system .................... 17

2.4

Thuật toán định giá Bất động sản .............................................................................. 17

2.4.1

Cây hồi quy (Regession Tree) ............................................................................ 19

CHƯƠNG 3: ÁP DỤNG HỆ THỐNG GỢI Ý, ĐỊNH GIÁ ...................................................... 31
3.1

Hệ thống định giá (Pricing system) .......................................................................... 31

3.1.1
3.2

Thu nhập, xử lí dữ liệu .......................................................................................... 31

Áp dụng vào đề tài .......................................................................................................... 32



3.2.1

Luồng xử lý ............................................................................................................... 32

3.2.2

Trực quan hóa dữ liệu ........................................................................................... 33

CHƯƠNG 4: CƠNG NGHỆ CHATBOT...................................................................................... 34
4.1

Dialogflow ......................................................................................................................... 34

4.2

Quy trình hoạt động ....................................................................................................... 36

4.2.1

Về Agent Bot............................................................................................................ 36

4.2.2

Về Intent .................................................................................................................... 36

4.3.3

Về fullFillment ........................................................................................................ 37

4.3


Áp dụng vào đề tài .......................................................................................................... 39

4.3.1

Giao diện chatbot .................................................................................................... 39

CHƯƠNG 5: XÂY DỰNG HỆ THỐNG....................................................................................... 41
5.1

Xác định yêu cầu hệ thống........................................................................................... 41

5.2

Phân tích ............................................................................................................................. 43

5.2.1

Tác nhân và Use case ............................................................................................ 43

5.2.2

Yêu cầu chức năng ................................................................................................. 45

5.2.3

Yêu cầu phi chức năng.......................................................................................... 66

5.3


Thiết kế dữ liệu ................................................................................................................ 67

5.3.1

Sơ đồ dữ liệu ............................................................................................................ 67

5.3.2

Chi tiết sơ đồ ............................................................................................................ 68

5.4

Thiết kế kiến trúc ............................................................................................................ 73

5.4.1

Mơ hình đồ án .......................................................................................................... 73

5.4.2

Các cơng nghệ sử dụng ......................................................................................... 74

5.5

Thiết kế giao diện............................................................................................................ 75

5.5.1

Chi tiết các màn hình ............................................................................................. 75



5.6

Quy trình thử nghiệm .................................................................................................. 96

5.6.1

Phân tích u cầu: (Requirement analysis) .................................................... 97

CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .......................................................... 98
6.1

Kết quả đạt được ............................................................................................................. 98

6.2

Chất lượng sản phẩm ..................................................................................................... 99

6.2.1

Tiêu chí/tiêu chuẩn ................................................................................................. 99

6.2.2

Những hạn chế ...................................................................................................... 100

6.3

Hướng phát triển ........................................................................................................ 100


TÀI LIỆU THAM KHẢO .............................................................................................................. 102


DANH MỤC HÌNH
Hình 2.1: ReactJS ........................................................................................................3
Hình 2.2: NodeJs .........................................................................................................4
Hình 3.1: Ví dụ về việc chia chuỗi các sự kiện nhấp chuột thành các chuỗi huấn luyện ....7
Hình 3.2: Cây hồi quy .................................................................................................8
Hình 3.3: Cây binary ................................................................................................13
Hình 3.4: bảng dữ liệu BĐS trong hệ thống...........................................................22
Hình 3.5: Mơ tả, loại và thơng tin được xử lý sau đó của các thuộc tính được mã
hóa trong các hồ sơ mục .........................................................................................24
Hình 3.6: Mơ tả và sự tham gia của các đặc trưng ngữ cảnh trong quá trình
trước và sau khi kết hợp .........................................................................................24
Hình 3.7 Thông tin các bất động sản trong hệ thống ............................................24
Hình 3.8 Kết quả dự đốn BDS ................................................................................24
Hình 4.1 Mơ tả cấu trúc Fullfillment của Dialogflow ............................................28
Hình 4.2 Giao diện chatbot ......................................................................................29
Hình 4.3 Giao diện quản lý hội thoại ......................................................................30
Hình 5.1 Sơ đồ usecase cho admin ........................................................................34
Hình 5.2: sơ đồ use-case cho user .........................................................................34
Hình 5.4 Sơ đồ cấu trúc dữ liệu ..............................................................................53
Hình 5.5 Sơ đồ mơ hình MVC ................................................................................59
Hình 5.6 Giao diện quản lý Mongodb ...................................................................61


TÓM TẮT KHÓA LUẬN

Trong bối cảnh hiện đại, khi việc hiện đại hóa và phát triển hệ thống phần mềm ngày
càng trở nên thiết yếu cho các công việc quảng bá, cung cấp thông tin và quản trị, và khi

người dùng cơng nghệ có khả năng tiếp cận ngày càng cao đến các nền tảng Web, việc xây
dựng một ứng dụng với tính thực dụng và các chức năng hữu ích trong cuộc sống trở nên
quan trọng hơn bao giờ hết.
Trong lĩnh vực bất động sản, đầu tư vào bất động sản đang thu hút sự quan tâm của
nhiều người. Tuy nhiên, khơng phải nhà đầu tư nào cũng có thể tự định hướng chính xác
để đem lại lợi nhuận như mong đợi. Việc tìm hiểu về các sản phẩm bất động sản, thị trường,
và thị hiếu trở nên quan trọng. Chính vì vậy, nhiều người tìm đến các chun gia có kinh
nghiệm để được tư vấn về bất động sản.
Tư vấn bất động sản là một bước rất quan trọng khi muốn bán một sản phẩm bất
động sản. Điều này bao gồm việc cung cấp những tài liệu nghiên cứu, số liệu thống kê và
thông tin cần thiết cho khách hàng. Những thông tin này là tài liệu tham khảo giúp khách
hàng đưa ra quyết định đầu tư.
Nhờ tư vấn bất động sản, khách hàng nhận được nhiều lợi ích như hiểu rõ giá trị và
tiềm năng của bất động sản mà họ định mua hoặc đầu tư. Không còn mơ hồ trong các thủ
tục giấy tờ và hợp đồng giao dịch nhà đất. Họ cũng có thể biết thêm về thị hiếu và nhu cầu
của nhiều khách hàng khác, điều này ảnh hưởng đến các quyết định đầu tư. Đồng thời,
khách hàng nhận được đề xuất mức giá và bất động sản phù hợp với điều kiện ngân sách.
Hiện nay, sự phát triển đa dạng của nền tảng công nghệ cung cấp giải pháp hỗ trợ
ưu việt cho các sàn giao dịch bất động sản khi nghiên cứu nhu cầu khách hàng và hỗ trợ tư
vấn/buôn bán bất động sản. Khả năng cập nhật công nghệ liên tục và đổi mới giúp khách
hàng thực hiện giao dịch nghiên cứu hiệu quả hơn, đồng thời giúp sàn giao dịch phát triển
ổn định và bền vững.


NỘI DUNG KHÓA LUẬN

CHƯƠNG 1: MỞ ĐẦU
1.1. Lý do chọn đề tài
Bất động sản là lĩnh vực có lực lượng người quan tâm hùng hậu. Bất động sản
đóng vai trị quan trọng trong nền kinh tế, góp phần thu hút vốn đầu tư trong và ngoài

nước, là cầu nối giữa người mua và bán, thúc đẩy phát triển khoa học kỹ thuật, …
Hay cụ thể hơn, bất động sản có mặt và ảnh hưởng đến hầu hết mọi hoạt động
của con người như: cư trú, làm việc, khai thác, canh tác, … Vì vậy, định giá bất động
sản là bài tốn được chú ý rất nhiều bởi những người có nhu cầu giao dịch bất động
sản.
Nhưng giá trị của bất động sản bị tác động bởi rất nhiều yếu tố. Đặc biệt các “cá
thể” bất động sản là không giống nhau gây ra việc định giá nhiều lúc không phù hợp.
Nhận thấy điều đó, em quyết định chọn đề tài này, nhằm tạo ra ứng dụng và đóng góp
vào phương pháp, đưa ra số liệu tham khảo về giá bất động sản. - Ứng dụng sẽ lấy dữ
liệu từ các trang nổi tiếng về đăng tin mua bán bất động sản, người dùng có nhu cầu
tham khảo về giá hay định giá bất động sản của bản thân có thể cung cấp thông tin và
nhận kết quả.

9


1.2. Mục đích nghiên cứu
1.2.1.

Mục đích khách quan

• Đáp ứng nhu cầu cho những người dùng cần được tư vấn để lựa chọn mua
bất động sản nhà đất, tư vấn về định giá Bất động sản muốn bán.
• Cung cấp một ứng dụng đa nền tảng có thể giúp người dùng có thể tiếp cận
với thị trường Bất động sản, cập nhật thơng tin liên quan
• Hỗ trợ nhân viên phía trung tâm cũng có thể truy cập vào Ứng dụng để cập
nhật, đăng tin một cách dễ dàng và nhanh chóng
1.2.2.

Mục đích chủ quan

Bản thân em đã ln có sự tị mị và hứng thú đối với các cơng nghệ liên

quan đến đề tài như Web và đặc biệt là Chatbot. Thông qua đề tài và sự dẫn dắt của
giáo viên hướng dẫn để mở mang hiểu biết, nghiên cứu và có được một cái nhìn tổng
quan hơn, chun sâu hơn về các công nghệ và vấn đề trên.
Bên cạnh đó, em thấy rằng đây là một cơ hội để có thể phát triển và áp dụng
các kĩ năng đã học vào thực tế, tạo nên một thành phẩm từ 4 năm học đã qua

1.2.3. Mục tiêu dự án
Mục tiêu chính của hệ thống Tư vấn/Giao dịch Bất động sản là tạo điều kiện thuận
lợi và tối ưu quá trình mua bán và quản lý tài sản bất động sản. Hệ thống này được
thiết kế để cung cấp một nền tảng cho các bên liên quan trong ngành bất động sản,
như người mua, người bán, các nhà môi giới và quản lý tài sản, giúp họ thực hiện các
giao dịch và hoạt động một cách hiệu quả.
Mục tiêu và tính năng chính của hệ thống Tư vấn/Giao dịch Bất động sản bao gồm:
• Liệt kê và Tìm kiếm Bất động sản: Hệ thống cho phép chủ sở hữu tài sản hoặc
các nhà môi giới bất động sản đăng ký liệt kê tài sản của họ với thông tin chi
tiết, bao gồm loại tài sản, vị trí, diện tích, giá cả và hình ảnh. Người mua tiềm
năng sau đó có thể tìm kiếm và lọc tài sản dựa trên sở thích và yêu cầu của họ.

10


• Đăng ký và Xác thực người dùng: Người dùng, như người mua, người bán và
các nhà mơi giới, có thể đăng ký và tạo tài khoản để truy cập các tính năng của
hệ thống. Cơ chế xác thực đảm bảo việc truy cập an tồn vào nền tảng.
• u cầu thông tin và Giao tiếp: Hệ thống giúp tạo điều kiện cho việc giao tiếp
giữa người mua, người bán và các nhà môi giới bất động sản. Người mua tiềm
năng có thể u cầu thơng tin về tài sản, lên kế hoạch xem nhà và đàm phán
với người bán hoặc nhà mơi giới.

• So sánh và Phân tích Bất động sản: Hệ thống có thể cung cấp các cơng cụ để
so sánh tài sản dựa trên các tiêu chí khác nhau, giúp người dùng đưa ra quyết
định thông minh. Ngồi ra, hệ thống có thể cung cấp phân tích và xu hướng
thị trường để hỗ trợ người mua và người bán hiểu rõ giá trị tài sản.
• Quản lý Giao dịch: Hệ thống hỗ trợ quản lý toàn bộ quy trình giao dịch bất
động sản, từ đàm phán giá cả đến tạo hợp đồng và xử lý tài liệu.
• Báo cáo và Hiểu biết: Hệ thống có thể tạo ra báo cáo và phân tích về hiệu suất
tài sản, xu hướng bán hàng và hoạt động của người dùng để hỗ trợ quyết định
và phát triển kinh doanh.
Tổng thể, mục tiêu của hệ thống Tư vấn/Giao dịch Bất động sản là tạo ra một nền
tảng kỹ thuật số thân thiện và hiệu quả giúp nâng cao trải nghiệm bất động sản cho
tất cả các bên liên quan, làm cho giao dịch và quản lý tài sản trở nên tiện lợi và minh
bạch hơn.

11


CHƯƠNG 2: KIẾN THỨC NỀN TẢNG
2.1

React JS

Hình 2.1: ReactJs

ReactJS (hoặc đơn giản là React) là một thư viện JavaScript mã nguồn mở được
phát triển bởi Facebook. Nó được sử dụng chủ yếu để xây dựng giao diện người
dùng (UI) hoặc các thành phần front-end của các ứng dụng web. React cho phép
nhà phát triển tạo các thành phần UI có thể tái sử dụng và quản lý trạng thái của các
thành phần này một cách hiệu quả.


Sự phổ biến của React đã tăng đáng kể qua các năm nhờ vào hiệu suất, khả năng mở
rộng và các tính năng thân thiện với nhà phát triển. Nó có một hệ sinh thái rộng lớn
các thư viện và công cụ làm cho nó mạnh mẽ và linh hoạt hơn trong việc xây dựng
các ứng dụng web hiện đại.

12


2.2. NodeJS

Hình 2.2: nodeJS

Node.js là một môi trường chạy mã nguồn mở, phía máy chủ được xây dựng trên bộ
cơng cụ JavaScript V8 của Chrome. Nó cho phép nhà phát triển chạy mã JavaScript
bên ngồi trình duyệt web, giúp thực thi mã JavaScript phía máy chủ. Node.js được
thiết kế với hướng sự kiện và khơng chặn, điều này có nghĩa là nó có thể xử lý một
lượng lớn kết nối đồng thời một cách hiệu quả.
Nhờ tính hiệu quả, khả năng mở rộng và hệ sinh thái phong phú, Node.js đã trở nên
rất phổ biến và thường được sử dụng trong phát triển web để xây dựng các ứng dụng
phía máy chủ, các dịch vụ vi mô, ứng dụng thời gian thực và nhiều dự án khác.
2.3

Khái niệm hệ thống gợi ý (Recommendation system)
2.3.1 Recommendation System
Hệ thống gợi ý, hay tiếng anh là Recommender System, là một hệ thống có khả

năng tự động gợi ý cho người dùng những sản phẩm họ có thể thích. Đây là một giải pháp
thay thế tốt nhất cho các thuật tốn tìm kiếm, khi mà những sản phẩm họ có thể thích được
tự động đề xuất kể cả khi người dùng có thực hiện hành động tìm tiếm hay khơng. Bằng
cách sử dụng bộ dữ liệu thu thập được từ phía người dùng trước đó, hệ thống sẽ tiến hành

dự đốn và đưa ra kết quả gợi ý cho người dùng về những sản phẩm, tính năng, hay dịch

13


vụ... liên quan phù hợp với sở thích, độ quan tâm của người dùng. Từ đó giúp nâng cao
được chất lượng dịch vụ cho ứng dụng cũng như thu lại được lợi nhuận cao, đặc biệt trong
các sàn thương mại điện tử.
Recommemder System là một trong những mảng tương đối lớn của Học Máy
Machine Learning và cũng có lịch sử khá lâu đời, khi lần đầu tiên hệ thống được đề cập
trong một bài báo cáo kĩ thuật năm 1990 bởi Jussi Karlgren tại Đại Học Columbia và sau
đó được triển khai quy mô lớn từ năm 1994 trở đi bởi Jussi Karlgren. Tuy nhiên, thực tế
Recommendation Systems là chỉ thực sự bùng nổ khoảng 10-15 năm gần đây, khi việc
tương tác trực tuyến của người dùng gia tăng, và sự phát triển mạnh mẽ của các sàn thương
mại điện tử, và cũng không thể thiếu sự tiến bộ của ngành Khoa học dữ liệu hiện nay.
Về phân loại, các Recommender Systems thường được chia thành hai nhóm lớn:
o Content-based systems: hoạt động dựa vào đặc điểm của items
o Collaborative filtering: hoạt động với sự cộng tác của users và rating. Trong
đề tài này, nhóm chúng em tập trung phát triển hệ thống gợi ý, Recommender
System theo hướng thứ hai: Collaborative filtering

2.3.2 Content-based recommendation system
Nội dung đề cập đến các thuộc tính của một bất động sản; điều này có thể thể hiện
dưới dạng của các loại dữ liệu khác nhau, chẳng hạn như siêu dữ liệu và văn bản miêu tả.
Hệ thống đề xuất dựa trên nội dung bao gồm một trình học hồ sơ (profile learner) và một
thành phần lọc khi làm việc với các biểu diễn bất động sản theo mục có cấu trúc.Trình học
hồ sơ dự đoán hồ sơ người dùng từ những lần tương tác với các bất động sản từ đó trích
xuất ra các thuộc tính đại diện tương tự như:









Tầm giá
Diện tích
Vị trí
Số tầng, phòng ngủ, nhà vệ sinh
Hướng nhà
Trạng thái sổ, pháp lý

Sau đó thành phần lọc xác định các mục quan trọng có liên quan bằng cách sử dụng

thuật tốn so khớp. Vì nó chỉ dựa vào trên các thuộc tính vật phẩm, nó có thể liên tục đề

14


xuất mặt hàng. Ở đây, Theo cách tiếp cận này để giải quyết mục vấn đề khởi động nguội.
Chúng tôi sử dụng cách tiếp cận nearest-neighbors.
Độ tương tự cosine có trọng số như một thành phần lọc. Chúng tôi chọn độ tương
tự cosine có trọng số làm chức năng tương tự do hiệu quả và tính linh hoạt của nó với
người dùng và hồ sơ bất động sản, là các vectơ chiều cao. có trọng số độ đồng dạng cosine
được định nghĩa như sau:

Similarity =

∑𝑖 𝑤𝑖 𝑢𝑖 𝑣𝑖

√∑𝑖 𝑤𝑖 𝑢𝑖2 √∑𝑖 𝑤𝑖 𝑣𝑖2

trong đó 𝑢𝑖 và 𝑣𝑖 lần lượt là các thành phần của vectơ u và v, và sẽ là trọng số tương
ứng với cả hai thành phần.
2.3.3 Cơ chế điểm chú ý trong recommendation system
Sự nhấp chuột, xem them từ phía người dùng được sử dụng trong hệ thống đề xuất
định kỳ, hay còn gọi là những phản hồi ngầm. Đó là một phản hồi gián tiếp ngụ ý từ hành
vi của người dùng và yêu cầu xem xét cẩn thận do đặc điểm rất tự nhiên và khơng có tiêu
cực. Nhưng cũng khơng thể xác định liệu người dùng thích hay khơng thích mục mà họ đã
nhấp vào, cũng như một cú nhấp chuột là một cú nhấp chuột sai.
RNN (Recurrent Neural Network) được sử dụng như một lớp trung tâm của mơ hình
nhờ khả năng của nó trong việc nhận diện các mẫu tuần tự. Hệ thống hoạt động bằng cách
nhận chuỗi các sự kiện trong phiên làm việc, [e1, e2, ..., en−1, en], và dự đốn sự kiện tiếp
theo en+1, trong đó ei là sự kiện thứ i trong phiên. Nhiệm vụ này có thể là phân loại đa
lớp hoặc nhị phân, xem mỗi mục là một lớp riêng biệt. Kết quả đầu ra của hệ thống liệt kê
điểm số cho mỗi mục, sau đó hệ thống chỉ đề xuất các mục có điểm số cao nhất (top-n)
cho người dùng. Profile learner sẽ sử dụng cấu trúc này để dự đoán hồ sơ người dùng từ

15


các mẫu tuần tự.

Hình 3.1: Ví dụ về việc chia chuỗi các sự kiện nhấp chuột thành các chuỗi huấn
luyện
Giả sử chúng ta có chuỗi nhấp chuột là [e1, e2, e3, e4, e5]. Để chia nó thành các
chuỗi huấn luyện, chúng ta sử dụng mọi tiền tố có thể trong chuỗi ban đầu, kèm theo sự
kiện tiếp theo làm giá trị đúng. Dưới đây là các chuỗi huấn luyện tạo ra từ chuỗi nhấp
chuột này:
Chuỗi huấn luyện 1: [e1], giá trị đúng là e2.

Chuỗi huấn luyện 2: [e1, e2], giá trị đúng là e3.
Chuỗi huấn luyện 3: [e1, e2, e3], giá trị đúng là e4.
Như vậy, chúng ta đã chia chuỗi nhấp chuột ban đầu thành 4 chuỗi huấn luyện khác
nhau, mỗi chuỗi có đầu vào là một tiền tố của chuỗi ban đầu và giá trị đúng là sự kiện tiếp
theo của tiền tố đó.
Q trình chia chuỗi các sự kiện thành các chuỗi huấn luyện phù hợp với cấu trúc
tương ứng được đề xuất. Mỗi chuỗi huấn luyện chứa các chuỗi đầu vào và các giá trị đúng.
Chúng tôi thu được các chuỗi đầu vào bằng cách sử dụng mọi tiền tố có thể có trong chuỗi

16


huấn luyện, với các sự kiện tiếp theo làm giá trị đúng (Hình 3.1). Điều này giúp tạo ra một
số lượng đủ lớn các chuỗi huấn luyện cho việc học sâu.
Vì thế, trình học hồ sơ (profile learner) sử dụng sự chú ý cơ chế để đối phó với
tiếng ồn và nắm bắt mục đích của trình tự, ưu tiên cho mỗi lần nhấp khác nhau. Ở đây, hệ
thống theo dõi phần mã hóa của sự chú ý thần kinh máy khuyến nghị (NARM)
NARM (Neural Attentive Session-based Recommendation Model) là một hệ thống
gợi ý dựa trên phiên với kiến trúc mã hóa-giải mã và sử dụng cơ chế chú ý (attention).
Phần mã hóa của NARM bao gồm hai bộ mã hóa, bộ mã hóa tồn cục (global encoder) và
bộ mã hóa cục bộ (local encoder).
Bộ mã hóa tồn cục đại diện cho toàn bộ hành vi của người dùng trong chuỗi nhấp
chuột, nghĩa là trạng thái ẩn cuối cùng của RNN như sau:

𝑐𝑔 = ℎ𝑡
trong đó 𝑐𝑔 là đầu ra của bộ mã hóa tồn cục và ℎ𝑡 là trạng thái ẩn cuối cùng của RNN.
Bộ mã hóa cục bộ đại diện cho mục đích chính của chuỗi nhấp chuột, được định nghĩa là
tổng của các trạng thái ẩn có trọng số từ mỗi bước thời gian như sau:
𝑛


𝑐𝑙 = ∑ 𝛼𝑗 ℎ𝑗
𝑗=1

trong đó cl là đầu ra của bộ mã hóa cục bộ, hj là trạng thái ẩn của RNN tại bước thời gian j
và αj là yếu tố có trọng số, được định nghĩa như sau:

𝛼𝑗 =

𝑒 𝑠𝑐𝑜𝑟𝑒(ℎ𝑡,ℎ𝑗)
∑𝑛𝑗=1 𝑒 𝑠𝑐𝑜𝑟𝑒(ℎ𝑡,ℎ𝑗

trong đó σ là hàm kích hoạt, A3 là vector trọng số, và A1 và A2 là các trọng số đã học của
ht và hj tương ứng. Kết quả là cả đầu ra từ bộ mã hóa tồn cục và bộ mã hóa cục bộ được
nối lại và sử dụng trong tính tốn các lớp tiếp theo.

2.3.2 Áp dụng thông tin bối cảnh trong recommendation system
Thông tin bối cảnh, như thời gian và vị trí của dịch vụ được yêu cầu, rất hữu ích khi
áp dụng vào nhiệm vụ gợi ý [1]. Bộ học hồ sơ của chúng tôi sử dụng kỹ thuật LC [5] để

17


tích hợp hiệu quả các đặc trưng bối cảnh, vượt qua những khó khăn tồn tại trong việc tăng
số chiều của đầu vào có thể dẫn đến việc tăng số đơn vị ẩn trong mơ hình. Nó hoạt động
bằng cách xác định tích các phần tử của tất cả các đặc trưng bối cảnh nhúng trong các trạng
thái ẩn như sau:
ℎ𝑗 = (1 + ∑ 𝑤𝑖 ) ∗ ℎ𝑗
trong đó hj là trạng thái ẩn của RNN tại bước thời gian j và wi là đặc trưng bối cảnh được
nhúng. Lớp nhúng của mỗi đặc trưng bối cảnh được khởi tạo bằng phân phối Gaussian có
trung bình 0 để đảm bảo rằng thuật ngữ nhân có trung bình là 1. Việc khởi tạo này khiến

cho thuật ngữ nhân hoạt động như một cơ chế chú ý trong trạng thái ẩn. Phép nhân từng
phần tử được thực hiện trước và sau khi đi qua RNN như được hiển thị trong Hình 3.
Những phép nhân này được coi là quá trình tiền xử lý và hậu xử lý lần lượt.

18


2.4 Thuật toán định giá Bất động sản
2.4.1 Cây hồi quy (Regession Tree)
Cây hồi quy được dựa trên cây quyết định (decision tree).
a/ Cây hồi quy là cây mà:
- Là cây nhị phân.
- Root (gốc): là nút đại diện cho mẫu, là nút khơng có nút cha.
- Decision node (nút quyết định): là nút có nút con, hay nút được tách ra thành nút con
từ hành động “splitting”.
- Leaf / Terminal node (lá, nút cuối): là nút khơng có nút con, nút lá, hay nút này ta
không “splitting”.
- Lá con bên trái là “Đúng”, lá con bên phải là “Sai”.
b/ Các thao tác với cây hồi quy:
- Splitting (tách, chẻ): là hành động khi chia 1 nút thành nhiều nút con.
- Pruning (cắt tỉa): là hành động khi ta xóa đi nút con của nút quyết định, ngược với
hành động “splitting”.

19


Hình 3.2: Cây hồi quy

c/ Dựng cây hồi quy:
Ví dụ ta có dữ liệu như sau:


Giá

Diện Tích

10

126

15

152

17

116

11

133

Ta sẽ phải tạo root cho cây (hay tìm ứng cử viên cho splitting):
Ban đầu ta có 1 tập gồm 4 điểm (giá, diện tích) là (10;126) (11;133) (15;152) (17;116) đã
được sắp xếp theo diện tích.

Ta chọn 2 điểm đầu tiên là (17;116) (10;126)

20



Trung bình diện tích của 2 điểm này là (116 + 126) / 2 = 121 m2

Chia 4 điểm thành 2 tập là đỏ S1 và xanh S2, tách nhau bởi đường thẳng x = 121

21


Trung bình “Giá” của tập S1 = 17/1 = 17 tỷ.
Trung bình “Giá” của tập S2 = (10+11+15)/3 = 12 tỷ.
Lúc này ta có cây là:

Hình 3.3 Cây binary
Nhưng đây liệu có là “root” tốt? Để tìm được root tốt, ta tính giá trị “residual”. Residual là
khoảng cách thẳng đứng từ điểm đến đường hồi quy (đường màu xanh lá trên đồ thị).
Ta tính tổng các residual khi chọn root là trung bình diện tích của 2 điểm đầu tiên.

22


Tổng residual = (17 – 17)2 + (10 – 12)2 + (11 – 12)2 + (15 – 12)2 = 4 + 1 + 9 = 14
Tương tự, ta lần lượt chọn các cặp điểm tiếp theo, lần lượt chia thành 2 tập đỏ và xanh, vẽ
đường hồi quy, tính tổng residual. Cặp nào có tổng residual bé nhất thì trung bình diện tích
của cặp đó sẽ là root.
Cặp điểm tiếp theo (10,126) (11,133)

23


Tổng residual = (17 – 13.5)2 + (10 – 13.5)2 + (11 – 13)2 + (15 – 13)2 = 12.25 + 12.25 + 4 +
4 = 32.5


Cặp tiếp theo (11, 133) (15, 152)

24


Tổng residual = (17 – 12.67)2 + (10 – 12.67)2 + (11 – 12.67)2 + (15 – 15)2 = 28.67

Từ 3 cặp điểm trên ta có:

25


×