1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản

88 7 0

Đ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

Thông tin cơ bản

Tiêu đề Ứng Dụng Học Sâu Cho Bài Toán Nhận Diện Thực Thể Định Danh Trong Lĩnh Vực Bất Động Sản
Tác giả Nguyễn Thu Hoài
Người hướng dẫn ThS. Trần Thị Huế
Trường học Học viện Ngân hàng
Chuyên ngành Hệ thống thông tin quản lý
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 88
Dung lượng 8,99 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1 Giới thiệu và đặt vấn đề bài toán (12)
    • 1.1. Giới thiệu đơn vị thực tập (12)
      • 1.1.1. Về Meey Land (12)
      • 1.1.2. Sơ đồ cơ cấu tổ chức doanh nghiệp (13)
      • 1.1.3. Các sản phẩm, dịch vụ của Meey Land (14)
    • 1.2. Giới thiệu bài toán (15)
      • 1.2.1. Lý do chọn bài toán (15)
      • 1.2.2. Mục tiêu đạt được (16)
    • 1.3. Các nghiên cứu liên quan đến NER cho văn bản tiếng Việt (18)
  • CHƯƠNG 2 Kiến thức cơ bản trong xử lý ngôn ngữ tự nhiên (21)
    • 2.1. Các kĩ thuật xử lý ngôn ngữ tự nhiên (21)
      • 2.1.1. Xử lý dữ liệu thô (21)
      • 2.1.2. Xác định các từ dừng (stop word) (27)
      • 2.1.3. Nhận diện thực thể định danh (Name Entity Recognition) (27)
      • 2.1.4. Biểu diễn từ dưới dạng vectơ (28)
    • 2.2. Một số mạng thần kinh nhân tạo xây dựng NER (35)
      • 2.2.1. Mạng nơ-ron hồi quy (Recurrent Nerual Network - RNN) (37)
      • 2.2.2. Mạng Bộ nhớ Ngắn hạn Dài hạn (LSTM) (40)
      • 2.2.3. BiLSTM (43)
      • 2.2.4. Mạng GRU (43)
      • 2.2.5. Transformer (45)
      • 2.2.6. Conditional Random Fields (CRF) (53)
    • 2.3. Một số mô hình pretrain NER cho tiếng Việt (54)
      • 2.3.1. Mô hình PhoBERT (54)
      • 2.3.2. Mô hình VnCoreNLP (57)
  • CHƯƠNG 3 Xây dựng mô hình NER cho dữ liệu bất động sản (59)
    • 3.1. Mô tả bộ dữ liệu (59)
      • 3.1.1. Thực thể (59)
      • 3.1.2. Bộ dữ liệu (60)
    • 3.2. Quy trình thực nghiệm (61)
      • 3.2.1. Thu thập dữ liệu (62)
      • 3.2.2. Tiền xử lý dữ liệu (62)
      • 3.2.3. Quá trình gán nhãn (62)
      • 3.2.4. Huấn luyện mô hình (67)
    • 3.3. Kết quả tính toán thực nghiệm (71)
    • 3.4. Sử dụng mô hình (76)
  • KẾT LUẬN (19)

Nội dung

Một trong những bước đầu tiên để phát triển các hệ thống như vậy là nhận ra các thực thể định danh có liên quan được đề cập trong các văn bản, hay còn được gọi là NER.. Mục tiêu đạt được

Trang 1

KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

-š›&š› -

KHÓA LUẬN TỐT NGHIỆP

ỨNG DỤNG HỌC SÂU CHO BÀI TOÁN NHẬN DIỆN THỰC THỂ ĐỊNH DANH TRONG LĨNH VỰC BẤT

Trang 2

HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

-š›&š› -

KHÓA LUẬN TỐT NGHIỆP

ỨNG DỤNG HỌC SÂU CHO BÀI TOÁN NHẬN DIỆN THỰC THỂ ĐỊNH DANH TRONG LĨNH VỰC BẤT

Trang 3

LỜI CAM KẾT

Tôi xin cam đoan kết quả đạt được trong đề tài là sản phẩm nghiên cứu, tìm hiểu của cá nhân tôi Toàn bộ nội dung của đề tài được trình bày là của riêng tôi hoặc là được tổng hợp từ nhiều nguồn tài liệu khác nhau Tất cả các tài liệu tham khảo đều có xuất xứ

rõ ràng và được trích dẫn hợp pháp

Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình

Hà Nội, ngày 22 tháng 05 năm 2022

Sinh viên thực hiện

Nguyễn Thu Hoài

Trang 4

LỜI CẢM ƠN

Để hoàn thành đề tài này, trước tiên em xin chân thành cảm ơn cô Trần Thị Huế, giảng viên khoa Hệ thống thông tin quản lý – Học viện Ngân hàng đã hướng dẫn trực tiếp, giúp đỡ em trong suốt quá trình thực hiện đề tài khóa luận tốt nghiệp từ khi lên ý tưởng tiến hành cho đến khi kết thúc, luôn đưa ra nhận xét góp ý để đề tài được hoàn thành tốt nhất Đồng thời, em muốn gửi lời cảm ơn đến các thầy cô giáo khoa Hệ thống thông tin quản lý đã tạo điều kiện tốt nhất để em có cơ hội tiếp cận với những bài toán thực tế, để có thể vận dụng những kiến thức đã học giải quyết các bài toán đó Bên cạnh

đó, em cũng gửi lời cảm ơn đến đơn vị thực tập – Công ty Cổ phần Tập đoàn Meey Land

đã cho em cơ hội thực tập, tạo điều kiện thuận lợi nhất trong quá trình khảo sát hoạt động thực tế để có thể thực hiện đề tài

Do thời gian và năng lực còn hạn chế nên không thể tránh được những sai sót trong quá trình thực hiện đề tài Vì vậy, em hy vọng nhận được sự thông cảm, góp ý bổ sung của các thầy cô để đề tài của em có thể được hoàn thiện hơn

Em xin chân thành cảm ơn!

Trang 5

MỤC LỤC

DANH MỤC TỪ VIẾT TẮT i

DANH MỤC HÌNH ẢNH ii

DANH MỤC BẢNG BIỂU iv

LỜI MỞ ĐẦU 1

CHƯƠNG 1 Giới thiệu và đặt vấn đề bài toán 2

1.1 Giới thiệu đơn vị thực tập 2

1.1.1 Về Meey Land 2

1.1.2 Sơ đồ cơ cấu tổ chức doanh nghiệp 3

1.1.3 Các sản phẩm, dịch vụ của Meey Land 4

1.2 Giới thiệu bài toán 5

1.2.1 Lý do chọn bài toán 5

1.2.2 Mục tiêu đạt được 6

1.3 Các nghiên cứu liên quan đến NER cho văn bản tiếng Việt 8

CHƯƠNG 2 Kiến thức cơ bản trong xử lý ngôn ngữ tự nhiên 11

2.1 Các kĩ thuật xử lý ngôn ngữ tự nhiên 11

2.1.1 Xử lý dữ liệu thô 11

2.1.2 Xác định các từ dừng (stop word) 17

2.1.3 Nhận diện thực thể định danh (Name Entity Recognition) 17

2.1.4 Biểu diễn từ dưới dạng vectơ 18

2.2 Một số mạng thần kinh nhân tạo xây dựng NER 25

2.2.1 Mạng nơ-ron hồi quy (Recurrent Nerual Network - RNN) 27

2.2.2 Mạng Bộ nhớ Ngắn hạn Dài hạn (LSTM) 30

2.2.3 BiLSTM 33

Trang 6

2.2.4 Mạng GRU 33

2.2.5 Transformer 35

2.2.6 Conditional Random Fields (CRF) 43

2.3 Một số mô hình pretrain NER cho tiếng Việt 44

2.3.1 Mô hình PhoBERT 44

2.3.2 Mô hình VnCoreNLP 47

CHƯƠNG 3 Xây dựng mô hình NER cho dữ liệu bất động sản 49

3.1 Mô tả bộ dữ liệu 49

3.1.1 Thực thể 49

3.1.2 Bộ dữ liệu 50

3.2 Quy trình thực nghiệm 51

3.2.1 Thu thập dữ liệu 52

3.2.2 Tiền xử lý dữ liệu 52

3.2.3 Quá trình gán nhãn 52

3.2.4 Huấn luyện mô hình 57

3.3 Kết quả tính toán thực nghiệm 61

3.4 Sử dụng mô hình 66

KẾT LUẬN 68

Trang 7

DANH MỤC TỪ VIẾT TẮT

Trang 8

DANH MỤC HÌNH ẢNH

Hình 1.1: Sơ đồ cơ cấu tổ chức của Meey Land 3

Hình 1.2: Hệ sinh thái sản phẩm công nghệ của Meey Land 4

Hình 1.3: Bộ lọc tìm kiếm trên website meeyland.com 5

Hình 1.4: Một phần giao diện đăng tin trên Meey Land 7

Hình 2.1: Mã hóa và giải mã Unicode 12

Hình 2.2: Ví dụ về kết quả sau khi nhận diện thực thể định danh 18

Hình 2.3: One-hot Encoding với Word Embedding 19

Hình 2.4: Minh họa về one-hot encoding 19

Hình 2.5: Kiến trúc mô hình CBOW 22

Hình 2.6: Kiến trúc mô hình Skip-gram 23

Hình 2.7: Ví dụ về thay thế BPE để tách từ con 25

Hình 2.8: Kiến trúc cơ bản của mạng nơ-ron nhân tạo 25

Hình 2.9: Một số hàm kích hoạt 26

Hình 2.10: Kiến trúc tổng quát của mạng thần kinh nhân tạo 27

Hình 2.11: Kiến trúc mạng RNN 28

Hình 2.12: Các bước xử lý cụ thể trong một nơ-ron mô hình RNN 28

Hình 2.13: Quyết định thông tin sẽ loại bỏ khỏi cell state 31

Hình 2.14: Quyết định thông tin mới sẽ lưu trữ 31

Hình 2.15: Cập nhật cell state cũ 𝑪𝒕 − 𝟏 32

