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

Tiểu luận KHAI PHÁ DỮ LIỆU: Đề tài Ứng dụng vào văn bản, web và truyền thông

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.72 MB, 33 trang )

KHAI PHÁ DỮ LIỆU
Chương 13: Ứng dụng vào văn bản, web và truyền thông

Họ tên

Mã sinh viên

Nguyễn Việt Minh Nghĩa

15021358

Tống Anh Mai

14020288

Lê Tiến Chiến

15021767

Vũ Đình Hướng

16020991

Nguyễn Xn Đức

15021775

Chương này mơ tả ba ngành phân tích dữ liệu hiện nay đang thu hút nhiều sự chú ý do
khả năng ứng dụng rộng rãi:
- Khai phá văn bản: trích xuất dữ liệu từ văn bản



- Phân tích mạng xã hội: trích xuất dữ liệu từ các quan hệ xã hội
- Hệ thống gợi ý: sử dụng các lựa chọn của người dùng để gợi ý các sản phẩm mới
Mỗi ý trong ba ý trên sẽ được dành riêng một phần trong chương này.

Làm việc với văn bản
Thu thập dữ liệu
Trích xuất thuộc tính

5
6
7


Tách từ - Tokenization
Khơi phục hình thái gốc của từ - stemming
Bỏ stop word
Chuyển sang dạng có cấu trúc
Bag of word có đủ tốt khơng?
Các giai đoạn cịn lại
Xu hướng
Phân tích cảm xúc (Sentiment Analysis)
Khai phá web (Web Mining)

7
9
10
10
11
11

11
12
12

Hệ thống đề xuất
Phản hồi
Recommendation (đề xuất)
Kỹ thuật Recommendation
Kỹ thuật dựa vào kiến thức
Kỹ thuật dựa vào nội dung
Kỹ thuật lọc cộng tác
Kết luận

13
14
15
17
17
17
19
25

Phân tích mạng xã hội
Thể hiện mạng xã hội
Đặc tính cơ bản của nút
Bậc (degree)
Khoảng cách (distance)
Độ dày đặc (closeness)
Độ trung tâm (Betweenness)
Hệ số phân cụm (cluster coeffient)

Đặc tính cơ bản của mạng
Đường kính (diameter)
Sự trung tâm (centralization)
Cliques
Phân cụm kết hợp
Modularity
Xu hướng và một số nhận xét cuối cùng

25
25
26
26
27
28
28
29
30
30
30
32
32
32
33

Bài tập

34


1.Làm việc với văn bản

Giả sử bạn có vài trăm người bạn trên mạng xã hội. Do đó, mỗi ngày bạn nhận
được hàng trăm tin nhắn. Hiện nay, bạn phải đọc hết số tin nhắn đó, việc này tốn
khá nhiều thời gian trong ngày, từ đó xuất hiện nhu cầu về khả năng lọc những tin
nhắn quan trọng cần đọc. Nhu cầu này có thể được giải quyết bằng khai phá văn
bản.
Với sự bùng nổ của các mạng xã hội và email, ta có một lượng rất lớn dữ liệu ở
dạng văn bản. Văn bản cũng là cách phổ biến nhất đã trao đổi thông tin trong xã hội.


Trong khi con người có thể dễ dạng lọc ra những thơng tin q giá ẩn trong văn bản,
máy tính lại khơng có khả năng này.
Lấy ví dụ một ghi chú đơn giản về thói quen ăn uống của Fred - một người ăn chay.
"Fred rất thích ăn đồ Tàu. Hắn ăn chay, kiêng thịt. Để bù protein, hắn phải ăn
các đồ ăn có nhiều protein giống thịt”
Làm sao để trích xuất thơng tin từ đoạn văn bản trên? Các chương trước đã giới
thiệu một số kĩ thuật phân tích dữ liệu, cụ thể là các thuật toán học máy, có thể trích
xuất tri thức từ dữ liệu. Tuy nhiên, các kĩ thuật này chỉ có thể áp dụng cho dữ liệu
dạng bảng, chứ không dùng được cho dạng văn bản tự do như ví dụ trên. Văn bản,
giống như hình ảnh, phim và âm thanh, khơng có dạng bảng. Để phân biệt, dữ liệu
dạng bảng được gọi là dữ liệu có cấu trúc (structured data), những dữ liệu cịn lại
được gọi là dữ liệu không cấu trúc (unstructured data).
Một lĩnh vực rất gần với khai phá dữ liệu là khai phá văn bản. Khai phá văn bản
cung cấp nhiều kĩ thuật đặc thù để rút ra tri thức từ văn bản thơ ở dạng ngơn ngữ tự
nhiên. Nhìn chung, khai phá dữ liệu gắn liền với dữ liệu, còn khai phá văn bản gắn
liền với văn bản.
Nguồn gốc của khai phá văn bản là bài toán đánh chỉ mục tài liệu trong truy hồi
thông tin (information retrieval). Truy hồi thông tin thường liên quan đến việc lấy
thông tin từ các văn bản trên mạng. Đây là hướng nghiên cứu quan trọng trong việc
phát triển các bộ máy tìm kiếm, giúp xác định các website liên quan dựa trên sự
tương đồng của văn bản.

Khai phá văn bản là một ngành đang được nghiên cứu tích cực trong phân tích dữ
liệu. Nó cung cấp các cơng cụ để trích xuất tri thức từ văn bản. Khai phá văn bản
đóng vai trị quan trọng trong nhiều tác vụ: thu hồi thông tin, phát hiện thư rác, phân
tích cảm xúc, hệ thống gợi ý,... Với các ứng dụng này, một khía cạnh quan trọng là
việc đo độ tương đồng giữa các văn bản.
Tương tự khai phá dữ liệu, khai phá văn bản có thể thuộc loại dự đốn hoặc loại mơ
tả. Khai phá văn bản mơ tả bao gồm việc tìm nhóm các văn bản giống nhau, tìm các
văn bản thuộc cùng một vấn đề, tìm các từ thường xuyên đi cùng nhau. Khai phá
văn bản dự đoán gồm phân loại văn bản vào các chủ đề, nhận diện thư rác và phân
tích cảm xúc trong tin nhắn.
Phần này sẽ tập trung vào khai phá văn bản dự đốn, cịn được gọi là phân loại văn
bản (text categorization và document classification). Quy trình làm việc vẫn rất giống
quy tình của khai phá dữ liệu, gồm các bước:
- Thu thập dữ liệu


