THẢO LUẬN

Avatar
đã bình luận cho bài viết
thg 10 15, 2018 2:36 CH

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

0
thg 10 15, 2018 12:44 CH

@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

0

Có r. Detect bằng cơm =))

0

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.

+1

fuck you, chưa có detect spam comment đúng không?

+1

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?

+1
Avatar
đã bình luận cho bài viết
thg 10 15, 2018 10:13 SA

Bài viết hay quá. Dùng Laravel lâu rồi mà chưa bao giờ viết Test luôn 😦

+1
thg 10 15, 2018 9:57 SA

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 😦(

+1

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 ko
    if (this.MangBlock[0].Hash !== this.MangBlock[0].TinhToanHash()) {
        return false;
    }
    
    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ại
        const BlockTruocDo = this.MangBlock[i - 1]; //Lấy ra phần tử ở ngay trước vị trí hiện tại
        if (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.
            return false; //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.
            return false; //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.
        }
    }
    return true; //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.
}
+1
thg 10 15, 2018 9:35 SA

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 😄

0

a ơi e muốn nhận dạng chữ in thì như nào ạ

0
thg 10 15, 2018 8:58 SA

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/

0
thg 10 15, 2018 8:20 SA

Bài viết hay quá anh ơi 😄

+1

bài viết hay quá a ơi 😄

0
thg 10 15, 2018 6:03 SA

cảm ơn bạn nhé hehe

0
thg 10 15, 2018 5:58 SA

bài viết rất hữu ích

+1

bài viết quá tuyệt vời

0

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

0

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.

+1
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí