1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo thực tập 1 bài toán xác Định nội dung trùng lặp

32 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Bài Toán Xác Định Nội Dung Trùng Lặp
Tác giả Lê Nguyên Khang
Người hướng dẫn PGS. TS. Quản Thành Thơ
Trường học Đại học Bách Khoa - Đại học Quốc Gia TP.HCM
Chuyên ngành Khoa Học Và Kỹ Thuật Máy Tính
Thể loại Báo Cáo Thực Tập
Năm xuất bản 2024
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 32
Dung lượng 2,15 MB

Cấu trúc

  • 1.1 Đặt vấn đề (9)
  • 1.2 Các giai đoạn thực hiện (10)
  • 1.3 Phạm vi nghiên cứu (10)
  • 1.4 Tổng quan về báo cáo (11)
  • 2.1 Mô hình phân bố Dirichlet tiềm ẩn (12)
  • 2.2 Divergence Kullback-Leibler (16)
  • 2.3 Độ đo cosine (17)
  • 3.1 BERT (19)
  • 3.2 Underthesea Toolkit (20)
  • 4.1 Tổng quan về kiến trúc (22)
  • 4.2 Phân đoạn văn bản (24)
    • 4.2.1 Một số phương pháp phân đoạn văn bản . . . . . . . . . . . . 16 4.2.2 Phương pháp phân đoạn dựa trên thay đổi của chủ đề đoạn văn 17 (24)
  • 4.3 Paragraph Embedding (27)
  • 4.4 Gán nhãn các đoạn văn bản đã được xử lý (27)
  • 4.5 So sánh trùng lặp đoạn văn bản (28)
  • 4.6 Kiểm thử phương pháp (28)
  • 4.7 Định hướng tương lai (29)
    • 4.7.1 Sử dụng bộ dữ liệu lớn (29)
    • 4.7.2 Xây dựng hệ thống đánh giá khách quan (29)
    • 4.7.3 Kết hợp với mô hình có khả năng học (30)

Nội dung

Đề tài này tập trung vào công việc tìm giải pháp để có thể tách các đoạn văn, bàiviết dài thành các đoạn ngắn hơn, đồng thời kiểm tra và lưu một phiên bản duy nhấtvới cùng một nội dung t

Các giai đoạn thực hiện

Với vấn đề và mục tiêu đã đặt ra bên trên, công trình nghiên cứu ban đầu sẽ được chia thành 4 giai đoạn chính:

•Giai đoạn 1: Thu thập và xử lý dữ liệu, văn bản đầu vào về giáo dục.

•Giai đoạn 2: Phân tích và thiết kế hệ thống.

•Giai đoạn 3: Xây dựng và thử nghiệm giải pháp trên tập dữ liệu về của Trường Đại học Bách khoa Thành phố Hồ Chí Minh.

•Giai đoạn 4: Hoàn thiện giải pháp với các chức năng ban đầu đã đặt ra và thực hiện kiểm thử, đánh giá cho hệ thống.

Tổng quan về báo cáo

Có tất cả 5 chương được trình bày trong bài cáo báo đồ án này:

•Chương 1: Giới thiệu tổng quan về nội dung đề tài, mục tiêu và các giai đoạn đặt ra của đề tài.

•Chương 2: Trình bày các kiến thức nền tảng được nghiên cứu và sẽ sử dụng trong đề tài.

•Chương 3: Giới thiệu một số công trình liên quan đến đề tài.

•Chương 4: Trình bày về giải pháp mà tôi đã nghiên cứu và thực hiện đề tài này.

•Chương 5: Tổng kết, đánh giá giải pháp và đề ra hướng phát triển cho các giai đoạn tiếp theo trong tương lai.

Để nghiên cứu và triển khai đề tài hiệu quả, việc tìm hiểu về mô hình phân loại chủ đề là rất quan trọng Bên cạnh đó, cần nắm vững các kỹ thuật so sánh phân phối và so sánh vector nhằm hỗ trợ quá trình phân tích và đưa ra kết luận chính xác.

Mô hình phân bố Dirichlet tiềm ẩn

Mô hình phân bố Dirichlet tiềm ẩn (Latent Dirichlet Allocation - LDA) là một mô hình sinh cho phép xác định các chủ đề tưởng tượng, với mỗi chủ đề được biểu diễn bằng một tập hợp các từ Mục tiêu chính của LDA là ánh xạ toàn bộ văn bản sang các chủ đề tương ứng, đảm bảo rằng các từ trong mỗi văn bản sẽ phản ánh những chủ đề tưởng tượng đó.