- Trích xuất thuộc tính
- Tiền xử lí dữ liệu
- Tạo model
- Đánh giá và diễn giải kết quả
Ba bước cuối cùng sẽ dùng lại các kĩ thuật khai phá dữ liệu thông thường. Sau
bước thứ hai, dữ liệu sẽ ở dạng có cấu trúc. Như đã nói, các kĩ thuật khai phá dữ
liệu thường yêu cầu đầu vào ở dạng bảng, do đó khơng thể trực tiếp áp dụng cho
đầu vào dạng chữ. Do đó, bước thứ hai phải là việc chuyển văn bản thơ thành các
bảng có dạng thuộc tính-giá trị. Các kĩ thuật chuyển đổi này sẽ được tập trung giới
thiệu trong phần này.

1.

Thu thập dữ liệu

Cũng như khai phá dữ liệu, ta cần thu thập một bộ dữ liệu đại diện: dữ liệu để
khai phá phải giống với dữ liệu sẽ nhận được trong tương lai. Để tăng khả năng
có dữ liệu đại diện, dữ liệu phải được thu thập với số lượng lớn. Một tập dữ liệu
văn bản lớn được gọi là một corpus. Mỗi văn bản trong corpus sẽ được chuyển
thành một đối tượng có cấu trúc ở các bước sau.
Nếu văn bản xuất phát từ nhiều nguồn khác nhau, thường chúng cũng có nhiều
dạng khác nhau. Dạng đơn giản nhất là văn bản thơ, chỉ gồm tồn văn văn bản.
Dạng tốt hơn là văn bản đã được đánh dấu một phần bằng các tag hoặc
metadata. Văn bản đó có thể được đánh dấu về tác giả, tiêu đề, ngày phát hành,
tên riêng... Một định dạng văn bản phổ biến có khả năng đánh dấu như thế là
XML.

2.

Trích xuất thuộc tính
Đây là một trong các bước quan trọng, đồng thời phổ biến nhất trong các hệ
thống khai phá văn bản. Các kiến thức về ngôn ngữ học được áp dụng rộng rãi
ở đây và giúp làm sạch, đồng thời tạo ra dữ liệu văn bản có cấu trúc để nạp vào
các thuật tốn ở pha sau.
Phần này sẽ sử dụng hai ví dụ nhỏ bằng tiếng Anh và tiếng Việt để biểu diễn
thuật toán như sau:


Ví dụ 1:
None of them gives a fig.
Tơi khơng thích chiếc xe đạp này, bàn đạp của nó nặng lắm.

2.1.

Tách từ - Tokenization

Tokenization là việc phân chia câu thành các từ, có thể là từ đơn hoặc từ
ghép. Trước khi tạo ra một cấu trúc cho văn bản (ví dụ như phân tích cú pháp
câu, hoặc tạo ra cấu trúc của bài văn,...), ta phải biết đâu là một từ. Mỗi token
sau cùng sẽ được coi là một
Mỗi từ trong câu được gọi là một từ tố (token). Câu được tách ra thành từ tố
nhờ vào dấu cách và các dấu hiệu phân tách từ khác, như dấu câu. Trong xử
lí ngơn ngữ tự nhiên, phương pháp này cịn có tên "bag of words". Tùy vào
ứng dụng, một số kí tự đặc biệt, hoặc thậm chí cả một cụm từ cũng được coi
là một token.
Bài toán tokenization là đặc biệt quan trọng trong xử lí tiếng Việt, do tiếng Việt
là ngơn ngữ đơn lập (isolating language), có tính đơn lập mạnh, hơn nữa là
khơng có dấu phân tách từ. Ta sẽ xem xét ảnh hưởng của hai yếu tố này đến
việc xử lí ngơn ngữ trong so sánh với các ngôn ngữ đối lập.
Tiếng Việt được xếp vào loại ngôn ngữ đơn lập là do hai lí do: các từ thường
chỉ có một hoặc một vài hình vị (morpheme, hiểu đơn giản là tiếng), và dựa
trên thứ tự các từ và hình vị để tạo nghĩa. Xét ví dụ sau:
Sắc đẹp ngàn cân.
Bức tranh này có màu sắc đẹp hơn.
Hình vị “sắc”, “đẹp”, và cụm “sắc đẹp” đều có nghĩa khi đứng riêng lẻ. Trong
cặp ví dụ trên, cụm “sắc đẹp” có nghĩa trong ví dụ đầu tiên, nhưng lại vơ
nghĩa trong ví dụ thứ hai; ở ví dụ đó, hình vị “sắc” phải thuộc vào “màu sắc”
trong khi “đẹp” lại đứng riêng, gây ra sự lẫn lộn.
Ở thái cực ngược lại hồn tồn với ngơn ngữ đơn lập là ngôn ngữ đa tổng
hợp (polysynthetic language). Trong ngôn ngữ đa tổng hợp, tiêu biểu như
tiếng Phần Lan, một từ có rất nhiều hình vị, thậm chí đủ cho một câu (nói
cách khác, một từ truyền tải ý nghĩa của một câu), tuy nhiên các hình vị lại


biến đổi lẫn nhau chứ không giữ nguyên khi đứng riêng, khiến từ tuy dài
nhưng khơng bị lầm lẫn hình vị trong lúc parse.

Vấn đề quan trọng hơn nữa là việc tiếng Việt khơng có phân cách từ. Dấu
phân cách phổ biến trong tiếng Việt là dấu cách, tuy nhiên nó dùng để phân
cách hình vị chứ khơng phân tách được từ. Ta so sánh với tiếng Anh, cùng là
ngôn ngữ đơn lập (tiếng Anh có tính đơn lập yếu hơn nhiều so với tiếng Việt)
nhưng tiếng Anh có dùng dấu cách để phân tách từ, do đó q trình tách từ
dễ dàng hơn nhiều, có thể chỉ cần dùng luật đơn giản hoặc Regex là đủ.
Do hai lí do trên, tách từ là một bài tốn khó trong tiếng Việt, và bài toán
tokenization đơn giản được phát triển lên thành bài tốn word segmentation.
Vì khó khăn này, một số thuật tốn tách từ trong tiếng Việt có thiết kế theo
hướng kết hợp giai đoạn tách từ và đánh dấu cấu trúc câu (POS tagging),
khác với tiếng Anh thường làm theo thiết kế pipeline: tokenization rồi đến
đánh dấu cấu trúc câu.
Hiện nay thuật toán tokenization mạnh nhất cho tiếng Việt là gói POS-tagger
trong book VNCoreNLP. Hệ thống sử dụng thiết kế pipeline, với việc
tokenization được thực hiện rất sơ lược bằng phương pháp vẫn đang được
dùng cho tiếng Anh, còn việc phân tách thành từ sử dụng BiLSTM kết hợp
CRF. BiLSTM - một trường hợp của RNN - là một thuật toán được sử dụng
rộng rãi cho bài toán word segmentation, ngồi ra cịn các phương pháp như
CRF, MaxEnt, mơ hình Markov ẩn.
Áp dụng vào hai ví dụ ban đầu ta có:
None, of, them, gives, a, fig.
Tơi, khơng, thích, chiếc, xe_đạp, này, bàn_đạp, của, nó, nặng, lắm.

