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 ạ

Tynk Huynk viết 02:51 ngày 01/10/2018

Cái này hình như hơi đụng tới A.I rồi

Nguyễn Hoàng Trung viết 02:53 ngày 01/10/2018

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

Minh Hoàng viết 03:02 ngày 01/10/2018

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

Itachi Citus viết 02:57 ngày 01/10/2018

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:

  • Bạn thu thập 1 bộ dữ liệu đủ lớn câu nói - câu đáp, ví dụ thế này: “I have a bad grade - Dont worry, try harder next time” [1].
  • Khi người dùng nhập 1 câu nói vào màn hình, bạn duyệt hết tất cả các câu trong bộ dữ liệu của mình. Tính khoảng cách edit distance từ câu của người dùng đến câu trong bộ dữ liệu, hoặc đơn giản hơn là tính số từ trùng / tổng số từ của 2 câu nói làm điểm số. Lấy câu đáp của bộ có edit distance thấp nhất hoặc câu có tổng số từ trùng cao nhất làm đáp án.

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.

Tran Thanh Tuan viết 02:59 ngày 01/10/2018

anh giai thich can ke hon giup em duoc khong

Tran Thanh Tuan viết 02:56 ngày 01/10/2018

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ả

Quân Lê viết 02:54 ngày 01/10/2018

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 !

Tran Thanh Tuan viết 02:55 ngày 01/10/2018

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 ạ

Itachi Citus viết 02:59 ngày 01/10/2018

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.

Reoteu Ray viết 03:00 ngày 01/10/2018

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

Tran Thanh Tuan viết 02:56 ngày 01/10/2018

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 ạ

Itachi Citus viết 02:59 ngày 01/10/2018

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/

Bài liên quan
0