Một số định nghĩa trong mô hình LDA:

Từ (Word) là đơn vị cơ bản trong mô hình LDA, được biểu diễn bằng chỉ số index trong từ điển Mỗi từ thứ i trong từ điển được thể hiện dưới dạng vector one-hot, trong đó phần tử thứ i của vector bằng 1 và các phần tử còn lại bằng 0.

– Ví dụ:Với từ điển gồm 5 từ, nếu từ "apple"có chỉ số là 2, thì vector one-hot của "apple"làw apple = [0,1 0 0 0], , ,

•Văn bản (Document): là một tập hợp củaNtừ được ký hiệu bởid={w1 ,w2 , ,w N }. Mỗi vectorw i đại diện cho một từ trong văn bản.

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

– Ví dụ:Một văn bản có thể là: "apple dog apple cat", được biểu diễn bởi

4 vector one-hot tương ứng với các từ trong văn bản.

•Bộ văn bản (Corpus): là một tập hợp của M văn bản ký hiệu bởiD {d1 ,d2 , ,d M }.

– Ví dụ:Một bộ văn bản gồm 3 văn bản có thể là:

Chủ đề ẩn (Latent Topic) là những chủ đề không rõ ràng được xác định thông qua phân phối từ ngữ, giúp đại diện cho văn bản theo các chủ đề cụ thể Số lượng chủ đề ẩn được xác định trước và ký hiệu là K Mỗi chủ đề được mô tả bởi một phân phối xác suất trên các từ trong từ điển, với phân phối của chủ đề k được biểu diễn là β k = (β k1 , β k2 , , β kV), trong đó β kv là xác suất xuất hiện của từ v trong chủ đề k.

– Ví dụ:VớiK= 2, có thể có các chủ đề như sau:

∗Chủ đề 1: { "apple": 0.4, "orange": 0.3, "banana": 0.3 }

∗Chủ đề 2: { "dog": 0.5, "cat": 0.3, "fish": 0.2 }

Các tham số mô hình:

Số lượng chủ đề là một tham số quan trọng được xác định trước, thể hiện số lượng K chủ đề mà mô hình sẽ khai thác từ tập dữ liệu Việc xác định số lượng chủ đề này giúp mô hình phân loại và nhóm các từ trong văn bản thành K chủ đề ẩn một cách hiệu quả.

Tham số Dirichlet là một vector chứa các giá trị siêu tham số α cho phân phối Dirichlet, được sử dụng để điều chỉnh mức độ hỗn hợp của các chủ đề trong mỗi văn bản Khi giá trị α lớn, văn bản sẽ có nhiều chủ đề, trong khi giá trị nhỏ của α sẽ giới hạn số lượng chủ đề chỉ còn lại vài cái.

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

•Tham số Dirichletη: là một vector của các giá trị siêu tham số cho phân phối

Dirichlet được áp dụng cho các từ trong từng chủ đề nhằm kiểm soát mức độ phân bổ từ ngữ Giá trị lớn của η sẽ dẫn đến việc các chủ đề chứa nhiều từ, trong khi giá trị nhỏ sẽ khiến mỗi chủ đề chỉ bao gồm một số ít từ.

Phân phối chủ đềθ là xác suất phân bố các chủ đề trong một văn bản, cho biết xác suất xuất hiện của từng chủ đề cụ thể Phân phối này được tạo ra từ phân phối Dirichlet với tham số α.

Phân phối từ là xác suất phân phối các từ liên quan đến một chủ đề nhất định Phân phối này, ký hiệu là β_k, thể hiện xác suất xuất hiện của từng từ trong một chủ đề cụ thể Nó được sinh ra từ phân phối Dirichlet với tham số η.

Biến chủ đề là một yếu tố quan trọng trong việc xác định chủ đề của từng từ trong văn bản Biến này giúp chỉ ra từ nào thuộc về chủ đề nào trong một văn bản cụ thể, từ đó hỗ trợ quá trình phân tích và hiểu nội dung một cách chính xác hơn.

•Từw: Từw dn là từ thứ trong văn bản Đây là các từ quan sát được trongn d văn bản, là dữ liệu đầu vào của mô hình.

Quá trình sinh mô hình LDA gồm hai bước chính: bước sinh dữ liệu và bước suy luận.