2.2.

Khơi phục hình thái gốc của từ - stemming
Sau khi tokenization, số lượng từ - token - vẫn còn rất nhiều. Các từ chỉ khác
nhau một chút, ví dụ chia thì, số nhiều,... đều được tính là các từ khác nhau,
trong khi chúng ít thay đổi về nghĩa. Hiện tượng này gọi là biến đổi hình thái.
Nhiều bài tốn khơng cần sự thay đổi này, do đó dẫn đến nhu cầu về việc quy

các từ được biến đổi hình thái về các từ gốc để giảm số lượng token. Giảm
số lượng token cũng đồng nghĩa với giảm số lượng thuộc tính, khiến cho ma
trận thuộc tính cuối cùng có giá trị tốt đồng thời bớt thưa hơn. Tất nhiên,


những biến đổi hình thái có sự thay đổi mạnh về nghĩa như tính phủ định
trong tiền tố a-, in- hay hậu tố -less của tiếng Anh thì lại khơng được bỏ.
Với các ngôn ngữ không đơn lập, tokenization rất dễ nhưng bù lại stemming
lại khó hơn ngơn ngữ đơn lập. Ngơn ngữ đơn lập, theo định nghĩa, vốn khơng
có hoặc có rất ít biến đổi hình thái - tức biến đổi về thì, giống, số nhiều, danhđộng-tính. Để tạo tác dụng biến đổi hình thái, ngơn ngữ đơn lập chỉ thêm các
hình vị phụ vào trước hoặc sau đồng thời khơng biến đổi hình vị chính. Cụ
thể trong trường hợp tiếng Việt, các hình vị cịn được tách ra, do đó chỉ cần
bỏ hình vị phụ theo danh sách là đủ. Hai ví dụ sau cho ta thấy điều này:
Từ gốc

Biến đổi hình thái

yêu

Đã yêu, sẽ yêu,...

love

Loved, will love,...
Bảng 1. So sánh về khơi phục hình thái

Hiện nay thuật toán stemming phổ biến trong tiếng Anh là Porter, tập trung
vào loại bỏ hậu tố. Thuật toán này dựa trên một tập luật rất đơn giản, do đó
có tốc độ cao.
Với trường hợp của tiếng Anh còn xuất hiện hiện tượng biến đổi bất quy tắc,

do đó cần một cơng cụ mạnh hơn để đưa về hình thái gốc, thay vì chỉ bỏ tiền
tố/hậu tố. Việc này gọi là lemmatization. Thơng thường, các thuật tốn này
phải dựa vào từ điển, và nhiều thuộc tính ngơn ngữ khác nhau để tiếp tục làm
giảm số token.
Áp dụng vào hai ví dụ ban đầu ta có:
None, of, them, give, a, fig.
Tơi, khơng, thích, chiếc, xe_đạp, này, bàn_đạp, của, nó, nặng, lắm.

2.3.

Bỏ stop word
Đây là một bước rất đơn giản nhưng góp phần làm sạch dữ liệu đáng kể:
-

Bỏ những từ quá phổ biến nhưng khơng có nghĩa: giúp làm sạch dữ liệu,
tránh bị ảnh hưởng bởi những từ này, so sự phổ biến của chúng sẽ khiến
dữ liệu bị lệch. Ví dụ với tiếng Anh ta có thể bỏ mạo từ (a/an/the), giới
từ,...


-

Bỏ những từ ít liên quan đến mục đích bài tốn. Ví dụ với bài tốn phân
loại cảm xúc, tính từ thường được giữ lại, tuy nhiên nhiều bài toán khác
lại khơng cần thiết thì có thể bỏ tính từ.

Áp dụng vào hai ví dụ ban đầu ta có:
None, them, give, fig.
Tơi, khơng, thích, xe_đạp, bàn_đạp, nó, nặng.


2.4.

Chuyển sang dạng có cấu trúc
Đây là bước chuyển đổi cuối cùng, chuyển sang dạng có cấu trúc cho các
thuật tốn khai phá dữ liệu. Bước chuyển đổi này có thể có rất nhiều cách để
dữ liệu phù hợp với thuật toán học máy, hoặc để tinh chỉnh kết quả.
Một trong những cách chuyển đổi phổ biến nhất là một ma trận thể hiện sự
xuất hiện của token trong câu. Giá trị 0 là token không xuất hiện trong câu,
giá trị 1 là ngược lại. Ngồi ra, có rất nhiều cách sinh ma trận khác: ơ của ma
trận có thể là số lần xuất hiện, tần số xuất hiện, hoặc tần số tf-idf,... hoặc các
phương pháp khác hẳn như word embedding.

2.5.

Bag of word có đủ tốt khơng?
Nhìn vào ví dụ Fred, tần suất xuất hiện của từ “thịt” có thể khiến các mơ hình
đơn giản nghĩ rằng Fred thích thịt. Để phân tích chính xác hơn, ta phải vận
dụng nhiều kĩ thuật từ ngành xử lí ngơn ngữ tự nhiên., tuy nhiên sẽ làm bài
tốn phức tạp hơn và xử lí chậm đi.

3.

Các giai đoạn cịn lại
Một khi chúng ta có dữ liệu ở dạng bảng, chúng ta có các giai đoạn tiếp theo:
tiền xử lí dữ liệu, tạo mơ hình, và đánh giá và diễn giải kết quả. Các kỹ thuật khai
thác dữ liệu thông thường được sử dụng trong các giai đoạn này.
Tiền xử lí có thể bao gồm làm giảm kích thước dữ liệu. Trong các ứng dụng khai
thác văn bản, sau khi tất cả các bước chúng ta đã trình bày – tokenization,
stemming và loại bỏ các từ dừng và các từ có tần số rất thấp – ta vẫn có thể có



