Màn hình xem chi tiết (TH_XemChiTiet)

Một phần của tài liệu XÂY DỰNG BỘ NGỮ LIỆU ĐỂ ĐÁNH GIÁ BẰNG TIẾNG VIỆT VÀ CHƯƠNG TRÌNH TRỢ GIÚP ĐÁNH GIÁ CÁC HỆ TÌM KIẾM THÔNG TIN (Trang 136)

Ký hiệu: fraXemChiTiet

Màn hình này được gọi khi người dùng muốn xem thông tin chi tiết về sự liên quan của một câu hỏi với 1 tài liệu cụ thể.

Đứng tại màn hình xem kết quả đánh giá (fraKq_DanhGia) , nhấn vào DocID của tài liệu muốn xem (bởi vì trên màn hình fraKq_DanhGia, tblTaiLieuPhucHoi chi thể hiện các DocID của tài liệu được trả về), chương trình sẽ hiện thị màn hình xem chi tiết này.Thông tin chi tiết gồm có : nội dung của câu hỏi,nội dung của tài liệu liên quan đến câu hỏi đó, độ tương quan của câu hỏi với tài liệu và thông tin tài liệu và câu hỏi đó được lập chỉ mục

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Chi tiết tài liu

Chi tiết tài liu

Thông tin chi tiết

Tài liệu: DocID= ... Đóng màn hình Câu hỏi: …. Độ tương quan :…... Từ Trọng số Từ Trọng số Diễn giải: STT Tên Loại kiểu Ý nghĩa

1 lblSim Lable Độ tương quan giữa câu hỏi và tài liệu

2 lblTopID Lable Chỉ số (topicID) của tài liệu 3 txtCauHoi textbox thể hiện nội dung của câu hỏi đó 4 tblIndex_CauHoi table Thể hiện nội dung chỉ mục của câu

hỏi

5 lblDocID Lable Chỉ số ID của tài liệu 6 txtTaiLieu textbox Nội dung tài liệu

7 tblIndex_TaiLieu table Nội dung chỉ mục của tài liệu 8 btnDong Button Đóng màn hình 3 7 1 2 4 6 5 8

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin 3.3.2.6.13.Màn hình so sánh hệ thống (TH_SoSanhHT) Ký hiệu: fraSoSanhHT Diễn giải: STT Tên Loại kiểu Ý nghĩa 1 lstHT ListBox Danh sách hệ thống IR

2 btnChon Button chọn một hệ thống bên danh sách hệ

thống

3 btnBo Button bỏ một hệ thống bên danh sách hệ thống

đã chọn

4 lstHTChon ListBox Danh sách hệ thống đã được chọn

5 Đồ thị hiện thịđồ thị của các hệ thống đã chọn 6 btnDong Button Đóng màn hình 6 1 4 2 3 5

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

3.3.2.7. Thiết kế hệ thống lớp đối tượng 3.3.2.7.1.Các lớp đối tượng xử lý

a) CFormat: Ý nghĩa :

Định nghĩa cấu trúc các thông số cần thiết đểđịnh dạng tài liệu và câu hỏi

Mô tả:

Cấu trúc thông sốđịnh dạng:

STT Tên Loại kiểu Ý nghĩa

1 oldTag Kiểu chuỗi Thẻ cũ cần chuyển đổi

2 newTag Kiểu chuỗi Thẻ mới (từ thẻ cũđổi sang thẻ mới) 3 Content Kiểu chuỗi Nội dung của thẻ cũ

4 oldId Kiểu chuỗi Thứ tự của thẻ cũ trong file xml cũ 5 newId Kiểu chuỗi Thứ tự của thẻ mới trong file xml mới 6 haveAttr Kiểu logic Thẻ mới đó có thuộc tính hay không? 7 attrArray Mảng

CFormat (adsbygoogle = window.adsbygoogle || []).push({});

Nếu thẻ mới có thuộc tính thì attrArray sẽ

lưu danh sách các thuộc tính (Thuộc tính có cấu trúc dạng thẻ: tên thuộc tính (tương ứng với tên thẻ mới- newTag)), thẻ tương ứng với thuộc tính trên (oldTag)

b) CDocument: Ý nghĩa

Định nghĩa cấu trúc của tài liệu để lưu trữ các giá trị nội dung của các thẻ

(hoặc section) của tài liệu

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

