PDA

View Full Version : Xin code chương trình kiểm tra lỗi chính tả.



Themask
11-03-2004, 05:18
Có đại gia nào có code chương trình kiểm tra và sửa lỗi chính tả không vậy ?Xin cho tiểu đệ một bản copy.
Cám ơn nhiều.

moibelgal
15-03-2004, 21:23
Bạn phải nói là kiểm tra lỗi chính tả tiếng Anh hay tiếng Việt chứ ? Nhưng cho dù thế nào thì bạn cũng phải lưu cả quyển từ điển vào 1 danh sách liên kết sau đó check chính tả. Nếu làm Tiếng Việt thì rắc rối xảy ra ở chỗ cần xử lí bỏ dấu , như vậy trước tiên là bạn cần phải tạo ra khả năng "hiểu" tiếng Việt trong ứng dụng của mình.

Themask
16-03-2004, 05:04
à quên.Thật ra là tui muốn xây dựng chương trình kiểm tra lỗi chính tả trong từ ngữ tiếng Việt.

moibelgal
19-03-2004, 18:10
Theo ý tôi thì nếu chỉ cần làm demo thì tôi làm như thế này :

1.Xây dựng trình soạn thảo Tiếng Việt ( mô phỏng Word , gõ VNI hoặc TELEX)
2.Xây dựng trình kiểm lỗi chính tả Tiếng Việt
:: Giả sử ta demo , chỉ check trong 200 từ Tiếng Việt.
:: Lưu 200 từ đó vào một danh sách liên kết đơn.
:: Tạo bảng byte ghepcap[200][200] cho biết 2 từ bất kì có khả năng đứng gần nhau hay không. Ở đây , chúng ta chỉ xét "từ" có tối đa 3 "chữ" (vì từ có 4 chữ rất ít ). Vì vậy qua bảng này ta có thể xét xem câu đó có cụm từ nào không thể tồn tại hay không.
VD : 2 từ "mèo" và "mực" đều nằm trong từ điển demo của mình nhưng chúng không thể đứng gần nhau để trở thành "mèo mực" được.
Vì vậy , bảng ghepcap của chúng ta hoàn toàn được xây dựng một cách thủ công.
:: Có thể bạn không dùng bảng ghép cặp để lưu thì chúng ta có thể bê nguyên xi quyển từ điển vào DSLK đơn cũng được!
:: Những công việc trên hết sức đơn giản nhưng khá "trâu bò" , bạn có thể cải tiến nó theo hướng tăng tốc độ xử lí

Đó là những suy nghĩ ban đầu của tôi , và tôi cũng chưa bắt tay vào làm . Chỉ có trình soạn thảo Tiếng Việt là tôi làm xong , phần còn lại mong các bạn góp ý !

bete
19-03-2004, 18:41
Lưu 200 từ đó vào một danh sách liên kết đơn.

==> Bước đầu làm demo thì bạn xài liên kết đơn 0 sao .Nhưng nếu bạn thiệt sự muốn lưu trữ rất nhiều từ thì tui nghĩ nên coi cái URL sau (tiếng Anh) -> họ nói về cấu trúc dữ liệu "trie" (0 phải "tree") khá rõ ràng:

http://www.cs.mcgill.ca/~cs251/OldCourses/1997/topic7/

(nhưng cài đặt thì mất công hơn xâu liên kết rồi)


Tạo bảng byte ghepcap[200][200] cho biết 2 từ bất kì có khả năng đứng gần nhau hay không. Ở đây , chúng ta chỉ xét "từ" có tối đa 3 "chữ" (vì từ có 4 chữ rất ít ). Vì vậy qua bảng này ta có thể xét xem câu đó có cụm từ nào không thể tồn tại hay không.

==> Cái này thì tui nghĩ 0 coi thuộc về chuyện kiểm chính tả nữa mà thuộc về văn phạm rồi . Theo tui văn phạm khó kiểm hơn chính tả nhiều: thứ nhứt là phải phân tích từ loại (danh từ, động từ, ....); kế đến phải lập các qui tắc (ví dụ danh từ từ đi trước tĩnh từ,.... ) => càng nhiều qui tắc càng tốt & phải xét coi ngoại lệ ..... : chắc phải cần người nghiên cứu văn phạm chuyên nghiệp quá (làm chơi thì chắc 0 cần) :) Hơn nữa lỡ gặp em nào sáng tác văn thơ thì dám chơi "mèo mực" lắm à :) Thôi hay là bạn cứ làm kiểm tra chính tả trước đi đã !