q nhiều thuộc tính tiên đốn và dữ liệu rất thưa. Do đó, các kỹ thuật giảm kích
thước thường được sử dụng để tiếp tục giảm số lượng các thuộc tính dư thừa,
giúp dữ liệu bớt thưa.
Các biện pháp đánh giá cho các nhiệm vụ khai thác văn bản thường giống như
các biện pháp được sử dụng trong các bài toán khai thác dữ liệu. Trong một số
ứng dụng, các biện pháp truy hồi thông tin cũng được sử dụng.

4.

Xu hướng
Khai thác văn bản là một chủ đề rất nóng trong phân tích dữ liệu và một số cơng
cụ/ứng dụng khai thác văn bản đã được phát triển và thương mại hóa. Xu hướng
hiện tại trong khai thác văn bản bao gồm:
-

Kết hợp với các kỹ thuật xử lý hình ảnh để khai thác kiến thức từ các tài
liệu cũ
Kết hợp với các kỹ thuật xử lý ngôn ngữ tự nhiên để hiểu văn bản
Dịch văn bản
Khám phá quyền tác giả của văn bản học thuật
Nhận dạng đạo văn trong các tài liệu, sách, tin tức và các bài viết học
thuật
Rút ra, tóm tắt thơng tin từ nhiều nguồn để cá nhân hóa việc tiếp nhận
thơng tin
Theo dõi tài liệu y khoa để để cải thiện chẩn đoán y tế.
Phân tích cảm xúc, ý kiến trong tin nhắn văn bản.

Một ứng dụng thường thấy khác là việc khai thác siêu dữ liệu từ văn bản, đó là
thơng tin quan trọng có trong văn bản. Ví dụ, giả sử chúng ta muốn lọc tin tìm

việc. Siêu dữ liệu được khai thác có thể là tên cơng ty, quốc gia, địa chỉ, trang
web, email và số điện thoại, hạn ứng tuyển, đặc điểm ứng viên mong muốn, yêu
cầu công việc, tiền lương, kỹ năng và ngày bắt đầu.
Trong số các ứng dụng trên, hai ứng dụng nổi bật hơn hẳn là phân tích cảm xúc
và khai phá web. Các khía cạnh chính của hai ứng dụng này được mô tả ngay
sau đây.


4.1.

Phân tích cảm xúc (Sentiment Analysis)
Một trường hợp đặc biệt của khai thác văn bản là phân tích các văn bản ngắn
được trao đổi trên mạng xã hội. Phân tích này, được gọi là phân tích cảm xúc
hoặc khai phá ý kiến, thường được thực hiện trên các văn bản có số lượng
ký tự giới hạn. Trong trường hợp này, việc sử dụng bag-of-word thường dẫn
đến kết quả tốt với chi phí xử lý thấp.
Các kỹ thuật phân tích cảm xúc đã được sử dụng để phân tích thái độ, đánh
giá, ý kiến và cảm xúc của người dùng, về thực thể, sự kiện, vấn đề, nhân
vật công chúng, sản phẩm, dịch vụ và chủ đề. Chúng đã được sử dụng thành
công trong các ứng dụng như đánh giá tiếp thị các sản phẩm mới, dự đoán
trận đánh nhau giữa những người ủng hộ hai đội bóng, khám phá xu hướng
bỏ phiếu trong các chiến dịch bầu cử.

4.2.

Khai phá web (Web Mining)
Một ứng dụng khai văn bản phổ biến khác là phân tích các văn bản từ các
trang web, một ngành được gọi là khai phá web. Một bộ sưu tập rất lớn các
văn bản có thể được tìm thấy trong các trang web, từ các nguồn khác nhau
như blog và trang web cho các tài liệu và ấn phẩm học thuật, thương mại

điện tử, cơ quan tin tức, báo và chính phủ.
Tuy nhiên, ngược lại với các văn bản thuần túy (nghĩa là văn bản từ cơ bản,
gốc), các trang web thường được viết theo một cấu trúc đặc biệt, được xác
định bằng ngơn ngữ đánh dấu; ví dụ: ngôn ngữ đánh dấu siêu văn bản
(HTML). Ngôn ngữ đánh dấu cung cấp thêm thơng tin ngồi văn bản, chẳng
hạn như âm thanh, hình ảnh, video, nhận xét, siêu dữ liệu và siêu liên kết
đến các trang web khác, tất cả đều có thể được sử dụng để trích xuất kiến
thức. Vì vậy, một khi văn bản đã được trích xuất từ một trang web, các kỹ
thuật khai thác văn bản có thể được áp dụng cho nó, và có thể cho cả thông
tin bổ sung nữa.
Tuy nhiên, thông tin bổ sung này cũng có thể là một gánh nặng xử lý. Thứ
nhất, nó có thể chứa thơng tin khơng liên quan và thậm chí cả thơng tin có
thể gây hại hơn là giúp quá trình khai thác tri thức. Thứ hai, vì các trang web
có thể có các cấu trúc rất khác nhau, nên không dễ dàng để tự động trích
xuất dữ liệu từ chúng.


2.Hệ thống đề xuất
Các ứng dụng phổ biến của phân tích dữ liệu bao gồm các hệ thống đề xuất (RS).
Ta thường gặp những hệ thống này trong cuộc sống hàng ngày: Netflix đề xuất
phim, Facebook giới thiệu bạn bè mới, Youtube đề xuất video để xem, cửa hàng
điện tử giới thiệu các sản phẩm nên mua, Amazon giới thiệu sách, báo chí đề xuất
các bài viết để đọc, v.v.
Các cơng ty muốn bán nhiều hàng hóa hơn, tăng sự hài lòng và lòng trung thành
của người dùng cũng như hiểu rõ hơn nhu cầu và sở thích của người dùng. Mặt
khác, người dùng muốn tìm hiểu thứ họ muốn một cách nhanh chóng; điều này cực
kỳ quan trọng vì người dùng thường bị chìm trong lượng thơng tin khổng lồ khi tìm
kiếm. Sử dụng các kỹ thuật đề xuất (RT) cho các danh mục web, cửa hàng điện tử,
mạng xã hội và các ứng dụng khác là một cách hợp lý để đạt được mục tiêu của cả
nhà cung cấp và người dùng.

