1. Trang chủ
  2. » Tất cả

Ứng dụng hẹn hò ghép đôi ngẫu nhiên hoặc có chọn lọc (đồ án học phần trí tuệ nhân tạo)

26 8 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

Tiêu đề Ứng dụng hẹn hò ghép đôi ngẫu nhiên hoặc có chọn lọc (đồ án học phần trí tuệ nhân tạo)
Tác giả Phạm Lý Thái Ngân, Nguyễn Thị Kiều My, Châu Hoàng Khiêm, Huỳnh Hữu Phúc, Lê Bảo Quốc
Người hướng dẫn Thầy Huỳnh Văn Đức
Trường học Trường Công Nghệ Và Thiết Kế, Đại Học UEH
Chuyên ngành Trí Tuệ Nhân Tạo
Thể loại Báo cáo đồ án học phần
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 26
Dung lượng 627,52 KB

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

Nội dung

Untitled ĐẠI HỌC UEH TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ KHOA CÔNG NGHỆ THÔNG TIN KINH DOANH BỘ MÔN CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN HỌC PHẦN TRÍ TUỆ NHÂN TẠO Đề tài “ỨNG DỤNG HẸN HÒ – GHÉP ĐÔI NGẪU NHIÊN H[.]

Trang 1

ĐẠI HỌC UEH TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ KHOA CÔNG NGHỆ THÔNG TIN KINH DOANH

BỘ MÔN CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN HỌC PHẦN

TRÍ TUỆ NHÂN TẠO

Đề tài: “ỨNG DỤNG HẸN HÒ – GHÉP ĐÔI NGẪU

NHIÊN HOẶC CÓ CHỌN LỌC”

GVHD: Thầy Huỳnh Văn Đức

Nhóm thực hiện: Nhóm 5

Họ tên sinh viên:

Phạm Lý Thái Ngân (Nhóm trưởng) Nguyễn Thị Kiều My

Châu Hoàng Khiêm Huỳnh Hữu Phúc

Lê Bảo Quốc

TP Hồ Chí Minh, Tháng 05/2022

Trang 2

MỤC LỤC

Lời mở đầu 4

BẢNG PHÂN CÔNG CÁC THÀNH VIÊN 5

TỔNG QUAN 6

1 Tình huống sử dụng 6

2 Yêu cầu hê ̣ thống/ Use case activity diagram 6

3 Xác định đầu vào và các bài toán cần giải 6

NỘI DUNG 7

1 PHẠM LÝ THÁI NGÂN 7

1.1 Bài toán 7

1.2 Ví dụ 7

1.3 Thư viện 7

1.4 Mô hình 8

1.5 Huấn luyện 8

1.6 Trực quan dữ liệu và mô hình 8

1.7 Bình luận 8

2 CHÂU HOÀNG KHIÊM 9

2.1 Giới thiệu 9

2.2 Bài toán 9

2.3 Ví dụ 9

2.4 Thư viện 10

2.5 Huấn luyện 10

2.6 Trực quan dữ liệu và mô hình 10

2.7 Bình luận 13

3 NGUYỄN THỊ KIỀU MY 14

Trang 3

4.1 Bài toán 17

4.2 Ví dụ 17

4.3 Thư viện 17

4.4 Mô hình 17

4.5 Huấn luyện 18

4.6 Trực quan dữ liệu và mô hình 18

4.7 Bình luận 19

5 HUỲNH HỮU PHÚC 20

5.1 Giới thiê ̣u: 20

5.2 Bài toán / ví dụ: 20

5.3 Thư viê ̣n: 20

5.4 Mô hình: 21

5.5 Huấn luyê ̣n: 21

5.6 Trực quan dữ liê ̣u và mô hình: 22

5.7 Bình luâ ̣n: 24

BÌNH LUẬN NHÓM 25

KẾT LUẬN 26

Trang 4

Lời mở đầu.