Xin nói ngoài lề 1 tí chơi: tui thấy ngoài văn phạm còn có ngữ nghĩa thì phải . Ví dụ hình như có bài hát có câu "chim sẻ chúm môi cười" . Câu này tui thấy 0 có gì sai văn phạm hết; nhưng về mặt ngữ nghĩa thi tui chưa thấy con chim sẻ nào có "môi" hết (chưa kể là có biết cười nữa) :) Nhưng cái nhìn của các nhà nghệ sĩ chắc 0 tầm thường như cái nhìn của tui rồi !

bete
19-03-2004, 18:53
Mà tui thấy kiểm tra chính tả tiếng Việt mình cũng khó !
Ví dụ: "chắt chắn" & "cháu chắc" đều là sai chính tả . Nếu chỉ nhìn vô chữ "chắt" hoặc "chắc" 0 thôi thì 0 thể nói là đúng hay sai . Không lẽ mình phải lưu trữ cả cụm từ "chắc chắn" & "cháu chắt" ? Như vậy thì từ điển sẽ lớn lắm (& 0 còn là từ điển nữa mà là "cụm từ điển" :)) & dễ sót :(

jupiterIT
21-03-2004, 01:44
Bác Themask ơi.Bác học KHTN cô Trinh phải không?...hi`hi`..Định làm bài miễn thi hả?Làm chung nha....hi`hi`...

Themask
21-03-2004, 02:18
Ê jupiterIT cũng học chung lớp tui hả? Cái chương trình này tui đã cố làm lâu lắm rồi mà không làm nổi.
jupiterIT có làm được không vậy .Nếu làm được thì share với tui đi.

moibelgal
22-03-2004, 22:36
Đúng như bete nói , thật rất khó giải quyết. Bởi vậy tôi mới nêu ra các giải pháp của mình . Nhưng nghĩ lại thì đều không có độ khả thi cao , cùng lắm cũng chỉ làm demo thôi . Ta thấy trong MS Word check lỗi tiếng Anh rất đơn giản , chỉ cần không nằm trong bộ từ vựng là nó báo lỗi. Còn tiếng Việt được xây dựng bằng cách ghép vần nên có vô số từ đúng chính tả ( nhưng ngữ nghĩa thì chưa chắc đúng ). Có lẽ vì vậy mà chưa ai làm phần mềm check chính tả Tiếng Việt chăng ?
Mà tui nhớ , hồi đó tui học môn chính tả là cô giáo đọc rồi học sinh chép , đứa nào ghi sai thì ráng chịu , sau đó cô giáo sẽ kiểm lỗi chính tả (bằng cách xem có giống đoạn vừa đọc không , bằng kiến thức của mình ) rồi sửa lỗi , chấm điểm. Hay ta chuyển bài này sang thành mô phỏng môn học chính tả vậy !

ngo_rung
23-03-2004, 05:49
Hơ hơ , đâu ra bà con nhiều thế này. Mấy người làm bài tập thực hành xong chưa mà đòi làm bài miễn thi vậy ?
Cũng học cô Trinh nè.

moibelgal
25-03-2004, 14:02
Người ta đang thảo luận ngon lành , tự nhiên có mấy cha vô nhận pà con tùm lum tà la làm mất hứng dễ sợ !

Themask
25-03-2004, 20:21
Tui cũng có hướnng như thế này.Trước tiên mình chia từ muốn kiểm tra làm 2 phần.Phần đầu là âm đầu, phần sau là âm điệu.Âm điệu lại được chia làm âm phụ, âm chính, âm cuối.Lập một bảng liệt kê những chữ cái nào được đứng ở các vị trí trên.Rồi so sánh từ với bảng liệt kê đó.
vd : từ : chợ
thì "ch" được quyền làm âm đầu."ợ" được quyền làm âm chính, từ này không có âm phụ và âm cuối.
Tuy nhiên cánh làm của tui chỉ có thể là kiểm tra chính tả của những từ phổ biến và đúng quy luật.Còn những ngữ nghĩa của từ thì không thể kiểm tra được, với lại một số từ it dùng và một số từ không theo quy luật thì lại kiểm tra không đúng.
vd :
trong từ : Xoong ( có nghĩa là cái nồi) "oo" có thể làm âm chính được.
nhưng trong từ: toong thì lại không được.