RT nổi lên từ việc truy hồi thơng tin và học máy, nhưng mặc dù có điểm chung,
chúng cũng có một số điểm khác nhau. Trong truy hồi thơng tin, dữ liệu khơng có
cấu trúc và bao gồm các chủ đề khác nhau, nhưng RT tập trung vào các kho lưu trữ
liên quan đến một chủ đề duy nhất (chẳng hạn như phim). Còn học máy lại chuyên
về các phép đo khách quan (ví dụ như sai số trung bình bình phương), khơng hồn
tồn phù hợp với các phép đo chủ quan như đo lường sự hài lòng của người tiêu
dùng (phản ánh chất lượng của một đề nghị). Tuy nhiên, các kỹ thuật truy hồi thông
tin và học máy thường được sử dụng và chỉnh sửa để phát triển RT.

1.

Phản hồi
Khái niệm cơ bản về RT, bên cạnh người dùng và hàng hóa, là phản hồi, nhưng
chúng ta sẽ về hai khái niệm đầu tiên.
Người dùng có thể được xác định khơng chỉ bởi các đặc điểm của họ, chẳng hạn
như tuổi tác, thu nhập, tình trạng hôn nhân, giáo dục, nghề nghiệp hoặc quốc
tịch, mà cịn bởi mơn thể thao ưa thích, sở thích hoặc phim u thích của họ.
Thơng tin này thường thu được bằng các bảng câu hỏi, nhưng do sự nhạy cảm
của thơng tin đó, các thuộc tính người dùng thường khó có được.
Mặt khác, hàng hóa cũng có những thuộc tính riêng, chẳng hạn như, với phim:
tiêu đề, thể loại, năm, đạo diễn, diễn viên, ngân sách hoặc giải thưởng đề cử.


Ngược lại với thuộc tính người dùng, thơng tin này khơng nhạy cảm, nhưng đơi
khi có thể tốn kém. Ví dụ, nếu chúng ta cần lấy những thông tin này từ các văn
bản mơ tả, ai đó phải nhập dữ liệu.
Trong văn bản gốc, từ “item” được dùng để chỉ mặt hàng, sản phẩm,..., tức là đối
tượng chịu mua bán Trong văn bản này, các từ “mặt hàng”, “sản phẩm”, “hàng
hóa”, “mục” sẽ được dùng với ý nghĩa giống nhau.
Khi người dùng tương tác với một hàng hóa, ta có thể thu được phản hồi về món

hàng. Tùy thuộc vào cách thu thập phản hồi, chúng ta phân biệt:
-

-

Phản hồi rõ ràng: khi người dùng được hệ thống yêu cầu tùy chọn trực
tiếp trên các mục, thể hiện bằng cách xếp hạng chúng trên một thang
điểm cụ thể hoặc xếp hạng.
Phản hồi ngầm: khi thơng tin về sở thích của người dùng thu được bằng
cách theo dõi tương tác của họ với hệ thống, thể hiện bằng cách ghi lại
các mục nào được xem, nghe, cuộn qua, đánh dấu, sao lưu, mua, liên
kết, sao chép,…

Phản hồi rõ ràng chính xác hơn, nhưng nó đặt gánh nặng nhận thức lên người
dùng (mang cảm giác nặng nề khi phản hồi). Chỉ cần tưởng tượng rằng ai đó đã
yêu cầu bạn xếp hạng giáo viên của bạn trên thang điểm; bạn phải mất thời gian
để ra quyết định trong một số trường hợp. Mặt khác, phản hồi ngầm không gây
nặng nề cho người dùng nhưng lại khơng chính xác bằng. Ví dụ: nếu bạn đăng
ký khóa học thuyết trình với một giáo viên nào đó, điều này khơng nhất thiết có
nghĩa là bạn thích giáo viên đó.

2.

Recommendation (đề xuất)
Trước khi bắt đầu với định nghĩa bài toán Recommendation, chúng ta hãy giới
thiệu một số ký hiệu. Gọi tập {u1, u2, ..., un} là tập người dùng; {i1, i2, ..., im} là tập
hàng hóa. Phản hồi (đánh giá hoặc xếp hạng) được ghi nhận của người dùng u
trên mặt hàng i sẽ được ký hiệu là r[u, i].
Bài toán đề xuất là: cho một tập người dùng và mặt hàng cùng với phản ứng của
người dùng về các mặt hàng đó, tạo ra một mơ hình F có khả năng dự đốn

đánh giá của người dùng bất kì cho một sản phẩm bất kì. Đây chính là bài tốn
dự đốn đã giới thiệu ở Chương 8.
Tùy thuộc vào loại thông tin phản hồi, ta chia làm hai bài toán:


-

Dự đốn khi có phản hồi rõ ràng; r[u, i] là những con số đại diện xếp hạng
của người sử dụng cho các sản phẩm.
Dự đốn khi có phản hồi khơng rõ ràng; có nghĩa là, r[u, i] là 0 hoặc 1,
tương ứng với khơng hoặc có tương tác, và F(u, i) dự đốn khả năng
người dùng sẽ có phản ứng tích cực với sản phẩm.

Ví dụ 2: Hãy thu thập những sở thích của bạn bè về phim ảnh, sau đó chúng ta
có thể giới thiệu cho họ một bộ phim mới có thể họ thích.
Kịch bản giới thiệu sản phẩm được minh họa trong bảng 2, trong đó chứa thông
tin về việc 4 người bạn đã xem phim nào trong 5 bộ phim được chọn. Giá trị 1
thể hiện thơng tin tích cực tiềm ẩn. Ví dụ: Eve đã xem Titanic nhưng khơng xem
Forrest Gump. Bài tốn giới thiệu, trong trường hợp này, sẽ là tìm hiểu các khả
năng có phản hồi tích cực từ người xem trên phim họ chưa xem, ví dụ, khả năng
phản hồi tích cực từ James cho Titanic và Forrest Gump.
Lưu ý, với thơng tin phản hồi ngầm, chỉ phản hồi tích cực được ghi lại. Điều này
có lý, vì việc một người xem một bộ phim chứng tỏ nó đã có sức hút nhất định
với người đó. Nhưng phản hồi tích cực khơng có nghĩa rằng người dùng cũng
thích bộ phim này. Những giả định này nhìn chung hơi khó đốn. Đây là lý do
việc phản hồi ngầm thường khơng chính xác.
Titanic

Pulp Fiction


Iron Man

Eve

1

1

1

Fred

1

1

Irene

1

1

1

1

1

James