STT Tên Loại kiểu Ý nghĩa

1 DocID Kiểu chuỗi docID của tài liệu 2 Title Kiểu chuỗi tiêu đề của tài liệu 3 Content Kiểu chuỗi Nội dung của tài liệu 4 Date Kiểu chuỗi Ngày tạo tài liệu 5 Author Kiểu chuỗi Tác giả của tài liệu 6 News Kiểu logic Nguồn gốc của tài liệu

c) CTopic: Ý nghĩa:

Định nghĩa cấu trúc của tài liệu để lưu trữ các giá trị nội dung của các thẻ

(hoặc section) của câu hỏi

Mô tả:

STT Tên Loại kiểu Ý nghĩa

1 TopID Kiểu chuỗi docID của câu hỏi 2 Title Kiểu chuỗi Nội dung của câu hỏi 3 Description Kiểu chuỗi Chú thích của câu hỏi

4 Narrative Kiểu chuỗi Nội dung yêu cầu liên quan của câu hỏi

d) CHeThongIR: Ý nghĩa:

Định nghĩa cấu trúc hệ thống IR

Mô tả:

STT Tên Loại kiểu Ý nghĩa

1 strTenHT Kiểu chuỗi Tên hệ thống IR 2 strID Kiểu chuỗi ID của hệ thống IR

3 NgayKiemTra Kiểu chuỗi Ngày tiến hành kiểm tra hệ thống IR 4 Rtrungbinh Kiểu chuỗi Độ bao phủ trung bình

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

5 Ptrungbinh Kiểu chuỗi Độ chính xác trung bình 6 fP Mảng số thực Độ chính xác trung bình tại 11 điểm chuẩn của độ bao phủ e) CKetQua: Ý nghĩa: Định nghĩa cấu trúc định dạng của file kết quả trả vế của hệ thống IR (file kết quả tar3 về của hệ thống IR chính là bảng liên quan thực tế)

Mô tả: STT Tên Loại kiểu Ý nghĩa 1 TopicID Kiểu chuỗi Thẻ tương ứng với TopicID 2 DocID Kiểu chuỗi Thẻ tương ứng với DocID 3 ThuocTinh_TopicID Kiểu chuỗi

Tên thuộc tính tương ứng với TopicID nếu thẻ tương ứng với TopicID có thuộc tính

4 ThuocTinh_DocID Kiểu chuỗi

Tên thuộc tính tương ứng với DocID nếu thẻ tương ứng với DocID có thuộc tính 5 TagSim Kiểu chuỗi Thẻ tương ứng với similarity (thẻ Similarity) 6 ThuocTinh_Sim Kiểu chuỗi

Tên thuộc tính tương ứng với Similarity nếu thẻ tương ứng với Similarity có thuộc tính

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

f) CRelevant: Ý nghĩa (adsbygoogle = window.adsbygoogle || []).push({});

Định nghĩa cấu trúc sự liên quan của tài liệu tại vị trí thứ tự n của danh sách các tài liệu trả về của một câu hỏi

Thông tin về độ chính xác và độ bao phủ tại vị trí thứ n sẽ được lưu trong mảng cấu trúc CRelevant để thực hiện nội suy tính độ chính xác tại 11 điểm chuẩn của độ bao phủ (tính P (r) , với r có giá trị là 0.0, 0.1 ,0.2 ,0.3 ,0.4, 0.5 , 0.6 , 0.7, 0.8, 0.9, 1.0)

Mô tả:

STT Tên Loại kiểu Ý nghĩa

1 DocID Kiểu chuỗi docID của câu hỏi tại vị trí thứ tự n 2 bRelevant Kiểu logic Tài liệu tại vị trí n có liên quan hay

không? 3 fPrecision Kiểu số thực Độ chính xác của tài liệu tại vị trí n 4 fRecall Kiểu số thực Độ bao phủ của tài liệu tại vị trí n g) CIndex: Ý nghĩa: Định nghĩa cấu trúc định dạng các file index trả về của hệ thống IR Mô tả: STT Tên Loại kiểu Ý nghĩa

1 ID Kiểu chuỗi ID của câu hỏi hoặc tài liệu được lập chỉ mục

2 word Kiểu chuỗi Từ có nghĩa xuất hiện trong câu hỏi hoặc tài liệu

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin nguyên h) XL_XML : Sơ đồ lớp: Mô tả: Phương thức: TranslateXML