Mô hình LDA thể hiện quá trình sinh sản của tài liệu, với vòng bên ngoài đại diện cho tài liệu và vòng bên trong biểu thị sự lựa chọn lặp lại các chủ đề và từ ngữ có trong tài liệu.

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

Bước sinh dữ liệu (Generative Process):Quá trình sinh dữ liệu giả định cách các văn bản được tạo ra từ các chủ đề ẩn như sau:

•Bước 1:Với mỗi chủ đềk, chọn một phân phối xác suất trên các từ từ phân phối Dirichletβ k ∼Dirichlet ( )η

•Bước 2:Với mỗi văn bản trong bộ văn bản:d

– Chọn một phân phối xác suất trên các chủ đề từ phân phối Dirichlet θ d ∼Dirichlet( )α.

– Với mỗi từ thứ trong văn bản :n d

∗Chọn một chủ đềz dn ∼Multinomial( )θ d

∗Chọn một từ w dn từ phân phối xác suất của chủ đề z dn : w dn ∼

Trong bước suy luận, chúng ta xác định các phân phối ẩn, bao gồm chủ đề của từng từ và phân phối các chủ đề trong mỗi văn bản, dựa trên dữ liệu quan sát được Mục tiêu chính là tìm ra các giá trị tối ưu cho các tham số θ, β và z.

– Gibbs Sampling:Một phương pháp lấy mẫu tuần tự để ước lượng các phân phối ẩn.

– Variational Inference:Một phương pháp tối ưu hóa để xấp xỉ các phân phối ẩn.

Mô hình LDA (Latent Dirichlet Allocation) cung cấp các kết quả chính sau:

Phân phối chủ đề trong văn bản cho biết mức độ đóng góp của từng chủ đề vào nội dung tổng thể Ví dụ, với ba chủ đề (K=3) và phân phối chủ đề θ d = [0.2, 0.5, 0.3], ta thấy chủ đề 1 đóng góp 20%, chủ đề 2 đóng góp 50%, và chủ đề 3 đóng góp 30% vào văn bản.

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

Phân phối từ cho mỗi chủ đề (β) là một vector cho biết xác suất xuất hiện của từng từ trong từ điển trong chủ đề k Chẳng hạn, nếu từ điển có 5 từ và phân phối từ β k = [0.1, 0, 2, 0, 3, 0, 1, 0, 3], thì xác suất của từ thứ nhất trong chủ đề là 10%, từ thứ hai là 20%, và các từ còn lại cũng có xác suất tương ứng.

Gán chủ đề cho các từ trong văn bản là một quá trình quan trọng để xác định ý nghĩa và ngữ cảnh của từng từ Ví dụ, nếu trong một văn bản có các từ {w1, w2, w3} và các biến chủ đề tương ứng là {z1, z2, z3}, với z1 = 2, z2 = 1, và z3 = 3, điều này cho thấy từ w1 thuộc về chủ đề 2, từ w2 thuộc về chủ đề 1, và từ w3 thuộc về chủ đề 3 Việc phân loại này giúp tăng cường khả năng hiểu biết và tối ưu hóa nội dung cho các công cụ tìm kiếm.

Tập hợp các chủ đề giúp làm rõ nội dung chính được phân tích từ tập dữ liệu Ví dụ, Chủ đề 1 có thể bao gồm các từ khóa như "apple" với tần suất 0.4, phản ánh sự liên quan và trọng số của từ trong ngữ cảnh tổng thể Điều này cho phép người đọc nắm bắt được các khía cạnh quan trọng và mối liên hệ giữa các từ trong từng chủ đề.