Hình 2.16: Quyết định những gì chúng ta sẽ trả ra 32

Hình 2.17: Kiến trúc mạng BiLSTM 33

Hình 2.18: Kiến trúc mạng GRU 34

Hình 2.19: Kiến trúc mô hình Transformer 36

Hình 2.20: Cơ chế self-attention 37

Trang 9

Hình 2.21: Mỗi vectơ là kết quả từ vectơ đầu vào với ma trận 38

Hình 2.22: Kiến trúc self-attention 39

Hình 2.23: Kiến trúc Multi-Head Attention 39

Hình 2.24: Kiến trúc Encoder 40

Hình 2.25: Kiến trúc khối giải mã (khối đỏ trong hình) 41

Hình 2.26: Masked Self-Attention 42

Hình 2.27: Masked Triangular Matrix 43

Hình 2.28: Kiến trúc mạng BiLSTM-CRF 44

Hình 2.29: Đầu vào của mô hình BERT 45

Hình 3.1: Ví dụ minh họa tập con của bộ dữ liệu 50

Hình 3.2: Sơ đồ quy trình xử lý dữ liệu 52

Hình 3.3: Giao diện công cụ gán nhãn 53

Hình 3.4: Mô hình hóa quá trình huấn luyện với các mô hình hồi quy 58

Hình 3.5: Mô hình hóa quá trình huấn luyện với PhoBERT 59

Hình 3.6: Đồ thị so sánh độ chính xác của các mô hình theo số epoch 60

Hình 3.7: Ví dụ ma trận nhầm lẫn cho bài toán 2 lớp 61

Hình 3.8: Ví dụ ma trận nhầm lẫn cho bài toán nhiều lớp 62

Hình 3.9: Kết quả của mô hình RNN-CRF 63

Hình 3.10: Kết quả của mô hình GRU-CRF 64

Hình 3.11: Kết quả của mô hình LSTM-CRF 64

Hình 3.12: Kết quả của mô hình BiLSTM-CRF 65

Hình 3.13: Kết quả của mô hình PhoBERT 65

Hình 3.14: Kết quả sử dụng mô hình 66

Trang 10

DANH MỤC BẢNG BIỂU

Bảng 2.1: Các loại thực thể định danh thường được sử dụng trong bất động sản 18

Bảng 3.1: Định nghĩa các thực thể 49

Bảng 3.2: Thống kê bộ dữ liệu 51

Bảng 3.3: Kết quả so sánh giữa các mô hình 66

Trang 11

LỜI MỞ ĐẦU

Nhận dạng và trích xuất thực thể định danh như người, địa điểm, tổ chức, v.v rất hữu ích để khai thác thông tin từ văn bản Nhiệm vụ Nhận diện thực thể định danh (Named Entity Recognition - NER) là một nhiệm vụ cơ bản và nó là cốt lõi của hệ thống

xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) NER liên quan đến hai nhiệm vụ, thứ nhất là xác định các tên riêng trong văn bản và thứ hai là phân loại các tên này thành một tập hợp các danh mục quan tâm được xác định trước, chẳng hạn như tên người, tổ chức (công ty, tổ chức chính phủ, ủy ban, v.v.), địa điểm, v.v Nó góp phần

để giải quyết hầu hết các vấn đề trong lĩnh vực nghiên cứu nổi bật như Hệ thống trả lời

và tóm tắt câu hỏi, Truy xuất thông tin, Dịch máy, v.v Ngày nay, nhiều nghiên cứu sử

dụng các phương pháp khác nhau như Rule-base NER, Machine Learning-base NER và NER kết hợp, để xác định thực thể từ văn bản Đề tài này xây dựng mô hình NER dựa trên phương pháp học sâu và dành riêng cho lĩnh vực bất động sản

Ngoài các phần phụ lục như: lời mở đầu, danh mục bảng biểu, hình ảnh; kết cấu bài viết chia thành ba chương:

Chương 1 – Giới thiệu và đặt vấn đề bài toán giới thiệu về đơn vị thực tập, bài

toán cũng như một số nghiên cứu về NER cho văn bản tiếng Việt

Chương 2 - Kiến thức cơ bản trong xử lý ngôn ngữ tự nhiên trình bày các kĩ thuật

trong xử lý ngôn ngữ tự nhiên, một số mạng thần kinh nhân tạo cho NER và một số mô hình pretrain NER cho tiếng Việt

Chương 3 - Xây dựng mô hình NER cho dữ liệu bất động sản mô tả bộ dữ liệu,

quy trình thực nghiệm và một số kết quả đã đạt được

Trang 12

CHƯƠNG 1 GIỚI THIỆU VÀ ĐẶT VẤN ĐỀ BÀI TOÁN

Các tổ chức, doanh nghiệp phải không ngừng cải thiện, đổi mới sản phẩm, dịch

vụ để đáp ứng nhu cầu khách hàng cũng như theo kịp bước chân thời đại Hệ thống NER

xử lý một tài liệu dạng văn bản và nhận dạng các từ hoặc câu đề cập đến các thực thể

Ví dụ: các thực thể có thể là địa điểm, con người hoặc tổ chức Đối với lĩnh vực bất động sản nói riêng, bài toán cần thiết đề ra là phải có hệ thống nhận diện thực thể định danh

để trích xuất thông tin quan trọng về các bất động sản như: diện tích đất, giá cả, vị trí, v.v để phục vụ cho những mục đích riêng của doanh nghiệp giúp nâng cao trải nghiệm người dùng

1.1 Giới thiệu đơn vị thực tập

1.1.1 Về Meey Land

Meey Land là một hệ sinh thái các sản phẩm công nghệ, cung ứng cho cộng đồng chuỗi các ứng dụng nền tảng dành riêng cho thị trường bất động sản, là sự kết hợp công nghệ, tài chính và bất động sản (áp dụng công nghệ trong đầu tư bất động sản)

Với sản phẩm Meey CRM – Nền tảng hỗ trợ các nhà môi giới trong việc quản lý kho hàng, nguồn hàng và chăm sóc khách hàng, Meey Land được vinh danh: “Doanh nghiệp chuyển đổi số xuất sắc” tại giải thưởng Chuyển đổi số Việt Nam 2021 (Vietnam Digital Awards 2021) - giải thưởng quốc gia tôn vinh các thành tựu chuyển đổi số xuất sắc thúc đẩy công cuộc Chuyển đổi số do Quốc gia Bộ Thông tin và Truyền thông trực tiếp chỉ đạo

Vừa qua, với những tính năng ưu việt, Cổng thông tin bất động sản 4.0 (website meeyland.com) đã xuất sắc nhận danh hiệu Sao Khuê 2022 - giải thưởng uy tín nhất của ngành phần mềm và CNTT Việt Nam – ở hạng mục “Sản phẩm, Giải pháp phần mềm mới” Công ty Cổ phần Tập đoàn Meey Land được vinh danh cùng với hàng loạt doanh nghiệp tên tuổi lớn khác trong làng phần mềm và công nghệ thông tin như: FPT, Viettel, VNPT, v.v

Được thành lập ngày 15/08/2019, Meey Land đã từng bước đi lên và gặt hái được

Trang 13

một số thành công nhất định Dưới đây là lịch sử hình thành và phát triển của công ty:

+ Ra mắt nền tảng chạy quảng cáo Meey Ads

+ Ra mắt nền tảng xây dựng landing page Meey Page

+ Thành lập 14 văn phòng đại diện

+ Thành lập thêm 8 văn phòng đại diện

1.1.2 Sơ đồ cơ cấu tổ chức doanh nghiệp

Hình 1.1 là sơ đồ thể hiện cơ cấu tổ chức của công ty Meey Land

Hình 1.1: Sơ đồ cơ cấu tổ chức của Meey Land

Trang 14

1.1.3 Các sản phẩm, dịch vụ của Meey Land

Meey Land sở hữu hệ sinh thái 26 sản phẩm công nghệ chuyên biệt cho lĩnh vực bất động sản, được liệt kê trong Hình 1.2

Hình 1.2: Hệ sinh thái sản phẩm công nghệ của Meey Land

Trong đó, các sản phẩm nổi bật phải kể đến như:

- Website MeeyLand.com và ứng dụng MeeyLand phiên bản di động trên cả iOS, Android: nền tảng đăng tin, tìm kiếm mua bán và cho thuê bất động sản Hiện tại, nền tảng này đã có hơn 3 triệu tin rao BĐS trên toàn quốc bao gồm tin mua-bán, cho thuê, sang nhượng… trung bình mỗi tuần từ 20-30.000 tin mới

- Meey Page: nền tảng thiết kế và khởi tạo landing page bán hàng bất động sản

tự động, chuyên nghiệp, nhanh chóng, dễ dàng – cung cấp hàng ngàn template mẫu dành riêng cho BĐS

- Meey Ads: nền tảng tối ưu hóa quảng cáo Google dành riêng cho môi giới bất động sản – là công cụ được các nhà môi giới BĐS ưa thích do giúp tạo và quản lý quảng cáo hiệu quả

- Meey Map: là một nền tảng bản đồ số chuyên biệt cho lĩnh vực Bất động sản,

có chức năng hỗ trợ tra cứu thông tin quy hoạch trực tuyến một cách nhanh chóng và tiện lợi

- Meey CRM: Ứng dụng quản lý khách hàng và nguồn hàng chuyên biệt cho nhà

Trang 15

- Khi đăng tin, người dùng không chỉ phải nhập tiêu đề, mô tả về bất động sản

mà còn phải chọn giá trị các trường thông tin đặc tả về tin đăng hoặc bất động sản đó (ví dụ: nhu cầu, loại nhà đất, diện tích, hướng nhà, v.v) mà trong khi những thông tin này trong phần mô tả đã xuất hiện

- Hệ thống tìm kiếm và hệ thống gợi ý đưa ra kết quả chưa chuẩn xác, đúng mong muốn người dùng do chưa nắm bắt được những từ khóa quan trọng Dưới đây là

ví dụ khi ta tìm kiếm trên bộ lọc của trang meeyland.com:

