Kết quả của việc tách từ có thể sử dụng để thực hiện một số công việc xử lí văn bản cao hơn như phân loại văn bản, tóm tắt văn bản, xác định ngữ nghĩa của văn bản... Phương pháp Tần suất
Trang 1Viện Công Nghệ Thông Tin và Truyền Thông
Bài tập lớn: Xử lý ngôn ngữ tự nhiên
Đề tài:
TÁCH TỪ VÀ XÁC ĐỊNH TỪ KHÓA TRONG VĂN BẢN TIẾNG VIỆT
Giáo viên hướng dẫn: PGS.TS Lê Thanh Hương
Nhóm sinh viên thực hiện:
Đoàn Trung Kiên SHSV : 20086096 Phạm Văn Chí SHSV : 20086077 Phạm Trí Dũng SHSV : 20086081 Phạm Tiến Dũng SHSV : 20086080
HÀ NỘI 4 – 2012
Trang 2Mục lục
1 Tổng quan 3
2 Cơ sở lí thuyết 4
2.1 Phương pháp Tần suất xuất hiện của thuật ngữ 4
2.2 Phương pháp TFxIPF 5
2.3 Danh sách các từ tầm thường ( stopword ) 5
3 Các bước xây dựng chương trình: 9
4 Giới thiệu về chương trình 10
Tài liệu tham khảo 13
Trang 31 Tổng quan
Ngày này, sự bùng nổ thông tin do bị tác động bởi sự xuất hiện của các siêu phương tiện và website đã làm cho dữ liệu gia tăng thường xuyên, điều này tạo
ra một thách thức cho các hệ thống xử lý thông tin sao cho hiệu quả Một trong những khó khăn mà các hệ thống thông tin thường phải gặp đó là tần suất cập nhật của các thông tin qúa lớn Phương thức sử dụng giấy trong giao dịch đang dần được số hóa, do nhiều tính năng vượt trội mà phương thức này mang lại, như
là có thể lưu trữ lâu dài, cập nhật, sửa đổi, tìm kiếm một cách nhanh chóng Do
đó số lượng văn bản số hóa ngày nay đang tăng dần theo cấp số nhân, cùng với
sự gia tăng của số lượng văn bản, nhu cầu xử lí văn bản cũng tăng cao
Tách từ và xác định từ khóa là một phần rất quan trọng trong quá trình xử lí văn bản
Kết quả của việc tách từ có thể sử dụng để thực hiện một số công việc xử lí văn bản cao hơn như phân loại văn bản, tóm tắt văn bản, xác định ngữ nghĩa của văn bản
Trang 42 Cơ sở lí thuyết
2.1 Phương pháp Tần suất xuất hiện của thuật ngữ
Phương pháp này dựa trên cách đánh giá TF (Term Frequency) : Một term xuất
hiện trong văn bản nhiều hơn một ngưỡng nào đó thì được coi là term đạt tiêu
chuẩn TF và danh sách các term TF trong văn bản được dùng để đánh giá các câu thông qua việc gán điểm TF tùy vào độ xuất hiện của term đó Thông qua kết
quả kiểm thử, phương pháp này cho kết quả khá cao, tuy nhiên thời gian xử lý lớn
Begin
Input: Doc, Threshold
Init TFList Low = false
V = vectorize(Doc)
V.sort(Frequency,DESC)
Loop 1
i > v.NoOfElement
OR Low = true
i = 1
v[i].Frequency > Threshold
TFList.add(v[i])
i = i+1
Loop 1
Low = true
1
+
-1
TFPointTemp = 0
Loop 2
j = 1,…,Doc.NoOfSentence
Loop 3
K = 1, …,TFList.NoOfElement
Doc.Sentence[j].contain(TFList[k].Content)
TFPointTemp+=TFList[k].Frequency
Loop 3
Doc.Sentence[j].TFPoint = TFPointTemp
TFPointTemp = 0
Loop 2
Output: Doc
End
+
Trang 5
-2.2 Phương pháp TFxIPF
TFxIPF là từ viết tắt của Term Frequency times Inverse Paragraph Frequency.
Phương pháp này dựa trên cách đánh giá TFxIPF đã nêu trong chương một, phần biểu diễn văn bản bằng mô hình không gian vector Theo cách đánh giá này một thuật ngữ là quan trọng và đặc trưng khi nó xuất hiện nhiều trong văn bản này và
ít xuất hiện trong các văn bản khác
Ở đây, một thuật ngữ được xét ở trong một đoạn và nó được tính điểm TFxIPF
theo công thức :
Trong đó tf là số lần xuất hiện term i trong đoạn, N là tổng số đoạn trong văn bản, n i là số đoạn chứa term i
Sau đó tất cả các thuật ngữ đều được tính điểm TFxIPF, sắp xếp giảm dần theo điểm này Một phần trăm nào đó của các thuật ngữ có số điểm TFxIPF cao nhất
sẽ được dùng để đánh giá các câu trong văn bản: gán điểm TFxIPF cho mỗi câu dựa trên sự có mặt của các thuật ngữ TFxIPF trong câu.
Trước khi áp dụng các phương pháp nêu trên, văn bản cần được loại bỏ từ tầm thường (Stopword) bởi vì các từ dừng này ảnh hưởng rất lớn đến độ chính xác của các tiêu chí gán điểm Các từ dừng là các từ xuất hiện nhiều trong văn bản nhưng không mang nhiều ý nghĩa về mặt nội dung, thường là các hư từ, mạo từ như và, nên, vì thế, tuy nhiên…
2.3 Danh sách các từ tầm thường ( stopword )
(Tham khảo trong tài liệu của Trịnh Quốc Sơn)
ai
bạn
họ
mày
trên trong dưới ngoài
Hay hoặc cần đã
Trang 6tôi
nó
anh
chị
cái
cuộc
anh ta
cô ấy
chính anh
chính chị
chính là
của tôi
của mày
của bạn
bạn
của
chúng
chúng tôi
chúng tao
chúng ta
chúng mày
chúng nó
chính tôi
tao
mày
mầy
tớ
mi
vâng
dạ
sau trước trái phải bên bên trái bên phải mặc dù của bởi vài ít sau đằng sau đằng trước bên trên bên dưới nhiều thậm chí ngay khi trong lúc lúc lúc ấy vào lúc trong khi dù
mặc dù
dù là
dù cho
dù thế
vừa cùng gồm bao gồm cái gì vì bởi vì
do vì đồng thời ở
cụ thể vẫn là sẽ tuy rằng tuy là tuy vậy nên tám chín mặc kệ nữa riêng rồi thật ra thật là theo chiếc đủ lúc trước trước lúc
Trang 7là
mà
bị
được
nếu
khi
này
nọ
đó
đây
vì thế
vì vậy
lại
phải chăng
mà
vẫn
vậy
vậy thì
giữa
cuối
cuối cùng
trừ khi
khi
để
thế
thế nhưng
thế mà
vậy mà
vậy thế
khoảng khoảng chừng
cỡ chừng ngay cả mà với tại một nhiều do
do vậy vậy nên cho cho nên cho là cho rằng rằng là năm sáu bảy nãy hồi nãy nè tức thì ngay tức khắc thì ra thì ấy
tuy nhiên tuy vậy tuy mặc dù trời ơi ôi dù bất chấp không chẳng những các hỡi hầu hết mỗi mọi tuy từ đang bất bằng hãy liên tiếp bất kì mãi mặc dù một hai ba
Trang 8thế thì
vậy thì
thôi thì
vậy thôi
vân vân
tiếp theo
tiếp đến
kế tiếp
tiếp tục
mãi mãi
nghĩa là
thôi thì
vậy là
vậy mà
thế là
thế nhưng
nhưng mà
mà
cũng
vậy
do đó
lại
lẫn
về phía
chưa nhất qúa chính hiện nay hoàn toàn
ví dụ vân vân gì còn bao giờ cái làm lên tức tức là nữa luôn luôn luôn
ối trời ối ơ
ơ kìa mười
bốn số
về mặt tự mọi như nhau hơn sự rất rằng thế mà thế đấy thế nên có mặt khác đều liên tục sẵn sàng bất cứ tại đâu đó đâu
Trang 93 Các bước xây dựng chương trình:
1 Sử dụng công cụ tách từ của Lê Hồng Phương để tách từ
2 Loại bỏ các từ tầm thường (stop word) trong tập các từ đã được tách (từ tầm thường là các từ xuất hiện nhiều nhưng không ma ngữ nghĩa của văn bản)
3 Loại bỏ các từ trùng lặp sau khi tách từ
4 Tính trọng số TF*IPF của tất cả các từ trên theo công thức sau:
Trong đó tf là số lần xuất hiện term i trong đoạn, N là tổng số đoạn trong văn bản, ni là số đoạn chứa term i
5. Sắp xếp các từ theo chiều giảm dần của trọng số TFIPF đã tính ở bước trước Một số phần trăm nhất định của các từ có trọng số TFIPF cao nhất
sẽ được chọn làm từ khóa
Trang 104 Giới thiệu về chương trình
Chương trình KeywordDetermining được sử dụng để xác định từ khóa và tính trọng số từ các văn bản tiếng Việt (mã hóa bằng bảng mã Unicode UTF-8) Chương trình có sử dụng công cụ tách từ của Lê Hồng Phương (vnTokenizer)
Cách sử dụng:
Dữ liệu cần cung cấp cho chương trình gồm 1 tệp văn bản tiếng Việt
Kết quả: Một tệp văn bản kết quả được ghi dưới định dạng XML Tệp kết quả chứa tất cả các từ trong văn bản và được sắp xếp theo chiều giảm dần của trọng số
Cú pháp:
java -jar KeywordDetermining.jar -i <tệp-input> -o <tệp-output>
Hai tùy chọn -i và -o là bắt buộc
Ví dụ: java -jar KeywordDetermining.jar -i samples/5.txt -o samples/5.xml Tìm từ khóa tệp samples/5.txt và ghi kết quả vào tệp samples/5.xml
java -jar KeywordDetermining.jar -i samples/3.txt -o samples/3.xml
Trang 11VD về đoạn văn bản đầu vào:
Bỏ thuốc lá trước tuổi 35 để sống lâu hơn
Hãy cố gắng bỏ thuốc lá trước tuổi 35.
Nếu tẩy chay thuốc lá trước 35 tuổi, bạn có thể sống thọ và khỏe mạnh như người chưa bao giờ biết đến khói thuốc, các nhà khoa học Mỹ khẳng định Tuy nhiên, để lấy lại vốn sức khỏe đã bị mất vì thuốc lá, bạn cần phải đầu tư một thời gian khá dài
"Nếu bỏ thuốc trước tuổi 35, bạn sẽ tránh được phần lớn tác hại của khói thuốc đối với tuổi thọ và chất lượng cuộc sống", tiến sĩ Donald H Taylor, Jr., đến từ Đại học Duke, Mỹ, khẳng định.
Taylor và đồng sự là tiến sĩ Truls Ostbye đã lật lại một cuộc điều tra trên 20.000 người từ độ tuổi trung niên trở lên Không mấy người trong đó quan tâm đến tác động của thuốc lá đối với chất lượng cuộc sống và tuổi thọ Sau nhiều năm, số người này được hỏi về những thay đổi về sức khỏe và thói quen hút thuốc Kết quả không gây bất ngờ: những người nghiện thuốc lá có
xu hướng chết sớm hơn những người không hút tới vài năm Đáng chú ý là ở những trường hợp chia tay với điếu thuốc trên 15 năm - phần lớn là từ độ tuổi 35 - khả năng kéo dài tuổi thọ và sức khỏe tương đương với người không bình thường.
Tuy nhiên, kết quả trên không chứng tỏ ai đó "nhả khói" thả phanh trước tuổi
35 mà vẫn nhận được hiệu quả tương tự "Vấn đề là ở chỗ một khi đã bắt đầu hút thuốc, bạn sẽ rất khó bỏ" - Taylor nhấn mạnh - "Và nếu muốn có thêm thời gian để tận hưởng cuộc sống, bạn không nên chờ cho đến khi bị đau tim mới nghĩ đến chuyện từ bỏ thói quen độc hại này".
Trang 12VD về đầu ra:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<keywords>
<word tfipf="0.02410428044589829">người</word>
<word tfipf="0.010330405905384981">tuổi thọ</word>
<word tfipf="0.010330405905384981">hút</word>
<word tfipf="0.010330405905384981">trên</word>
<word tfipf="0.010330405905384981">sức khỏe</word>
<word tfipf="0.009229292988087131">thuốc lá</word>
<word tfipf="0.006986900986606224">khói</word>
<word tfipf="0.006986900986606224">taylor</word>
<word tfipf="0.006986900986606224">cuộc sống</word>
<word tfipf="0.006886937270256654">mỹ</word>
<word tfipf="0.006886937270256654">khẳng định</word>
<word tfipf="0.006886937270256654">độ</word>
<word tfipf="0.006886937270256654">chất lượng</word>
<word tfipf="0.006886937270256654">đối với</word>
<word tfipf="0.006886937270256654">tiến sĩ</word>
<word tfipf="0.006886937270256654">thời gian</word>
<word tfipf="0.006886937270256654">phần lớn</word>
<word tfipf="0.006886937270256654">kết quả</word>
<word tfipf="0.006886937270256654">thói quen</word>
<word tfipf="0.0061528619920580875">đến</word>
<word tfipf="0.0061528619920580875">bỏ</word>
<word tfipf="0.005348721772242131">chết</word>
<word tfipf="0.005348721772242131">sớm</word>
<word tfipf="0.005348721772242131">bình thường</word>
…
</keywords>
Trang 13Tài liệu tham khảo
Chương trình có sử dụng công cụ tách từ của Lê Hồng Phương (vnTokenizer) Công thức tính TF*IPF và các bước thực hiện được tham khảo trong tài liệu:
“XLNN-Tom tat van ban tieng Viet1.doc” mà cô gửi
Danh sách các từ tầm thường (stop word) được tham khảo trong tài liệu:
“phanloai_van_ban_TRINH_QUOC_SON CH0401047.doc”