“Chúng em xin chân thành cảm ơn thầy Huỳnh Văn Đức đã cung cấp chochúng em những kiến thức cần thiết cũng như tinh thần học tập độc lập và sáng tạotrong môn học này Với sự giúp đỡ tận tình của thầy chúng em đã hoàn thành được đềtài.”

“Trong quá trình thực hiện đề tài, mặc dù đã cố gắng hết sức nhưng chúng emcòn thiếu nhiều kinh nghiệm, chưa đi sâu và nắm chắc chắn các kiến thức về lĩnh vựcnày, nên chúng em không thể tránh khỏi những thiếu sót vì vậy, chúng em mong nhậnđược sự thông cảm, chỉ bảo, chỉnh sửa, bổ sung và giúp đỡ của thầy.”

Trang 5

BẢNG PHÂN CÔNG CÁC THÀNH VIÊNBài toán Người thực hiện Mức độ hoàn thành

Trang 6

TỔNG QUAN

1 Tình huống sử dụng

Ứng dụng hẹn hò - ghép đôi ngẫu nhiên hoặc có chọn lọc là hê ̣ thống giúp chúng

ta có những cơ hô ̣i được giao tiếp với những người bạn mới Sau khi đăng ký, ngườidùng câ ̣p nhâ ̣t thông tin chung của mình, để những người dùng khác dễ dàng kết nốiđược với chúng ta thông qua những chọn lọc của người dùng đưa cho hệ thống, khácvới viê ̣c đưa thông tin người dùng thông qua định vị thì hê ̣ thống này sẽ dựa trên nhưnhững thông tin của người dùng cung cấp từ đó ứng dụng các công nghê ̣ AI xử lý ngônngữ tự nhiên (NLP), hồi quy linear hoă ̣c logistics, association rule, mô hình k-means

để có thể hiê ̣n những người phù hợp

2 Yêu cầu hê ̣ thống/ Use case activity diagram

Hê ̣ thống sẽ xử lý được thông tin và từ đó đưa ra thông tin (ảnh, tiểu sử, tuổi, sơthích, lối sống, công viê ̣c, công ty, trường học, nơi sống, giới tính, các app liên kết, )phù hợp với những đối tượng được kết nối với nhau Điều đó bắt buô ̣c hê ̣ thống phải

xử lý được ngôn ngữ tự nhiên, khả năng phân tích và học thói quen match hay khôngmatch của người dùng

3 Xác định đầu vào và các bài toán cần giải

Thông tin cá nhân

Hình ảnh cá nhân