o Ý nghĩa: chuyển đổi cấu trúc của một file xml sang cấu trúc file xml khác o Tham sốđầu vào: STT Tên Loại kiểu Ý nghĩa 1 Format Kiểu mảng CFormat mảng Cformat lưu trữ cấu trúc định dạng mới mà file xml mới cần chuyển đổi sang cấu trúc đó

2 newFile Kiểu chuỗi file xml mới bao gồm cảđường dẫn 3 oldPathFile Kiểu chuỗi đường dẫn file xml cũ

4 oldFile Kiểu chuỗi tên file xml cũ

Ghi chú:

Tham số format có kiểu mảng CFormat với:

newTag : là tên thẻ trong file xml mới tương ứng với oldTag oldTag là các thẻ trong file xml cũ

newId: là thứ tự của thẻ mới trong file xml mới oldTag: là thứ tự của thẻ cũ

haveAttr: thẻ mới cần tạo có thuộc tinh hay không?, nếu có lưu thuộc XL_XML

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Ví dụ : có file xml như sau:

<DOCUMENT> nút gốc (có thứ tự =0)

<DOC> nút kế gốc (có thứ tực bằng 1) <DOCID> “ 1 “ <DOCID>

<TITLE> “Thanh niên Việt Nam” <TITLE> </DOC>

</DOCUMENT>

Đổi sang file xml có cấu trúc như sau: <DOCUMENT>

<DOC DOCID=”1”>

<TITLE> “Thanh niên Việt Nam” <TITLE> </DOC>

</DOCUMENT>

Định nghĩa mảng format như sau: CFormat[] f=new CFormat[3]; f[0]=new CFormat(); f[0].oldId=f[0].newId=0; f[0].newTag="TAILIEU"; f[0].oldTag="DOCUMENT"; f[0].haveAttr=false; f[1]=new CFormat(); f[1].newId=f[1].oldId=1; f[1].newTag="TL"; f[1].oldTag="DOC"; f[1].haveAttr=true; f[1].attrArray=new CFormat[1]; f[1].attrArray[0]=new CFormat();

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin f[1].attrArray[0].newTag="ID"; f[2]=new CFormat(); f[2].newId=f[2].oldId=2; f[2].newTag="CHUDE"; f[2].oldTag="TITLE"; o Kết quả trả về: STT Tên Loại kiểu Ý nghĩa 1 kq Kiểu số nguyên Kết quả trả về để xác nhận chuyển đổi thành công hay thất bại

o Mô tả thuật toán: (adsbygoogle = window.adsbygoogle || []).push({});

- Tìm newTag của nút gốc trong mảng format (nút gốc là nút có thứ tự

newId=0) , dựa vào khai báo của mảng format (newTag) tạo nút gốc cho file xml mới

- Đọc file xml cũ dựa vào oldPathFile và oldFile: gọi phương thức ReadXML của lớp LT_XML

- Tìm vị trí của nút kế gốc trong mảng format(nút kế gốc là nút có oldId=1) =>idxroot

- Lấy danh sách các nút kế gốc ( thẻ oldTag) =>Nodes - Gọi nodelen là chiều dài của danh sách Nodes

- Lặp i=0 -> i=nodelen - Bắt đấu lặp i

Kiềm tra xem format[idxroot] có thuộc tính hay không: (format[idxroot].haveAttr ?)

Nếu có thuộc tính

(duyệt tất cả các thuộc tính của nút kế gốc để gán nội dung cho nó) - Với mỗi thuộc tính:

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

- xem thuộc tính của nút kế gốc có oldTag là gì, nếu có oldTag =”” có nghĩa là tạo mới thuộc tính, nếu oldTag !=”” : đọc nội dung của oldTag gán váo format[idxroot].Content

Ngược lại không có thuộc tính

- Tạo nội dung cho các phần tử format[k] (k!=idxroot) (chú ý: nút kế gốc format[idxroot] không chứa nội dung)

- kiểm tra xem từng phần tử trong mảng format khác với format[idxroot] có thuộc tính hay không

- Nếu phần tử format[k] có thuộc tính : đọc nội dung thẻ tương

ứng với thuộc tính đó (oldTag) và ghi nhận nội dung vào format[k].attrArray[j].Content

