CHƯƠNG 3 XằY DỰNG NGUỒN TáI NGUYấN CHỮ VIẾT TẮT
3.2. GIẢI PHạP THU THẬP DỮ LIỆU CHỮ VIẾT TẮT
3.2.1. Thu thập dữ liệu thủ cừng
Giải phõp cập nhật thủ cừng thường được sử dụng để cập nhật dữ liệu khi xĩy dựng bất kỳ một hệ thống CSDL nỏo. Nguồn dữ liệu được thu thập từ cõc nguồn khõc nhau như sõch, từ điển, bõo, tạp chợ, văn bản phõp quy, bõo cõo khoa học, hay
từ thực tiễn cuộc sống…Cụ chỷ ý lưu lại nguồn tham khảo CVT, người cập nhập,
người biởn tập dữ liệu. Phương phõp thực hiện:
Trước đĩy, sử dụng hệ soạn thảo văn bản Winword để tiến hỏnh cập nhật vỏ kiểm tra thủ cừng nội dung hệ thống CVT theo từng lĩnh vực sử dụng khõc nhau. Cõc CSDL của CVT trong Winword được xĩy dựng trước khi cập nhật cụ cấu trỷc dạng mẫu văn bản (document template) đọ được phõt triển ở Khoa CNTT, Đại học Đỏ Nẵng [44][45]. Từ cõc CSDL văn bản Winword, tiếp tục chuyển đổi qua dạng XML hoặc dạng CSDL khai thõc sử dụng bằng MySQL.
Do số lượng CVT lớn, phĩn ra nhiều lĩnh vực khõc nhau, để từng bước lỏm đầy kho ngữ liệu CVT, đối với những CVT phõt sinh trong thực tiễn, hiện nay ta sử dụng cõch cập nhật trực tuyến thủ cừng bởi hệ thống website hoỏn chỉnh, thực hiện quản trị vỏ biởn tập cập nhật, tiến đến cung cấp cho NSD cập nhật trực tuyến. Cõch thu thập thừng tin trực tuyến lỏ cõch huy động nguồn lực vỏ trợ tuệ tập thể nhiều người để lỏm giỏu kho dữ liệu.
3.2.2. Thu thập dữ liệu tự động
Từ kết quả cập nhật thủ cừng, trực tuyến nởu trởn, tiếp tục lỏm giỏu CSDL của CVT một cõch tự động từ mừi trường Internet hoặc cõc tập tin dữ liệu đọ cụ. Đĩy lỏ giải phõp cập nhật tự động dữ liệu. Giải phõp cập nhật tự động giới hạn trong việc tớm kiếm những CVT mới tiếng Việt.
Nguồn dữ liệu được thu thập từ cõc website trởn mạng Internet, cõc tập tin dữ liệu dạng *. HTM, tập tin dữ liệu văn bản phổ biến như *.DOC. Cụ lưu lại nguồn tham khảo, trợch dẫn CVT, người cập nhập, người biởn tập dữ liệu.
Phương phõp thực hiện: Dựa vỏo cõc dấu hiệu nhận biết CVT trong một văn
bản, trợch lọc ra cõc CVT mới để bổ sung vỏo CSDL. Hai phương phõp đề xuất:
1) Cập nhật CVT mới từ tập tin văn bản DOC
Dữ liệu văn bản hiện nay được soạn thảo vỏ lưu giữ rất phổ biến bởi phần mềm Winword. Việc thu thập CVT mới từ cõc văn bản word lỏ khả thi. Cụ thể thực hiện giải phõp thu thập cõc CVT mới từ trong cõc tập tin văn bản *.DOC. Thay vớ phải tớm từng cụm từ viết tắt, phương phõp đề xuất lỏ “bõn tự động”, dựa vỏo Macro vỏ lập trớnh VBA để thực nghiệm. Bằng cõch mở tập tin Word, thực hiện một Marcro chọn lọc cõc cụm từ trong cặp dấu ngoặc đơn (...), đưa về một bảng, từ đụ tiếp tục biởn tập, chuyển đổi thỏnh dữ liệu CVT chợnh thức. Macro nỏy sẽ thực hiện cõc bước theo thuật tõn đọ chỉ định như mục 1, phần phụ lục 3).
2) Cập nhật CVT mới tự đự̀ng từ Internet
Luận õn nghiởn cứu, phõt triển mõy tớm kiếm CVT dựa vỏo cừng cụ mõy tớm kiếm đọ được giới thiệu nguyởn lý trong [11]. Ý tưởng hoạt động như sau: mõy tớm kiếm CVT nhận một danh sõch URL, gửi yởu cầu đến Web Server vỏ nhận lại một
trang HTML tương ứng với mỗi URL (tương tự chức năng View Source trong trớnh duyệt Internet Explorer).
Bước tiếp theo, chương trớnh sẽ phĩn tợch nội dung tập tin dạng HTML. Vận dụng cõc hỏm chức năng của cõc ngừn ngữ lập trớnh cụ hỗ trợ ứng dụng biểu thức chợnh quy (Regular Expressions) để loại bỏ cõc thẻ HTML vỏ cõc thẻ khõc, chuyển tập tin về dạng đơn giản hơn. Tiếp theo lỏ xử lý tập tin theo kiểu xử lý chuỗi để bục tõch nội dung văn bản cần tớm, lọc ra CVT mới để lưu vỏo CSDL, so sõnh với CVT trong CSDL để lưu giữ hoặc khừng, hoặc cụ những đõnh giõ cần thiết khõc. Thuật tõn mừ tả hoạt động của mõy tớm kiếm CVT trong mừi trường Internet như sau:
Mừ tả thuật tõn tớm kiếm CVT mới: Thuật tõn sẽ thực hiện 4 vúng lặp:
(1) Vúng lặp thứ nhất mở tập tin trong danh sõch liởn kết tớm thấy của URL. (2) Với mỗi tập tin được mở, vúng lặp thứ 2 đọc từng đoạn văn bản. Nếu nhận
thấy đoạn văn bản nỏo cụ dấu hiệu CVT nằm trong cặp dấu (...) thớ thực hiện vúng lặp thứ 3 đọc từng cĩu trong đoạn.
(3) Với mỗi cĩu được đọc, nếu nhận thấy cĩu văn bản nỏo cụ dấu hiệu CVT nằm trong cặp dấu (...) thớ thực hiện vúng lặp thứ 4 xờt chọn lấy cõc cụm từ nằm trong (...).
(4)Với mỗi một cụm từ được chọn (...), dỳng cõc dấu hiệu nhận biết CVT để loại bỏ cõc cụm từ khừng lỏ CVT để trợch chọn ra CVT. Từ đụ trợch chọn ra nghĩa của CVT lỏ gớ, trợch chọn ra cĩu hay đoạn chứa CVT, so sõnh CVT tớm được với dữ liệu đọ biởn tập, chưa biởn tập. Lưu vỏo CSDL vỏ in ra mỏn hớnh
kết quả tớm kiếm CVT.
Sau đụ biởn tập vỏ lưu chợnh thức vỏo kho ngữ liệu CVT.
3.2.3. Đở̀ xuĩ́t thuật tõn SENVA tìm kiếm chữ viết tắt mới
Ý tưởng thuật tõn: Mõy tớm kiếm CVT nhận một URL, gửi yởu cầu đến Web Server, nhận lại một trang HTML tương ứng với mỗi URL; xử lý tập tin theo kiểu xử lý chuỗi để bục tõch nội dung văn bản cần tớm, lọc ra CVT mới, so sõnh với CVT trong CSDL để lưu hoặc khừng, hoặc cụ những đõnh giõ cần thiết khõc, thuật tõn đặt tởn lỏ SENVA - mõy tớm kiếm chữ viết tắt tiếng Việt mới (Search Engines for New Vietnamese Abbreviations).
Thuật tõn: SENVA
Input : Địa chỉ URL
Output : Dữ liệu CVT nhận được bảng TTTDVIET Begin
Kết nối vỏ mở cõc CSDL lỏm việc trung gian
Xõc định URL lỏm việc
Xõc định DanhSach cõc liởn kết trởn URL để tớm kiếm CVT Khởi động bộ đếm CVT, cõc biến đõnh giõ CVT
Repeat
Open một tệp HTML/PHP trong DanhSach Read nội dung tệpHTML vỏ xử lý bục tõch: Repeat
Read từng đoạn trong tệp gõn vỏo biến Doan
If <Doan cụ dấu hiệu CVT, cụ cặp dấu “(“ hoặc dấu “)” >
Xõ bỏ khoảng trắng đầu cuối Xõ bỏ cõc thẻ HTML, PHP
Bục tõch dữ liệu
Trợch cõc cĩu trong Doan gõn vỏo biến MotCau
Repeat
If <MotCau cụ dấu hiệu CVT trong cặp dấu (...)>
Trợch CVT nằm trong (...) gõn cho TuDuocChon
Repeat
If <TuDuocChon thoả dấu hiệu lỏ CVT>
- Trợch ra được CVT, trợch chọn nghĩa của CVT
- Trợch chọn cĩu chứa CVT, So sõnh với CSDL đọ biởn tập, chưa biởn tập
- Lưu vỏo CSDL trung gian, cập nhật bộ đếm - In ra mỏn hớnh tham khảo
endif
Until <Khừng cún TuDuocChon trong MotCau> Endif
Until <Khừng cún MotCau trong Doan> Endif
Until <khừng cún Doan (kết thỷc một tệp)> Until <Khừng cún tệp HTML>
Đõnh giõ thuật tõn SENVA
Thuật tõn xử lý nội dung tập tin dưới dạng chuỗi, ký tự; sử dụng bốn vúng lặp lồng nhau cụ cõc điều kiện kết thỷc lần lượt lỏ: khi khừng cún một cụm từ được
trợch chọn trong một cĩu (danh sõch cĩu lỏ hữu hạn), khi khừng cún một cĩu trong một đoạn (danh sõch đoạn lỏ hữu hạn), khi khừng cún đoạn văn bản trong tệp vỏ khi khừng cún tệp trong danh sõch hữu hạn cõc tệp đảm bảo tợnh kết thỷc giải thuật.
Đõnh giõ độ phức tạp thuật tõn: Do sử dụng bốn vúng lặp lồng nhau, độ phức tạp của thuật tõn lỏ O(n4). Tuy nhiởn, vúng lặp trong cỳng (thứ 4) cụ chứa lệnh so sõnh CVT tớm được với CSDL đọ cụ, tương ứng như một vúng lặp duyệt cõc mẩu tin trong CSDL, sẽ lỏm tăng độ phức tạp giải thuật thỏnh O(n5); cần cải tiến thuật giải theo hướng loại bỏ sự so sõnh trực tiếp mỗi CVT tớm được với CSDL đọ cụ.
3.2.4. Thực nghiệm cỏi đặt thuật tõn SENVA
Chương trớnh cỏi đặt bởi cõc mọ lệnh PHP, cõc thẻ HTML trong trang web
thuthapv5.php với mọ nguồn chi tiết trởn website [74]. Ở đĩy luận õn chỉ trớnh bỏy
những thủ tục chợnh trong phần phụ lục 3, vỏ sử dụng chỷ thợch bởi dấu // trước hoặc sau dúng lệnh. Chương trớnh cỏi đặt sử dụng cõc biểu thức chợnh quy vỏ cõc hỏm PHP để xử lý chuỗi. Vợ dụ: $btcqdaungoac="/[^\(]+[\)$]/" lỏ biểu thức chợnh quy chọn chuỗi nằm trong cặp dấu ngoặc. Hỏm:
preg_match_all($btcqdaungoac,$xetcau,$Upwords)
trợch chuỗi trong dấu ngoặc từ cĩu hiện hỏnh đang xờt lỏ lưu vỏo biến mảng hai chiều
$Upwords.
Thực hiện chương trớnh
Upload chương trớnh lởn mõy chủ: http://10.59.0.14. Đĩy lỏ server ảo hụa trong mạng điều hỏnh sản xuất kinh doanh của VNPT Đỏ Nẵng. Tệp mọ nguồn chương trớnh chợnh lưu trữ trởn C:\inetpub\wwwroot\thuthapCVT.php. Chương trớnh cụ thể thực hiện tớm CVT mới tự động trởn một website bất kỳ bằng cõch: Kết nối Internet, khởi động Internet Explorer (IE)/ Google Chrome. Sau đụ: Gử lệnh thực thi mõy tớm kiếm trởn thanh Address theo dạng thức:
Kết quả sẽ được nhận được lỏ danh sõch liởn kết được duyệt trởn trang chủ. Phần sau lỏ cõc CVT tớm thấy được được đõnh số thứ tự, mỗi CVT cụ trợch chọn nghĩa CVT, đõnh giõ trỳng lặp dữ liệu hay khừng vỏ hiển thị cĩu, đoạn cụ chứa CVT - xem như ngữ cảnh sử dụng CVT, để phục vụ cho biởn tập dữ liệu.