Forrest Gump

The Mummy
1

1

1

1
1

Bảng 2: Kịch bản khuyến cáo của một số bộ phim
Thơng tin phản hồi chính xác hơn có thể đạt được khi ta yêu cầu người dùng
đánh giá các mặt hàng, như minh họa việc đánh giá trong bảng 3. Những con số
trong các ô tương ứng với xếp hạng (số sao) của người xem với bộ phim. Bài
toán ở đây là dự đoán xếp hạng của người xem cho các bộ phim họ chưa xem.
Ví dụ, James sẽ đánh giá Titanic và Forrest Gump thế nào? Dự đốn này có độ
chính xác cao hơn nhiều so với cách trên, vì phim có điểm dự đốn cao nhất sẽ
được đưa ra làm gợi ý.
Titanic

Pulp Fiction

Iron Man

Forrest Gump

The Mummy



Eve

1

4

Fred

5

3

Irene

4

4

2

3

4

James

5

3

5

2

5
4

Bảng 3: Kịch bản dự đoán điểm của một số bộ phim

3.

Kỹ thuật Recommendation
Chúng ta phân biệt ba loại hệ thống đề xuất chính và kết hợp lai của chúng. Việc
sử dụng bất kỳ loại kết hợp cụ thể nào phụ thuộc vào lĩnh vực và dữ liệu có sẵn.
Ba loại này được mô tả trong các phần sau đây.

3.1.

Kỹ thuật dựa vào kiến thức
Trong các kĩ thuật này, đề xuất được đưa ra dựa trên sự hiểu biết về nhu cầu
và sở thích của người dùng. Thuộc tính của món hàng (ví dụ giá và loại của
một chiếc xe, số lượng túi khí, kích thước thùng, vân vân), yêu cầu của người
dùng (ví dụ “giá có thể chấp nhận tối đa của một chiếc xe là $ 8,000” và “xe
nên an tồn và phù hợp cho một gia đình”) và những kiến thức miền mô tả
một số phụ thuộc giữa các yêu cầu sử dụng và thuộc tính mặt hàng (ví
dụ,”một chiếc xe gia đình nên có thùng lớn”) hoặc giữa các yêu cầu sử dụng
(ví dụ,“nếu muốn một chiếc xe gia đình an tồn, giá tối đa chấp nhận được
phải hơn $ 2,000” ) được sử dụng.
Trong các loại RS này, q trình đề xuất có tính tương tác; người dùng đưa
ra yêu cầu, hệ thống trả về gợi ý, người dùng chỉnh sửa yêu cầu, và cứ thế

đến khi chọn được chiếc xe ưng ý.
Hạn chế của các kĩ thuật dựa trên tri thức là chi phí cao để chuẩn bị cơ sở tri
thức cơ bản; điều này phụ thuộc vào miền ứng dụng. Đối với mỗi miền, cần
một cơ sở kiến thức cụ thể, và cùng với đó là một chuyên gia trong ngành,
khiến cho hệ thống sử dụng kĩ thuật này trở nên kém mềm dẻo và do đó ít
phổ biến hơn.


3.2.

Kỹ thuật dựa vào nội dung
Trong các kĩ thuật này, bắt buộc phải có các thuộc tính của các mặt hàng và
một số thông tin phản hồi từ người sử dụng. Sở thích của người dùng được
học bằng các kỹ thuật học máy giám sát. Nói cách khác, một mơ hình của
các thơng tin phản hồi (thuộc tính mục tiêu) của một người dùng nhất định
được rút ra từ các thuộc tính (các biến giải thích) của sản phẩm mà người
dùng đã đánh giá trong q khứ. Mơ hình này sẽ dự đoán phản ứng của
người dùng với những sản phẩm họ chưa biết. Đối với mỗi người dùng, một
mô hình dự đốn hoặc bộ phân loại riêng biệt được tạo ra.
Ưu điểm của kĩ thuật này là thuộc tính người dùng khơng cần thiết. Mặt khác,
mơ hình tiên đốn thường được học chỉ từ một số ít trường hợp, đặc biệt đối
với người dùng mới. Thêm nữa, người dùng có thể chỉ đưa ra đánh giá cho
một số loại mặt hàng nhất định, do đó các đề xuất khơng phong phú.
Ví dụ 3: Dữ liệu của Eve (bảng 3) được dùng để dạy kĩ thuật dựa trên nội
dung (bảng 4). Kết quả được minh họa trong cây hồi quy ở hình 1.
Genre1

Genre2

Year


Country

Duration

Drama

Romance

1997

USA

194

Pulp Fiction

Drama

Crime

1994

USA

154

Iron Man

Action


Adventure

2008

USA

126

The Mummy

Fantasy

Adventure

1999

USA

125

Forrest Gump

Drama

Romance

1994

USA


142

Bảng 4a: Dữ liệu cho RT dựa trên nội dung của Eve

Director

Actor1

Actor2

Rating

Cameron

DiCaprio

Winslet

1

Pulp Fiction

Tarantino

Travolta

Thurman

4


Iron Man

Favreau

Downey Jr.

Paltrow

5

The Mummy

Sommers

Fraser

Weisz

3

Forrest Gump

Zemekis

Hanks

Wright

1



Bảng 4b: Dữ liệu cho RT dựa trên nội dung của Eve

Hình 1. Cây hồi quy sinh từ bảng 4.

3.3.

Kỹ thuật lọc cộng tác
Lọc cộng tác là kĩ thuật đề xuất thơng dụng nhất. Nó sử dụng sự tương đồng
giữa nhiều người dùng với nhau dựa trên các phản hồi của họ. Nhờ đó, ta có
thể đưa ra gợi ý các sản phẩm phù hợp với một người dùng từ những người
tương tự. Kỹ thuật lọc cộng tác có thể cung cấp kết quả rất tốt trong trường
hợp không người dùng hoặc thuộc tính sản phẩm nào khả dụng. Chúng ta
phân biệt hai loại lọc cộng tác chính: lọc cộng tác dựa trên quan hệ láng
giềng và lọc cộng tác dựa trên mơ hình.
Kĩ thuật dựa trên quan hệ láng giềng sử dụng vector độ đo tương đồng để
tính tốn sự giống nhau giữa các người dùng hoặc các mặt hàng. Chúng ta
phân biệt lọc cộng tác dựa trên người dùng và lọc cộng tác dựa trên mặt
hàng.

3.3.1.

Lọc cộng tác dựa trên người dùng