Sau khi gán nội dung cho các thẻ mới trong mảng format : - Sắp xếp thứ tự mảng format theo thứ tự tăng dần của newId - Tạo node cho file xml mới

- Cuối lặp i đã ánh xạ xong các node của file xml cũ sang file xml mới

k) XL_Text: Sơ đồ lớp:

Mô tả:

Phương thức : TranslateText

o Ý nghĩa:

đổi cấu trúc của một file xml sang cấu trúc file text khác với các thẻ của file xml tương ứng với các section của file text

o Tham số đầu vào:

STT Tên Loại kiểu Ý nghĩa XL_XML

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

1 format Kiểu mảng CFormat

mảng Cformat lưu trữ cấu trúc định dạng mới mà file xml mới cần chuyển đổi sang cấu trúc đó

2 newFile Kiểu chuỗi file xml mới bao gồm cảđường dẫn 3 oldPathFile Kiểu chuỗi đường dẫn file xml cũ

4 oldFile Kiểu chuỗi tên file xml cũ (adsbygoogle = window.adsbygoogle || []).push({});

o Kết quả trả về: STT Tên Loại kiểu Ý nghĩa 1 kq Kiểu số nguyên Kết quả trả về để xác nhận chuyển đổi thành công hay thất bại o Thuật toán:

- Tìm newTag của nút gốc trong mảng format (nút gốc là nút có thứ tự

newId=0) , dựa vào khai báo của mảng format (newTag) tạo nút gốc cho file xml mới

- Đọc file xml cũ dựa vào oldPathFile và oldFile: gọi phương thức ReadXML của lớp LT_XML

- Do file text mới không có khái niệm thẻ gốc chỉ cần những thẻ chứa dữ liệu - Lấy danh sách các nút có thẻ là format[0].oldTag =>Nodes (format[0] là

nút kế gốc trong file xml cũ (không kể nút gốc)) - Gọi strNoiDung lưu giữ nội dung của file text - Gọi nodelen là chiều dài của danh sách Nodes - Lặp k=0 ->k=nodelen

Bắt đấu lặp i

Với mỗi phần tử format[i]:

- kiểm tra xem format[i].oldTag =”” hay không ?

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

strNoiDung = strNoiDung + format[i].newTag + “ký tự xuống dòng” o Nếu khác rỗng :

- lấy nội dung của thẻ có tên là format[i].oldTag gán vào nội dung của section mới : format[i].Content

strNoiDung = strNoiDung + format[i].newTag + “ký tự xuống dòng” + format[i].Content + “ký tự xuống dòng”

Cuối lặp i

- Ghi lên file text : gọi phương thức WriteText(strNoiDung,newFile) của lớp LT_Text

- Gửi kết quả thực hiện thành công hay thất bại cho chương trình

l) XL_Doc Sơ đồ lớp:

Mô tả:

Thuộc tính:

STT Tên Loại kiểu Ý nghĩa

1 Doc_Path Kiểu chuỗi Đường dẫn của tập tài liệu của chương trình , mặc định là tất cả các tập dữ liệu sẽ được lưu tại thư mục “coll” của chương trình

2 SO_DOC Kiểu số

nguyên

Số tài liệu trong một file tài liệu , mặc

định là có 50 tài liệu trong một file tài liệu

XL_Doc

Static String Doc_Path="coll"; Static int SO_DOC=50; DinhDangTaiLieu DinhDangTaiLieuText LayDSTaiLieu

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Phương thức :DinhDangTaiLieu

o Ý nghĩa:chuyển đổi định dạng của tập tài liệu , chuyển sang file xml o Tham số đầu vào: (adsbygoogle = window.adsbygoogle || []).push({});

STT Tên Loại kiểu Ý nghĩa 1 format Kiểu mảng

CFormat

mảng Cformat lưu trữ cấu trúc định dạng mới mà file xml mới cần chuyển đổi sang cấu trúc đó

2 Path Kiểu chuỗi Đường dẫn đến thư mục chứa tập tài liệu đã chuyển đổi

o Kết quả trả về:(không có)

o Mô tả thuật toán:

- Từ biến Doc_Path : duyệt tất cả các file xml nằm trong thư mục đó - Nếu Path=”” : có nghĩa là người sử dụng không nhập vị trí file tài

liệu mới đã được chuyển đổi => lưu tất cả các file đã chuyển đổi mới vào thư mục mặc định của chương trình

