Các bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbotMinh Pham
Trình bày về những bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbot theo mô hình truy xuất thông tin. Ngoài ra mô hình sinh hội thoại sử dụng mạng Neural cũng được đề cập (neural chatbot)
http://tailieuit.com/4r/threads/b%C3%A0i-gi%E1%BA%A3ng-ng%C3%A2n-h%C3%A0ng-%C4%91%E1%BB%81-thi-otomat.176/
Lời nói đầu
Ngôn ngữ là phương tiện để giao tiếp, sự giao tiếp có thể hiểu là giao tiếp giữa con
người với nhau, giao tiếp giữa người với máy, hay giao tiếp giữa máy với máy. Ngôn ngữ để
con người có thể giao tiếp với nhau được gọi là ngôn ngữ tự nhiên, chẳng hạn như tiếng Anh,
tiếng Nga, tiếng Việt… là các ngôn ngữ tự nhiên. Các quy tắc cú pháp của ngôn ngữ tự nhiên
nói chung rất phức tạp nhưng các yêu cầu nghiêm ngặt về ngữ nghĩa thì lại thiếu chặt chẽ,
chẳng hạn cùng một từ hay cùng một câu ta có thể hiểu chúng theo những nghĩa khác nhau
tùy theo từng ngữ cảnh cụ thể. Con người muốn giao tiếp với máy tính tất nhiên cũng thông
qua ngôn ngữ. Để có sự giao tiếp giữa người với máy hay giữa máy với nhau, cần phải có một
ngôn ngữ với các quy tắc cú pháp chặt chẽ hơn so với các ngôn ngữ tự nhiên, nói cách khác,
với một từ hay một câu thì ngữ nghĩa của chúng phải là duy nhất mà không phụ thuộc vào
ngữ cảnh. Những ngôn ngữ như thế được gọi là ngôn ngữ hình thức. Con người muốn máy
tính thực hiện công việc, phải viết các yêu cầu đưa cho máy bằng ngôn ngữ máy hiểu được.
Việc viết các yêu cầu như thế gọi là lập trình. Ngôn ngữ dùng để lập trình được gọi là ngôn
ngữ lập trình. Các ngôn ngữ lập trình đều là các ngôn ngữ hình thức
Các bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbotMinh Pham
Trình bày về những bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbot theo mô hình truy xuất thông tin. Ngoài ra mô hình sinh hội thoại sử dụng mạng Neural cũng được đề cập (neural chatbot)
http://tailieuit.com/4r/threads/b%C3%A0i-gi%E1%BA%A3ng-ng%C3%A2n-h%C3%A0ng-%C4%91%E1%BB%81-thi-otomat.176/
Lời nói đầu
Ngôn ngữ là phương tiện để giao tiếp, sự giao tiếp có thể hiểu là giao tiếp giữa con
người với nhau, giao tiếp giữa người với máy, hay giao tiếp giữa máy với máy. Ngôn ngữ để
con người có thể giao tiếp với nhau được gọi là ngôn ngữ tự nhiên, chẳng hạn như tiếng Anh,
tiếng Nga, tiếng Việt… là các ngôn ngữ tự nhiên. Các quy tắc cú pháp của ngôn ngữ tự nhiên
nói chung rất phức tạp nhưng các yêu cầu nghiêm ngặt về ngữ nghĩa thì lại thiếu chặt chẽ,
chẳng hạn cùng một từ hay cùng một câu ta có thể hiểu chúng theo những nghĩa khác nhau
tùy theo từng ngữ cảnh cụ thể. Con người muốn giao tiếp với máy tính tất nhiên cũng thông
qua ngôn ngữ. Để có sự giao tiếp giữa người với máy hay giữa máy với nhau, cần phải có một
ngôn ngữ với các quy tắc cú pháp chặt chẽ hơn so với các ngôn ngữ tự nhiên, nói cách khác,
với một từ hay một câu thì ngữ nghĩa của chúng phải là duy nhất mà không phụ thuộc vào
ngữ cảnh. Những ngôn ngữ như thế được gọi là ngôn ngữ hình thức. Con người muốn máy
tính thực hiện công việc, phải viết các yêu cầu đưa cho máy bằng ngôn ngữ máy hiểu được.
Việc viết các yêu cầu như thế gọi là lập trình. Ngôn ngữ dùng để lập trình được gọi là ngôn
ngữ lập trình. Các ngôn ngữ lập trình đều là các ngôn ngữ hình thức
Đồ Án Tốt Nghiệp Ngành Công Nghệ Thông Tin, 9 Điểm
Đề tài tìm hiểu cơ sở lý thuyết về kiểm thử nói chung và kiểm thử trên di động nói riêng cũng như cách triển khai công cụ kiểm thử phần mềm tự động để giảm nhân lực kiểm thử và đảm bảo chất lượng phần mềm hơn với công việc kiểm thử bằng tay. Mục tiêu chính của đề tài là nghiên cứu về kiểm thử trên thiết bị di động.
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Tú Cao
Slide báo cáo đồ án tốt nghiệp, Website cửa hàng điện thoại trực tuyến MSmobile. Nó chỉ mang tính chất tham khảo, hy vọng là các bạn khi xem có thêm gợi ý, nhưng đừng lấy nó ra để nộp.
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn đồ án tốt nghiệp với đề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềm, cho các bạn làm luận văn tham khảo
Đồ Án Tốt Nghiệp Ngành Công Nghệ Thông Tin, 9 Điểm
Đề tài tìm hiểu cơ sở lý thuyết về kiểm thử nói chung và kiểm thử trên di động nói riêng cũng như cách triển khai công cụ kiểm thử phần mềm tự động để giảm nhân lực kiểm thử và đảm bảo chất lượng phần mềm hơn với công việc kiểm thử bằng tay. Mục tiêu chính của đề tài là nghiên cứu về kiểm thử trên thiết bị di động.
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Tú Cao
Slide báo cáo đồ án tốt nghiệp, Website cửa hàng điện thoại trực tuyến MSmobile. Nó chỉ mang tính chất tham khảo, hy vọng là các bạn khi xem có thêm gợi ý, nhưng đừng lấy nó ra để nộp.
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn đồ án tốt nghiệp với đề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềm, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn thạc sĩ ngành toán giải tích với đề tài: Nguồn với tập nhãn gồm các số đồng dư được gọi là nguồn đồng dư, cho các bạn làm luận văn tham khảo
Bài Giảng Môn học: OTOMAT VÀ NGÔN NGỮ HÌNH THỨCtruongvanquan
Ngôn ngữ là phương tiện để giao tiếp, sự giao tiếp có thể hiểu là giao tiếp giữa con
người với nhau, giao tiếp giữa người với máy, hay giao tiếp giữa máy với máy. Ngôn ngữ để
con người có thể giao tiếp với nhau được gọi là ngôn ngữ tự nhiên, chẳng hạn như tiếng Anh,
tiếng Nga, tiếng Việt… là các ngôn ngữ tự nhiên. Các quy tắc cú pháp của ngôn ngữ tự nhiên
nói chung rất phức tạp nhưng các yêu cầu nghiêm ngặt về ngữ nghĩa thì lại thiếu chặt chẽ,
chẳng hạn cùng một từ hay cùng một câu ta có thể hiểu chúng theo những nghĩa khác nhau
tùy theo từng ngữ cảnh cụ thể. Con người muốn giao tiếp với máy tính tất nhiên cũng thông
qua ngôn ngữ. Để có sự giao tiếp giữa người với máy hay giữa máy với nhau, cần phải có một
ngôn ngữ với các quy tắc cú pháp chặt chẽ hơn so với các ngôn ngữ tự nhiên, nói cách khác,
với một từ hay một câu thì ngữ nghĩa của chúng phải là duy nhất mà không phụ thuộc vào
ngữ cảnh. Những ngôn ngữ như thế được gọi là ngôn ngữ hình thức. Con người muốn máy
tính thực hiện công việc, phải viết các yêu cầu đưa cho máy bằng ngôn ngữ máy hiểu được.
Việc viết các yêu cầu như thế gọi là lập trình. Ngôn ngữ dùng để lập trình được gọi là ngôn
ngữ lập trình. Các ngôn ngữ lập trình đều là các ngôn ngữ hình thức.
Robust Object Recognition with Cortex-Like MechanismsMinh Lê
Authors: Thomas Serre, Lior Wolf, Stanley Bileschi, Maximilian Riesenhuber, and
Tomaso Poggio, Member, IEEE
Reporter: Lê Ngọc Minh
In Computational vision course, Master of Cognitive science, Trento University
1. Chương 2:
Ngôn ngữ và sự phân cấp Chomsky
Nội dung:
• Khái niệm ngôn ngữ
• Cách biểu diễn ngôn ngữ
• Văn phạm
• Sự phân lớp văn phạm
1
2. Ký hiệu, bộ chữ cái, chuỗi
Ký hiệu (symbol): là một thực thể trừu tượng mà ta
không định nghĩa được một cách hình thức
• Các chữ cái a, b, c … hoặc các số 1, 2, 3 …
Bộ chữ cái (alphabet): Σ
• Là một tập (không rỗng) các ký hiệu nào đó
• Bộ chữ cái Latin {A, B, C, …, a, b, c, …, z}
Chuỗi (string): một chuỗi (hay một từ - word) trên bộ
chữ cái Σ
• Là một dãy hữu hạn các ký hiệu của Σ
• Một ký hiệu có thể xuất hiện nhiều lần 2
3. Chuỗi
Độ dài chuỗi: là số các ký hiệu tạo thành chuỗi
• |abca| = 4
Chuỗi rỗng: ký hiệu ε, là chuỗi không có ký hiệu nào
• |ε| = 0
Chuỗi con: chuỗi v là chuỗi con của w nếu v được tạo
bởi các ký hiệu liền kề nhau trong chuỗi w.
• Chuỗi 10 là chuỗi con của chuỗi 010001
Chuỗi tiền tố: là chuỗi con bất kỳ nằm ở đầu chuỗi
Chuỗi hậu tố: là chuỗi con bất kỳ nằm ở cuối chuỗi
• Chuỗi abc có các tiền tố a, ab, abc
• Chuỗi 0246 có các hậu tố 6, 46, 246, 0246 3
4. Chuỗi
Chuỗi nối kết (ghép): là chuỗi được tạo thành bằng
cách viết chuỗi thứ nhất, sau đó viết chuỗi thứ hai, ...
• Nối ghép của chuỗi Long và Int là LongInt
• Nối kết của chuỗi rỗng: εw = wε = w (với mọi w)
→ ε là đơn vị của phép nối kết
Chuỗi đảo ngược: của chuỗi w, ký hiệu wR, là chuỗi
w được viết theo thứ tự ngược lại.
w = abcd → wR = dcba εR = ε
4
5. Ngôn ngữ (Languages)
Tổng quan về ngôn ngữ:
• Ngôn ngữ tự nhiên: tiếng Việt, tiếng Anh, …
• Ngôn ngữ lập trình: Pascal, C/C++, …
• Là tập hợp các câu theo cấu trúc quy định nào đó
• Biểu thị các ý nghĩ, các sự kiện hay các khái niệm
• Bao gồm một tập các ký hiệu và các quy tắc để
vận dụng chúng
5
6. Ngôn ngữ (Languages)
Một ngôn ngữ (hình thức) L là một tập hợp các chuỗi
của các ký hiệu từ một bộ chữ cái Σ nào đó.
Σ* và Σ +:
●
Σ* : tập hợp tất cả các chuỗi con, kể cả chuỗi rỗng
ε, sinh ra từ bộ chữ cái Σ.
●
Σ+ : tập hợp tất cả các chuỗi con, ngoại trừ chuỗi
rỗng ε, sinh ra từ bộ chữ cái Σ.
Σ* = Σ+ + {ε} Σ+ = Σ* - {ε}
●
Σ = {0,1} thì:
✔
Σ* = {ε, 0, 1, 00, 01, 10, 11, 000, …}
✔
Σ+ = {0, 1, 00, 01, 10, 11, 000, …}
✔
Chuỗi 010210 ∉ Σ* vì có số 2 ∉ Σ 6
7. Các phép toán trên ngôn ngữ
Phép phần bù (complement):
L = Σ* - L
Phép nối kết (concatenation):
L1L2 = {w1w2 | w1 ∈ L1 và w2 ∈ L2} trên bộ chữ cái Σ1 ∪ Σ2
• LLL…LL = Li (kết nối i lần trên cùng ngôn ngữ L)
• L0 = {ε}
7
8. Các phép toán trên ngôn ngữ
Phép bao đóng (closure): thành lập một ngôn ngữ
bằng cách kết nối các chuỗi (với số lượng bất kỳ) các
chuỗi của một ngôn ngữ L cho trước
∞
Bao đóng Kleene: L* = ∪ Li
i=0
∞
Bao đóng dương (positive): L+ = ∪ Li
i=1
Chú ý: L+ = L*L = LL* L* = L+ ∪ {ε}
Ví dụ: cho L = {a, ba}
• L2 = {aa, aba, baa, baba}
• L3 = {aaa, aaba, abaa, ababa, baaa,baaba, babaa, bababa}
• L* = {ε, a, ba, aa, aba, baa, baba, aaa, aaba, …} 8
9. Biểu diễn ngôn ngữ
Liệt kê chuỗi: L = {aa, aba, baa, baba}
Mô tả đặc điểm chủ yếu: L = {ai | i là số nguyên tố}
Biểu diễn thông qua văn phạm và automata:
• Cho phép biểu diễn ngôn ngữ một cách tổng quát
• Văn phạm: cơ chế sản sinh ra mọi chuỗi của ngôn
ngữ
• Automata: cơ chế cho phép đoán nhận một chuỗi
bất kỳ có thuộc một ngôn ngữ L hay không
9
10. Định nghĩa văn phạm
Theo từ điển, văn phạm là một tập các quy tắc về cấu
tạo từ và các quy tắc về cách thức liên kết từ lại thành
câu
Định nghĩa: văn phạm cấu trúc G là một hệ thống gồm 4
thành phần G(V, T, P, S)
• V (variables): tập các biến (VD: A, B, C, …)
• T (terminal): tập các ký hiệu kết thúc (V ∩ T = Ø)
(VD: a, b, c, …, w, x, y, ...)
• P (production): tập luật sinh, dạng α→β với α, β ∈
(V ∪ T)*
• S (start): ký hiệu bắt đầu (S ⊂ V) 10
11. Định nghĩa văn phạm
Dẫn xuất trực tiếp: nếu α→β là một luật sinh thì
γ α δ ⇒ γ βδ
Dẫn xuất gián tiếp: nếu các chuỗi α1, α2, ...., αm ∈ Σ* và
α1 ⇒ α2, α2 ⇒ α3, ..., αm-1 ⇒ αm thì αm có thể được dẫn
xuất từ α1
α1 ⇒* αm
Ngôn ngữ L sinh bởi văn phạm G:
L (G) = {w | w ∈ T * và S ⇒* w}
Văn phạm tương đương: là 2 văn phạm sinh ra cùng
một ngôn ngữ (G1 tương đương G2 ⇔ L(G1)=L(G2) ) 11
12. Phân cấp Chomsky trên văn phạm
Bằng cách áp đặt một số quy tắc hạn chế trên các luật
sinh, Noam Chomsky đề nghị một hệ thống phân loại
các văn phạm dựa vào tính chất của các luật sinh.
Loại 0 – Văn phạm không hạn chế (Unrestricted
Grammar): không cần thỏa điều kiện ràng buộc nào
trên tập các luật sinh
Loại 1 – Văn phạm cảm ngữ cảnh (CSG – Context
Sensitive Grammar): nếu văn phạm G có các luật
sinh dạng α→β và |β| ≥ |α|
Loại 2 – Văn phạm phi ngữ cảnh (CFG – Context-
Free Grammar): có luật sinh dạng A→α với A là một
biến đơn và α là chuỗi các ký hiệu thuộc (V ∪ T)* 12
13. Phân cấp Chomsky trên văn phạm
Loại 3 – Văn phạm chính quy (RG – Regular
Grammar): có mọi luật sinh dạng tuyến tính phải hoặc
tuyến tính trái.
• Tuyến tính phải: A → wB hoặc A → w
• Tuyến tính trái: A → Bw hoặc A → w
Với A, B là các biến đơn, w là chuỗi ký hiệu kết
thúc (có thể là rỗng)
Nếu ký hiệu L0, L1, L2, L3 là các ngôn ngữ được sinh ra
bởi văn phạm loại 0, 1, 2, 3, ta có:
L3 ⊂ L2 ⊂ L1 ⊂ L0
13
14. Các ví dụ về văn phạm
Ví dụ 1: văn phạm G( {S, A}, {a, b}, P, S )
S → aS
S → aA
P=
A → bA
A→b
Đây là văn phạm loại 3 (dạng tuyến tính phải)
Một dẫn xuất từ S có dạng:
S → aS → aaS → aaaA → aaabA → aaabbA →
aaabbbA → aaabbbb = a3 b4
⇒ L(G) = a+b+ = {anbm | n,m ≥ 1}
14
15. Các ví dụ về văn phạm
Ví dụ 2: văn phạm G( {S}, {a, b}, P, S )
S → aSb
P=
S → ab
Đây là văn phạm loại 2 (dạng A→α )
Một dẫn xuất từ S có dạng:
S → aSb → aaSbb → aaaSbbb → aaaabbbb = a4b4
⇒ L(G) = {anbn | n ≥ 1}
15
16. Các ví dụ về văn phạm
Ví dụ 3: văn phạm G( {S, B, C}, {a, b, c}, P, S )
S → aSBC
S → aBC
CB → BC
P= aB → ab
bB → bb
bC → bc
cC → cc
Đây là văn phạm loại 1
Một dẫn xuất từ S: S → aSBC → aaBCBC → aabCBC →
aabBCC → aabbCC → aabbcC → aabbcc=a2b2c2
⇒ L(G) = {anbncn | n ≥ 1}
16
17. Định nghĩa ôtômát (automata)
Định nghĩa: là máy trừu tượng có cơ cấu và hoạt động
đơn giản nhưng có khả năng đoán nhận ngôn ngữ
• Con người phải lập trình sẵn cho máy một ‘lộ trình’
để thực hiện
INPUT
Bộ điều khiển
OUTPUT
BỘ NHỚ
17
18. Phân loại automata
Automata đơn định (Deterministic Automata):
• Mỗi bước di chuyển chỉ được xác định duy nhất
bởi cấu hình hiện tại (hàm chuyển của automata là
đơn trị)
Automata không đơn định (Non-deterministic Automata):
• Tại mỗi bước di chuyển, nó có vài khả năng để lựa
chọn (hàm chuyển của automata là đa trị)
18