01/10/2018, 00:48
Project gà sisimi
em hiên đang học c++ căn bản thôi, mà em phải học bằng tiếng Anh nên khó quá, hiện cuối mùa này em có một cái project phải nộp lên và em không biết bắt đầu sao cả
- viết 1 chương trình : khi người dùng nhập 1 dòng input vào thì chương trình sẽ trả lời thứ gì đó liên quan.
vd: "tôi bị điểm kém "
thì chương trình phải trả lời lại gì đó như là : “không sao, cố hơn lần sau”
em thật sự không biết bắt đầu thế nào? ai có thể cho em 1 bài mẫu được không ạ
Bài liên quan
Cái này hình như hơi đụng tới A.I rồi
trình em ở mức basic nên chỉ nghĩ tới switch case :\ không biết các cao nhân có cao kế gì không
Quan trọng nhất là bạn cần định nghĩa sự liên quan, tìm cách tính sự liên quan giữa câu input và output. Đồng thời ở mức basic thì chuẩn bị một bộ corpus, xây dựng cấu trúc câu thì khó hơn. Khi đó bạn chỉ cần tìm.trong corpus câu nào liên quan nhất với input là đc
Cách của simsimi làm là như thế này: Họ có 1 bộ dữ liệu cực lớn câu nói- câu đáp. Khi có 1 câu nói mới từ người dùng, họ sẽ tìm trong bộ dữ liệu câu nào “gần” với câu đó nhất rồi trả về câu đáp tương ứng. Thực tế thì họ có thể áp dụng thêm về thống kê - tính điểm nữa để đưa ra câu trả lời chính xác.
Nhưng với bạn thì cách làm đơn giản có thể thế này:
Ví dụ người dùng nhập câu “I have a bad day” thì điểm số so với bộ [1] sẽ là 3/(4+4) (trùng 3 từ).
Đó là 1 hướng tiếp cận mình nghĩ đơn giản nhất.
anh giai thich can ke hon giup em duoc khong
anh có thể cho em 1 chương trình ví dụ đơn giản được không ? em thật là ở mức basic thôi nên dù có biết hướng em vẫn không nghĩ ra bất kì “công cụ” nào để thực hiện cả
Người ta đã chỉ cho thế rồi mà bạn còn gặng hỏi xin code thì muôn đời không theo được nghiệp này . làm đi ắt sẽ thông ra nhiều thứ. Không xong thì chí ít bạn đã CÓ LÀM. khi đó có vd gì thì xử lý tiếp hoặc hỏi tiếp !
dạ em cảm ơn anh đã chỉ, cũng tại vì em kém quá nên em cần ví dụ cụ thể để từ đó nghiệm ra… em học lập trình bằng tiếng Anh mà em lại dở tiếng Anh nên kiểu bị mất căn bản… em suy nghĩ nhiều rồi và em rất sợ bị fail lớp vì em học bằng tiền trợ cấp anh ạ
Bạn đâu cần công cụ gì đâu , hoàn toàn là xử lý chuỗi và bạn hoàn toàn có thể tự viết được.
Có 1 số vấn đề khó chịu trong tiếng Anh (s, es, ed…) thì bạn có thể dùng thư viện, bạn có thể tìm kiếm từ khòa stemming.
Còn nếu sử dụng edit distance thì bạn có thể không cần stemming, nhưng để viết được thì bạn cần biết về quy hoạch động (cái này giờ mình cũng lơ mơ ). Mọi cái mình nói bạn có thể google là ra hết.
c++ thì viết theo hướng đối tượng đi cho nó đơn giản , ban đầu bạn hãy viết 1 phiên bản đơn giản trước đã cứ tạo 1 thư viện câu hỏi với câu trả lời rồi xử lý chuỗi từ câu hỏi vào để tìm câu trả lời gần nhất
em chỉ được sử dụng những cái đã học như class này kia thôi
http://staffwww.fullcoll.edu/aclifton/courses/cs123_fa16/
đây là tất cả những thứ em đã học tới nay ạ
Mình đã trình bày phần cài đặt rồi mà bạn. Bạn chỉ cần biết cách đọc xuất file, xử lý chuỗi, tìm phần tử lớn nhất trong mảng là xong.
Edit distance nếu bạn không tự cài được thì có thể tham khảo ở đây, đó là phần khó nhất rồi http://www.geeksforgeeks.org/dynamic-programming-set-5-edit-distance/