"orange"(0.3), "banana"(0.3)}, chủ đề 2 có thể bao gồm các từ như {"dog"(0.5),

Divergence Kullback-Leibler

Độ lệch Kullback-Leibler (KL divergence) là một khái niệm quan trọng trong lý thuyết thông tin và xác suất thống kê Nó được sử dụng để đo lường sự khác biệt giữa hai phân phối xác suất, giúp đánh giá mức độ mà một phân phối xác suất Q lệch khỏi một phân phối xác suất tham chiếu P.

Toán tử KL divergence giữa hai phân phối xác suấtPvàQđược định nghĩa như sau:

P(x) logP( )x Q(x) trong trường hợp phân phối rời rạc, hoặc:

1 Kullback–Leibler divergence https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_ divergence

CHƯƠNG 2 KIẾN THỨC NỀN TẢNG 9 trong trường hợp phân phối liên tục.

•P(x): Xác suất củaxtheo phân phối P

•Q(x): Xác suất củaxtheo phân phối Q

•X: Không gian mẫu (tất cả các giá trị có thể của biến ngẫu nhiên). Đặc điểm chính:

•Không đối xứng: KL divergence không đối xứng, tức làD KL(P∥Q)=D KL(Q∥P).

KL divergence không phải là một khoảng cách trong không gian hình học, mặc dù nó đo lường sự khác biệt giữa hai phân phối Điều này là do KL divergence không thỏa mãn các điều kiện như tính đối xứng và bất đẳng thức tam giác.

•Không âm:D KL(P∥Q)≥0, và chỉ bằng 0 khiPvàQlà giống nhau trên toàn bộ không gian mẫu.

Độ đo cosine

Độ tương tự cosine là một chỉ số quan trọng dùng để đo lường mức độ tương tự giữa hai vector trong không gian tích bên trong Chỉ số này được xác định thông qua cosine của góc giữa hai vector, giúp xác định xem chúng có hướng tương đồng hay không Đặc biệt, độ tương tự cosine thường được áp dụng trong phân tích văn bản để đánh giá sự tương đồng giữa các tài liệu.

Trong phân tích văn bản, vector được sử dụng để đại diện cho tài liệu hoặc đoạn văn bản, với mỗi chiều tương ứng với một từ hoặc thuật ngữ cụ thể Giá trị ở mỗi chiều thể hiện tần suất hoặc mức độ quan trọng của từ trong tài liệu Độ tương đồng cosine được sử dụng để đo lường sự tương đồng giữa hai vector, với góc 0 độ cho thấy chúng cùng hướng (cosine = 1), góc 90 độ cho thấy không có sự tương đồng (cosine = 0), và góc 180 độ cho thấy chúng hoàn toàn không tương đồng (cosine = -1).

CHƯƠNG 2 KIẾN THỨC NỀN TẢNG 10 Độ tương đồng cosine giữa hai vectorAvàBđược cho bởi: cosine similarity= cos( ) =θ AãB

•AãBlà tớch vụ hướng của cỏc vector.

•∥A∥và∥B∥là độ lớn (hoặc độ dài) của các vector.

Độ tương đồng cosine có ưu điểm nổi bật là không bị ảnh hưởng bởi độ dài của các vector, tức là chiều dài hay số lượng từ không quan trọng Thay vào đó, nó chỉ xem xét hướng của các vector, điều này giúp nó trở thành công cụ lý tưởng để so sánh các tài liệu có độ dài khác nhau.

Sau khi nghiên cứu kỹ lưỡng, tôi đã phát hiện một số ứng dụng và kỹ thuật hữu ích, cùng với cách thức hoạt động của chúng, có thể hỗ trợ cho hướng nghiên cứu của tôi.

BERT

BERT (Bidirectional Encoder Representations from Transformers) is a deep learning model developed by Google and released in 2018, representing a significant advancement in the field of natural language processing (NLP) As a member of the Transformer model family, BERT's architecture enables it to understand context in text by processing words in relation to all other words in a sentence, rather than one by one.

BERT là một mô hình bidirectional, khác với các mô hình trước chỉ xử lý văn bản theo một chiều Nhờ khả năng xử lý văn bản từ cả hai phía, BERT có thể hiểu ngữ cảnh đầy đủ của một từ bằng cách xem xét cả nội dung trước và sau từ đó.

BERT được huấn luyện trước trên một khối lượng lớn dữ liệu từ Wikipedia và BooksCorpus, giúp nó hiểu ngữ cảnh văn bản Sau đó, BERT có thể được tinh chỉnh cho các nhiệm vụ cụ thể như phân loại văn bản và trả lời câu hỏi, mang lại hiệu quả cao trong nhiều ứng dụng khác nhau.

CHƯƠNG 3 CÔNG TRÌNH LIÊN QUAN 12

Transformers, đặc biệt là BERT, được xây dựng trên kiến trúc Transformer, một loại mạng neural tiên tiến Kiến trúc này cho phép mô hình hiểu mối quan hệ giữa các từ trong câu mà không cần phụ thuộc vào thứ tự, khác với các mô hình Recurrent Neural Network (RNN).

PhoBERT là một mô hình ngôn ngữ dựa trên BERT, được thiết kế đặc biệt cho tiếng Việt, sử dụng kiến trúc Transformer và kỹ thuật học sâu để hiểu ngữ cảnh từ trong câu Mô hình này được huấn luyện trên một khối lượng dữ liệu lớn bằng tiếng Việt, giúp cải thiện hiệu suất trong các tác vụ xử lý ngôn ngữ tự nhiên.

PhoBERT là một mô hình ngôn ngữ được thiết kế đặc biệt cho tiếng Việt, nhằm tận dụng các đặc điểm ngữ pháp và từ vựng của ngôn ngữ này Việc phát triển PhoBERT giúp nâng cao hiệu suất cho các nhiệm vụ xử lý ngôn ngữ tự nhiên (NLP) liên quan đến tiếng Việt.

PhoBERT là một mô hình ngôn ngữ được huấn luyện trên một khối lượng lớn dữ liệu văn bản tiếng Việt, bao gồm thông tin từ báo chí, sách và các trang web Việc sử dụng đa dạng nguồn dữ liệu này giúp PhoBERT nắm bắt ngữ cảnh và ý nghĩa của từ ngữ trong tiếng Việt một cách sâu sắc hơn.

PhoBERT được xây dựng dựa trên kiến trúc BERT cơ bản, sử dụng các tầng encoder của Transformer Điều này giúp mô hình học được mối quan hệ giữa các từ trong câu theo cả hai chiều, từ trái sang phải và từ phải sang trái.

Underthesea Toolkit

Underthesea 1 là bộ dữ liệu Python mã nguồn mở, cung cấp hướng dẫn cho nghiên cứu và phát triển Xử lý ngôn ngữ tự nhiên tiếng Việt Bộ dữ liệu này mang đến API dễ sử dụng, cho phép áp dụng nhanh chóng các mô hình NLP đã được huấn luyện trước cho văn bản tiếng Việt Các tính năng bao gồm phân đoạn từ, gắn thẻ phần giọng nói (PoS), nhận dạng thực thể được đặt tên (NER), phân loại văn bản và phân tích cú pháp phụ thuộc.

Underthesea được phát triển dựa trên thư viện học sâu Pytorch, một trong những thư viện phổ biến nhất hiện nay Điều này giúp người dùng dễ dàng huấn luyện các mô hình học sâu và thử nghiệm các phương pháp mới thông qua các Module và Class có sẵn của Underthesea.

CHƯƠNG 3 CÔNG TRÌNH LIÊN QUAN 13

Underthesea được phát hành theo giấy phép GNU General Public License v3.0, yêu cầu cung cấp mã nguồn hoàn chỉnh cho các tác phẩm được cấp phép và sửa đổi Điều này bao gồm cả các tác phẩm lớn hơn sử dụng tác phẩm được cấp phép, tất cả phải tuân theo cùng một giấy phép.

1 Underthesea https://github.com/undertheseanlp/underthesea

Giải pháp thực hiện đề tài

Trong chương này, tôi sẽ trình bày cách giải quyết bài toán xác định nội dung trùng lặp, nêu rõ các thách thức và vấn đề cần khắc phục, cùng với những giải pháp đề xuất nhằm đạt được mục tiêu đã đặt ra.

Tổng quan về kiến trúc

Để chia bài viết dài thành các đoạn ngắn mà vẫn giữ nguyên ngữ nghĩa, đồng thời kiểm tra tính trùng lặp trong cơ sở dữ liệu nhằm lưu trữ bản duy nhất, tôi đề xuất một phương pháp như hình bên dưới.

CHƯƠNG 4 GIẢI PHÁP THỰC HIỆN ĐỀ TÀI 15

Để theo dõi sự thay đổi chủ đề trong văn bản, tôi bắt đầu bằng cách phân tách đoạn văn dài thành các phần ngắn dựa trên sự thay đổi chủ đề Sau đó, tôi gán nhãn và chuyển đổi từng đoạn văn thành vector Cuối cùng, tôi so sánh các vector mới với các vector trong cơ sở dữ liệu dựa trên nhãn tương ứng và lưu đoạn văn vào cơ sở dữ liệu nếu nó chưa tồn tại về mặt ngữ nghĩa và nội dung.

CHƯƠNG 4 GIẢI PHÁP THỰC HIỆN ĐỀ TÀI 16

Phân đoạn văn bản

Một số phương pháp phân đoạn văn bản 16 4.2.2 Phương pháp phân đoạn dựa trên thay đổi của chủ đề đoạn văn 17

Phân đoạn là quá trình chia nhỏ văn bản dài thành các phần ngắn hơn mà vẫn giữ được ý nghĩa liên quan Quá trình này rất quan trọng trong tìm kiếm ngữ nghĩa, giúp mỗi tài liệu cung cấp thông tin quý giá về một chủ đề cụ thể.

Một số phương pháp có thể dùng để phân đoạn văn bản như:

•Phân đoạn theo kích thước cố định:

Phân đoạn văn bản là một phương pháp đơn giản, chia văn bản thành các khối có kích thước cố định Cách tiếp cận này dựa trên số lượng ký tự hoặc câu, giúp việc triển khai văn bản trở nên dễ dàng và hiệu quả hơn.

Phương pháp này có những hạn chế nhất định, trong đó nhược điểm đáng chú ý là thiếu kiểm soát chính xác kích thước ngữ cảnh Tính chất nghiêm ngặt và kích thước cố định có thể dẫn đến việc cắt xén từ, câu hoặc đoạn văn, gây cản trở khả năng hiểu và làm gián đoạn luồng thông tin.

Phương pháp này không xem xét ngữ nghĩa, dẫn đến việc các đơn vị ngữ nghĩa trong văn bản có thể không phản ánh chính xác một ý tưởng hay suy nghĩ cụ thể Kết quả là, một đoạn văn có thể không khác biệt về mặt ngữ nghĩa so với đoạn văn khác.

•Phân tách nhận biết cấu trúc đệ quy:

Phương pháp phân đoạn văn bản kết hợp là một kỹ thuật hiệu quả, kết hợp giữa phương pháp cửa sổ trượt cố định và phương pháp phân tách nhận biết cấu trúc Kỹ thuật này nhằm tạo ra các khối văn bản có kích thước gần như cố định, sử dụng ký tự hoặc mã thông báo, trong khi vẫn giữ nguyên các đơn vị văn bản gốc như từ, câu hoặc đoạn văn.

CHƯƠNG 4 GIẢI PHÁP THỰC HIỆN ĐỀ TÀI 17

Phương pháp này sử dụng phân chia đệ quy với nhiều dấu phân cách như ngắt đoạn, dòng mới và dấu cách, chỉ chuyển sang mức độ chi tiết tiếp theo khi cần thiết Điều này giúp cân bằng giữa kích thước khối cố định và việc tôn trọng ranh giới ngôn ngữ tự nhiên của văn bản.

Phương pháp này yêu cầu văn bản phải có cấu trúc rõ ràng và nhất quán, vì vậy không phù hợp với những văn bản có sự phân chia cấu trúc không đồng nhất Hơn nữa, các đoạn văn quá dài cũng có thể không đáp ứng được yêu cầu ban đầu.

4.2.2 Phương pháp phân đoạn dựa trên thay đổi của chủ đề đoạn văn

Mỗi phương pháp phân tách văn bản đều có ưu và nhược điểm riêng, nhưng để đảm bảo chất lượng và tính nhất quán về ngữ nghĩa, tôi đề xuất một phương pháp phân đoạn dựa trên sự thay đổi chủ đề Phương pháp này sử dụng cửa sổ trượt để phân tách văn bản thành các đoạn ngắn, với kích thước cửa sổ từ 2 đến 4 câu, thường không quá lớn Một đoạn văn tốt thường có từ 3 đến 10 câu, giúp duy trì sự rõ ràng và mạch lạc trong nội dung.

Trong quá trình đánh giá văn bản, tôi sẽ so sánh sự khác biệt về chủ đề giữa phần hiện tại và các phần trước đó Nếu phát hiện sự khác biệt về chủ đề vượt ngưỡng chỉ định, tôi sẽ tách đoạn tại vị trí hiện tại Ngược lại, nếu chủ đề không có sự khác biệt đáng kể, phần văn bản hiện tại sẽ được kết hợp với đoạn trước để tiếp tục so sánh với đoạn tiếp theo.

Giải thuật phân tách đoạn theo chủ đề được thể hiện ở hình bên dưới (Hình 4.2).

1 Paragraphs - Writing Guide https://www.usu.edu/markdamen/writingguide/15paragr.htm

CHƯƠNG 4 GIẢI PHÁP THỰC HIỆN ĐỀ TÀI 18

Hình 4.2:Giải thuật phân tách đoạn theo chủ đề

CHƯƠNG 4 GIẢI PHÁP THỰC HIỆN ĐỀ TÀI 19

•p(n) là phần văn bản thứ n được theo dõi bởi cửa sổ trượt.

•d(i) là phân phối chủ đề của văn bản thứ i.

Trong quá trình xử lý văn bản, tôi đã sử dụng một số công cụ hỗ trợ như Underthesea Toolkit để phân tách văn bản thành câu, do đơn vị của cửa sổ trượt là câu Để xác định phân phối chủ đề của hai phần văn bản được chia tách, tôi áp dụng mô hình LDA như đã trình bày ở mục 2.1 Sau đó, tôi sử dụng độ đo Kullback-Leibler được đề cập ở mục 2.2 để đánh giá sự khác biệt giữa hai phân phối chủ đề văn bản đã tìm được.

Paragraph Embedding

Sau khi hoàn thành quá trình phân tách đoạn, tôi đã sử dụng BERT để vector hóa các đoạn văn bản tiếng Anh, trong khi đó phoBERT được áp dụng để vector hóa các đoạn văn bản tiếng Việt.

Gán nhãn các đoạn văn bản đã được xử lý

Gán nhãn cho đoạn văn là công việc quan trọng thực hiện sau khi có các đoạn văn ngắn (chunk), nhằm mục đích dễ dàng truy vấn và giảm thời gian xử lý khi so sánh các chunk Bài viết này không đi sâu vào nghiên cứu chuyên sâu về gán nhãn, mà chỉ đề cập đến các phương pháp đã được sử dụng trong quá trình nghiên cứu.

•Gán nhãn đoạn văn bản sử dụng K-Nearest Neighbors (KNN).

CHƯƠNG 4 GIẢI PHÁP THỰC HIỆN ĐỀ TÀI 20

So sánh trùng lặp đoạn văn bản

Sau khi hoàn tất các bước trên, tôi kiểm tra xem đoạn văn bản đã được lưu trong cơ sở dữ liệu hay chưa, để đảm bảo chỉ có một phiên bản duy nhất cho nội dung đó.

Tôi thực hiện công tác so sánh các vector embedding từ các đoạn văn bản có được từ quá trình 4.3 với các đoạn văn bản cùng một nhãn.

Độ đo cosine được sử dụng để đo lường độ tương tự giữa các tài liệu thông qua việc tính toán cosine của góc giữa hai vector, với kết quả dao động từ 0 đến 1 Nếu hai vector cùng hướng, độ tương tự là 1; nếu ngược hướng, độ tương tự là 0 Khi độ tương tự cosine vượt qua một ngưỡng nhất định, đoạn văn bản sẽ không được lưu vào cơ sở dữ liệu Điểm nổi bật của độ tương tự cosine là nó chỉ tính toán hướng của các vector, giúp nhận diện sự tương đồng giữa các tài liệu có kích thước khác nhau.

Việc sử dụng độ đo cosine để so sánh văn bản có nhược điểm là chỉ thực hiện được theo cặp, dẫn đến việc cần phải thực hiện nhiều so sánh Điều này có thể ảnh hưởng đến hiệu suất của hệ thống, đặc biệt khi số lượng đoạn văn trong cơ sở dữ liệu tăng lên đáng kể.

Kiểm thử phương pháp

Sau khi triển khai hệ thống, quá trình chạy thử và kiểm thử sẽ được thực hiện thông qua một loạt các testcases Những testcases này được xây dựng từ kho dữ liệu giáo dục cho Chatbot, lấy từ các website chính thống của trường Đại học Bách Khoa Thành phố.

Hồ Chí Minh Mục tiêu là đảm bảo rằng giải pháp đề ra sễ đáp ứng đúng yêu cầu ban đầu.

Đánh giá sẽ dựa trên kết quả tách đoạn và so sánh các đoạn văn trùng lặp trong cơ sở dữ liệu để xác định các testcase đúng và cần điều chỉnh Báo cáo sẽ tập trung vào phát hiện, phân tích nguyên nhân và khắc phục các sai sót trong quá trình thử nghiệm Các tham số được sử dụng để kiểm thử trong hệ thống sẽ được trình bày chi tiết.

CHƯƠNG 4 GIẢI PHÁP THỰC HIỆN ĐỀ TÀI 21

Bảng 4.1:Tham số sử dụng kiểm thử.

Tham số chunk_slide_window_size xác định kích thước cửa sổ trượt qua văn bản trong phân đoạn, với giá trị từ 2 đến 5 câu Ngưỡng kl_threshold được thiết lập trong khoảng từ 0,7 đến 0,9 để phân biệt phân phối chủ đề giữa hai đoạn văn bản Cosine_threshold có giá trị 0,9, dùng để đánh giá sự khác biệt về ý nghĩa giữa hai đoạn văn bản Kết quả đánh giá cho phần phân tách đoạn văn bản sẽ được phân loại theo 4 mức độ: Kém, Trung bình, Khá và Tốt.

Trong quá trình đánh giá hơn 50 văn bản, có 70% đạt mức Khá trở lên, sử dụng cửa sổ trượt 2-3 câu và ngưỡng so sánh Kullback-Leibler từ 0,75 đến 0,8 Những văn bản có kết quả Trung bình hoặc Kém thường chứa dữ liệu dạng bảng với nhiều header, footnote và trích dẫn Do đó, cần thực hiện tiền xử lý cho các dạng dữ liệu này trước khi áp dụng thuật toán.

Định hướng tương lai

Sử dụng bộ dữ liệu lớn

Hiện tại, tôi chỉ khai thác dữ liệu từ hệ thống Trường Đại học Bách khoa Thành phố Hồ Chí Minh Tuy nhiên, tôi nhận thấy tầm quan trọng của việc mở rộng nguồn dữ liệu và dự định sẽ xử lý tất cả các tệp văn bản khác trong tương lai để tối ưu hóa thông tin.

Bằng cách này, tôi có thể theo dõi và đánh giá chính xác hệ thống Việc mở rộng nguồn dữ liệu sẽ hỗ trợ giải quyết các trường hợp ngoại lệ và mang lại tính linh hoạt cao hơn trong xử lý các tình huống đặc biệt và đa dạng.

Xây dựng hệ thống đánh giá khách quan

Việc phân tách và đánh giá các đoạn văn có ngữ nghĩa tương đồng là một quá trình mang tính chủ quan Do đó, khi áp dụng một phương pháp để thực hiện các hoạt động này trên một lượng lớn văn bản, kết quả thu được sẽ có sự khác biệt nhất định.

CHƯƠNG 4 GIẢI PHÁP THỰC HIỆN ĐỀ TÀI 22 có thể tốt hoặc chưa tốt tùy vào sự đánh giá của mỗi cá nhân Do đó để có thể tạo ra được một tiêu chuẩn đánh giá tốt là một thách thức cần được giải quyết thời gian tới.

Kết hợp với mô hình có khả năng học

Việc điều chỉnh tham số để đạt kết quả tối ưu trong phân đoạn văn bản cho từng nhóm và loại văn bản là một thách thức lớn Nghiên cứu và tìm ra giải pháp cho vấn đề này là rất cần thiết để nâng cao tính linh hoạt trong xử lý của hệ thống.

Trong bài báo cáo thực tập 1 này, tôi đã nghiên cứu các mô hình và công trình liên quan để phát triển một công cụ phân tách và so sánh đoạn văn, phục vụ cho việc tiền xử lý dữ liệu Hệ thống hiện tại có khả năng chia nhỏ văn bản lớn thành các đoạn ngắn và so sánh chúng với các đoạn trong cơ sở dữ liệu, nhằm lưu trữ một phiên bản duy nhất với nội dung tương tự Tuy nhiên, vẫn còn một số hạn chế cần khắc phục.

Một trong những vấn đề lớn trong việc xử lý hoàn toàn tự động là cần phải tinh chỉnh các tham số nhiều lần cho từng văn bản hoặc nhóm văn bản khác nhau Điều này không chỉ gây ra trải nghiệm không tốt cho người dùng mà còn làm giảm hiệu suất của hệ thống.

Kết quả phân tách văn bản có thể không chính xác do việc sử dụng mô hình LDA kết hợp với các công cụ hỗ trợ như Underthesea Sự không chính xác này có thể ảnh hưởng đến chất lượng của các đoạn văn bản được tạo ra, từ đó làm giảm độ tin cậy của giải pháp.

Thiếu hệ thống đánh giá khách quan.

Trong tương lai, tôi sẽ tiếp tục nghiên cứu các mô hình và công nghệ mới nhằm giải quyết các vấn đề hiện tại Tôi cũng sẽ tiến hành xử lý trên bộ dữ liệu lớn để hỗ trợ cho Hệ thống hỏi đáp và Hệ thống hỏi đáp hội thoại tương tác tại Trường Đại học Bách khoa Thành phố Hồ Chí Minh.

Ngày đăng: 19/12/2024, 16:01

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w