- Nếu Path != “”: lưu các file đã chuyển đổi vào thư mục Path

- Với mỗi file tài liệu xml của chương trình : gọi phương thức TranslateXML của lớp XL_XML thực hiện chuyển đổi và tạo file xml mới cho từng file xml tài liệu cũ

Phương thức: DinhDangTaiLieuText

o Ý nghĩa:chuyển đổi định dạng của tập tài liệu , chuyển sang file text o Tham số đầu vào:

STT Tên Loại kiểu Ý nghĩa 1 format Kiểu mảng

CFormat

mảng Cformat lưu trữ cấu trúc định dạng mới mà file xml mới cần chuyển đổi sang cấu trúc

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

2 Path Kiểu chuỗi Đường dẫn đến thư mục chứa tập tài liệu đã chuyển đổi

o Kết quả trả về (không có)

o Mô tả thuật toán:

- Từ biến Doc_Path : duyệt tất cả các file xml nằm trong thư mục đó - Nếu Path=”” : có nghĩa là người sử dụng không nhập vị trí file tài

liệu mới đã được chuyển đổi => lưu tất cả các file đã chuyển đổi mới vào thư mục mặc định của chương trình

- Nếu Path != “”: lưu các file đã chuyển đổi vào thư mục Path

Với mỗi file tài liệu xml của chương trình : gọi phương thức TranslateText của lớp XL_Text thực hiện chuyển đổi và tạo file text mới cho từng file xml tài liệu cũ

LayDSTaiLieu:

o Ý nghĩa:lấy danh sách tài liệu của file tài liệu bất kỳ dựa vào tên file của nó

o Tham số đầu vào:

fn (kiểu chuỗi ): là tên file tài liệu cần lấy o Kết quả trả về:

dsDoc(Kiểu mảng CDocument) : lưu thông tin của danh sách tài liệu nằm trong file tài liệu có tên là fn

o Mô tả thuật toán:

- Đọc file xml có tên là fn (adsbygoogle = window.adsbygoogle || []).push({});

- Lấy danh sách các node trong file xml có tên thẻ là “DOC” => lstNode

- Gọi n là chiều dài của lstNode

- Khai báo dsDoc là mảng CDocument với n phần tử

- Duyệt danh sách lstNode:

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Đầu lặp i:

Lấy danh sách node con của lstNode[i] => childList Lặp j=0 cho đến cuối childList

Đầu lặp j

tìm các thẻ “DOCID”,”TITLE”,”CONTENT”... lấy nội dung tương ứng với các thẻđó gán vào dsDoc[i]

Cuối lặp j Cuối lặp i

LayTaiLieu

o Ý nghĩa:lấy tài liệu của một tài liệu bất kỳ dựa vào DocID của nó o Tham số đầu vào:

DocID (kiểu chuỗi ): là chỉ số của tài liệu cần lấy o Kết quả trả về:

Kq (Kiểu CDocument) : lưu thông tin của tài liệu có chỉ số là DocID o Mô tả thuật toán:

- Tìm tên file tài liệu chứa tài liệu có chỉ số là DocID:

Do mỗi file chứa SO_DOC tài liệu và mỗi file tài liệu được đặt tên theo quy tắc “vn_” + n số 0 + số thứ tự : ví dụ file “vn_000001” chứa SO_DOC tài liệu, mỗi tài liệu trong file “vn_000001” được

đánh chỉ số DocID từ 1 đến 50, và file “vn_000002” chứa SO_DOC tài liệu , các tài liệu được đánh số tiếp tục từ 51 đến 100

nên ta có thể từ DocID tính được tên file chứa DocID đó như sau: int tenfile =DocID / SO_DOC;

int m = DocID % SO_DOC; if (m != 0) tenfile += 1;

tên file= “vn_” + n số 0 + tenfile

- Gọi phương thức LayDSTaiLieu với đầu vào là fn : kết quả được danh sách tài liệu CDocument dsdoc

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Một phần của tài liệu XÂY DỰNG BỘ NGỮ LIỆU ĐỂ ĐÁNH GIÁ BẰNG TIẾNG VIỆT VÀ CHƯƠNG TRÌNH TRỢ GIÚP ĐÁNH GIÁ CÁC HỆ TÌM KIẾM THÔNG TIN (Trang 136)