Khi đưa dữ liê ̣u vào hê ̣ thống AI sử dụng (xử lý ngôn tự nhiên để phân tích text và văn bản, hồi quy Logistic phân tích text và hình ảnh từ đó dự đoán dự liễu đầu ra

Trang 7

Xử lý ngôn ngữ chính là xử lý thông tin khi đầu vào là “dữ liệu ngôn ngữ” (dữ liệu cầnbiến đổi), tức dữ liệu “văn bản” hay “tiếng nói” Các dữ liệu liên quan đến ngôn ngữviết (văn bản) và nói (tiếng nói) đang dần trơ nên kiểu dữ liệu chính con người có vàlưu trữ dưới dạng điện tử Đặc điểm chính của các kiểu dữ liệu này là không có cấutrúc hoặc nửa cấu trúc và chúng không thể lưu trữ trong các khuôn dạng cố định nhưcác bảng biểu.

Để máy tính có thể hiểu và thực thi một chương trình được viết bằng ngôn ngữcấp cao, ta cần phải có một trình biên dịch thực hiện việc chuyển đổi chương trình đósang chương trình ơ dạng ngôn ngữ đích

Một số ứng dụng của NLP: Nhận dạng ngôn ngữ, phát hiện lỗi chính tả, lọcthông tin, truy xuất thông tin, trích chọn thông tin, chatbot,

CountVectorizer nằm trong thư viện sklearn được sử dụng để chuyển đổi một bộ sưu tập các tài liệu văn bản thành một vector có số lượng thuật ngữ thông báo

Trang 8

doc1, doc2, doc3: là kho dữ liệu để tính tần suất

1.6 Trực quan dữ liệu và mô hình

Hàm DataFrame để lấy ra vị trí của các từ trong khoa văn bản

Bảng tần suất xuất hiện của các từ trong kho văn bản

1.7 Bình luận

CountVectorizer: thực hiện mã hóa để phân tách các câu thành tập hợp

các mã thông báo để tiến hành tính tần suất xuất hiện của các từ ngữ

Xử lý ngôn ngữ tự nhiên (natural language processing - NLP) là một

nhánh của trí tuệ nhân tạo tập trung vào các ứng dụng trên ngôn ngữ của con người Trong trí tuệ nhân tạo thì xử lý ngôn ngữ tự nhiên là một trong những phần khó nhất vì nó liên quan đến việc phải hiểu ý nghĩa ngôn ngữ-công cụ hoàn hảo nhất của tư duy và giao tiếp Trong quá trình nghiên cứu, tìm hiểu và hoàn thành đồ án em đã thu nhận được thêm những kiến thức và em cũng nhận thấy xử lý ngôn ngữ tự nhiên là một lĩnh vực nghiên cứu rộng lớn, còn nhiều điều cần phải khám phá.

1.8.

Trang 9

2 CHÂU HOÀNG KHIÊM

2.1 Giới thiệu

Regression

● Thuật ngữ hồi quy được sử dụng khi bạn cố gắng tìm mối quan hệ giữa cácbiến

● Trong Machine Learning và statistical modeling, mối quan hệ đó được sử dụng

để dự đoán kết quả của các sự kiện trong tương lai

Linear Regression (hồi quy tuyến tính)

Trong thuật ngữ của Machine Learning, Hồi quy tuyến tính (LR) có nghĩa chỉ đơn giản

là tìm ra dòng phù hợp nhất giải thích sự thay đổi giữa các đối tượng phụ thuộc và độclập hoặc chúng ta có thể nói nó mô tả mối quan hệ tuyến tính giữa các đối tượng độclập và phụ thuộc và trong hồi quy tuyến tính, thuật toán dự đoán các tính năng liên tục(ví dụ: Lương, Giá) , thay vì xử lý các tính năng phân loại (ví dụ: mèo, chó)

● Hồi quy tuyến tính sử dụng mối quan hệ giữa các điểm dữ liệu để vẽ một đườngthẳng xuyên qua tất cả chúng

● Dòng này có thể được sử dụng để dự đoán các giá trị trong tương lai

2.2 Bài toán

Machine Learning - Linear regression

2.3 Ví dụ

Điều chỉnh tốc độ quạt tản nhiệt CPU theo độ nóng của laptop

Bảng dưới đây thể hiện tốc độ quạt của CPU dựa theo nhiệt độ của laptop

Nhiệt độ của CPU ( C) ⁰ Tốc độ quạt (RPM)

Trang 10

● Thư viện numpy cho đại số tuyết tính.

● Thư viện matplot dùng để vẽ hình, trực quan hóa dữ liệu

2.5 Huấn luyện

Diễn giả:

● X là nhiệt độ của CPU

● Y là tốc độ quạt tại nhiệt độ X

Cho dữ liệu train vào 2 mảng X và Y

2.6 Trực quan dữ liệu và mô hình

Trang 11

● Nhận thấy các chấm đỏ gần như thẳng hơn nên ta có thể cho rằng mô hình nàysẽ cho ra một kết quả tốt

Tiếp theo ta sẽ tính toán dựa theo công thức:

x = w1*y + w0

Trong đó:

x: là tốc độ quạty: là nhiệt độ của CPUTrước khi thực hiện, ta phải xây dựng Xbar:

Tính các hệ số w0 và w1 dựa vào công thức:

Trang 12

Vẽ mô hình:

Trang 13

2.7 Bình luận

Linear Regression có thể giúp ta tìm ra các quy luật của các loại dữ liệu rời rạc

từ đó chúng ta có thể đưa ra các dự đoán dựa trên quy luật đó

● Linear Regression rất nhạy cảm với nhiễu, vì vậy trước khi thực hiện linear

Regression thì cần phải loại bỏ nhiễu trước Bước này gọi là tiền xử lý dữ liệu

Link code trên Colab:

https://colab.research.google.com/drive/11UabbfmWQ5B3QRnkkrxHaNETXUdi6Mw-?usp=sharing

2.8.

Trang 14

3 NGUYỄN THỊ KIỀU MY

3.1 Giới thiệu

Association rules (luật kết hợp)

- Luật kết hợp: Mối quan hệ kết hợp giữa các thuộc tính trong cơ sơ dữ liệu.

Association rules một phương pháp học máy dựa trên quy tắc để khám phá cácmối quan hệ thú vị giữa các biến trong cơ sơ dữ liệu lớn Nó nhằm mục đíchxác định các quy tắc mạnh mẽ được phát hiện trong cơ sơ dữ liệu bằng cách sửdụng một số thước đo mức độ thú vị Trong bất kỳ giao dịch nhất định nào vớinhiều mặt hàng khác nhau, các quy tắc kết hợp có nghĩa là khám phá các quytắc xác định cách thức hoặc lý do tại sao một số mặt hàng được kết nối vớinhau

3.2 Bài toán

Association rules in data mining (thuật toán Apriori) - association rules

Ví dụ minh họa luật kết hợp

- Tìm các quy tắc mô tả sự liên kết giữa các sản phẩm khác nhau với 7500 giaodịch trong suốt một tuần tại một cửa hàng bán lẻ của Pháp

3.3 Thư viện

Diễn giải:

- Numpy: cho đại số tuyến tính, hỗ trợ tính toán các mảng nhiều chiều.

- matplotlib.pyplot: cho việc vẽ hình.

Trang 15

Diễn giả:

- Hàm read_csv được tạo để đọc dữ liệu có trên máy tính.

- head() để xem dữ liệu trông như thế nào.

3.5 Trực quan dữ liệu và mô hình

Chuyển đổi khung dữ liệu panda thành một danh sách

Bước tiếp theo là áp dụng thuật toán Apriori trên tập dữ liệu Để làm như vậy, chúng ta

có thể sử dụng apriori lớp đã nhập từ thư viện apyori

Các apriori lớp yêu cầu một số giá trị tham số để hoạt động:

- Tham số đầu tiên là danh sách danh sách mà bạn muốn trích xuất các quy tắc

- Tham số thứ hai là min_support

- min_confidencelà những quy tắc có độ tin cậy

- min_lift chỉ định giá trị tăng tối thiểu

- cuối cùng min_length chỉ định số lượng mục tối thiểu

Giả sử rằng quy tắc chỉ cho những mặt hàng được mua ít nhất 5 lần một ngày hoặc 7 x

5 = 35 lần trong một tuần Hỗ trợ cho các mục đó có thể được tính là 35/7500 =0,0045 Độ tin cậy tối thiểu cho các quy tắc là 20% hoặc 0,2 Tương tự, chỉ định giá trịcho mức tăng là 3 và cuối cùng là min_length là 2

Xem kết quả:

3.6 Bình luận

Các thuật toán khai thác quy tắc kết hợp chẳng hạn như Apriori rất hữu ích để tìmkiếm các liên kết đơn giản giữa các mục dữ liệu Chúng dễ thực hiện và có khả nănggiải thích cao Tuy nhiên, đối với những thông tin chi tiết nâng cao hơn, chẳng hạn như

Trang 16

những thông tin được sử dụng bơi Google hoặc Amazon, v.v., nên sử dụng các thuậttoán phức tạp Tuy nhiên, có thể thấy rằng phương pháp này là một cách rất đơn giản

để có được các liên kết cơ bản nếu đó là tất cả các nhu cầu trong trường hợp sử dụng

Trang 17

4 LÊ BẢO QUỐC

4.1 Bài toán

K-means (Phân cụm K-means): là một giải thuật học máy thuộc lớp giải thuật học không giám sát Ý tương chung của K-Means dựa trên việc xác định các tâm cụm và phân các ví dụ vào cụm có tâm gần nó nhất.

4.2 Ví dụ

Một công ty muốn tạo ra những chính sách ưu đãi cho những nhóm khách hàng khác nhau dựa trên sự tương tác giữa mỗi khách hàng với công ty đó (số năm là khách hàng; số tiền khách hàng đã chi trả cho công ty; độ tuổi; giới tính; thành phố; nghề nghiệp; …) Giả sử công ty đó có rất nhiều dữ liệu của rất nhiều khách hàng nhưng chưa có cách nào chia toàn bộ khách hàng đó thành một số nhóm/cụm khác nhau

4.3 Thư viện

Diễn giải:

● Thư viện numpy là thư viện toán học cho phép làm việc hiệu quả với ma trận và mảng

● Thư viện matplotlib.pyplot cho việc vẽ hình

● Thư viện scipy.spatial.distance để tính khoảng cách giữa các cặp điểm trong hai tập hợp một cách hiệu quả

4.4 Mô hình

Diễn giải:

● Hàm concatenate () là một hàm trong NumPy Về cơ bản, hàm này kết hợp các mảng NumPy với nhau Gộp 3 ma trân X0, X1, X2 thành X theo chiều ngang

● Hàm numpy.asarray() được sử dụng khi chúng ta muốn chuyển đổi đầu vào thành một mảng

● Khơi tạo original label có length = 3N, N phần tử đầu là 0, N phần tử ơ giữa là 1, N phần tử cuối là 2

● Số lượng cluster (K) cần clustering là 3

Trang 18

4.5 Huấn luyện

Ta tạo dữ liệu bằng cách lấy các điểm theo phân phối chuẩn có kỳ vọng tại các điểm có tọa độ (2, 2), (8, 3) và (3, 6) , ma trận hiệp phương sai giống nhau và là

ma trận đơn vị Mỗi cluster có 500 điểm.

4.6 Trực quan dữ liệu và mô hình

Tách ma trân X theo chiều ngang thành 3 ma trận X0, X1, X2 như ban đầu.

Gọi hàm kmeans_display để hiển thị dữ liệu

Trang 19

Hình bên trên là một ví dụ về 3 cụm dữ liệu

Sau khi hiển thị dữ liệu ta thấy được là các dữ liệu được phân phần các cụm rõ rệt

4.7 Bình luận

● K-means: chúng ta cần biết số lượng cluster (K) cần clustering

K-means: làm việc khá thành công với kỳ vọng ban đầu Các điểm thuộc cùng

một cluster hầu như được phân vào cùng một cluster

Trang 20

5 HUỲNH HỮU PHÚC

5.1 Giới thiê ̣u:

Hồi quy Logistic (nhị phân) là mô ̣t mô hình thống kế xác suất xảy ra của mô ̣t sựkiê ̣n Từ đó xem xét mối liên hê ̣ giữa biến đô ̣c lâ ̣p với biến phụ thuô ̣c là biến nhị phânthông qua mô ̣t phương trình toán học tức sẽ có hai output (0/1 hoă ̣c Yes/No hoă ̣c True/False)

5.2 Bài toán / ví dụ:

Sử dụng bảng dựa dữ liê ̣u thống kê số lượng cung cấp thông tin (ảnh, tiểu sử,tuổi, sơ thích, lối sống, công viê ̣c, công ty, trường học, nơi sống, giới tính, các app liênkết, ) trên trang cá nhân Từ số lượng thông tin cung cấp ảnh hương đến viê ̣c match(hợp nhau) như thế nào?

Information provided Match Information provided Match

Mô ̣t số thư viê ̣n trong mô hình Logistic Regression

from future import division, print_function, unicode_literals

import numpy as np

import matplotlib.pyplot as plt

Trang 21

 Xác suất để “not match” là P(y=0) = 1 - P(y=1)

 Hàm Logistic:

y =wnxn+wn-1xn-1+ +w1x1+w0+

Trong đó:

 w là trọng số

 x là biến đô ̣c lâ ̣p

 là sai số thể hiện các yếu tố chưa thể nghiên cứu đến nhưng các yếu tố này vẫnảnh hương tới y

Mô hình Logistic dự báo ra xác suất P(y=1) tuy nhiên nó sẽ không phải là mô ̣t sốnguyên như 0 và 1 từ đó có thể sử dụng giá trị ngưỡng t (0 < t < 1):

Trang 22

Với kết quả tìm được, ta dự đoán theo công thức y = sigmoid(0.38 -0.1,62*x) Với dữ liê ̣u trong tâ ̣p training, kết quả là:

Trang 23

 Từ dữ liê ̣u ban đầu thông qua sigmoid có thể dự đoán được tỉ lê ̣ match đượcnhau dựa trên thông tin cung cấp vẫn chưa lạc quan (với ngưỡng t là 0,5 thì16,67% thành công và 83,33% ghép đôi chưa thành công)

Trang 24

5.7 Bình luâ ̣n:

Phần tìm hiểu về mô hình Logistic cụ thể hơn là logistic nhị phân em được tìm

Trang 25

BÌNH LUẬN NHÓM

Nhóm em đã tìm hiểu các bài toán đã đặt ra bao gồm: ngôn ngữ tự nhiên; regression, K-means, Logistic Regression, Association Rules Mặc dù còn nhiều thiếusót những vấn đề đặt ra là nhu cầu phân tích thói quen của người dùng đã được giảiquyết

Trang 26

Linear-KẾT LUẬN

Quá trình nghiên cứu và thực hiện đề tài tuy gặp phải nhiều khó khăn về kiến

thức và quá trình làm việc nhưng nhóm chúng em đã học hỏi được rất nhiều kiến thức

bổ ích Bên cạnh đó chúng em cũng học hỏi được những kỹ năng vô cùng quan trọngnhư nghiên cứu, tra cứu thông tin, làm việc nhóm, trình bày báo cáo khoa học

Qua chủ đề “Ứng dụng hẹn hò - ghép đôi ngẫu nhiên hoặc có chọn lọc” thì

ta thấy bài toán phân tích và học thói quen match hay không match của người dùng córất nhiều cách để giải quyết và xử lý như ngôn ngữ tự nhiên; Linear-regression;K-means, Logistic Regression, Association Rules Song, trong ứng dụng trí tuệ nhân tạothì ta không tìm cách giải tối ưu nhất mà ta sử dụng cách giải chấp nhận được

Chúng em xin chân thành cảm ơn thầy Huỳnh Văn Đức, với những kiến thức

bổ ích mà thầy truyền tải trong suốt các buổi học cùng sự giúp đỡ tận tình của thầytrong suốt quá trình thực hiện dự án đã giúp nhóm chúng em vượt qua những khókhăn, hoàn thiện đề tài nghiên cứu của mình Tuy đã nỗ lực hết sức có thể trong khảnăng của mình nhưng chắc chắn nhóm không thể tránh khỏi những thiếu sót, nhữngnội dung chưa được hợp lý, chính xác Nhóm chúng em rất mong sẽ nhận được nhưngnhận xét tích cực của thầy để học hỏi, hoàn thiện hơn

Lời cuối cùng, nhóm chúng em xin kính chúc thầy luôn vui vẻ, khỏe mạnh,thành công và công tác tốt ạ!

Ngày đăng: 23/02/2023, 22:06

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