Hình 1.3: Bộ lọc tìm kiếm trên website meeyland.com

Vì vậy, điều cần thiết là phải xây dựng các hệ thống truy xuất thông tin một cách

ưu việt để có thể nắm bắt kịp thời các thông tin quan trọng, từ đó xử lý và mang lại cho khách hàng trải nghiệm tốt hơn khi sử dụng sản phẩm, dịch vụ của Meey Land Một trong những bước đầu tiên để phát triển các hệ thống như vậy là nhận ra các thực thể định danh có liên quan được đề cập trong các văn bản, hay còn được gọi là NER Tuy nhiên, thách thức được đặt ra với bài toán NER:

Trang 16

- Đối với con người, NER trực quan đơn giản, bởi vì nhiều thực thể định danh

là tên riêng và hầu hết chúng đều có chữ viết hoa đầu tiên và nó là những thông tin quen thuộc trong cuộc sống hằng ngày nên có thể dễ dàng nhận ra, nhưng đối với máy móc, điều đó trở nên khó hơn Người ta có thể nghĩ rằng các thực thể định danh có thể được phân loại dễ dàng bằng cách sử dụng từ điển, bởi vì hầu hết các thực thể định danh là danh từ riêng, nhưng đây là một ý kiến sai lầm Khi thời gian trôi qua, các danh từ riêng mới được tạo ra liên tục, vì vậy, không thể thêm tất cả các danh từ riêng đó vào một từ điển

- Một khó khăn lớn khác là do nhiều thuật ngữ thực thể định danh không rõ ràng, chúng có các nghĩa khác nhau tùy theo ngữ cảnh Do đó, “Thanh Bình” có khả năng là một phần của các thực thể định danh người (PERSON), nhưng nó cũng là tên một huyện

ở tỉnh Đồng Tháp nên trong một số trường hợp, nó là một thực thể định danh vị trí (LOCATION)

- Những thách thức khác được đặt ra bởi những cái tên nhiều từ khóa như Đại học quốc gia Hà Nội, do đó, trong nhận diện thực thể định danh, chúng ta cần có khả năng để xác định điểm bắt đầu và kết thúc của chuỗi các từ

- Đặc biệt, so với các ngôn ngữ khác, tài nguyên dữ liệu cho nhiệm vụ NER tiếng Việt có giới hạn, chỉ bao gồm ba bộ dữ liệu công khai từ các nhiệm vụ NER được chia

sẻ VLSP 2016 và 2018 và dữ liệu về COVID-19 Ở đây, tập dữ liệu VLSP-2018 NER

là phần mở rộng của tập dữ liệu VLSP-2016 NER với nhiều dữ liệu hơn Hai bộ dữ liệu này chỉ tập trung vào việc nhận diện các thực thể chung như tên người, tổ chức và địa điểm trong các bài báo trực tuyến Do đó, càng khiến chúng khó thích ứng với việc trích xuất thông tin thực thể quan trọng liên quan đến lĩnh vực bất động sản

1.2.2 Mục tiêu đạt được

Với những lý do nêu trên đã dẫn đến các mục tiêu chính trong đề tài nghiên cứu là:

- Phát triển một hệ thống NER cụ thể trong lĩnh vực bất động sản, giúp trích xuất

và cô đọng thông tin để có thể nắm bắt kịp thời các thông tin quan trọng, từ đó mang lại cho khách hàng trải nghiệm tốt hơn khi sử dụng sản phẩm, dịch vụ của Meey Land Cụ

Trang 17

thể, ví dụ với câu “Bán nhà riêng vị trí 101 Láng Hạ mặt tiền 10m, hướng Đông Nam, diện tích 100m2 giá 2 tỷ”, hệ thống sẽ nhận diện được các thông tin và thực thể tương ứng: “bán” (Nhu cầu), “nhà riêng” (Loại hình BĐS), “100m2” (Diện tích), “2 tỷ” (Giá),

“101 Láng Hạ” (Vị trí), “10m” (Mặt tiền), “Đông Nam” (Hướng nhà):

+ Khi người dùng viết tiêu đề, mô tả (khối đỏ thứ nhất trong Hình 1.4); ta có thể nhận diện thực thể đối với các trường thông tin quan trọng một cách chính xác, nhanh chóng và tự động điền vào các trường tương ứng trên trang meeyland.com (khối đỏ thứ hai trong Hình 1.4) để người dùng không phải nhập lại những thông tin này;

Hình 1.4: Một phần giao diện đăng tin trên Meey Land

+ Khi khách tìm kiếm bất động sản trên bộ lọc Meey Land, ta sẽ có thể trích xuất được những từ khóa chính để phục vụ cho hệ thống gợi ý cũng như hệ thống tìm kiếm thông minh;

+ Tương lai có thể kết hợp với hệ thống nhận diện giọng nói, người dùng thay

vì phải nhập thông tin, họ chỉ cần nói về nhu cầu, mong muốn của mình

Trang 18

- Cung cấp cho cộng đồng nghiên cứu bộ dữ liệu mới để nhận diện các thực thể định danh liên quan đến bất động sản bằng tiếng Việt

1.3 Các nghiên cứu liên quan đến NER cho văn bản tiếng Việt

Thuật ngữ Thực thể định danh (Named Entity) được đặt ra vào năm 1996, tại hội nghị MUC lần thứ 6, để chỉ “định danh duy nhất của các thực thể” [1] Tuy nhiên, vào năm 1991, Lisa F Rau đã đề xuất một phương pháp trích xuất tên công ty từ văn bản, phương pháp này ngày nay thường được chấp nhận là một nhiệm vụ NER Cô nhận ra rằng những thực thể này là vấn đề đối với xử lý ngôn ngữ tự nhiên vì chúng hầu hết là những từ không xác định [2]

Bài toán Nhận diện thực thể định danh (NER) có thể được tiếp cận theo hai phương pháp chính: phương pháp tiếp cận dựa trên thống kê và phương pháp học sâu

Trong hướng tiếp cận đầu tiên, các mô hình gán nhãn truyền thống như CRF, mô hình hidden markov, SVM (Support vector machine) được sử dụng Các mô hình này phụ thuộc nhiều vào các đặc trưng được tạo thủ công Các câu được thể hiện dưới dạng một tập hợp các đặc trưng như từ, thành phần câu, v.v Sau đó, chúng được đưa vào một

mô hình tuyến tính để gán nhãn Một số ví dụ theo quy trình này là [3], [4], [5], [6] Các

mô hình này đã được chứng minh là hoạt động khá tốt đối với các ngôn ngữ có nguồn tài nguyên thấp như tiếng Việt Tuy nhiên, các hệ thống NER này chủ yếu dựa vào bộ các đặc trưng đã sử dụng và các đặc trưng được tạo thủ công này rất khó để có thể tạo

ra hay tái sử dụng

Đối với phương pháp thứ hai, với sự xuất hiện của các mô hình học sâu với hiệu suất tính toán vượt trội dường như đã cải thiện độ chính xác của nhiệm vụ NER Hiệu suất của các mô hình học sâu cũng đã được chứng minh là tốt hơn nhiều so với các phương pháp dựa trên thống kê Đây cũng là lý do đề tài ứng dụng học sâu để giải quyết bài toán Các mô hình mạng nơ-ron thường được sử dụng bao gồm mạng nơ-ron tích chập (CNN), mạng nơ-ron hồi quy (RNN), mạng bộ nhớ ngắn hạn dài hạn (LSTM), v.v Trong lĩnh vực chung, Huanget và cộng sự đã đề xuất sự kết hợp của mô hình LSTM hai chiều (BiLSTM) và CRF để đạt được kết quả tốt hơn [7] Ma và Hovy đã sử dụng kết hợp CNN và LSTM-CRF để xác định các thực thể [8] Chiu và Nichols đã thông qua

Trang 19

mô hình BiLSTM-CNN để thu được kết quả hợp lý trên kho từ điển CoNLL-2003 [9] Trong [10], tác giả thực hiện pretrain mô hình BERT với hai tập dữ liệu, trong đó kết quả điểm F1 cao nhất là 90,59%

Đối với tiếng Việt, có rất nhiều hệ thống NER sử dụng mạng nơ-ron nhân tạo Trong [11], tác giả đã giới thiệu một mô hình sử dụng hai lớp Bi-LSTM với các lớp softmax ở đầu ra, điểm F1 là 92,05% Một mô hình khác sử dụng mô hình BiLSTM-CRF với đầu vào là vector embedding mức ký tự, F1 là 94,88% được đưa ra trong [12]

Và gần đây, mô hình kết hợp của BiLSTM - Attention - CRF với điểm F1 là 95,33% đã được đưa ra trong [13] Bên cạnh đó cũng xuất hiện các hệ thống NER cho các mục đích đặc thù Ví dụ như trong bối cảnh đại dịch COVID-19 bùng nổ, bài toán nhận diện thực thể định danh liên quan đến COVID-19 của VinAI được đưa ra Họ huấn luyện với 3

mô hình: mô hình kết hợp BiLSTM-CNN-CRF, mô hình pretrain XLM-R, PhoBERT

và nhận thấy PhoBERT hoạt động tốt hơn so với XLM-R (Micro-F1: 0,945 so với 0,938; Macro-F1: 0,931 so với 0,911) [14]

Cụ thể đối trong lĩnh vực bất động sản, trên thế giới có rất ít nghiên cứu được công khai Trong quá trình nghiên cứu, luận văn chỉ tìm thấy một công bố về bài toán NER từ dữ liệu được thu thập từ các bài viết trong lĩnh vực bất động sản được đăng trên Twitter [15], công bố này sử dụng chuỗi tuyến tính CRF để lập mô hình xác suất có điều kiện cho từng danh mục cho bất động sản như: tên liên hệ (N), giá trên từng khu vực (C), diện tích đất (LA), vị trí (L), điện thoại liên hệ (T), các thuộc tính tài sản (A) và thông tin khác (O) để xây dựng mô hình NER Ở Việt Nam, mặc dù xuất hiện các mô hình như PhoBERT hay VNCoreNLP nhưng điểm yếu của chúng đều là các công bố đại chúng, xử lý cho ngôn ngữ tiếng Việt nói chung Hiện nay vẫn chưa có nghiên cứu về NER cho tiếng Việt đặc thù riêng cho lĩnh vực bất động sản Điều này cũng mở ra hướng mới cho các nghiên cứu trong tương lai liên quan đến việc phát triển các NER trong lĩnh vực bất động sản mạnh mẽ hơn