Trong kỹ thuật dựa trên người dùng, mỗi người dùng sẽ được đại diện bởi
một vector phản hồi. Trong ví dụ của chúng ta, từ bảng 2 hoặc 3, James
sẽ được đại diện bởi vector (?, 1, 1, ?, 1) hoặc (?, 3, 4, ?, 4) tương ứng
với đánh giá của anh ấy đối với 5 bộ phim trong danh mục phim.

Chú ý rằng vector người dùng thường thưa – tức một người dùng sẽ chỉ
cung cấp phản hồi cho một số lượng nhỏ các sản phẩm so với tổng số
sản phẩm trong danh mục.
Để dự đoán phản hồi của người dùng u cho sản phẩm i, bước đầu tiên là
lấy phải hồi của k người dùng giống người dùng u nhất cùng với phản hồi
của họ và tất nhiên trong đó sẽ có một vài phản hồi đối với sản phẩm i. Ta
kí hiệu tập k-láng giềng gần nhất là Nu, ki.
Trong phạm vi các sản phẩm gợi ý, ví dụ như trong bảng 2 - gợi ý của các
phản hồi tích cực của người dùng u đối với sản phẩm i được tính tốn là
bình qn của mỗi người dùng v từ Nu, ki tới người dùng u:
(1)

trong đó, sim(u,v) là một vector độ đo tương tự, ví dụ như độ đo cosine.
Khái niệm: độ đo cosine là một độ đo vector rất thông dụng, được sử
dụng khi vector tương tự khá thưa. Để tính tốn độ tương tự của các
vector thưa, các giá trị bị thiếu trong mỗi vector được thay bởi 0. Giả sử
có 2 vector x = (x1,...,xm) và y = (y1,...,ym). Độ đo cosine được tính tốn như
sau:

(2)

Độ đo cosine là một phương pháp đo phổ biến trong khai phá văn bản và
RS.
Ví dụ 4: Tính độ đo cosine giữa người dùng trong bảng 2 được thể hiện
trong bảng 5. dựa trên những dữ liệu này, theo phương trình (1), dự đốn
của các phản hồi tích cực của James cho Titanic và Forrest Gump được
tính như sau:


Do đó, James được dự đốn sẽ thích Titanic hơn là Forrest Gump.

Trong dự đoán đánh giá, chúng ta phải nhận ra được một hiện tượng đặc
biệt gọi là thiên vị. Người dùng ln ln thiên vị, có nghĩa là có một số
người, khi họ cung cấp các đánh giá, thường bi quan hơn trong khi số
khác lạc quan hơn bình qn. Do đó, sự thiên vị nên được xem xét trong
q trình tính tốn mức độ liên quan giữa người dùng.
simcv(u, v)

Eve

Fred

Irene

James

Eve

1.0

0.75

0.75

0.87

1.0

0.75

0.58


1.0

0.58

Fred
Irene
James

1.0

Bảng 5: Độ đo cosine thể hiện sự tương đồng giữa các người dùng
trong bảng 2
Một cách làm tốt là sử dụng một vài tính tốn tương quan để tính sự
giống nhau giữa các phản hồi của người dùng. Ví dụ như tương quan
Pearson được giới thiệu trong chương 2, và được định nghĩa tại đây là
simpc. Khi mà Pearson correlation khơng chỉ chứa 0 (tức khơng có phản
hồi) hoặc 1, như trong phạm vi của gợi ý. Nhưng những số (bảng 3) – đại
diện cho mơ hình dự đoán đánh giá của người dùng u cho mục i là
(3)


trong đó, vector ru và vector rv là trung bình đánh giá của người dùng u và
v (được tính ra từ dữ liệu học), và sim(u,v) là độ đo tương tự, ví dụ như
Pearson simpc(u,v).

3.3.2.

Lọc cộng tác dựa trên mặt hàng
Tương tự như lọc cộng tác dựa trên quan hệ láng giềng, có một kỹ thuật

khác gọi là kỹ thuật dựa trên mặt hàng. Điểm khác là thay vì so sánh sự
giống nhau giữa các người dùng, ta so sánh sự giống nhau giữa các danh
mục. Theo đó, vector độ đo tương tự sẽ được tính từ các cột của ma trận
user-item. Thêm nữa, độ thiên vị của một mục sẽ được xác định và nó
phản ánh độ nổi tiếng của sản phẩm trong cộng đồng người dùng (một vài
bộ phim bom tấn và nổi tiếng trong khi một số khác thì nhận được đánh
giá tiêu cực từ khán giả).

3.3.3.

Lọc cộng tác dựa trên mơ hình
Ý tưởng cơ bản của kĩ thuật lọc cộng tác dựa trên mơ hình là map người
dùng và mục vào một không gian ngầm chung (common latent space).
Các chiều của không gian này thường gọi là các factor, đại diện cho một
vài thuộc tính ngầm của mục hoặc sở thích của người dùng trong các
thuộc tính ngầm này. Chúng ta đã giới thiệu một vài kỹ thuật để giảm số
chiều, ví dụ phân tích thành phần chính (PCA), trong chương 4, và nó có
thể được sử dụng cho kỹ thuật lọc cộng tác dựa trên mơ hình. Tuy nhiên,
chúng ta sẽ giới thiệu một cách khác, rất đơn giản, gọi là hệ số hóa ma
trận cấp thấp (low-rank matrix factorization). Chúng ta sẽ minh họa ý
tưởng chính của phương pháp hệ số hóa ma trận trong ví dụ dự đốn
đánh giá, nhưng tất nhiên cũng có một vài mơ hình hệ số hóa cho việc gợi
ý các mục phù hợp.
Cho đầu vào, có 1 ma trận user-item kí hiệu là R – bảng 3 với n dòng (số
người dùng) và m cột (số mục). Chỉ có một số ơ là khơng trống (đã có
đánh giá). Các ô không trống được gọi là dữ liệu train, các ô trống sẽ
được điền bằng các phản hồi sau này. Mục tiêu là điền các ô trống của
ma trận bằng các con số gần với phản hồi của người dùng nhất có thể.
Nói cách khác, chúng ta cần tìm một mơ hình hồi quy với phương sai tốt
và đảm bảo số lượng lỗi trong dữ liệu là nhỏ nhất.

Bây giờ, hãy tưởng tượng hai ma trận W và H với các đặc điểm sau:


-

W có n hàng và k cột. Hàng thứ u của W sẽ là vector đại diện cho
người dùng u trong khơng gian kín k chiều.
H có m cột và k dòng. Cột thứ i của H sẽ là vector đại diện cho mục i
trong cùng không gian k chiều.

Nhân 2 ma trận W và H sẽ cho kết quả là ma trận R = W . H với kích cỡ
bằng kích cỡ của R. Bây giờ mục tiêu là tìm ma trận W và H để đảm bảo
lỗi là nhỏ nhất. Cơng thức tính lỗi như sau:
(4)
Ở đây, wu . hi là đánh giá dự đoán của người dùng u với mục i. Kết quả
này tương ứng với mô hình tuyến tính đã giới thiệu ở chương 8 với W và
H là kết quả của hàm mục tiêu sau:
(5)
Ví dụ 5: với k = 2, factorization của ma trận R (bảng 3) dưới một số cài đặt
nhất định sẽ cho kết quả là 2 ma trận W và H lần lượt là:
1.1995

1.1637

1.626

1.1259 2.1310

2.2286


1.6075

1.8715

-0.0225

-0.4065

0.7055 1.0405

0.394

0.497

2.3268

0.2760

2.0338

0.5395

Ở W, các hàng sẽ lần lượt đại diện cho người dùng Eve, Fred, Irene và
Jame. Ở H, các cột đại diện cho các mục Titanic, Pulp Fiction, Iron man,
Forrest Gump, và The Mummy. Nhân 2 ma trận ta có R dự đốn:
1.477499

2.171588

3.767126


3.131717

2.506566

3.052397

2.091094

3.964578

4.161733

2.997066

3.671365

2.814469

5.245668

5.294111

3.877419

3.087926

2.670543

4.895569


4.745101

3.537480

Từ đó ta có thể nhìn thấy dự đốn đánh giá của James cho bộ phim
Titanic và Forrest Gump là 3.09 và 4.75.


Đồ thị đại diện của hệ số user–item, là đại diện k-chiều tương ứng với số
hàng và số cột của W và H. Người dùng càng giống nhau, khả năng sở
thích giống nhau càng lớn. Ngồi ra, người nào gần với 1 mục hơn, sẽ
thích mục đó hơn.

Hình 2. Thể hiện người dùng (người xem) và sản phẩm (phim) trên
không gian ngầm chung hai chiều

4.

Kết luận
Có một vài điều phải lưu ý khi cài đặt một RS, một số đã được trình bày ở trên.
Trước khi tích hợp một RT vào một hệ thống đang chạy, ví dụ như một cửa hàng
điện tử, ta nên đánh giá offline trước trên một bộ dữ liệu giả lập hành vi người
dùng. Việc làm này giúp tiết kiệm chi phí, thời gian, mặc dù nó chỉ giúp dự đốn
một số vấn đề về hiệu năng, thời gian chạy,...
Việc cuối cùng khi đánh giá một RT là đánh giá online. Việc này được thực hiện
như sau: một phần nhỏ của hệ thống sẽ được sử dụng RT mới được cài đặt.
Sau đó ta quan sát biểu hiện của người dùng: họ có tăng điểm nhận xét không,



có sử dụng hệ thống trong khoảng thời gian dài hơn khơng,… Việc làm này khá
mạo hiểm, vì nó trực tiếp ảnh hưởng đến người dùng, nếu người dùng không hài
lịng thì có thể dẫn đến sẽ mất khách. Chính vì vậy, ta chỉ nên chạy thử nghiệm
online khi đánh giá thử nghiệm offline đem lại kết quả tốt.
Có một số tính chất mà recommendation system phải có

3.Phân tích mạng xã hội
Việc phân tích mạng xã hội (social network analysis) ngày càng trở nên quan trọng
do sự phổ biến của các mạng xã hội.

1.

Thể hiện mạng xã hội
Mỗi một mạng chính là một đồ thị, bao gồm các đỉnh và các cạnh (thể hiện sự
liên hệ giữa 2 đỉnh). Cạnh có thể là cạnh có hướng hoặc vơ hướng, và có thể có
trọng số. Nếu như có nhiều cạnh giữa 2 đỉnh, thì ta gọi các cạnh này là
“multiplex” (cạnh song song).
Để biểu diễn đồ thị có hướng hoặc vơ hướng, một cấu trúc được sử dụng được
gọi là ma trận kề (adjacency matrix). Ma trận kề A có mỗi ô A[i][j] thể hiện cạnh
nối từ đỉnh i đến đỉnh j. Với đồ thị vơ hướng thì ma trận này đối xứng qua đường
chéo chính.
Ví dụ 6: Một ví dụ về mạng xã hội, gồm các đỉnh là những người bạn của mình,
cạnh trong đồ thị thể hiện rằng đơi bạn đó đã từng ăn tối cùng nhau.


Hình 3. Ví dụ về mạng xã hội
Như chúng ta có thể thấy, có ba vùng khác nhau của đồ thị này, ứng với từng
kiểu mạng riêng. Các đỉnh A, B, C, D tạo thành hình sao, đồ thị con này có kiểu
tập trung hố, với D là tâm.
Các đỉnh F, G, H, I thì tạo thành một chu trình. Cách đỉnh J, K, L, M thì tạo thành

một đồ thị đầy đủ, từng cặp đỉnh có cạnh nối với nhau. Đỉnh N độc lập khơng có
đỉnh nào kết nối với nó.
Biểu diễn đồ thị dưới dạng ma trận kề có lợi thế là tốc độ truy cập nhanh, và có
thể sử dụng các biến đổi trên ma trận. Ví dụ khi luỹ thừa ma trận này lên k lần,
thì ô A[i][j] thể hiện số cách đi từ đỉnh i đến j qua k đỉnh.

2.

Đặc tính cơ bản của nút
Các đặc tính cơ bản của đỉnh/nút đều liên quan đến các kết nối của nó.

2.1.

Bậc (degree)
Bậc của một đỉnh là số cạnh của đỉnh đó.
Với đồ thị vơ hướng, thì bậc chính là tổng hàng hoặc tổng cột tương ứng của
đỉnh trong ma trận kề.
Với đồ thị có hướng, thì ta quan tâm đến bậc vào (in-degree) và bậc ra (outdegree). Bậc vào là số cạnh tới đỉnh này, còn bậc ra là số cạnh đi ra từ đỉnh
này. Với đỉnh i thì bậc ra chính là tổng hàng i, còn bậc vào là tổng cột i trong
ma trận kề.


×