XÂY DỰNG ỨNG DỤNG PHÂN TÍCH NGỮ NGHĨA TRONG TÌM KIẾM TÀI LIỆU TRỰC TUYẾN PHẦN 2 - Pdf 63

PHẦN III: GIẢI PHÁP KỸ THUẬT
1. GIẢI PHÁP ĐỌC ĐỊNH DẠNG TÀI LIỆU
1.1 Giao diện Ifilter
Giao diện Ifilter được thiết kế bởi Microsoft để sử dụng cho dịch vụ định chỉ số
(Indexing Service). Mục đích chính của nó là trích rút phẩn text từ file để dịch vụ Định
chỉ số có thể đánh chỉ số và tìm kiếm nó về sau. Một vài phiên bản của Windows có trình
thực thi Ifilter cho các file office, cũng có những phiên bản miễn phí hoặc thương mại
cho việc đọc các loại file khác (pdf có bộ lọc Adobe PDF là phổ biến nhất). Giao diện
IFilter có thể được sử dụng trong các dạng không phải dạng text giống như các tài liệu
office, tài liệu pdf…hay cũng của dụng dạng file text như html, xml, để trích rút những
phần quan trong của file. Mặc dù giao diện IFilter được sử dụng chủ yếu cho các mục
đích trích rút text từ tài liệu, nó cũng được sử dụng trong các bộ máy tìm kiếm. Windows
Desktop Search sử dụng các bộ lọc để đánh chỉ số cho file.
Chi tiết công nghệ của giao diện IFilter không được tiết lộ bởi Microsoft. Phần sau
đây, tôi giới thiệu cách phần mềm được chọn sử dụng giao diện IFilter để đọc file như
thế nào.
1.2 Chương trình EPocalipse.IFilter
Để thực hiện một việc tách từ, đơn giản sử dụng:
TextReader reader=new FilterReader(fileName);
using (reader)
{
textBox1.Text=reader.ReadToEnd();
}
Với fileName là đường dẫn tuyệt đối của file được định vị trên ổ cứng.
Quá trình thực thi nhận dạng extension của file được thực hiện như sau: Gọi phương
thức LoadIFilter và truy tìm theo dấu vết của các keys đăng ký trong registry trong quá
trình thực hiện đó. Chi tiết được thực hiện trong lớp FilterLoader. Khi một cặp lớp/DLL
được tìm thấy cho mở rộng của file đó, các thông tin này được lưu lại trong cach để
tránh việc phải đọc lại registry.
Khi có tên của DLL và ID của lớp thực hiện cho bộ lọc, lớp ComHelper thực hện
các công việc sau:

IFILTER_INIT iflags =
IFILTER_INIT.CANON_HYPHENS |
IFILTER_INIT.CANON_PARAGRAPHS |
IFILTER_INIT.CANON_SPACES |
IFILTER_INIT.APPLY_INDEX_ATTRIBUTES |
IFILTER_INIT.HARD_LINE_BREAKS |
IFILTER_INIT.FILTER_OWNED_VALUE_OK;
if (filter.Init(iflags, 0, IntPtr.Zero, out
flags)==IFilterReturnCode.S_OK)
return filter;
}
2. GIẢI PHÁP TÁCH TỪ
2.1 Giải pháp tách từ Tiếng Anh
Với các tài liệu tiếng Anh, từ của tiếng Anh được phân cách với nhau bằng dấu cách.
Điều đó có nghĩa là chúng ta có thể tách từ tiếng Anh bằng dấu phân tách là dấu cách.
Việc xử lý các stopword của tiếng anh thì chúng tôi cũng có một file gồm hơn 300 từ
stopword của tiếng Anh để phục vụ cho việc loại bỏ stopword khỏi văn bản tách để tách
ra những từ quan trọng, tránh những từ mang ý nghĩa chung, hay chỉ là cảm thán.
2.2 Giải pháp cho Tiếng Việt
2.1.1 Các giải pháp đã có
Hiện có rất nhiều chương trình hỗ trợ việc phân tích cú pháp, tách từ, gán nhãn từ
tiếng Việt cùng với các giải thuật thuật toán khác nhau. Những đồ án được tham khảo là
chương trình Code_correct (chính xác loại văn bản dựa vào tập huấn luyện), chương
trình VNSegment của tác giả Phương Thái (chương trình khá hoàn chỉnh trong việc tách
từ và phân loại từ tiếng Việt. Chỉ có điều viết trên nền Java và không được cung cấp
2
sourcode và file thư viện), chương trình VNTokenizer (đề cập tới một số nghiên cứu hữu
ích cho việc tác từ).
2.1.2 Giải pháp sử dụng và nhận xét
Giải pháp được sử dụng được mô tả bằng giải thuật phía dưới. Dựa trên một bộ từ

Anh chàng Anh hùng Anh hùng
chủ nghĩa
Anh kiệt Anh linh Anh vũ
Ăn
Ăn Ăn cắp Ăn trộm

3
Câu bên trái
Câu cần tách
In Dictionary?
Câu được cắt
Còn 1 từ
Cắt tiếng bên trái
Giữ các từ đã cắt
Stack
Thêm từ mới vào
mảng từ tách
Table : Bảng một số ví dụ về cấu trúc lưu trữ từ điển
Khi đọc một từ, ta tách âm tiết đầu tiên của nó và kiểm tra trước với các phần tử đầu
tiên của mảng, sau đó, kiểm tra tiếp với các phần tử trong mảng của nó. Khi đó, nó sẽ
tăng tốc độ tìm kiếm lên đáng kể.
4
3. GIẢI PHÁP LSA
Giải pháp LSA là một trong các giải pháp xử lý tài liệu về mặt ngữ nghĩa. Sau khi các
thu được bộ từ khóa cho từng văn bản, phương pháp LSA sẽ phân tích trên bộ từ khóa đó
với các văn bản khác để tìm ra mức độ tương đồng. Bộ từ khóa của một tài liệu và các
tài liệu còn lại sẽ hình thành ma trận độ tương đồng về nội dung. Phương pháp LSA sử
dụng giải thuật SVD để giảm chiều cho ma trận trên.
Chi tiết về giải pháp này xin tham khảo ở đồ án của bạn Cường.
4. GIẢI PHÁP PHÂN TÍCH NGƯỜI DÙNG

Đặc tả use-case
Use-case tìm kiếm
Hình : Use-case tìm kiếm Hình : Biểu đồ cộng tác chức năng tìm kiếm
Lớp biên:
- W_Tìm kiếm
- W_Tài liệu
• Lớp điều khiển:
- QL_Tài liệu
• Lớp thực thể:
- TT_Tài liệu
Dưới đây là biểu đồ tiến trình.
Hình : Biểu đồ tiến trình chức năng tìm kiếm
7
Use-case quản lý tài liệu
Hình : Use-case quản lý tài liệu
Lớp biên:
- W_admin
- W_Danh sách tài liệu
- W_Tài liệu
• Lớp điều khiển:
- QL_Tài liệu
• Lớp thực thể:
- TT_Tài liệu
- Biểu đồ cộng tác:
Hình : Biểu đồ cộng tác
8
Chức năng thêm mới tài liệu:
Hình : Biểu đồ tiến trình chức năng thêm mới tài liệu
Chức năng sửa tài liệu:
Hình : Biểu đồ tiến trình chức năng sửa tài liệu


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status