KẾT LUẬN CHƯƠNG

Chương 1 đã trình bày sơ lược về bài toán NER tiếng Việt trong lĩnh vực bất động sản (lý do cũng như mục tiêu đạt được của bài toán) và các nghiên cứu liên quan

Trang 21

CHƯƠNG 2 KIẾN THỨC CƠ BẢN TRONG XỬ LÝ NGÔN NGỮ TỰ NHIÊN

Xử lý ngôn ngữ tự nhiên (NLP) ngày càng được phát triển mạnh mẽ, ứng dụng nhiều vào đời sống và trên vô số các lĩnh vực khác nhau Trong đó, Nhận diện thực thể định danh (NER) là một trong các kỹ thuật dựa trên NLP để xác định các đề cập đến các thực thể định danh từ văn bản Chương 2 này sẽ trình bày các kỹ thuật cơ bản trong xử

lý ngôn ngữ tự nhiên nói chung, một số mạng nơ-ron nhân tạo cho bài toán NER nói riêng và bên cạnh đó là một số mô hình pretrain NER cho dữ liệu tiếng Việt

2.1 Các kĩ thuật xử lý ngôn ngữ tự nhiên

2.1.1 Xử lý dữ liệu thô

2.1.1.1 Xử lý văn bản với Unicode

Trong thực tế có rất nhiều ngôn ngữ, dó đó, ta sẽ cần xử lý các ngôn ngữ khác nhau và các bộ ký tự khác nhau Unicode hỗ trợ hơn một triệu ký tự Mỗi ký tự này được gán một số, được gọi là mã ký tự Trong Python, các mã ký tự này được viết ở dạng

\𝑢𝑋𝑋𝑋𝑋, trong đó XXXX là số ở dạng thập lục phân 4 chữ số Trong một chương trình, các mã ký tự Unicode có thể được thao tác trực tiếp, nhưng khi các ký tự Unicode được lưu trữ trong tệp hoặc hiển thị trên một thiết bị đầu cuối, chúng phải được mã hóa thành một hoặc nhiều byte Một số bảng mã (chẳng hạn như ASCII và Latin-2) sử dụng một byte duy nhất, vì vậy chúng chỉ có thể hỗ trợ một tập con của Unicode, phù hợp với một ngôn ngữ duy nhất Các bảng mã khác (chẳng hạn như UTF-8) sử dụng nhiều byte và

có thể đại diện cho toàn bộ Unicode

Văn bản trong tệp sẽ ở một bảng mã cụ thể, vì vậy chúng ta cần một số cơ chế để dịch nó sang Unicode Dịch sang Unicode được gọi là giải mã (decode) Ngược lại, để ghi Unicode ra một tệp hoặc một thiết bị đầu cuối, trước tiên chúng ta cần dịch nó sang một bảng mã phù hợp, quá trình biến đổi từ Unicode sang bộ mã khác được gọi là mã hóa [16]

Trang 22

Hình 2.1: Mã hóa và giải mã Unicode 2.1.1.2 Biểu thức chính quy (Regular Expression)

Biểu thức chính quy (gọi tắt là RegEx) được định nghĩa là một chuỗi ký tự đặc biệt giúp so khớp hoặc tìm các chuỗi hay bộ chuỗi khác bằng cách sử dụng chuỗi đó làm mẫu (pattern) Ví dụ: trích xuất tất cả các thẻ bắt đầu bằng # từ một tweet, lấy ID email hoặc số điện thoại, v.v Biểu thức chính quy yêu cầu hai thứ, một là mẫu mà ta muốn tìm kiếm và hai là một tập văn bản hoặc một chuỗi mà chúng ta cần tìm kiếm mẫu trong

Sau đây là một số khái niệm cơ bản về biểu thức chính quy, đó là một số cú pháp

cơ bản ta cần biết

- Bộ ký tự trong biểu thức chính quy: Bộ ký tự biểu thức chính quy được biểu thị bằng một cặp dấu ngoặc [] sẽ khớp với bất kỳ ký tự nào được bao gồm trong dấu ngoặc Ví dụ: biểu thức chính quy 𝑐𝑜𝑛[𝑠𝑐]𝑒𝑛[𝑠𝑐]𝑢𝑠 sẽ so khớp với bất kỳ cách viết nào

Trang 23

tương đồng như: “concensus”, “consencus” và “concencus”

- Các đại lượng tùy chọn trong Biểu thức chính quy: Trong Biểu thức chính quy, các đại lượng tùy chọn được biểu thị bằng dấu chấm hỏi Nó chỉ ra rằng một ký tự có thể xuất hiện 0 hoặc 1 lần Ví dụ: cụm từ thông dụng ℎ𝑒𝑙𝑙? 𝑜 sẽ phù hợp với “helo” cũng như “hello”

- Chữ trong biểu thức chính quy: Trong biểu thức chính quy, các chữ là các ký

tự đơn giản nhất mà sẽ khớp với văn bản chính xác của các chữ Ví dụ: regex “xoài” sẽ hoàn toàn khớp với “xoài” nhưng cũng sẽ khớp với “xoài” trong văn bản “Tôi thích xoài”

Các đại lượng cố định trong biểu thức chính quy: Trong biểu thức chính quy, đại lượng cố định được biểu thị bằng dấu ngoặc nhọn {} Nó chứa chính xác số lượng hoặc phạm vi số lượng ký tự được so khớp Ví dụ: biểu thức chính quy ℎ𝑎𝑝{2}𝑦 sẽ khớp với

“happy”, trong khi biểu thức chính quy ℎ𝑎𝑝{2,4}𝑦 sẽ khớp với “happy”, “happpy” hoặc

“happppy”

- Sự thay thế trong Biểu thức Chính quy: Sự thay thế được biểu thị bằng ký hiệu ống dẫn, cho phép kết hợp một trong hai biểu thức phụ Ví dụ: regex 𝑡á𝑜|𝑥𝑜à𝑖 sẽ khớp với “táo” hoặc “xoài”

- Chốt trong biểu thức chính quy: Chốt (mũ ^ và đô la ký hiệu $) được sử dụng trong biểu thức chính quy để đối sánh văn bản ở đầu và cuối của một chuỗi tương ứng

Ví dụ: regex ^𝑡ô𝑖 𝑠ố𝑛𝑔 𝑐ℎ𝑢𝑛𝑔 𝑣ớ𝑖 𝑔𝑖𝑎 đì𝑛ℎ$ sẽ hoàn toàn khớp với văn bản “tôi sống chung với gia đình” nhưng không sẽ khớp với “Hiện nay, tôi sống chung với gia đình” hoặc “tôi sống chung với gia đình ở Hà Nội” Dấu ^ đảm bảo rằng văn bản phù hợp bắt đầu bằng “tôi” và $ đảm bảo văn bản phù hợp kết thúc bằng “đình”

- Các ký tự đại diện trong Biểu thức chính quy: các ký tự đại diện được biểu thị bằng dấu chấm và nó có thể khớp với bất kỳ ký tự đơn nào (chữ cái, số, ký hiệu hoặc khoảng trắng) trong một đoạn văn bản Ví dụ: biểu thức chính quy … sẽ khớp với

“thích”, “ghét” hoặc bất kỳ văn bản 4 ký tự nào khác

- Dải biểu thức chính quy: Phạm vi biểu thức chính quy được sử dụng để chỉ định một dải ký tự có thể được đối sánh Các phạm vi biểu thức chính quy phổ biến bao

Trang 24

gồm:

+ [A-Z]: khớp với bất kỳ chữ cái in hoa;

+ [a-z]: khớp với bất kỳ chữ cái in thường;

+ [0-9]: khớp với bất kỳ các chữ số;

+ [A-Za-z]: khớp với bất kỳ chữ cái không phân biệt viết hoa hay viết thường

- Các lớp ký tự viết tắt trong biểu thức chính quy: Các lớp ký tự viết tắt đơn giản hóa việc viết các biểu thức chính quy Ví dụ: \𝑤 đại diện cho phạm vi regex [A-Za-z0-9_], \𝑑 đại diện cho [0-9], \𝑊 đại diện cho [^A-Za-z0-9_] khớp với bất kỳ ký tự nào không được bao gồm bởi \𝑤, \𝐷 đại diện cho [^0-9] khớp với bất kỳ ký tự nào không được bao gồm bởi \ d

- Dấu sao Kleene & Dấu cộng Kleene: trong Biểu thức chính quy Trong Biểu thức chính quy, dấu sao Kleene (∗) chỉ ra rằng ký tự đứng trước có thể xuất hiện 0 hoặc nhiều lần Ví dụ: ℎ𝑒𝑙 ∗ 𝑜 sẽ khớp với “heo”, “helo”, “helllo”, v.v Dấu cộng Kleene (+) chỉ ra rằng ký tự đứng trước có thể xuất hiện 1 hoặc nhiều lần Ví dụ: hel+o sẽ khớp với

“helo”, “hello” và “hellllo”, v.v nhưng không khớp với “heo”

2.1.1.3 Phân đoạn (Segmentation)

Phân đoạn về cơ bản là tách một cụm từ, câu, đoạn văn hoặc toàn bộ tài liệu văn bản thành các đơn vị nhỏ hơn, chẳng hạn như các từ hoặc thuật ngữ riêng lẻ Mỗi đơn

vị nhỏ hơn này được gọi là token

a Phân đoạn câu (Sentence Segmentation)

Phân đoạn câu là việc chia một văn bản thành các câu thành phần của nó Ví dụ với đoạn sau: “Tôi cần bán Nhà hàng - Cửa hàng - Ki ốt diện tích thực 110 m2 với giá

đề xuất từ 1.5 tỷ Nhà ở vị trí thuận lợi tọa lạc gần Thị Trấn Long Điền, Tỉnh Bà Rịa - Vũng Tàu.” sẽ được phân đoạn thành từng câu “Tôi cần bán Nhà hàng - Cửa hàng - Ki

ốt diện tích thực 110 m2 với giá đề xuất từ 1.5 tỷ.” và “Nhà ở vị trí thuận lợi tọa lạc gần Thị Trấn Long Điền, Tỉnh Bà Rịa - Vũng Tàu.” Ý tưởng ở đây trông rất đơn giản Trong tiếng Anh và một số ngôn ngữ khác, chúng ta có thể tách các câu ra bất cứ khi nào chúng

ta nhìn thấy dấu câu [17] vì các câu trong hầu hết các ngôn ngữ viết được phân tách bởi các dấu câu Tuy nhiên các quy tắc sử dụng cụ thể cho dấu câu không phải lúc nào cũng

Trang 25

được xác định một cách rõ ràng, ví dụ như trong tiếng Anh, ta có thể dùng ký tự dừng cho cả các chữ viết tắt Ngoài ra, trong các ngôn ngữ khác nhau, các câu và câu phụ thường được phân cách bằng các dấu câu khác nhau Thậm chí, một số ngôn ngữ như tiếng Thái, họ không sử dụng dấu chấm (hoặc bất kỳ dấu câu nào khác) để đánh dấu ranh giới câu Do đó, việc phân đoạn câu thành công cho một ngôn ngữ nhất định đòi hỏi sự hiểu biết về các cách sử dụng khác nhau của các ký tự dấu câu trong ngôn ngữ

đó Phạm vi của vấn đề này rất khác nhau tùy theo ngôn ngữ, cũng như số lượng dấu câu khác nhau cần được xem xét

b Phân tách từ (Word Tokenization)

Trước khi xử lý ngôn ngữ tự nhiên, chúng ta cần xác định các từ tạo thành một chuỗi ký tự Đó là lý do tại sao tách từ là bước cơ bản nhất để tiếp tục với NLP cho dữ liệu văn bản Điều này rất quan trọng vì ý nghĩa của văn bản có thể dễ dàng được giải thích bằng cách phân tách các từ có trong văn bản Ví dụ với chuỗi “Bán mảnh đất , giá thực_tế chỉ 1.75 tỷ diện_tích khoảng 150 m2”, sau khi phân tách ta thu được [“Bán”,

“mảnh”, “đất”, “,”, “giá”, “thực_tế”, “chỉ”, “1.75”, “tỷ”, “diện_tích”, “khoảng”, “150”,

“m2”] và từ đó có thể sử dụng vào nhiều mục đích như phục vụ để gán nhãn POS, NER, thực hiện stemming, lemmatization, v.v [18]

c Một số phương pháp để phân đoạn

- Có nhiều kỹ thuật khác nhau có thể được áp dụng Dưới đây là một số kỹ thuật phân tách được sử dụng trong NLP

+ Phân tách dựa trên khoảng trắng: Đây là kỹ thuật phân tách đơn giản nhất Đưa ra một câu hoặc đoạn văn, nó được phân tách thành các từ bằng cách tách đầu vào bất cứ khi nào gặp phải khoảng trắng Đây là kỹ thuật phân tách nhanh nhất nhưng sẽ hoạt động đối với các ngôn ngữ trong đó khoảng trắng chia nhỏ câu thành các từ có nghĩa, ví dụ như tiếng Anh

+ Phân tách dựa trên từ điển: Trong phương pháp này, các token được tìm thấy dựa trên các token đã có trong từ điển Nếu không tìm thấy token, thì các quy tắc đặc biệt được sử dụng để phân tách nó Nó là một kỹ thuật tiên tiến so với phân tách dựa trên khoảng trắng

Trang 26

+ Phân tách dựa vào biểu thức chính quy: Về cơ bản, biểu thức chính quy là một chuỗi ký tự đặc biệt giúp so khớp hoặc tìm các chuỗi hoặc bộ chuỗi khác bằng cách

sử dụng chuỗi đó làm mẫu

+ Phân tách theo từ con: Cách phân tách này rất hữu ích cho các ứng dụng cụ thể mà các từ con có ý nghĩa Trong kỹ thuật này, các từ được sử dụng thường xuyên nhất được cung cấp các id duy nhất và các từ ít thường xuyên hơn được tách thành các

từ con Điều này cho phép xác định các từ chưa biết trong tập dữ liệu trong quá trình huấn luyện Có các loại phân tách từ con như: Byte-Pair Encoding (BPE), WordPiece, SentencePiece, v.v [19]

- Để thực hiện các kĩ thuật trên, một số cách có thể áp dụng là:

+ Phương thức split() trong Python: là phương thức cơ bản nhất, nó trả về một danh sách các chuỗi sau khi phá vỡ chuỗi đã cho bởi dấu phân tách được chỉ định Theo mặc định, split () ngắt một chuỗi tại mỗi khoảng trắng Ta có thể thay đổi dấu phân cách thành dấu bất kỳ khác

+ Sử dụng biểu thức chính quy: Chúng ta có thể sử dụng thư viện re trong

Python để làm việc với biểu thức chính quy Thư viện này được cài đặt sẵn với gói cài đặt Python

+ NLTK (viết tắt của Natural Language ToolKit): là một thư viện được viết bằng Python, được đánh giá cao hơn khi làm việc với dữ liệu văn bản NLTK chứa một mô-đun được gọi là tokenize() phân loại thêm thành hai danh mục con:

• Phân tách từ: sử dụng phương thức word_tokenize() để chia một câu thành các từ (word hoặc token);

• Phân tách câu: sử dụng phương thức sent_tokenize() để chia văn bản thành câu

+ Thư viện Trankit: Mô-đun phân tách của Trankit có thể hoạt động với cả đầu vào cấp độ câu và cấp độ văn bản

• Đối với đầu vào là văn bản, trước tiên trankit thực hiện đồng thời phân tách

từ và phân đoạn câu để có được danh sách các câu được phân tách sử dụng hàm tokenize();

• Trong một số trường hợp, khi đã đã có các câu và chỉ muốn thực hiện phân

Trang 27

tách cho mỗi câu Điều này có thể đạt được bằng cách đặt thẻ là 𝑠𝑒𝑡 = 𝑇𝑟𝑢𝑒 khi chúng

ta gọi hàm tokenize()

2.1.2 Xác định các từ dừng (stop word)

Loại bỏ từ dừng là một trong những bước tiền xử lý được sử dụng phổ biến nhất trong NLP Ý tưởng chỉ đơn giản là loại bỏ các từ xuất hiện thường xuyên trên tất cả các văn bản trong kho ngữ liệu Đây thường là những từ phổ biến trong bất kỳ ngôn ngữ nào (như mạo từ, giới từ, đại từ, liên từ, v.v.), những từ này không mang nhiều ý nghĩa trong một số nhiệm vụ NLP như truy xuất và phân loại thông tin Ví dụ về một vài từ dừng trong tiếng Anh là “so”, “a”, “an”, “the”, v.v

Các từ dừng có sẵn rất nhiều trong bất kỳ ngôn ngữ nào của con người Bằng cách xóa những từ này, ta xóa thông tin cấp thấp khỏi văn bản để tập trung hơn vào thông tin quan trọng Việc loại bỏ các từ dừng góp phần làm giảm kích thước tập dữ liệu

từ đó giảm thời gian huấn luyện do số lượng token được giảm xuống [20]

Một số thư viện được sử dụng để loại bỏ từ dừng như: NLTK, spaCy, gensim, scikit-learn, v.v Ngoài ra, ta cũng có thể thêm vào các từ dừng tùy chỉnh vào vào các thư viện này để phục vụ cho mục đích riêng Tất nhiên, nếu không muốn sử dụng bất kỳ thư viện nào trong số này, ta cũng có thể tạo danh sách các từ dừng tùy chỉnh của riêng mình và sử dụng nó Điều này thường được thực hiện khi xử lý các bài toán trong lĩnh vực đặc thù và ta biết những từ nào nên loại bỏ Ví dụ: trong tiếng Việt khi xây dựng hệ thống trích xuất thông tin trong lĩnh vực bất động sản, thường thì ta có thể coi từ “cho”

là một từ dừng trong văn bản tiếng Việt nhưng chẳng hạn với câu “Tôi muốn cho thuê nhà vị trí thuận lợi tọa lạc ngay tại Quận Thanh Xuân, Hà Nội”, nếu loại bỏ đi “cho” trong cụm từ “cho thuê” sẽ có thể khiến nghĩa của câu thay đổi hoàn toàn Ở câu ví dụ trên, các từ dừng có thể được xác định là [“Tôi”, “muốn”]

2.1.3 Nhận diện thực thể định danh (Name Entity Recognition)

Thực thể định danh (Named Entity - NE) là các cụm danh từ xác định dùng để chỉ các loại cá nhân cụ thể, chẳng hạn như tổ chức, người, ngày tháng, v.v Bảng 2.1 sau đây liệt kê một số loại NE được sử dụng phổ biến trong lĩnh vực bất động sản

Trang 28

Bảng 2.1: Các loại thực thể định danh thường được sử dụng trong bất động sản

LOCATION Vị trí/Địa chỉ Đường Nguyễn Trãi, Phường Láng

Hạ PROPERTY STYLE Loại hình BĐS Nhà riêng, văn phòng, đất

DEMAND Nhu cầu đối với BĐS Cần bán, cho thuê, sang nhượng

Mục tiêu của hệ thống NER là phát hiện và gán nhãn các token với thực thể định danh đại diện cho chúng Điều này có thể được chia thành hai nhiệm vụ phụ: xác định ranh giới của thực thể định danh và xác định loại thực thể mà nó đại diện cho Ví dụ với câu sau khi được phân tách từ: “Cần bán chung_cư_mini ở Đường Nguyễn_Kim, Phường Hòa_Xuân” Khi đi qua mô hình NER, ta sẽ nhận được kết quả là các từ cùng với nhãn tương ứng:

Hình 2.2: Ví dụ về kết quả sau khi nhận diện thực thể định danh

2.1.4 Biểu diễn từ dưới dạng vectơ

Mã hóa one-hot (one-hot encoding) và nhúng từ (Word Embedding) là hai trong

số các khái niệm phổ biến nhất để biểu diễn vectơ trong xử lý ngôn ngữ tự nhiên Ở hot encoding, ta có thể hình dung về một không gian đa chiều, trong đó mỗi từ chiếm một trong các chiều không gian và không liên quan gì đến các phần còn lại (không có hình chiếu dọc theo các chiều khác) Với word embedding, các từ có ngữ cảnh tương tự chiếm vị trí không gian gần nhau

Trang 29

one-Hình 2.3: One-hot Encoding với Word Embedding 2.1.4.1 Mã hóa one-hot (One-hot encoding)

One-hot encoding là biểu diễn từ dưới dạng vectơ nhị phân có kích thước bằng kích thước bộ từ điển Các phần tử trong vectơ của một từ sẽ có giá trị bằng 0 trừ phần

tử ở vị trí của từ trong bộ từ điển

Ví dụ cho bộ từ điển gồm các nhãn trong bài toán NER trong bất động sản là: [“AREA”, “PRICE”, “LOCATION”, “FRONTAGE”, “DEMAND”], one-hot vectơ cho

từ “AREA” ở vị trí thứ nhất (index=0) sẽ là [1,0,0,0,0] Vectơ này có độ dài bằng kích thước bộ từ điển (bằng 5) Hình 2.4 là hình minh họa cho ví dụ trên:

Hình 2.4: Minh họa về one-hot encoding 2.1.4.2 Nhúng từ (Word Embedding)

Word Embedding là một cách tiếp cận để biểu diễn các từ và văn bản dưới dạng vectơ vì các mô hình ngôn ngữ không thể hiểu được đầu vào ở dạng chữ, chúng chỉ học được với đầu vào dạng số Đây là một phương pháp trích xuất các đặc trưng ra khỏi văn bản để có thể nhập các đặc trưng đó vào một mô hình học máy để làm việc với dữ liệu văn bản Chúng cố gắng bảo tồn thông tin cú pháp và ngữ nghĩa Các phương thức như

đất

nhà thuê

Trang 30

Túi đựng từ (Bag of Words - BOW), CountVectorizer và TF-IDF dựa vào số lượng từ trong một câu nhưng không lưu bất kỳ thông tin cú pháp hoặc ngữ nghĩa nào Chúng ta

có thể nhận được một ma trận thưa nếu hầu hết các phần tử có giá trị bằng 0[21] Word Embedding hay vectơ từ là đầu vào vectơ số đại diện cho một từ trong có số chiều thấp hơn kích thước bộ từ điển Nó cho phép các từ có nghĩa tương tự có cách biểu diễn tương

tự, chúng cũng có thể mang ý nghĩa gần đúng

Word Embedding được sử dụng làm đầu vào cho các mô hình học máy: Lấy các

từ à Cung cấp biểu diễn từ dưới dạng vectơ à Sử dụng trong huấn luyện, tính toán hoặc dự đoán Ngoài ra, nó còn được sử dụng để trình bày hoặc trực quan hóa kho ngữ liệu mà đã được sử dụng để huấn luyện chúng

Word Embedding chủ yếu được chia thành 2 loại là: Nhúng dựa trên tần suất (Frequency-based embedding) và Nhúng dựa trên dự đoán (Prediction-based embedding)

a Nhúng dựa trên tần suất

Nhúng dựa trên tần suất được tính toán để tạo ra các vectơ từ dựa vào tần số xuất hiện của từ, một số phương pháp có thể kể đến là:

(2) TF-IDF Vector

TF-IDF là viết tắt của “Term Frequency - Inverse Document Frequency” Nó là một kỹ thuật thống kê để định lượng tầm quan trọng của một từ trong văn bản dựa trên tần suất xuất hiện của từ đó trong văn bản và một bộ ngữ liệu đã cho Ở phương pháp

Trang 31

này, nếu một từ xuất hiện thường xuyên trong văn bản, thì nó có thể sẽ quan trọng và phù hợp hơn những từ khác xuất hiện ít lần hơn và chúng ta nên cho từ đó điểm cao (TF) Nhưng nếu một từ xuất hiện nhiều lần trong một văn bản nhưng cũng xuất hiện nhiều trong quá nhiều văn bản khác, thì đó lại có thể không phải là một từ phù hợp và

có nghĩa vì những từ dừng như “the”, “of” hoặc “a” có xu hướng xảy ra rất thường xuyên trong nhiều văn bản, nhưng không cung cấp nhiều thông tin, do đó giá trị IDF của nó sẽ nhỏ Phương pháp TF-IDF được sử dụng rộng rãi trong trích xuất thông tin và khai thác văn bản Điểm TF-IDF của từ 𝑡 trong văn bản 𝑑 đối với bộ ngữ liệu 𝐷 là:

𝑡𝑓𝑖𝑑𝑓(𝑡, 𝑑, 𝐷) = 𝑡𝑓(𝑡, 𝑑) × 𝑖𝑑𝑓(𝑡, 𝐷)

- Điểm Term Frequency (TF): Đầu tiên chúng ta phải tính toán 𝑡𝑓(𝑡, 𝑑), đơn giản là số lần mỗi từ 𝑡 xuất hiện trong văn bản 𝑑 Trong khi tính toán 𝑡𝑓(𝑡, 𝑑), chúng ta thường loại bỏ các từ dừng như “a”, “as”, “the”, những từ này thường không cung cấp nhiều thông tin Do đó, chúng ta có:

𝑡𝑓(𝑡, 𝑑) = 𝑓!,#

∑ 𝑓! ! !! ,#

Trong đó, 𝑓!,# là số lần xuất hiện của 𝑡 trong 𝑑

- Điểm Inverse Document Frequency (IDF): Nó đo lường mức độ hiếm của t là trên kho ngữ liệu D, nghĩa là nó cung cấp bao nhiêu thông tin về một văn bản mà nó xuất hiện Nếu tổng số văn bản trong kho ngữ liệu là 𝑁 = |𝐷|, và 𝑛!là số lượng văn bản chứa 𝑡 [22]

𝑖𝑑𝑓(𝑡, 𝐷) = log(𝑁

𝑛!)

b Nhúng dựa trên dự đoán

Nhúng dựa trên dự đoán xây dựng các vectơ từ dựa vào các mô hình dự đoán Một số mô hình có thể kể đến là Word2vec, Byte Pair Embedding

(1) Word2vec

Trong Word2Vec mỗi từ được biến đổi thành một vectơ, bắt đầu với một vectơ ngẫu nhiên hoặc một one-hot vectơ Nó có thể được lấy bằng hai phương pháp: Skip-

Trang 32

gram và CBOW Kiến trúc hai mô hình đều gồm ba lớp: lớp đầu vào (input layer), lớp

ẩn (hidden layer), lớp đầu ra (output layer)

- Túi từ liên tục (Continous Bag of Words - CBOW):

+ Phương pháp này lấy ngữ cảnh của từng từ làm đầu vào và cố gắng dự đoán

từ tương ứng với ngữ cảnh Ví dụ với câu: “Cho thuê nhà gần Phường Trung Liệt, Hà Nội.”, để đầu vào cho mạng nơron là từ “nhà” Ở đây ta đang cố gắng dự đoán từ mục tiêu “thuê” bằng cách sử dụng một từ ngữ cảnh đầu vào “nhà” Cụ thể hơn, ta sử dụng dạng mã hóa one-hot của từ đầu vào và đo kết quả đầu ra dự đoán so với dạng mã hóa one-hot của từ đầu ra “thuê” Trong quá trình dự đoán từ đích, nó học cách biểu diễn vectơ của từ đích Đầu vào (hoặc từ ngữ cảnh) là các vectơ one-hot có kích thước 1xV Lớp ẩn chứa N nơ-ron và đầu ra lại là vectơ độ dài V đã được đi qua hàm softmax Hình 2.5 là kiến trúc của mô hình CBOW:

Hình 2.5: Kiến trúc mô hình CBOW

Trang 33

+ Mô hình trên sử dụng C từ ngữ cảnh Ta nhân các vectơ one-hot kích thước 1xV với ma trận trọng số 𝑊$×& để tính toán đầu vào lớp ẩn, và ta lấy giá trị trung bình tất cả C từ ngữ cảnh đầu vào này Sau đó tiếp tục nhân đầu ra của lớp ẩn (vectơ kích thước 1xN) với bộ trọng số 𝑊'

&×$ và cho kết quả đó qua hàm softmax, ta sẽ thu được vectơ đầu ra với kích thước 1xV

“Cho”, “thuê”, “gần”, “Phường” sẽ được xử lý như nhau trong khi huấn luyện Hình dưới đây mô tả kiến trúc của mô hình Skip-gram:

Hình 2.6: Kiến trúc mô hình Skip-gram

+ Trong đó cũng giống với CBOW:

• 𝑊$×& là ma trận trọng số ánh xạ đầu vào vào lớp ẩn (ma trận kích thước

Trang 34

VxN)

• 𝑊'

&×$ là ma trận trọng số ánh xạ đầu ra của lớp ẩn đến lớp đầu ra cuối cùng (ma trận kích thước NxV)

+ Đầu vào của mô hình là một vectơ one-hot kích thước 1xV Ta nhân nó với

ma trận trọng số 𝑊$×& để tính toán đầu vào lớp ẩn Tùy vào kích thước cửa sổ, nó sẽ xác định có bao nhiêu vectơ đầu ra Đầu ra của lớp ẩn (vectơ kích thước 1xN) sẽ được nhân với bộ trọng số 𝑊'

&×$ tương ứng với mỗi vectơ đầu ra (các bộ trọng số 𝑊'

&×$

này là không giống nhau) và cho đi qua hàm softmax, ta sẽ thu được các vectơ đầu ra kích thước 1xV

(2) Byte Pair Embedding

Với các mô hình dựa trên ký tự, chúng ta có nguy cơ mất các đặc điểm ngữ nghĩa của từ Và với tách văn bản dựa trên từ, chúng ta cần một lượng từ vựng rất lớn để bao gồm tất cả các biến thể có thể có của mỗi từ Để giải quyết vấn đề này, việc chia nhỏ các từ dựa trên một tập hợp các tiền tố và hậu tố là một giải pháp mà người dùng có thể nghĩ tới Mô hình chỉ phải học tương đối ít từ con và sau đó ghép chúng lại với nhau để tạo ra các từ khác Điều này giải quyết các vấn đề về yêu cầu bộ nhớ và nỗ lực cần thiết

là cách thực hiện Byte Pair Encoding:

- Bước 1 Biểu diễn từng từ trong kho ngữ liệu dưới dạng sự kết hợp của các ký

Trang 35

Hình 2.7: Ví dụ về thay thế BPE để tách từ con

Sau khi áp dụng các phương pháp nhúng thần kinh trên, ta nhận được các vectơ được huấn luyện của mỗi từ sau nhiều lần lặp lại thông qua kho ngữ liệu Các vectơ này được huấn luyện để bảo tồn thông tin cú pháp hoặc ngữ nghĩa với kích thước nhỏ hơn kích thước bộ từ điển Các vectơ có ý nghĩa hoặc thông tin ngữ nghĩa tương tự được đặt gần nhau trong không gian

2.2 Một số mạng thần kinh nhân tạo xây dựng NER

Hình 2.8: Kiến trúc cơ bản của mạng nơ-ron nhân tạo

Trang 36

- Mạng nơ-ron nhân tạo (Artificial Neural Network - ANN) gồm 3 thành phần chính: lớp đầu vào (input layer), lớp ẩn (hidden layer) và lớp đầu ra (output layer) Input layer và output layer chỉ gồm một lớp, hidden layer có thể có một hay nhiều lớp tùy vào bài toán cụ thể Trong ANN, trừ input layer thì tất cả các node thuộc các lớp khác đều kết nối đầy đủ (fully connected) với các node thuộc lớp trước nó Mỗi node thuộc hidden layer nhận vào ma trận đầu vào từ lớp trước và kết hợp với trọng số (weight) để ra được kết quả

- Trong mạng nơ-ron nhân tạo, đầu vào được kết hợp với bộ trọng số và hệ số tự

do (bias), được đi qua hàm kích hoạt (activation function) và cho kết quả đầu ra Hàm kích hoạt đóng vai trò là một hàm phi tuyến để xác định đầu ra của mỗi nơ-ron Nó ánh

xạ các giá trị kết quả trong khoảng [0;1] hoặc [-1;1], v.v (tùy thuộc vào chức năng) Dưới đây là một số hàm kích hoạt:

Hình 2.9: Một số hàm kích hoạt

- Mạng nơ-ron được huấn luyện bằng cách tối ưu hóa (tối thiểu hóa hoặc tối đa hóa) hàm mục tiêu Khi chúng ta giảm thiểu nó, ta có thể gọi nó là hàm mất mát (hàm loss) Khi tính toán sai số của mô hình trong quá trình tối ưu hóa, phải chọn một hàm mất mát cụ thể như: Cross-Entropy, Maximum Likelihood, Sai số bình phương trung bình (Mean Square Error), Sai số tuyệt đối trung bình (Mean Absolute Error), v.v

+ Đối với mô hình hồi quy tuyến tính, hàm loss của tất cả các bước thời gian (timestep) được xác định dựa trên tổn thất tại timestep 𝑡:

ℒ(𝑦j, 𝑦) = k ℒ(𝑦j(!), 𝑦(!))

*"

!+,

Trang 37

+ Đối với mô hình không phải hồi quy tuyến tính, công thức hàm loss sẽ là:

ℒ(𝑦j, 𝑦) = k ℒ(𝑦j(-), 𝑦(-))

*"

-+,

Trong đó, 𝑖 là vị trí của token thứ 𝑖 trong câu

- Lan truyền ngược (Backpropagation through time) là quy trình cập nhật trọng

số sau khi thực hiện mỗi bước huấn luyện của mô hình

+ Đối với mô hình hồi quy, lan truyền ngược thực hiện tại từng timestep Tại timestep 𝑡, nó là đạo hàm của hàm loss ℒ đối với ma trận trọng số W được biểu thị như sau:

+ Đối với mô hình không phải hồi quy tuyến tính, nó được thực hiện qua từng lớp, lan truyền ngược đối với ma trận trọng số W sẽ được tính là:

2.2.1 Mạng nơ-ron hồi quy (Recurrent Nerual Network - RNN)

Hình 2.10: Kiến trúc tổng quát của mạng thần kinh nhân tạo

Trang 38

Như đã nói ở trên, mạng nơ-ron gồm 3 loại lớp chính là lớp đầu vào, lớp ẩn và lớp đầu ra, đầu vào và đầu ra của mạng này độc lập với nhau Thông tin di chuyển thẳng qua mạng và không bao giờ đi qua một node hai lần Với mạng nơ-ron truyền thống, nó không có bộ nhớ về đầu vào mà chúng nhận được và rất kém trong việc dự đoán điều gì

sẽ xảy ra tiếp theo bởi vì mạng này chỉ xem xét đầu vào hiện tại, nó không có khái niệm

về thứ tự theo thời gian Do đó, mô hình này không phù hợp cho các bài toán dạng chuỗi như mô tả, hoàn thành câu, vì dự đoán cho từ tiếp theo bị ảnh hưởng bởi vị trí của nó trong câu và những từ đằng trước nó Vì vậy, RNN ra đời với mong muốn lưu lại thông tin từ những bước xử lý, tính toán trước đó để từ đó có thể đưa ra dự đoán chính xác nhất cho bước hiện tại

RNN là một mạng nơ-ron đặc biệt được điều chỉnh để làm việc với dữ liệu có tính thời gian hoặc có trình tự Trong RNN, dữ liệu được luân chuyển qua một vòng lặp RNN có khái niệm “bộ nhớ” để hỗ trợ lưu trữ trạng thái và những gì nó đã học được từ các đầu vào mà nó nhận được trước đó để tạo ra đầu ra tiếp theo của chuỗi [26]

Hình 2.11: Kiến trúc mạng RNN

Dưới đây là cụ thể các bước tính toán xử lý trong một bước:

Hình 2.12: Các bước xử lý cụ thể trong một nơ-ron mô hình RNN

Trang 39

Tại bước thời gian t, trạng thái ẩn 𝑎(!) (hay chính là bộ nhớ của mạng, tổng hợp thông tin của trạng thái ẩn 𝑎(!2,) cộng với input 𝑥!) và output 𝑦(!) được tính bằng công thức:

𝑎(!) = 𝑔,(𝑊33𝑎!2,+ 𝑊34𝑥!+ 𝑏3)

𝑦(!) = 𝑔5p𝑊63𝑎!+ 𝑏6q Trong đó:

- 𝑥! là đầu vào tại timestep t

- 𝑦! là đầu ra của mạng sau một bước

- 𝑊34, 𝑊33, 𝑊63, 𝑏3, 𝑏6 là các hệ số được chia sẻ tạm thời

- 𝑊34, 𝑊33, 𝑊63 lần lượt là các trọng số gắn với input ở lớp hồi quy (recurrent layer), trạng thái ẩn ở lớp hồi quy và output

- 𝑏3, 𝑏6 lần lượt là các hệ số tự do gắn với lớp hồi quy và lớp truyền thẳng (feedforward layer)

Hạn chế của RNN: Đạo hàm tại mỗi đầu ra không chỉ phụ thuộc vào các tính toán tại bước đó mà còn phụ thuộc cả vào các bước trước đó nữa, vì các tham số được dùng chung cho các bước trong mạng Ví dụ, muốn tính đạo hàm tại thời điểm t=5, ta phải lan truyền ngược cả 4 bước trước đó rồi tính tổng đạo hàm của chúng với nhau Việc này được gọi là lan truyền ngược (Backpropagation Through Time - BPTT) Khi các bước càng ở xa sẽ càng giảm dần tác động hoặc tác động càng lớn với bước hiện tại, dẫn đến vấn đề hao hụt đạo hàm (vanishing gradient) hoặc bùng nổ của đạo hàm (exploding gradient) và do đó việc học sẽ trở nên khó khăn hơn, thời gian huấn luyện dài, hiệu suất

Trang 40

kém và độ chính xác cũng kém [27]

2.2.2 Mạng Bộ nhớ Ngắn hạn Dài hạn (LSTM)

- Mạng LSTM là một loại RNN đặc biệt, có khả năng học các phụ thuộc dài hạn LSTM được thiết kế rõ ràng để ghi nhớ thông tin trong thời gian dài, tránh vấn đề phụ thuộc lâu dài Về cơ bản nó mở rộng bộ nhớ nên có kiến trúc tương đồng với mạng RNN truyền thống chỉ khác nhau ở bước tính toán trạng thái ẩn Một đơn vị hồi quy LSTM

cố gắng “nhớ” tất cả các kiến thức trong quá khứ mà mạng được nhìn thấy cho đến hiện tại và để “quên” dữ liệu không liên quan Điều này được thực hiện bằng cách đưa vào các lớp hàm kích hoạt khác nhau được gọi là “cổng” cho các mục đích khác nhau Mỗi đơn vị hồi quy LSTM cũng duy trì một vectơ được gọi là cell state chứa thông tin đã được chọn để giữ lại bởi đơn vị hồi quy LSTM trước đó

- Chìa khóa của LSTM là cell state LSTM có khả năng loại bỏ hoặc thêm thông tin vào cell state, được điều chỉnh cẩn thận bởi các cấu trúc được gọi là cổng LSTM gồm ba cổng: cổng quên (forget gate - f), cổng vào (input gate - i) và cổng ra (output gate - o)

- Cổng quên: Nó xác định mức độ quên dữ liệu trước đó Thông tin không còn hữu ích ở cell state sẽ bị loại bỏ bằng cổng quên;

- Cổng vào: Nó xác định mức độ thông tin được ghi vào cell state Việc bổ sung thông tin hữu ích cho cell state được thực hiện bởi cổng vào;

- Cổng ra: Nó xác định đầu ra (Trạng thái ẩn tiếp theo) sẽ tạo ra từ cell state hiện tại [28]

Các bước tính toán trong một đơn vị hồi quy LSTM

- Bước đầu tiên trong LSTM là quyết định thông tin nào sẽ loại bỏ khỏi cell state Quyết định này được thực hiện bởi một lớp sigmoid được gọi là lớp cổng quên Nó dựa vào ℎ!2, và 𝑥! và xuất ra một số trong đoạn [0,1], cho mỗi số ở cell state 𝐶!2, Giá trị 1 đại diện cho “giữ lại” trong khi 0 đại diện cho “loại bỏ”

Ngày đăng: 05/12/2023, 19:20

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] L. Rau, "Extracting company names from text," in Proceedings The Seventh IEEE Conference on Artificial Intelligence Application, IEEE, 1991, pp. 29-32 Sách, tạp chí
Tiêu đề: Extracting company names from text
Tác giả: L. Rau
Nhà XB: IEEE
Năm: 1991
[3] R. Florian, A. Ittycheriah, H. Jing and T. Zhang, "Named entity recog- nition through classifier combination," in Proceedings of the Seventh Conference on Natural Language Learning, 2019, p. 168–171 Sách, tạp chí
Tiêu đề: Named entity recognition through classifier combination
Tác giả: R. Florian, A. Ittycheriah, H. Jing, T. Zhang
Nhà XB: Proceedings of the Seventh Conference on Natural Language Learning
Năm: 2019
[4] L. H. Phuong, R. Azim, N. T. M. Huyen and R. Mathias, "An empirical study of maximum entropy approach for part-of-speech tagging of Vietnamese texts," in Actes de la 17e conférence sur le Traitement Automatique des Langues Naturelles, 2010 Sách, tạp chí
Tiêu đề: An empirical study of maximum entropy approach for part-of-speech tagging of Vietnamese texts
[5] D.Linand and X.Wu, "Phrase clustering for discriminative learning," in ACL’09 Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP, 2009 Sách, tạp chí
Tiêu đề: Phrase clustering for discriminative learning
Tác giả: D.Linand, X.Wu
Nhà XB: ACL’09 Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP
Năm: 2009
[6] G.Luo, X.Huang, C-Y.Lin and Z.Nie, "Joint Named Entity Recognition and Disambiguation," in Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, 2015 Sách, tạp chí
Tiêu đề: Joint Named Entity Recognition and Disambiguation
Tác giả: G. Luo, X. Huang, C-Y. Lin, Z. Nie
Nhà XB: Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing
Năm: 2015
[7] W. X. a. K. Y. Z. Huang, "Bidirectional LSTM-CRF models for sequence tagging," 2015 Sách, tạp chí
Tiêu đề: Bidirectional LSTM-CRF models for sequence tagging
Tác giả: W. X., K. Y. Z. Huang
Năm: 2015
[8] X. M and E. Hovy, "End-to-end sequence labeling via bi-directional LSTM- CNNS-CRF," 2016 Sách, tạp chí
Tiêu đề: End-to-end sequence labeling via bi-directional LSTM- CNNS-CRF
Tác giả: X. M, E. Hovy
Năm: 2016
[9] J. P. C. Chiu and E. Nichols, "Named entity recognition with bidirectional LSTM-CNNs," 2015 Sách, tạp chí
Tiêu đề: Named entity recognition with bidirectional LSTM-CNNs
Tác giả: J. P. C. Chiu, E. Nichols
Năm: 2015
[10] E. Taher and S. A. Hoseini, "Beheshti-NER: Persian named entity recognition Using BERT," 2020 Sách, tạp chí
Tiêu đề: Beheshti-NER: Persian named entity recognition Using BERT
Tác giả: E. Taher, S. A. Hoseini
Năm: 2020
[11] P. T. Hoang and L. H. Phuong, "The Importance of Automatic Syntactic Features in Vietnamese Named Entity Recognition," 2017 Sách, tạp chí
Tiêu đề: The Importance of Automatic Syntactic Features in Vietnamese Named Entity Recognition
Tác giả: P. T. Hoang, L. H. Phuong
Năm: 2017
[12] N. A. Duong, N. K. Hieu and N. V. Vi, "Neural sequence labeling for Vietnamese POS Tagging and NER," 2018 Sách, tạp chí
Tiêu đề: Neural sequence labeling for Vietnamese POS Tagging and NER
Tác giả: N. A. Duong, N. K. Hieu, N. V. Vi
Năm: 2018
[13] N. K. Anh, D. Ngan and N. C. Tu, "Attentive Neural Network for Named Entity Recognition in Vietnamese," 2019 Sách, tạp chí
Tiêu đề: Attentive Neural Network for Named Entity Recognition in Vietnamese
Tác giả: N. K. Anh, D. Ngan, N. C. Tu
Năm: 2019
[14] T. H. Thinh, D. H. Mai and N. Q. Dat, "COVID-19 Named Entity Recognition for Vietnamese," Nguyen Quoc Dat, 2021 Sách, tạp chí
Tiêu đề: COVID-19 Named Entity Recognition for Vietnamese
Tác giả: T. H. Thinh, D. H. Mai, N. Q. Dat
Nhà XB: Nguyen Quoc Dat
Năm: 2021
[15] A. Singh, "Entity Extraction on Real Estate Twitter Data," in ACM IKDD Conference 2017, 2017 Sách, tạp chí
Tiêu đề: Entity Extraction on Real Estate Twitter Data
Tác giả: A. Singh
Nhà XB: ACM IKDD Conference
Năm: 2017
[17] V. Yordanov, "Introduction to Natural Language Processing for Text," 11 2018. [Online]. Available: https://towardsdatascience.com/introduction-to-natural-language-processing-for-text-df845750fb63 Sách, tạp chí
Tiêu đề: Introduction to Natural Language Processing for Text
Tác giả: V. Yordanov
Năm: 2018
[18] S. Singh, "How to Get Started with NLP – 6 Unique Methods to Perform Tokenization," July 2019. [Online]. Available:https://www.analyticsvidhya.com/blog/2019/07/how-get-started-nlp-6-unique-ways-perform-tokenization/ Sách, tạp chí
Tiêu đề: How to Get Started with NLP – 6 Unique Methods to Perform Tokenization
Tác giả: S. Singh
Năm: 2019
[19] S. Chakravarthy, "Tokenization for Natural Language Processing," June 2020. [Online]. Available: https://towardsdatascience.com/tokenization-for-natural- Sách, tạp chí
Tiêu đề: Tokenization for Natural Language Processing
[20] C. Khanna, "Text pre-processing: Stop words removal using different libraries," 2 2021. [Online]. Available: https://towardsdatascience.com/text-pre-processing-stop-words-removal-using-different-libraries-f20bac19929a Sách, tạp chí
Tiêu đề: Text pre-processing: Stop words removal using different libraries
Tác giả: C. Khanna
Năm: 2021
[21] S. Kotaiah, "Word Embeddings in NLP," 10 2020. [Online]. Available: https://www.geeksforgeeks.org/word-embeddings-in-nlp/ Sách, tạp chí
Tiêu đề: Word Embeddings in NLP
Tác giả: S. Kotaiah
Năm: 2020
[22] M. Allahyari, "Text Search using TF-IDF and Elasticsearch," 6 2020. [Online]. Available: https://sci2lab.github.io/ml_tutorial/tfidf/#TF-IDF-Example Sách, tạp chí
Tiêu đề: Text Search using TF-IDF and Elasticsearch
Tác giả: M. Allahyari
Năm: 2020

HÌNH ẢNH LIÊN QUAN

1.1.2. Sơ đồ cơ cấu tổ chức doanh nghiệp - Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản
1.1.2. Sơ đồ cơ cấu tổ chức doanh nghiệp (Trang 13)
Hình 1.2: Hệ sinh thái sản phẩm công nghệ của Meey Land - Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản
Hình 1.2 Hệ sinh thái sản phẩm công nghệ của Meey Land (Trang 14)
Hình 2.5: Kiến trúc mô hình CBOW - Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản
Hình 2.5 Kiến trúc mô hình CBOW (Trang 32)
Hình 2.6: Kiến trúc mô hình Skip-gram - Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản
Hình 2.6 Kiến trúc mô hình Skip-gram (Trang 33)
Hình 2.7: Ví dụ về thay thế BPE để tách từ con - Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản
Hình 2.7 Ví dụ về thay thế BPE để tách từ con (Trang 35)
Hình 2.9: Một số hàm kích hoạt - Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản
Hình 2.9 Một số hàm kích hoạt (Trang 36)
Hình 2.12: Các bước xử lý cụ thể trong một nơ-ron mô hình RNN - Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản
Hình 2.12 Các bước xử lý cụ thể trong một nơ-ron mô hình RNN (Trang 38)
Hình 2.19: Kiến trúc mô hình Transformer - Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản
Hình 2.19 Kiến trúc mô hình Transformer (Trang 46)
Hình 2.20: Cơ chế self-attention - Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản
Hình 2.20 Cơ chế self-attention (Trang 47)
Hình 2.24: Kiến trúc Encoder - Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản
Hình 2.24 Kiến trúc Encoder (Trang 50)
Hình 2.27: Masked Triangular Matrix - Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản
Hình 2.27 Masked Triangular Matrix (Trang 53)
Hình 2.29: Đầu vào của mô hình BERT - Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản
Hình 2.29 Đầu vào của mô hình BERT (Trang 55)
Hình 3.5: Mô hình hóa quá trình huấn luyện với PhoBERT - Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản
Hình 3.5 Mô hình hóa quá trình huấn luyện với PhoBERT (Trang 69)
Hình 3.6: Đồ thị so sánh độ chính xác của các mô hình theo số epoch - Ứng dụng học sâu cho bài toán nhận diện thực thể định danh trong lĩnh vực bất động sản
Hình 3.6 Đồ thị so sánh độ chính xác của các mô hình theo số epoch (Trang 70)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w