@LeXuanSu
Cảm ơn bạn đã đọc bài biết, đối với vấn đề của bạn mình nghĩ bạn gọi tới translate ngay trong data property thì có thể vue sẽ không hiểu được (chỗ này mình chưa chắc chắn, mình cũng chưa thử làm như thế này). Nếu bạn muốn hiển thị lỗi bên dưới input thì có thể tạo data error với kiểu object, sau đó khi submit lỗi thì gán string lỗi với key tương ứng là input name của bạn chẳng hạn.
https://vuejs.org/v2/cookbook/form-validation.html
Trên kia mình có bước thống kê độ dài các câu, mình chọn max_seq = 200 là vì số lượng comment trên 200 từ là rất ít(40/12k comment), việc cắt đi sẽ không ảnh hưởng mấy đến dữ liệu training chung.
Bài viết dịch hay, nhưng ở hàm KiemTraTinhToanVen(), mình thấy ở bài viết gốc và bài này đều thiếu 1 trường hợp khi kiểm tra, đó là kiểm tra phần tử đầu tiên. Mình xin phép sửa lại như sau:
KiemTraTinhToanVen(){// check xem block đầu tiên, hash của nó có toàn vẹn koif(this.MangBlock[0].Hash !==this.MangBlock[0].TinhToanHash()){returnfalse;}for(let i =1; i <this.MangBlock.length; i++){const BlockHienTai =this.MangBlock[i];//Lấy ra phần tử ở vị trí hiện tạiconst BlockTruocDo =this.MangBlock[i -1];//Lấy ra phần tử ở ngay trước vị trí hiện tạiif(BlockHienTai.Hash !== BlockHienTai.TinhToanHash()){//Kiểm tra lại Hash của toàn bộ Block hiện tại và Hash đã lưu xem có trùng nhau không.returnfalse;//Nếu không trùng tức là Dữ liệu trong Block hiện tại đã bị chỉnh sửa, hàm KiemTraToanVen sẽ trả về false luôn.}if(BlockHienTai.HashTruocDo !== BlockTruocDo.Hash){//Lấy Hash hiện tại và Hash phần tử trước đó đã lưu xem có trùng nhau không.returnfalse;//Nếu không trùng tức là Hash của Block hiện tại đã bị chỉnh sửa, hàm KiemTraToanVen sẽ trả về false luôn.}}returntrue;//Nếu kiểm tra hết toàn bộ trong vòng For mà không vấn đề gì thì tức là Blockchain vẫn toàn vẹn, chưa bị sửa đổi.}
Chào bạn hiện tại mình đang load ảnh Asynchronously sử dụng URLSession. Cho mình hỏi cách load ảnh của bạn có gì tối ưu hơn được không, vì mình đọc qua thấy cũng có vẻ khá dài
Em làm theo đến bước sau và cũng đã tải model theo đường link để chuyển các câu sang vector: https://github.com/Kyubyong/wordvectors
from gensim.models import KeyedVectors
w2v = KeyedVectors.load_word2vec_format("vi_txt/vi.vec")
Anh có thể chỉ cụ thể giúp e là cài đặt wordvectors như thế nào để nó không có còn báo lỗi: [Errno 2] No such file or directory: 'vi_txt/vi.vec' vì tới bước này e không biết làm tiếp nữa.
Do em mới học nên chưa biết nên xin anh chỉ cụ thể giúp e được k ạ. Xin cám ơn a nhiều
Xin lỗi do lúc lên bài viết mình có sửa lại tên biến mà mình chưa sửa hết. Mình vừa sửa lại rồi. Biến seq_len thực ra là biến max_seq.
Lí do mình break ở đó là vì ở đây mình có đưa tất cả các comment thành các ma trận cùng cỡ với số token là max_seq. Với những câu có độ dài ngắn hơn max_seq thì mình tiến hành lặp lại k lần câu đó(mình k sử dụng kiểu zero padding ).
Ví dụ câu: "đồ ăn ngon" sẽ được lặp lại 66 lần sau đó break vì 2 phần trống còn lại không đủ để lặp lại câu thêm lần nữa.
Bạn có thể không sử dụng phương pháp này nhưng mình nghĩ phương pháp này khá hiệu quá đặc biệt là khi bạn sử dụng mạng kiểu sequency như LSTM.
THẢO LUẬN
Test cũng k thể cover hết đc. Nhưng viết đc test cho code của mình cũng giúp giảm thiểu sự rủi ro
Cảm ơn bạn phát nữa 👍
@LeXuanSu Cảm ơn bạn đã đọc bài biết, đối với vấn đề của bạn mình nghĩ bạn gọi tới translate ngay trong data property thì có thể vue sẽ không hiểu được (chỗ này mình chưa chắc chắn, mình cũng chưa thử làm như thế này). Nếu bạn muốn hiển thị lỗi bên dưới input thì có thể tạo data error với kiểu object, sau đó khi submit lỗi thì gán string lỗi với key tương ứng là input name của bạn chẳng hạn. https://vuejs.org/v2/cookbook/form-validation.html
Có r. Detect bằng cơm =))
Trên kia mình có bước thống kê độ dài các câu, mình chọn max_seq = 200 là vì số lượng comment trên 200 từ là rất ít(40/12k comment), việc cắt đi sẽ không ảnh hưởng mấy đến dữ liệu training chung.
fuck you, chưa có detect spam comment đúng không?
Cách này chắc sẽ hiệu quả hơn zero padding rồi. Nhưng với những câu dài bạn chỉ lấy đủ max_seq word, còn lại bỏ nhỉ? Như vậy liệu có ổn không?
Bài viết hay quá. Dùng Laravel lâu rồi mà chưa bao giờ viết Test luôn
viết test cũng như tự chửi vào mặt mình: code viết như cc. nhưng thà tự chửi còn hơn để khách hàng chửi: mày ngu vl. chương trình mày tù vl
(
Bài viết dịch hay, nhưng ở hàm KiemTraTinhToanVen(), mình thấy ở bài viết gốc và bài này đều thiếu 1 trường hợp khi kiểm tra, đó là kiểm tra phần tử đầu tiên. Mình xin phép sửa lại như sau:
Chào bạn hiện tại mình đang load ảnh Asynchronously sử dụng URLSession. Cho mình hỏi cách load ảnh của bạn có gì tối ưu hơn được không, vì mình đọc qua thấy cũng có vẻ khá dài
a ơi e muốn nhận dạng chữ in thì như nào ạ
mình cũng deploy thành công rồi. cảm ơn nhé. cơ mà chỗ script hiện đang bị báo ko cho load. sửa script thế nào cho hợp lý nhỉ https://world-cup-2018-betting-laravel.herokuapp.com/
Bài viết hay quá anh ơi
bài viết hay quá a ơi
cảm ơn bạn nhé hehe
bài viết rất hữu ích
bài viết quá tuyệt vời
Em làm theo đến bước sau và cũng đã tải model theo đường link để chuyển các câu sang vector: https://github.com/Kyubyong/wordvectors from gensim.models import KeyedVectors w2v = KeyedVectors.load_word2vec_format("vi_txt/vi.vec") Anh có thể chỉ cụ thể giúp e là cài đặt wordvectors như thế nào để nó không có còn báo lỗi: [Errno 2] No such file or directory: 'vi_txt/vi.vec' vì tới bước này e không biết làm tiếp nữa. Do em mới học nên chưa biết nên xin anh chỉ cụ thể giúp e được k ạ. Xin cám ơn a nhiều
Xin lỗi do lúc lên bài viết mình có sửa lại tên biến mà mình chưa sửa hết. Mình vừa sửa lại rồi. Biến seq_len thực ra là biến max_seq.
Lí do mình break ở đó là vì ở đây mình có đưa tất cả các comment thành các ma trận cùng cỡ với số token là max_seq. Với những câu có độ dài ngắn hơn max_seq thì mình tiến hành lặp lại k lần câu đó(mình k sử dụng kiểu zero padding ).
Ví dụ câu: "đồ ăn ngon" sẽ được lặp lại 66 lần sau đó break vì 2 phần trống còn lại không đủ để lặp lại câu thêm lần nữa.
Bạn có thể không sử dụng phương pháp này nhưng mình nghĩ phương pháp này khá hiệu quá đặc biệt là khi bạn sử dụng mạng kiểu sequency như LSTM.