TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Việ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
Tách từ và xác định từ khóa trong văn bản tiếng Việt
Mục lục
2
Tách từ và xác định từ khóa trong văn bản tiếng Việt
1. 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.
3
Tách từ và xác định từ khóa trong văn bản tiếng Việt
2. 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.
4
Tách từ và xác định từ khóa trong văn bản tiếng Việt
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
tôi
nó
trên
trong
dưới
ngoài
Hay
hoặc
cần
đã
vừa
cùng
5
Tách từ và xác định từ khóa trong văn bản tiếng Việt
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ạ
thì
là
mà
bị
được
nếu
khi
này
nọ
đó
đây
vì thế
vì vậy
lại
phải chăng
mà
vẫn
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ế
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
trước khi
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
6
Tách từ và xác định từ khóa trong văn bản tiếng Việt
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ế
thế 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
thuộc
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
từ
đang
bất
bằng
hãy
liên tiếp
bất kì
mãi
mặc dù
một
hai
ba
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
7
Tách từ và xác định từ khóa trong văn bản tiếng Việt
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
8
Tách từ và xác định từ khóa trong văn bản tiếng Việt
3. 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, n
i
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.
9
Tách từ và xác định từ khóa trong văn bản tiếng Việt
4. 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
10
Tách từ và xác định từ khóa trong văn bản tiếng Việt
VD 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".
11
Tách từ và xác định từ khóa trong văn bản tiếng Việt
VD 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>
12
Tách từ và xác định từ khóa trong văn bản tiếng Việt
Tà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”
13