(Đồ án hcmute) nhận dạng các khái niệm lâm sàng trong y học dựa trên ghi chú của bệnh nhân

68 1 0
(Đồ án hcmute) nhận dạng các khái niệm lâm sàng trong y học dựa trên ghi chú của bệnh nhân

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHĨA LUẬN TỐT NGHIỆP NGÀNH KỸ THUẬT DỮ LIỆU NHẬN DẠNG CÁC KHÁI NIỆM LÂM SÀNG TRONG Y HỌC DỰA TRÊN GHI CHÚ CỦA BỆNH NHÂN GVHD: ThS QCH ĐÌNH HỒNG SVTH: NGƠ TRÍ HUY SKL009501 Tp.Hồ Chí Minh, năm 2022 h TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA CÔNG NGHỆ THƠNG TIN BỘ MƠN KỸ THUẬT DỮ LIỆU Ngơ Trí Huy – 18133015 Đề Tài NHẬN DẠNG CÁC KHÁI NIỆM LÂM SÀNG TRONG Y HỌC DỰA TRÊN GHI CHÚ CỦA BỆNH NHÂN KHÓA LUẬN TỐT NGHIỆP KỸ SƯ KỸ THUẬT DỮ LIỆU GIÁO VIÊN HƯỚNG DẪN ThS QUÁCH ĐÌNH HỒNG KHĨA 2018 – 2022 h TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA CÔNG NGHỆ THÔNG TIN BỘ MƠN KỸ THUẬT DỮ LIỆU Ngơ Trí Huy – 18133015 Đề Tài : NHẬN DẠNG CÁC KHÁI NIỆM LÂM SÀNG TRONG Y HỌC DỰA TRÊN GHI CHÚ CỦA BỆNH NHÂN KHÓA LUẬN TỐT NGHIỆP KỸ SƯ KỸ THUẬT DỮ LIỆU GIÁO VIÊN HƯỚNG DẪN ThS QCH ĐÌNH HỒNG KHĨA 2018 – 2022 h TRANG NHẬN XÉT CỦA GVHD ĐH Sư Phạm Kỹ Thuật Tp.Hcm Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam KHOA CNTT Độc Lập – Tự Do - Hạnh Phúc Phiếu Nhận Xét Của Giáo Viên Hướng Dẫn Họ tên sinh viên : Ngơ Trí Huy……… MSSV : 18133015…………………… Ngành: Kỹ thuật liệu Tên đề tài: Nhận dạng khái niệm lâm sàng y học dựa ghi bệnh nhân Họ tên giáo viên hướng dẫn: ThS Qch Đình Hồng NHẬN XÉT: Về nội dung đề tài khối lượng thực hiện: ….………………………………………………………………………………………………… ……………………………………………………………………………………………………… ………………………………………………………………………………………… Ưu điểm: ….………………………………………………………………………………………………… ……………………………………………………………………………………………………… ………………………………………………………………………………………… Khuyết điểm: ….………………………………………………………………………………………………… ……………………………………………………………………………………………………… ………………………………………………………………………………………… Đề nghị cho bảo vệ hay không ? Đánh giá loại : Điểm : Tp Hồ chí Minh, ngày tháng năm 2022 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) h TRANG NHẬN XÉT CỦA GVPB ĐH Sư Phạm Kỹ Thuật Tp.Hcm Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam KHOA CNTT Độc Lập – Tự Do - Hạnh Phúc Phiếu Nhận Xét Của Giáo Phản Biện Họ tên sinh viên : Ngơ Trí Huy……… MSSV : 18133015…………………… Ngành: Kỹ thuật liệu Tên đề tài: Nhận dạng khái niệm lâm sàng y học dựa ghi bệnh nhân Họ tên giảng viên phản biện: TS Nguyễn Thành Sơn Nhận xét: NHẬN XÉT: Về nội dung đề tài khối lượng thực hiện: ….………………………………………………………………………………………………… ……………………………………………………………………………………………………… ………………………………………………………………………………………… Ưu điểm: ….………………………………………………………………………………………………… ……………………………………………………………………………………………………… ………………………………………………………………………………………… Khuyết điểm: ….………………………………………………………………………………………………… ……………………………………………………………………………………………………… ………………………………………………………………………………………… Đề nghị cho bảo vệ hay không ? Đánh giá loại : Điểm : Tp Hồ chí Minh, ngày tháng năm 2022 Giáo viên phản biện (Ký & ghi rõ họ tên) h LỜI CẢM ƠN Em xin chân thành cảm ơn thầy Quách Đình Hồng tận tâm nhiệt tình hướng dẫn em trình thực luận Thầy hướng dẫn dẫn để em có tiểu luận hoàn chỉnh Em xin cảm ơn nhà trường tạo điều kiện để em hồn thành thực tiểu luận năm cuối cịn ghế nhà trường Tuy nhiên hạn chế nhiều mặt, nên đề tài khó tránh khỏi sai sót hạn chế định Kính mong nhận phản hồi, đóng góp ý kiến bảo thêm từ Q Thầy Cơ, để em đạt kiến thức hữu ích, nâng cao trình độ để phục vụ cho nghiệp sau Xin chân thành cảm ơn! h TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ KHOA CÔNG NGHỆ THÔNG TIN THUẬT TP.HCM ĐỀ CƯƠNG KHÓA LUẬN TỐT NGHIỆP Họ tên sinh viên : Ngơ Trí Huy……… MSSV : 18133015…………………… Thời gian làm luận văn từ 11/03/2022 đến 12/07/2022 Chuyên ngành: Kỹ thuật liệu Tên luận văn: Nhận dạng khái niệm lâm sàng y học dựa ghi bệnh nhân Họ tên Giáo viên hướng dẫn : ThS Qch Đình Hồng Nhiệm vụ thực • Tìm hiểu mơ hình biểu diễn văn (BERT biến thể) • Tìm hiểu tập liệu từ NBME • Áp dụng mơ hình liệu để giải toán nhận dạng khái niệm lâm sàng y học dựa ghi bệnh nhân Đề cương viết luận văn PHẦN 1: MỞ ĐẦU PHẦN 2: NỘI DUNG CHƯƠNG TÌM HIỂU BÀI TỐN 1.1 HƯỚNG TIẾP CẬN 1.1.1 Từ khóa 1.1.2 Bài toán phân loại 1.1.3 Học máy 1.1.4 Các hướng tiếp cận học máy 1.2 CÁC KHÁI NIỆM VÀ MƠ HÌNH ĐỂ GIẢI QUYẾT VẤN ĐỀ 1.2.1 BERT 1.2.2 RoBERTa h 1.2.3 DeBERTa 1.2.4 DeBERTa V2 1.3 DỮ LIỆU 1.4 CÁC THAM SỐ ĐÁNH GIÁ 1.4.1 Confusion matrix 1.4.2 Các độ đo đánh giá CHƯƠNG CÁC KHÁI NIỆM LÂM SÀN TRONG Y HỌC VÀ CÁCH MÁY HIỂU CHÚNG 2.1 NGƠN NGỮ TỰ NHIÊN 2.1.1 Ngơn ngữ tự nhiên 2.1.2 Xử lý ngôn ngữ tự nhiên 2.1.3 Transformers 2.1.4 Tokenizer 2.2 CÁCH MÁY HIỂU NGÔN NGỮ TỰ NHIÊN 2.2.1 Giới thiệu ngôn ngữ Python 2.2.2 Đọc ngôn ngữ tự nhiên 2.2.3 Dữ liệu văn vấn đề với ngơn ngữ tự nhiên 2.3 MƠ HÌNH BÀI TOÁN 2.4 THỰC HIỆN VÀ GIẢI QUYẾT VẤN ĐỀ THỰC TẾ 2.4.1 Các công việc xử lý liệu 2.4.2 Thực mơ hình CHƯƠNG THỬ NGHIỆM MƠ HÌNH VÀ ỨNG DỤNG 3.1 TRƯỚC KHI XỬ LÝ TẬP DỮ LIỆU 3.1.1 Nguồn liệu 3.1.2 Bài toán kèm theo liệu cách xử lý 3.1.3 Các lớp, thư viện module sử dụng 3.2 HUẤN LUYỆN VÀ ĐÁNH GIÁ MƠ HÌNH HUẤN LUYỆN 3.2.1 Data Loading h 3.2.2 Data preprocessing 3.2.3 Processing data 3.2.4 Build Model 3.2.5 Training 3.2.6 Evaluation 3.3 THỰC NGHIỆM VÀ KẾT QUẢ THỰC NGHIỆM (Test Data) 3.3.1 Functions 3.3.2 Submission PHẦN 3: KẾT LUẬN KẾ HOẠCH THỰC HIỆN STT Thời gian Nhiệm vụ Ghi 11/3 - 23/3 Tìm hiểu đề tài Phân tích đề tài, phân biệt data 24/3 - 10/4 Tìm hiểu tư liệu Tìm hiểu BERT nhóm mơ hình BERT 11/4 - 28/4 Tìm hiểu ngôn ngữ Cách máy hiểu ngôn ngữ tự nhiên, tiền xử tự nhiên 29/4 - 22/5 lý liệu Thực mơ hình Thực hàm xử lý liệu, tinh kagge 23/5 - 10/6 chỉnh tham số DeBERTa Thêm đoạn code Thực phương thức xử lý, hàm độ đo đánh giá, thông số model notebook 11/6 - 26/6 Thực báo cáo Chỉnh sửa theo hướng dẫn GVHD chỉnh sửa thuyết trình 27/6 - 12/7 Báo cáo chỉnh sửa hoàn chỉnh h thêm số nội dung Ngày … tháng … năm 2022 Người viết đề cương Ý kiến giảng viên hướng dẫn (Ký ghi rõ họ tên) ThS QCH ĐÌNH HỒNG (Ký ghi rõ họ tên) NGƠ TRÍ HUY h id case_n pn_nu feature_n annotati locati feature_t pn_histo annotation_le um m um on on ext ry ngth heart attcak] 00016_0 01 00016_0 02 00016_0 03 00016_0 04 16 16 16 16 of-MIORFamilyhistoryofmyoc presents with palpitatio ns Patien Familyhistoryofthyroiddisorder HPI: 17yo M presents with palpitatio ns Patien [chest [203 pressure] 217] Chestpressure HPI: 17yo M presents with palpitatio ns Patien [intermitt ent episodes, episode] [70 91, 176 183] HPI: 17yo M Intermitte presents ntwith symptom palpitatio s ns Patien [felt as if he were [222 going to 258] pass out] HPI: 17yo M presents Lighthead with ed palpitatio ns Patien [mom with "thyroid disease] [668 693] 3.2.2 Data preprocessing Khung code minh họa mã để trực quan hóa ghi (annotations) idx=1#5910 locations = train.loc[idx,'location'] pn_history= train.loc[idx,'pn_history'] start_pos = [] 38 h end_pos = [] for location in locations: for loc in [s.split() for s in location.split(';')]: start_pos.append(int(loc[0])) end_pos.append(int(loc[1])) ents = [] for i in range(len(start_pos)): ents.append({ 'start': int(start_pos[i]), 'end' : int(end_pos[i]), "label" : "Annotation" }) doc = { 'text' : pn_history, "ents" : ents } colors = {"Annotation": "linear-gradient(0deg, #888, #eeaaaa)"} options = {"colors": colors} spacy.displacy.render(doc, style="ent", options=options , manual=True, jupyter=True); Khung code Annotations Bảng minh họa thích (cột ghi gốc, cột ghi dịch sang tiếng Việt) Bảng 8: Một thích ví dụ Bản gốc Dịch sang tiếng Việt HPI: 17yo M presents with palpitations HPI: 17yo M có biểu hồi hộp Bệnh Patient reports 3-4 months of intermittent nhân báo cáo 3-4 tháng đợt 'tim đập episodes of "heart beating/pounding out / thình thịch ngồi lồng ngực' liên tục Cách of my chest." days ago during a soccer ngày trận đá bóng lần game had an episode, but this time had bị tức ngực cảm giác ngất chest pressure and felt as if he were going (không ý thức) Đáng ý, bệnh to pass out (did not lose conciousness) Of nhân tán thành việc lạm dụng adderall, chủ note patient endorses abusing adderall, yếu để học tập (1-3 lần tuần) Trước primarily to study (1-3 times per week) trận đấu bóng đá gần đây, tập thêm vào Before recent soccer game, took adderrall đêm trước buổi sáng trận đấu night before and morning of game Denies Denies khó thở, hôn mê, sốt, ớn lạnh, nhức shortness of breath, diaphoresis, fevers, đầu, mệt mỏi, thay đổi giấc ngủ, thay đổi 39 h chills, headache, fatigue, changes in thị lực / thính giác, bụng phệ, thay đổi thói sleep, changes vision/hearing, quen tiêu tiết niệu in abdominal paun, changes in bowel or urinary habits PMHx: none PMHx: Rx: uses friends adderrall Rx: sử dụng dạng thuốc adderrall FHx: mom with "thyroid disease FHx: mẹ bị 'bệnh tuyến giáp Chú thích', bố Annotation ," dad with recent heart attcak bị bệnh tim gần All: none Tất cả: khơng có Immunizations: up to date Chủng ngừa: cập nhật SHx: Freshmen in college Endorses 3-4 SHx: Sinh viên năm đại học Chứng drinks nights / week (on weekends), thực 3-4 ly đêm / tuần (vào cuối tuần), từ denies tabacco, endorses trying chối tabacco, tán thành việc thử cần sa marijuana Sexually active with girlfriend Quan hệ tình dục với bạn gái năm, x year, uses condoms sử dụng bao cao su CV split Khung code minh họa việc tách liệu làm tập train test Fold = GroupKFold(n_splits=n_fold) groups = train['pn_num'].values for n, (train_index, val_index) in enumerate(Fold.split(train, train['annotation_length'], groups)): train.loc[val_index, 'fold'] = int(n) train['fold'] = train['fold'].astype(int) print(train.groupby('fold').size()) valid=train[train.fold==fold] train=train[train.fold!=fold] -// fold 2860 2860 2860 2860 2860 dtype: int64 train, valid = train_test_split( train[['pn_history', 'feature_text','annotation_length', 'location']], test_size=0.25, random_state=seed ) Khung code Split data 40 h Tokenizer Khung code trình Tokenizer đề cập mục 2.1.4 chương cấu hình tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME) tokenizer.save_pretrained(f'{TOKENIZER_PATH}') config = AutoConfig.from_pretrained(MODEL_NAME) config.save_pretrained(f'{TOKENIZER_PATH}') Khung code Tokenizer, config 3.2.3 Processing data Khung code đoạn mã thực tạo hàm nhằm xử lý liệu, prepare_location, prepare_input, prepare_labels # - prepare_location -def prepare_location(locations: str) -> List[Tuple[int]]: """ This function returns list of tuples of locations """ location_tuple_list = [] for location in locations: for loc in [s.split() for s in location.split(';')]: start, end = int(loc[0]), int(loc[1]) location_tuple_list.append((start, end)) return location_tuple_list # - prepare_input -def prepare_input(pn_history: str, feature_text: str): """ This function tokenizes pn_history and feature text and returns numpy array of input_ids and attention_masks """ tokens = tokenizer( pn_history, feature_text, max_length=MAX_LEN, padding="max_length", add_special_tokens=True, ) input_ids = tokens['input_ids'] attention_mask = tokens["attention_mask"] return np.array(input_ids), np.array(attention_mask) # - prepare_labels -def prepare_labels(pn_history, annotation_length, location_list): """ This function creates labels with are vectors of zeros (no entity) and ones (entity) """ tokenized = tokenizer( 41 h pn_history, add_special_tokens=True, max_length=MAX_LEN, padding="max_length", return_offsets_mapping=True ) offset_mapping = tokenized["offset_mapping"] label = np.zeros(len(offset_mapping)) if annotation_length != 0: locations = prepare_location(location_list) for location in locations: start_idx, end_idx = -1, -1 start, end = location for idx in range(len(offset_mapping)): if (start_idx == -1) & (start < offset_mapping[idx][0]): start_idx = idx - if (end_idx == -1) & (end tf.keras.Model: input_tokens = tf.keras.layers.Input(shape=(MAX_LEN,), dtype=tf.int32) attention_mask = tf.keras.layers.Input(shape=(MAX_LEN,), dtype=tf.int32) config = AutoConfig.from_pretrained(MODEL_NAME, output_hidden_states=True) backbone = TFAutoModel.from_pretrained(MODEL_NAME, config=config) #backbone = TFAutoModel.from_pretrained(f'{MODEL_NAME}) backbone.save_pretrained(f'{MODEL_NAME}/model') out = backbone(input_tokens, attention_mask=attention_mask)[0] out = tf.keras.layers.Dropout(0.2)(out) out = tf.keras.layers.Dense(1, activation='sigmoid')(out) return tf.keras.Model(inputs=[input_tokens, attention_mask], outputs=out) model = create_model() model.summary() optimizer = tf.keras.optimizers.Adam(LEARNING_RATE, clipnorm=CLIP_NORM) loss = tf.keras.losses.BinaryCrossentropy(reduction="none") model.compile(optimizer=optimizer,loss=loss,metrics=metrics) Khung code 12 Build Model Khung code 13 thơng tin mơ hình, ta thấy mơ hình có 138,602,497 tất số chúng huấn luyện lại (pre-train) All model checkpoint layers were used when initializing TFDebertaModel All the layers of TFDebertaModel were initialized from the model checkpoint at microsoft/deberta-base If your task is similar to the task the model of the checkpoint was trained on, you can already use TFDebertaModel for predictions without further training Model: "model" Layer (type) Output Shape Param # Connected to ====================================================================== ============================ input_1 (InputLayer) [(None, 512)] input_2 (InputLayer) [(None, 512)] tf_deberta_model (TFDebertaMode TFBaseModelOutput(la 138601728 input_1[0][0] input_2[0][0] 44 h dropout (Dropout) (None, 512, 768) tf_deberta_model[0][13] dense (Dense) (None, 512, 1) 769 dropout[0][0] ====================================================================== ============================ Total params: 138,602,497 Trainable params: 138,602,497 Non-trainable params: Khung code 13 Params 3.2.5 Training Khung code 14 đoạn code để lấy liệu cho tập train val train_data_X =(np.asarray(train_data['input_ids']),np.asarray(train_data['attention _mask'])) train_data_Y = np.asarray(train_labels) valid_data = ((np.asarray(val_data['input_ids']), np.asarray(val_data['attention_mask']), ),np.asarray(val_labels)) Khung code 14 Train, val Cuối việc thực mơ số epochs 10, tập liệu train, thông số kỹ thuật gọi khung code 15 xx=np.asarray(train_data['input_ids']) print(xx.shape) history=model.fit( train_data_X, train_data_Y, epochs = EPOCHS, shuffle=True, batch_size = BATCH_SIZE, validation_data= valid_data, callbacks = [model_save, early_stop, reduce_lr] ) Khung code 15 Train 3.2.6 Evaluation 45 h Hình cho ta thấy loss tập train giảm dần F1 tăng dần Điều cho thấy giá trị dần xác Hình 7: Loss curve tập train validation Hình 8: F1 score tập train validation Khung code 16 dùng để chuẩn bị chạy thử nghiệm với tập liệu text test = pd.read_csv(' /input/nbme-score-clinical-patientnotes/test.csv') test = test.merge(features, on=['feature_num', 'case_num'], how='left') test = test.merge(patient_notes, on=['pn_num', 'case_num'], how='left') test.head() Khung code 16 Test 3.3 THỰC NGHIỆM VÀ KẾT QUẢ THỰC NGHIỆM (Test Data) 46 h 3.3.1 Functions Khung code 17 minh họa việc tao tập liệu text dùng để thực nghiệm hàm để lấy kết quả: get_char_probs, get_results test_data, test_labels = create_data(test,train=False) def get_char_probs(texts, predictions, tokenizer): results = [np.zeros(len(t)) for t in texts] for i, (text, prediction) in enumerate(zip(texts, predictions)): encoded = tokenizer(text, add_special_tokens=True, return_offsets_mapping=True) for idx, (offset_mapping, pred) in enumerate(zip(encoded['offset_mapping'], prediction)): start = offset_mapping[0] end = offset_mapping[1] results[i][start:end] = pred return results def get_results(char_probs, th=0.5): results = [] for char_prob in char_probs: result = np.where(char_prob >= th)[0] + result = [list(g) for _, g in itertools.groupby(result, key=lambda n, c=itertools.count(): n - next(c))] result = [f"{min(r)} {max(r)}" for r in result] result = ";".join(result) results.append(result) return results Khung code 17 Tạo hàm(3) 3.3.2 Submission Khung code 18 minh họa việc nộp kết lên Kaggle submission = pd.read_csv(' /input/nbme-score-clinical-patientnotes/sample_submission.csv') submission['location'] = results display(submission.head()) submission[['id', 'location']].to_csv('submission.csv', index=False) Khung code 18 Lấy kết 47 h Bảng minh họa dự đoán cho nhân 00016 với loại khái niệm y học Dịng đầu, 00016_000, minh họa dự đốn cho tính chất 000 (ID tính chất y học liệu) ghi bệnh nhân 00016 (ID ghi bệnh nhân liệu) Thông tin chi tiết mô tả bảng 2, mục 3.2.1 ta thấy tính chất đánh dố 000 với bệnh nhân 00016 xác định vị trí 696 đến 724, khoảng vị trí tương đương với tính chất đề cập Bảng 9: Kết minh họa id location 00016_000 696 724 00016_001 668 693 00016_002 203 217 00016_003 70 91 00016_004 222 232;236 258 48 h PHẦN 3: KẾT LUẬN Những làm Trong trình giải toán thử nghiệm với nhiều thuật toán nay, BERT cách giải thích hợp trường hợp Trong trình thực giải vấn đề, học thêm phương pháp BERT (Google), RoBERTa (Facebook), DeBERTa (Microsoft), … Chúng học cách triển khai sử dụng phương pháp để giải vấn đề theo hướng hoàn toàn Kết thu Được tiếp xúc với kỹ thuật machine learning khác so với học trường, mơ hình nhận dạng khái niệm y học dựa từ khóa Có kinh nghiệm ứng dụng mơ hình DeBERTa vào tốn thực tế Được tham gia môi trường quốc tế, thi dành riêng cho cộng đồng machine learning Kaggle Học thêm nhiều kiến thức với hướng phát triển ngành Công nghệ thông tin nói chung học máy nói riêng Mục tiêu phương hướng phát triển Chúng mong muốn phát triển thêm nhiều kiến thức lĩnh vực machine learning cải thiện khả lập trình thân Chúng tơi hi vọng tương lai sử dụng phiên khác DeBERTa, cịn phiên phát triển 49 h TÀI LIỆU THAM KHẢO [1] K Lê, “Machine learning gì?,” TopDev, [Trực tuyến] Available: https://topdev.vn/blog/machine-learning-la-gi/ [Đã truy cập 22 April 2022] [2] P Đ Khánh, “Bài 36 - BERT model,” Khoa học liệu - Khanh's blog, 23 May 2020 [Trực tuyến] Available: https://phamdinhkhanh.github.io/2020/05/23/BERTModel.html [Đã truy cập 14 May 2022] [3] P H Quang, “BERT, RoBERTa, PhoBERT, BERTweet: Ứng dụng state-of-the-art pre-trained model cho toán phân loại văn bản,” Viblo, 19 July 2020 [Trực tuyến] Available: https://viblo.asia/p/bert-roberta-phobert-bertweet-ung-dung-state-of-the-art-pre-trained-model-chobai-toan-phan-loai-van-ban-4P856PEWZY3 [Đã truy cập 2022] [4] “BERT, RoBERTa, DistilBERT, XLNet – Chọn nào?,” Trí tuệ nhân tạo, 29 April 2020 [Trực tuyến] Available: https://trituenhantao.io/kien-thuc/bert-roberta-distilbert-xlnet-chon-cai-nao/ [Đã truy cập 24 May 2022] [5] H Pengcheng, L Xiaodong, G Jianfeng C Wei, “DeBERTa: Decoding-Enhanced BERT with Disentangled Attention,” Microsoft , May 2021 [Trực tuyến] Available: https://www.microsoft.com/en-us/research/publication/deberta-decoding-enhanced-bert-withdisentangled-attention-2/ [Đã truy cập 12 May 2022] [6] “DeBERTa-v2,” huggingface, 2022 [Trực tuyến] Available: https://huggingface.co/docs/transformers/model_doc/deberta-v2 [Đã truy cập May 2022] [7] “Language model,” Wikipedia, 11 Dec 2021 [Trực tuyến] Available: https://en.wikipedia.org/wiki/Language_model [Đã truy cập 08 June 2022] [8] “Micro F1-score,” Knowledge Center, 2022 [Trực tuyến] Available: https://peltarion.com/knowledge-center/documentation/evaluation-view/classification-lossmetrics/micro-f1-score [Đã truy cập 11 June 2022] [9] bienhoang, “Xử Lý Ngôn Ngữ Tự Nhiên với Python - P1,” Viblo, 25 August 2017 [Trực tuyến] Available: https://viblo.asia/p/xu-ly-ngon-ngu-tu-nhien-voi-python-p1-GrLZDbXw5k0 [Đã truy cập 02 May 2022] [10] “ How Transformers work?,” huggingface, [Trực tuyến] Available: https://huggingface.co/course/chapter1/4?fw=tf [Đã truy cập 28 May 2022] [11] “Tokenizer,” Huggingface, [Trực tuyến] Available: https://huggingface.co/docs/transformers/main_classes/tokenizer [Đã truy cập 06 June 2022] [12] “Python (ngơn ngữ lập trình),” Wikipedia, 2022 [Trực tuyến] Available: https://vi.wikipedia.org/wiki/Python_(ng%C3%B4n_ng%E1%BB%AF_l%E1%BA%ADp_tr%C3 %ACnh) [Đã truy cập 15 May 2022] 50 h [13] “Xử lý ngôn ngữ tự nhiên: Cơng nghệ giúp máy tính hiểu giao tiếp với người,” FPT, 24 September 2020 [Trực tuyến] Available: https://digital.fpt.com.vn/nghien-cuu-noi-bat/xu-lyngon-ngu-tu-nhien.html [Đã truy cập 24 May 2022] [14] “NBME - Score Clinical Patient Notes,” National Board of Medical Examiners(NBME), February 2022 [Trực tuyến] Available: https://www.kaggle.com/competitions/nbme-scoreclinical-patient-notes [Đã truy cập 20 April 2022 ] [15] “The Python Standard Library,” Python Software Foundation, 16 Jul 2022 [Trực tuyến] Available: https://docs.python.org/3/library/index.html [Đã truy cập 16 July 2022] 51 h S h K L 0

Ngày đăng: 29/05/2023, 08:54

Tài liệu cùng người dùng

Tài liệu liên quan