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

Ứng dụng crf nhận dạng thực thể định danh trong văn bản tiếng việt

4 2 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

ISSN 1859 1531 TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 9(82) 2014 51 ỨNG DỤNG CRF NHẬN DẠNG THỰC THỂ ĐỊNH DANH TRONG VĂN BẢN TIẾNG VIỆT APPLICATIONS OF CRF FOR NAMED ENTITY RECOGNITION IN VI[.]

ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 9(82).2014 51 ỨNG DỤNG CRF NHẬN DẠNG THỰC THỂ ĐỊNH DANH TRONG VĂN BẢN TIẾNG VIỆT APPLICATIONS OF CRF FOR NAMED ENTITY RECOGNITION IN VIETNAMESE DOCUMENTS Võ Trung Hùng1, Lâm Tùng Giang1, Trần Thị Liên2 Đại học Đà Nẵng; Email: vthung@dut.ud.vn, gianglt@gmail.com Học viên Cao học Đại học Đà Nẵng; Email: lientranha@gmail.com Tóm tắt - Nhận dạng thực thể định danh lĩnh vực nhận quan tâm rộng rãi nhà nghiên cứu Đã có nhiều kết nghiên cứu lĩnh vực số ngôn ngữ Anh, Ý, Trung Quốc,… với Tiếng Việt cịn hạn chế Mục đích nghiên cứu xây dựng hệ thống nhận dạng thực thể cho phép nhận dạng thực thể có tên văn Tiếng Việt tên người, địa điểm, tổ chức, thời gian,… phát triển dựa công cụ CRF++ Nhiệm vụ báo xây dựng tập liệu tốt, đầy đủ, xác nhằm hỗ trợ cho việc nhận dạng thực thể xây dựng hệ thống huấn luyện, kiểm thử ứng dụng Hệ thống nhận dạng thực thể ban đầu thu thập 300 báo với nhiều lĩnh vực khác hoạt động có tính khả thi với độ đo F1 trung bình qua 10 lần thực nghiệm đạt 84,8% Abstract - Named Entity Recognition, a subfield of Information Extraction, is gaining wide attention from researchers in the field There have been relevant researches published in English, Italian or Chinese, but not many works have been conducted in Vietnamese The purpose of this study is to build a named entity recognition system that enables the identification of named entities, such as names of people, locations, organizations, or time, in Vietnamese texts by using the CRF + + tool This paper mainly aims at creating the tools and training data for building a named entity recognition model to facilitate the identification of entities in Vietnamese documents The Entity Recognition system was evaluated 10 times on over 300 empirical articles and then showed the average F1 measure of 84,8% Từ khóa - nhận dạng thực thể có tên; mơ hình CRF; công cụ CRF++; tên thực thể tiếng Việt; hệ thống nhận dạng thực thể Key words - named entity recognition; CRF model; CRF++ toolkit; names of entities in Vietnamese text; entity recognition system Giới thiệu Nhận dạng thực thể định danh (Named Entity Recognition-NER) [1] nhiệm vụ lĩnh vực trích chọn thơng tin (Information Extraction - IE) Mục đích nhận dạng phân loại thực thể văn cho đối tượng xác định trước tên người, tổ chức, địa điểm, thời gian,… Nhận dạng thực thể định danh ứng dụng nhiều lĩnh vực xử lý ngôn ngữ tự nhiên hệ thống đặt câu hỏi trả lời, hệ thống dịch máy, truy vấn thông tin Hiện tại, việc nhận dạng tiếng Anh có độ xác cao có nguồn liệu tra cứu, cú pháp rõ ràng [2], tiếng Việt thách thức Bài báo trình bày tổng quan cơng việc nhận dạng thực thể định danh văn tiếng Việt sử dụng mơ hình CRF (Condition Random Field), cụ thể công cụ CRF++ phiên 0.58 1, để nhận dạng thực thể Nội dung báo tổ chức sau: phần trình bày nghiên cứu tổng quan nhận dạng thực thể mô hình CRF, phần giới thiệu giải pháp đề xuất hệ thống nhận dạng, phần đánh giá kết xác định hướng nghiên cứu tương lai reference Resolution) Phạm vi trích chọn khơng phạm vi từ văn mà âm thanh, hình ảnh, Các kỹ thuật sử dụng trích chọn thơng tin gồm: phân đoạn, phân lớp, kết hợp phân cụm [4] 2.1.2 Bài toán nhận dạng thực thể Thông thường, văn chứa đối tượng tên người, tổ chức, địa điểm, ngày, số, Những đối tượng gọi chung thực thể định danh Mục đích toán nhận dạng thực thể nhận biết loại thực thể để giúp việc hiểu văn Đây toán phải xét đến trước giải toán phức tạp trích chọn thơng tin 2.2 Các hướng tiếp cận toán nhận dạng thực thể 2.2.1 Tiếp cận dựa tri thức Hướng tiếp cận dựa tri thức (cịn gọi thủ cơng) có đặc điểm hệ thống luật xây dựng tay hoàn toàn phụ thuộc vào kinh nghiệm riêng chuyên gia lĩnh vực [5] Các luật luôn phát sinh cập nhật liên tục đưa vào kho liệu kiểm duyệt sửa chữa chặt chẽ chuyên gia nhằm có hệ thống nhận dạng thực thể hồn chỉnh Ví dụ điển hình hệ thống nhận biết loại thực thể Proteous đại học New York tham gia hội thảo MUC-6 [6] hỗ trợ số lượng lớn luật Để xây dựng hệ thống mô hình u cầu chun gia phải có kinh nghiệm ngôn ngữ học quỹ thời gian tương đối lớn để thực việc liên tục cập nhật luật phát sinh 2.2.2 Tiếp cận dựa học máy Với hạn chế hướng tiếp cận tri thức vấn đề đặt phải xây dựng hệ thống “tự học” để hệ Nghiên cứu tổng quan 2.1 Nhận dạng thực thể 2.1.1 Trích chọn thơng tin Trích chọn thơng tin tên gọi cho kỹ thuật trích chọn thơng tin có cấu trúc từ văn khơng có cấu trúc kết xuất thông tin định nghĩa trước thực thể mối quan hệ chúng từ văn [3] Một số mức độ trích chọn thơng tin từ văn bao gồm trích chọn thực thể (Entity Extraction), trích chọn quan hệ thực thể (Relation Extraction), xác định đồng tham chiếu (Co1 http://crfpp.googlecode.com/svn/trunk/doc/index.html Võ Trung Hùng, Lâm Tùng Giang, Trần Thị Liên 52 thống trở nên linh hoạt Có số phương pháp học máy sử dụng rộng rãi hiệu mơ hình HMM, MEMM CRF Trong tốn nhận dạng thực thể, X nhận giá trị từ văn bản, Y chuỗi ngẫu nhiên nhãn tên thực thể (, ,…) Mơ hình HMM (Hidden Markov Model) [7] giới thiệu nghiên cứu vào cuối năm 1960 đầu năm 1970 Đây mơ hình máy trạng thái hữu hạn với tham số biểu diễn xác suất chuyển trạng thái xác suất sinh liệu quan sát trạng thái, mơ hình thống kê hệ thống mơ hình hóa cho q trình Markov với tham số khơng biết trước nhiệm vụ xác định tham số ẩn từ tham số quan sát dựa thừa nhận Quá trình sinh chuỗi liệu quan sát HMM thông qua loạt bước chuyển trạng thái, xuất phát từ trạng thái bắt đầu dừng lại trạng thái kết thúc Các tham số mơ hình rút sau sử dụng để thực phân tích Với tốn nhận dạng thực thể, xem trạng thái tương ứng nhãn B-LOC, I-LOC, BTIME, B-PER,… liệu quan sát từ câu Khi tìm chuỗi trạng thái mô tả tốt cho chuỗi liệu quan sát cách tính Gọi G=(V,E) đồ thị vơ hướng khơng có chu trình 𝑃(𝑆|𝑂) = 𝑃(𝑆, 𝑂)/𝑃(𝑂) có đỉnh v  V tương ứng với biến ngẫu nhiên đại diện cho Yv Y Nếu biến ngẫu nhiên Yv tuân theo tính chất Markov với đồ thị G (Y,X) trường ngẫu nhiên điều kiện CRF 𝑃(𝑌𝑣 |𝑋, 𝑌𝑤 , 𝜔 ≠ 𝑣) = 𝑃(𝑌𝑣 |𝑋, 𝑌𝑤, 𝑤 ∈ 𝑁(𝑣)) (3) Trong đó, N(v)là tập hợp đỉnh láng giềng v Trong trường hợp đơn giản quan trọng, mơ hình hóa chuỗi (sequence), đồ thị G biểu diễn dạng: 𝐺 = (𝑉 = {1,2, … , 𝑛}, 𝐸 = {(𝑖, 𝑖 + 1)} (4) minh họa hình sau: (1) Trong (1), S chuỗi trạng thái ẩn, O chuỗi liệu quan sát biết Việc tìm chuỗi S* với xác suất P(S|O) đạt giá trị cực đại tương đương với việc tìm S* làm cực đại P(S,O) Hạn chế mơ hình Markov nằm việc để tính xác suất P(S,O) thơng thường ta phải liệt kê hết trường hợp chuỗi S chuỗi O Thực tế chuỗi Y hữu hạn liệt kê được, cịn O (các liệu quan sát) phong phú Bên cạnh đó, với số tốn việc sử dụng xác suất điều kiện P(S|O) cho kết tốt Mơ hình MEMM (Maximum Entropy Markov Models) [8] cho quan sát cho trước không cần quan tâm đến xác suất sinh chúng Điều cần quan tâm xác suất chuyển trạng thái Đối với mơ hình quan sát không tồn độc lập mà gắn liền với q trình chuyển trạng thái, nghĩa cịn phụ thuộc vào trạng thái trước Xác suất P(S|O) tính sau: 𝑛 𝑃(𝑆|𝑂) = 𝑃(𝑆1 , 𝑂1 ) ∗ ∏ 𝑃(𝑆𝑡 |𝑆𝑡−1 , 𝑂) (2) 𝑡=1 MEMM coi liệu quan sát điều kiện cho trước thay coi chúng thành phần sinh mơ HMM, xác suất chuyển trạng thái phụ thuộc vào thuộc tính đa dạng chuỗi liệu quan sát Những thuộc tính giữ vai trị quan trọng việc xác định trạng thái Mơ hình CRF (Conditional Random Fields) [9] giới thiệu lần đầu vào năm 2001 Đây mơ hình xác suất thực việc gán nhãn phân đoạn liệu CRF xem đồ thị vô hướng có điều kiện, X biến ngẫu nhiên nhận giá trị, chuỗi liệu cần gán Y biến ngẫu nhiên nhận giá trị, chuỗi nhãn tương ứng Hình Đồ thị vơ hướng mơ tả CRF Áp dụng [10] cho trường hợp ngẫu nhiên Markov phân phối chuỗi nhãn Y với chuỗi quan sát X cho trước có dạng: 𝑝(𝑦|𝑥) ∝ exp⁡(∑𝑒∈𝐸,𝑘 𝜆𝑘 𝑓𝑘 (𝑒, 𝑦|𝑒 , 𝑥) + ∑𝑒∈𝐸,𝑘 𝜇𝑘 𝑔𝑘 (𝑣, 𝑦|𝑣 , 𝑥)) (5) đó, x chuỗi quan sát, y chuỗi trạng thái, y|S tập hợp phần tử y tương ứng với đỉnh đồ thị S; fk gk hàm thuộc tính tự định nghĩa, 𝜆𝑘 𝜇𝑘 tham số 2.3 Công cụ CRF++ Toolkit Được phát triển tảng mơ hình CRF, CRF ++ công cụ mã nguồn mở viết ngôn ngữ C++ phục vụ cho việc phân đoạn, gán nhãn liệu Phiên 0.58 (CRF++-0.58), chạy hệ điều hành Windows sử dụng báo bao gồm công cụ phục vụ huấn luyện kiểm thử Trong giai đoạn huấn luyện, tập tin huấn luyện có định dạng riêng CRF++ tạo lập sử dụng Với từ chuỗi văn bản, thẻ xác định, chứa thân từ, số thuộc tính nhãn gán Mỗi thẻ nằm dòng tập tin huấn luyện Các thuộc tính vị trí i chuỗi văn quan sát gồm hai phần: thông tin ngữ cảnh vị trí i thơng tin nhãn Lựa chọn thuộc tính việc chọn mẫu ngữ cảnh thể thông tin cần quan tâm vị trí chuỗi liệu quan sát Có thể sử dụng mẫu ngữ cảnh đặc điểm ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 9(82).2014 từ viết hoa, viết thường, có phải chữ số, dấu câu; sử dụng mẫu ngữ cảnh dạng biểu thức quy (ví dụ áp dụng để xác định biểu thức thời gian); sử dụng ngữ cảnh từ điển cho phép tra cứu từ số danh sách cho trước Bên cạnh tập tin huấn luyện, tập tin mẫu (template) sử dụng, xác định cách thức quan sát trình huấn luyện kiểm tra Mỗi dòng tập tin mẫu mẫu dùng để định nghĩa liệu đầu vào Kết trình huấn luyện tập tin mơ hình Tập tin sử dụng để phục vụ việc kiểm thử ứng dụng Tập tin kiểm thử gần giống với tập tin huấn luyện, chứa thẻ Tại tập tin kiểm thử, nhãn gán thủ cơng nhằm mục đích đánh giá mơ hình Xây dựng hệ thống nhận dạng thực thể định danh văn tiếng Việt Hiện nay, có số hệ thống nhận dạng thực thể định danh văn tiếng Việt xây dựng “Hệ thống nhận dạng thực thể văn tiếng Việt sử dụng mơ hình CRF” tác giả Nguyễn Cẩm Tú [4], “Hệ thống nhận dạng thực thể văn tiếng Việt phát triển mã nguồn mở Gate” tác giả Nguyễn Bá Đạt [11],… Tuy nhiên, hệ thống công bố mơ hình sử dụng kết thu hệ thống, rõ công cụ bước cụ thể để xây dựng hệ thống Trong báo này, hệ thống nhận dạng tên riêng văn tiếng Việt xây dựng, bao gồm thành phần: hệ thống huấn luyện ứng dụng nhận dạng thực thể Các mô-đun phần mềm viết ngôn ngữ Java 3.1 Huấn luyện Trong hệ thống huấn luyện, sử dụng công cụ CRF++ tạo lập liệu phục vụ huấn luyện bao gồm bước sau: - Đầu tiên sở liệu từ điển xây dựng, bao gồm tập tin văn chứa từ điển họ người, địa điểm, từ đứng trước tên người, tổ chức, thời gian - Để tạo lập liệu huấn luyện, báo thu thập thủ công lưu vào tập tin văn Chúng sử dụng công cụ vnTagger 4.22 để gán nhãn từ loại cho văn cho kết tập tin chứa từ khóa - Việc xác định thuộc tính cho từ văn thực mô-đun phần mềm Trên dòng, cột thân từ, cột nhãn từ loại Tiếp theo, tạo lập cột thuộc tính Is_Cap (chữ hoa), Is_Num (chữ số), Is_Mark (dấu câu), Is_Num (số), Is_4_Digit (4 số), Is_Date (giá trị ngày tháng), Is_Family (họ người), Is_Location (địa điểm), Is_BeforePER (từ trước tên người), Is_BeforeORG (từ trước tên tổ chức), Is_BeforeTime (từ trước thời gian) cột - Thực việc dán nhãn thủ công cột cuối cùng: nhãn định nghĩa hệ thống trình bày Bảng Với từ đa âm tiết (multi-syllable), tiền tố https://github.com/stnguyen/vnTagger 53 sử dụng để xác định vị trí âm (sylabble) từ (B: bắt đầu, I: bên O: kết thúc từ) Ví dụ từ "Thừa Thiên Huế" tương ứng với thẻ sau: Thừa B-LOC Thiên I-LOC Huế E-LOC - Do công cụ CRF++ không hỗ trợ tốt cho bảng mã tiếng Việt, tập tin văn kết chứa cột thuộc tính thẻ nhãn chuyển đổi sang dạng tiếng Việt mã hóa Telex (ví dụ chữ Việt mã hóa thành Vieejt) Kết quả, tập tin train.data tạo lập để sử dụng với công cụ huấn luyện crf_learn.exe để tạo lập tập tin mơ hình model.data Bảng Nhãn LOC PER ORG NUM CUR TIME PCT MISC O Ý nghĩa Tên địa danh Tên người Tên tổ chức Số Tiền tệ Thời gian Phần trăm Các thực thể khác Không phải thực thể 3.2 Mở rộng liệu huấn luyện Sau tạo lập mơ hình nhận dạng thực thể đầu tiên, liệu thử nghiệm thu thập, bao gồm 300 báo từ website tin tức http://vnexpress.net http://vietnamnet.vn; xác định thuộc tính tự động chuyển sang dạng mã Telex tương tự liệu thử nghiệm để tạo tập tin test.data, nhiên bước dán nhãn thủ cơng khơng thực Thay vào đó, sử dụng công cụ kiểm thử crf_test.exe CRF++ để gán nhãn tự động vào cột cuối Tiếp theo tập tin kiểm tra thủ công chỉnh sửa lỗi để đảm bảo xác Dữ liệu tập tin test.data sau bổ sung vào train.data để lặp lại trình huấn luyện Quá trình thử nghiệm - bổ sung liệu huấn luyện thực lặp lại số lần nhằm làm tăng độ tin cậy mơ hình 3.3 Kiểm thử Để đánh giá hiệu suất hệ thống nhận dạng thực thể thơng số độ xác (precision), độ hồi tưởng (recall) F1 (f-measure) sử dụng Độ xác đo tỉ lệ phần trăm số thực thể gán nhãn xác (giá trị t1) tổng số tên thực thể gán nhãn (giá trị t2) Độ xác= 𝑡1 𝑡2 (6) Độ hồi tưởng đo tỉ lệ phần trăm số thực thể gán nhãn xác (giá trị t1) tổng số thực thể gán nhãn công cụ CRF++ tập test.data (giá trị t3) Võ Trung Hùng, Lâm Tùng Giang, Trần Thị Liên 54 Độ hồi tưởng= 𝑡1 𝑡3 (7) F1 đại lượng tính kết hợp độ xác độ hồi tưởng theo cơng thức sau: F1 = 2*Độ xác⁡*⁡Độ hồi tưởng Độ xác⁡+⁡Độ hồi tưởng (8) Hệ thống thực nghiệm sử dụng phương pháp “10-fold cross validation” Dữ liệu chia thành 10 phần nhau, lấy phần để huấn luyện phần lại để kiểm tra, kết sau 10 lần thực nghiệm ghi lại đánh giá tổng thể trình bày Bảng Bảng Lần thử nghiệm Độ xác Độ hồi tưởng 71.90% 88.82% 83.27% 88.31% 83.48% 93.03% 81.23% 87.50% 85.83% 84.20% 82.59% 94.53% 79.69% 87.93% 77.72% 84.03% 82.08% 93.11% 10 82.87% 88.85% Trung bình 81.07% 89.03% F1 79.47% 85.71% 88.00% 84.25% 85.01% 88.16% 83.61% 80.75% 87.25% 85.76% 84.80% Bên cạnh đó, kết thử nghiệm xem xét cho loại nhãn với kết Bảng Bảng Tên thực thể Độ xác CUR 81.25% LOC 59.09% NUM 100.00% Độ hồi tưởng 81.25% 100.00% 99.08% F1 81.25% 74.29% 99.54% ORG 52.94% 75.00% 62.07% PCT 100.00% 91.30% 95.45% PER 92.00% 92.00% 92.00% TIME 67.44% 100.00% 80.56% 3.4 Xây dựng ứng dụng Hình Ứng dụng nhận dạng thực thể Trên sở mơ hình xây dựng kiểm thử, qua 10 lần thực nghiệm chọn mơ hình tốt 10 lần này, ứng dụng xây dựng, áp dụng mơ hình CRF để nhận dạng thực thể văn tiếng Việt Với đầu vào tập tin văn bản, ứng dụng phân tích nội dung văn bản, nhận dạng thực thể định danh văn thay đổi màu sắc cho cụm từ tương ứng với nhãn khác Ví dụ: thực thể nhận dạng có nhãn B-PER, I-PER đổi màu sắc thành màu đỏ, nhãn B-LOC, I-LOC đổi màu sắc thành màu xanh, Kết trình bày Hình Kết luận 4.1 Kết đạt Kết trình bày báo hệ thống ứng dụng mã nguồn mở, cho phép huấn luyện mơ hình nhận dạng thực thể định danh dựa mơ hình CRF Hệ thống bao gồm mô-đun huấn luyện, kiểm thử ứng dụng nhận dạng thực thể định danh văn tiếng Việt Độ đo F1 hệ thống đạt giá trị 84,8% tập liệu kiểm thử Với quy trình trình bày mục 3.1, hệ thống tiếp nhận liệu huấn luyện tùy biến khác (ví dụ thuộc lĩnh vực khác nhau) tùy thuộc nhu cầu sử dụng nhằm tạo lập mơ hình phù hợp phục vụ việc nhận dạng thực thể định danh văn tiếng Việt 4.2 Hướng phát triển Để tăng độ xác cho việc nhận dạng thực thể hệ thống nguồn liệu huấn luyện cần phải lớn xác Chúng tiếp tục khai thác thu thập thêm nguồn liệu mở rộng loại thực thể cần nhận dạng, bổ sung luật nhằm tạo lập thuộc tính hỗ trợ cho trình huấn luyện nhằm tăng độ xác mơ hình TÀI LIỆU THAM KHẢO [1] Nancy Chinchor and Patty Robinson, MUC-7 Named Entity Task Definition, Proc Sixth Messag Underst Conf MUC6, p 21, 1997 [2] Alireza Mansouri, Lilly Suriani Affendey, and Ali Mamat, Named Entity Recognition Approaches, J Comput Sci., vol 8, pp 339– 344, 2008 [3] Sunita Sarawagi, Information Extraction, vol 1, no 3, pp 261–377, 2008 [4] Nguyễn Cẩm Tú, Nhận biết loại thực thể văn tiếng Việt nhằm hỗ trợ Web ngữ nghĩa tìm kiếm hướng thực thể, Luận văn tốt nghiệp ĐHCN, 2005 [5] Nguyễn Thị Loan, Tìm hiểu mơ hình CRF ứng dụng trích chọn thơng tin tiếng Việt, Luận văn tốt nghiệp ĐHCN, 2005 [6] Douglas E Appelt, Jerry R Hobbs, John Bear, and David Israel, SRI International FASTUS system MUC-6 test results and analysis, in MUC-6, NIST, 1995 [7] Phil Blunsom, Hidden Markov Models, Lect notes, 2004 [8] A McCallum, D Freitag, and F Pereia, Maximum entropy markov models for information extraction and segmentation, in International Conference on Machine Learning, 2000 [9] John Lafferty, Andrew Mccallum, and FCN Fernando C N Pereira, Conditional Random Fields : Probabilistic Models for Segmenting and Labeling Sequence Data, in ICML ’01 Proceedings of the Eighteenth International Conference on Machine Learning, 2001, vol 2001, pp 282–289 [10] John M Hammersley and Peter Clifford, Markov fields on finite graphs and lattices, 1971 [11] Nguyễn Bá Đạt, Nhận dạng thực thể văn tiếng Việt, Luận văn tốt nghiệp ĐHCN-ĐH Quốc gia Hà Nội, 2009 (BBT nhận bài: 23/06/2014, phản biện xong: 22/07/2014) ... thực thể định danh văn tiếng Việt Hiện nay, có số hệ thống nhận dạng thực thể định danh văn tiếng Việt xây dựng “Hệ thống nhận dạng thực thể văn tiếng Việt sử dụng mơ hình CRF? ?? tác giả Nguyễn Cẩm... văn tiếng Việt Với đầu vào tập tin văn bản, ứng dụng phân tích nội dung văn bản, nhận dạng thực thể định danh văn thay đổi màu sắc cho cụm từ tương ứng với nhãn khác Ví dụ: thực thể nhận dạng. .. thống ứng dụng mã nguồn mở, cho phép huấn luyện mơ hình nhận dạng thực thể định danh dựa mơ hình CRF Hệ thống bao gồm mô-đun huấn luyện, kiểm thử ứng dụng nhận dạng thực thể định danh văn tiếng Việt

Ngày đăng: 27/02/2023, 07:45

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

TÀI LIỆU LIÊN QUAN

w