Chính vì những lợi ích to lớn mà nó mang lại, trong bài tập lớn môn xử lýngôn ngữ tự nhiên, nhóm 8 đã chọn chủ đề này nhằm làm rõ những kiến thức cơbản để xây dựng một hệ thống sinh ngôn
Trang 1Đại học Quốc gia Hà Nội
Khoa Công nghệ thông tin
BÁO CÁO ĐỀ TÀI
SINH NGÔN NGỮ TỰ NHIÊN
GVHD: tiến sĩ Lê Anh Cường
Trang 2BÁO CÁO
SINH NGÔN NGỮ TỰ NHIÊN
Nhóm 8:
Nguyễn Trung Hiếu
Trương Quý Quỳnh
nó ra Chính vì những lợi ích to lớn mà nó mang lại, trong bài tập lớn môn xử lýngôn ngữ tự nhiên, nhóm 8 đã chọn chủ đề này nhằm làm rõ những kiến thức cơbản để xây dựng một hệ thống sinh ngôn ngữ tự nhiên và sử dụng những kiến thức
Trang 3đã đạt được để xây dựng một chương trình sinh ngôn ngữ tự nhiên về tổng kết vàđánh giá của những người sử dụng điện thoại.
Nhóm 8 xin gửi lời cảm ơn chân thành nhất tới thầy giáo – tiến sĩ Lê Anh Cường,thầy là giảng viên môn Xử lý ngôn ngữ tự nhiên , Khoa Công nghệ thông tin – Đạihọc Công nghệ - Đại học Quốc gia Hà Nội Trong suốt quá trình thực hiện bài tậplớn này, thầy đã có những chỉ dẫn tận tình, hết lòng chỉ bảo để cả nhóm có thểhoàn thành được bài tập lớn này
MỤC LỤC
Chương I: Tổng quan về sinh ngôn ngữ tự nhiên
1 Bài toán sinh ngôn ngữ tự nhiên
1.1 Khái niệm
1.2 Ứng dụng
Chương II: Cấu trúc hệ thống sinh ngôn ngữ tự nhiên
2 Cấu trúc hệ thống sinh ngôn ngữ tự nhiên
2.1 Document planning
2.1.1 Cấu trúc của document planning
2.1.1.1 Cấu trúc của document planning
2.1.1.2 Nhiệm vụ của document planning
2.1.1.3 Input và Output của document planning
Trang 42.1.2 Biểu diễn thông tin
2.1.2.1 Mô hình biểu diễn thông tin
2.1.2.2 Định nghĩa các thông điệp
2.1.2.3 Phương pháp mô hình hóa thông tin và định nghĩa các thông điệp2.1.2.4 Quyết định nội dung (Content Determination)
2.1.2.5 Thu thập các luật để quyết định nội dung
2.1.3 Cấu trúc văn bản từ các thông điệp
2.1.3.1 Quan hệ diễn ngôn (Discourse Relation)
2.1.3.2 Tiếp cận giản đồ (Schema)
2.2 Micro Planning
2.2.1 Từ vựng hóa (Lexicalisation)
2.2.2 Ghép câu (Sentence Aggregation)
2.3 Trình bày văn bản (Surface Realisation)
Chương III: Thử nghiệm xây dựng hệ thống sinh ngôn ngữ tự nhiên
Trang 5Chương I: Tổng quan về sinh ngôn ngữ tự nhiên
1 Bài toán sinh ngôn ngữ tự nhiên
1.1 Khái niệm
Sinh ngôn ngữ tự nhiên (Natural Language Generation – viết tắt là NLG) làmột lĩnh vực con của trí tuệ nhân tạo và ngôn ngữ học máy tính liên quan tới việcxây dựng một hệ thống máy tính có thể sản sinh ra văn bản bằng tiếng Anh hoặcnhững ngôn ngữ loài người khác từ những biểu diễn phi ngữ nghĩa của thông tin Mục tiêu của hệ thống sinh ngôn ngữ tự nhiên là tạo ra các văn bản có thểhiểu được bằng ngôn ngữ loài người bởi vậy, nó cần nguồn tri thức từ loại ngônngữ mà hệ thống sử dụng cũng như những kiến thức thuộc lĩnh vực mà hệ thống sẽsản sinh Đầu vào của hệ thống sinh ngôn ngữ tự nhiên là các dạng phi ngữ nghĩacủa thông tin: mẩu tin, bảng biểu, số liệu Đầu ra là những câu, văn bản có ý nghĩanhất định bằng ngôn ngữ con người, chứa thông tin ở đầu vào
- Ứng dụng biểu diễn thông tin tới người dùng bằng cách có thể hiểu được Ví
dụ: bản ghi y khoa, lập luận hệ thống chuyên gia…
- Ứng dụng giảng dạy Ví dụ: hệ thống cung cấp thông tin cho sinh viên.
Trang 6- Ứng dụng giải trí Ví dụ: truyện cười, thơ văn,…
Chương II: Cấu trúc hệ thống sinh ngôn ngữ tự nhiên
2 Cấu trúc của một hệ thống sinh ngôn ngữ tự nhiên
Mô hình cấu trúc của một hệ thống sinh ngôn ngữ tự nhiên
Trang 7Ba giai đoạn cần tiến hành trong hệ thống sinh ngôn ngữ tự nhiên là “DocumentPlan”, “Micro plan” và “Surface realisation”
- Quyết định nội dung
Trang 82.1 Document planning
2.1.1 Cấu trúc của document planning
2.1.1.1 Cấu trúc của document planning
Cấu trúc của phần “Document Planning” bao gồm 3 công việc là:
- Mô hình hóa miền phục vụ (Domain Modeling).
- Quyết định nội dung (Content Determination).
- Cấu trúc tài liệu (Document Structuring)
2.1.1.2 Nhiệm vụ của document planning
“Document planning” hay còn gọi là “Text planning” là bước đầu tiên trong hệthống sinh ngôn ngữ tự nhiên, nó có nhiệu vụ tạo ra tổng thể chung cho cả văn bản.hiện thực hóa bằng tập các message có quan hệ nhất định và có thứ tự xác định
“Document planning” là giai đoạn quan trọng nhất trong các giai đoạn được tiếnhành trong một hệ thống sinh văn bản Giai đoạn này bao gồm hai quá trình consau đây:
- Quyết định nội dung (Content Determination): Quá trình này bao gồm việc
tạo thành các thông điệp (Message), mỗi message có một ý nghĩa xác định
Document Planning
Domain Modeling
Content Determination
Document Structuring
Trang 9nào đó Một câu có thể là một thông điệp hoặc do nhiều thông điệp ghép lại,trong trường hợp nhiều thông điệp, ta gọi đó là một “Document Plan”
- Cấu trúc tài liệu (Document Structuring): Quá trình này gồm có các công
việc sau:
+ Nhóm các thông điệp với nhau
+ Xác định thứ tự các thông điệp (Ordering)
+ Xác định mối liên hệ (Discourse Relation) giữa các thông điệp
2.1.1.3 Input và Output của document planning
Ví dụ cây biểu diễn cấu trúc diễn ngôn:
Trang 102.1.2 Biểu diễn thông tin
2.1.2.1 Mô hình biểu diễn thông tin
2.1.2.2 Định nghĩa các thông điệp
Công việc ở đây là cần xây dựng nên những thông điệp từ những dữ liệu thô banđầu Trước tiên là công việc quyết định xem cần phải có những loại thông điệpnào, mỗi loại thông điệp cần có những thông tin gì, quan hệ giữa chúng ra sao.Một ví dụ về lớp TemperatureSpellMsg trong hệ thống dự báo thời tiết:
- Từ bảng nhiệt độ
Trang 11- Ta có giả mã các class cho message TemperatureSpellMsg
- Message thu được :
2.1.2.3 Phương pháp mô hình hóa thông tin và định nghĩa các thông điệp
Trang 12Có nhiều phương pháp mô hình hóa thông tin nhưng phương pháp thường được sửdụng trong NLG là phương pháp phân tích các tập dữ liệu thực tế “target textcorpus” kết hợp thao khảo ý kiến chuyên gia trong lĩnh vực đó.
Các bước của phương pháp:
- Bước 1: Chọn ra một số đoạn văn bản tiêu biểu từ tập “target text corpus”
mà có thể đại diện cho đa phần văn bản cần sinh ra
- Bước 2: Tách văn bản lấy được ở bước 1 thành từng câu, sau đó tách từng
câu thành từng tập các cụm (phrases) tương ứng với từng thông điệp đơn lẻ
- Bước 3: Nhóm các message thành các lớp (class) Các message được nhóm
trong một lớp có một hoặc vài đặc điểm, tính chất chung nào đó
- Bước 4: Đề xuất ra mô hình biểu diễn thông điệp.
- Bước 5: Gặp gỡ chuyên gia và đưa ra mô hình phân tích ở bước 4 để cùng
bàn bạc chỉnh sửa cho phù hợp Nếu cần thiết thì phải lặp lại từ bước 2 đếnbước 5 cho đến khi nào chuyên gia và cả bản thân cùng cảm thấy hài lòng
- Bước 6: Lặp lại các bước từ 1 đến 5 với tập văn bản được lấy ra lớn hơn.
2.1.2.4 Quyết định nội dung (Content Determination)
“Content determination” là thuật ngữ để chỉ công việc quyết định những
“message” nào sẽ được sử dụng trong văn bản sinh ra Điều này phụ thuộc vàomục tiêu mà văn bản sinh ra cũng như lĩnh vực sẽ sử dụng
Các công việc trong quá trình quyết định nội dung:
- Chọn lựa dữ liệu: Chọn ra một tập các dữ liệu từ cơ sở dữ liệu, cơ sở tri thức
của hệ thống mà cung cấp thông tin đủ để phục vụ người dùng
- Tổng hợp dữ liệu: Công việc của bước này là tổng hợp và tóm tắt dữ liệu đã
lấy được từ bước trên thành thông tin cần quan tâm
- Suy luận dữ liệu: Hai bước phía trên chỉ là trường hợp riêng của phần này.
Tổng hợp dữ liệu, chọn lọc là những dữ liệu cần thiết, có quan hệ nhất định
để sử dụng
- Tùy biến văn bản theo từng loại đối tượng: Với mỗi loại người dùng khác
nhau thì sẽ tùy biến văn bản sinh ra cho phù hợp về cả nội dung và hình thức2.1.2.5 Thu thập các luật để quyết định nội dung
Trang 13Mục đích của các hệ thống sinh văn bản là sinh ra được văn bản ngày càng giốngvới văn bản do chính con người viết ra, cho dù bằng cách nào cũng cần thu thập trithức từ các chuyên gia để có được tập “target text corpus” đem phân tích Chúng ta
sẽ sử dụng chính tập “corpus” này để xây dựng nên một tập các luật chỉ định rằngmột thông điệp nào đó thì nên xuất hiện trong một kiểu văn bản như nào
2.1.3 Cấu trúc văn bản từ các thông điệp
Công việc của phần “Cấu trúc văn bản” là sinh ra một cây với các nút lá các thôngđiệp còn ở giữa 2 lá trái phải có cùng gốc là nút giữa mang thông tin giải thích:
- Cách liên kết giữa các thông điệp với nhau.
- Thứ tự sắp xếp của các thông điệp hoặc các nhóm thông điệp trong văn bản.
- Vị trí tương ứng của thông điệp hoặc nhóm thông điệp trong từng phần của
đoạn văn
- Mối quan hệ diễn ngôn giữa các thông điệp hoặc nhóm thông điệp.
2.1.3.1 Quan hệ diễn ngôn (Discourse Relation)
Quan hệ diễn ngôn xác định mối quan hệ liên kết giữa các thông điệp hoặc nhómthông điệp với nhau Chung quy trong các văn bản, có 4 kiểu quan hệ diễn ngônchính là :
- Cụ thể hóa vấn đề (Elaboration)
- Dẫn chứng vấn đề (Exemlification)
- Đối lập (Contrast):
- Chuỗi tường thuật (Narrative Sequence)
2.1.3.2 Tiếp cận giản đồ (Schema)
Có thể mô tả câu bằng cách sử dụng các giản đồ - Schema, trong đó các giản đồ cóchứa thông tin hoặc gọi tới các giản đồ nhỏ hơn
Ví dụ giả mã một vài giản đồ trong hệ thống dự báo thời tiết (WeatherReporter):
- Các biến kiểu DocumentPlan:Ví dụ DP1, DP2 sẽ lại là “document planning”
có nhiệm vụ ghép 2 thành phần lại với nhau theo một kiểu quan hệ nào đóchẳng hạn “Sequence”
- Các biến kiểu Message: Là các message đầu vào
Trang 14- Biến kiểu List:Là danh sách các “message”.
Trang 15Một cơ chế được sử dụng rộng rãi nhất cho công đoạn này đó là dùngtemplate.Template là cách biểu diễn câu dưới dạng các văn bản soạn sẵn và cáctham số để thêm vào các phần của câu.
Các hệ thống đơn giản thường chỉ chèn các tham số vào câu mà không làmthêm các bước xử lí khác Trong khi đó, các hệ thống mới hơn có tiến hànhmột số các xử lí về mặt ngôn ngữ ví dụ như chọn hình thái phù hợp,
Input và Output của quá trình Micro Planning:
- Input: Là output của quá trình “Document Planning”, tức là các “Document
Plan” – cấu trúc với các phần tử nguyên tử là các thông điệp Ví dụ về một
“Document Plan”:
- Output : Là một đặc tả văn bản (text specification) được tạo bởi các đặc tả
từng cụm từ Trong đó các biểu diễn trung gian trong quá trình là các đặc tảcụm nguyên thủy (Proto Phrase Specification) Ví dụ về một đặc tả cụmnguyên thủy cho “Document Plan” trên:
Trang 162.2.1 Từ vựng hóa:
- Từ vựng hóa là quá trình lựa chọn những cấu trúc từ, cú pháp để biểu diễn
thông tin từ các “Document Plan”, ánh xạ các thông điệp thành các từ ngữ
có ý nghĩa với người sử dụng
- Như đã nói ở trên, ta sẽ sử dụng các template dựng sẵn cho mỗi đặc tả cụm
nguyên thủy rồi áp thông tin từ các thông điệp vào mẫu này Ví dụ về mộtđặc tả cụm nguyên thủy được tạo ra từ template:
Trang 17- Một vấn đề với công đoạn này đó là lựa chọn từ ngữ thế nào cho phù hợp.
Một số cơ chế để lựa chọn từ ngữ bao gồm cây quyết định (decision trees),
đồ thị chuyển đổi (graph-rewriting), mạng phân tách (discrimination nets),mạng hệ thống (systemic networks),
- Một cơ chế thường được sử dụng đó là cây quyết định Cây quyết định dùng
để đặt ra các luật đơn giản nhằm đa dạng hóa cách biểu diễn từ ngữ phụthuộc vào các yếu tố ngữ cảnh Đây là một ví dụ cho trường hợp sử dụng câyquyết định cho thủ tục từ vựng hóa:
2.2.2 Ghép câu (Sentence Aggregation)
Trang 18- Ghép câu là quá trình tổ chức các đặc tả cụm thành các câu hoặc văn bản
phức tạp, mạch lạc hơn Quá trình này có thể bao gồm việc nối câu vàquyết định thứ tự các câu
- Sau đây là một số hướng tiếp cận với quá trình ghép câu:
+ Liên từ đơn giản (Simple conjunction): Là những liên từ như “và”,
“nhưng”, biểu diễn mối quan hệ diễn ngôn giữa 2 hoặc nhiều câu
và dùng để ghép những câu này lại thành một câu duy nhất
Sử dụng dạng ghép câu này không làm thay đổi cấu trúc cú phápcũng như nội dung của từng thành phần thông tin được ghép lại.Sau đây là một ví dụ về kiểu ghép câu này, có thể thấy cấu trúc củacác đặc tả cụm nguyên thủy không đổi:
Trang 19+ Liên từ qua các thành phần chung: Khi 2 hoặc nhiều thành phần
thông tin cùng có chung một từ/cụm từ với nội dung như nhau và ởcùng một ví trí trong thành phần thông tin đó thì ta có thể gộp lại vàchỉ sử dụng từ/cụm từ đó một lần cho tất cả thôi Sau đây là ví dụ vềđặc tả cụm nguyên thủy tạo ra khi ghép câu theo cách này (cácthuộc tính “ellided” là các phần đã được lược đi):
Trang 20+ sdfasdf
+ Liên từ qua cấu trúc chung: Thay vì đặt liên từ vào đầu cấu trúc
ghép đặc tả cụm nguyên thủy, ta sẽ đặt liên từ vào chính giữa cácthành phần trong đặc tả cụm nguyên thủy được ghép, như vậy cácthành cấu trúc giống nhau sẽ được lược bớt đi
+ Nhúng cú pháp: Ta ghép các thành phần thông tin lại, một thành
phần riêng rẽ sẽ trở thành một phần bổ trợ cho thành phần kia Mộttrường hợp của các tiếp cận này là cách sử dụng các mệnh đề quan
hệ trong tiếng Anh
Trang 212.2.3 Quy chiếu từ/cụm từ.
- Là quá trình chọn các từ hoặc cụm từ để thay thế cho các thực thể (entity).
- Mô hình diễn ngôn (discourse model): chứa thông tin liên quan đến ngữ
cảnh:
+ Physical context: là ngữ cảnh có tính đến các yếu tố bên ngoài
+ Discourse context: ngữ cảnh của đoạn văn mà ta đang xử lí
+ Các hệ thống NLG sẽ thiên về sử dụng Discourse context
+ Một loại mô hình diễn ngôn đơn giản nhất đó là một danh sách cácthực thể đã được đề cập từ trước đó, bên cạnh đó có thể có thêm một
số các đặc điểm khác để phân biệt giữa các thực thể
- Tham chiếu khởi tạo : dùng để giới thiệu thực thể, cùng với một số thông tin
khác như hoàn cảnh, điều kiện, để dễ dàng phân biệt với các thực thểkhác
- Tham chiếu kéo theo : dùng dể tham chiếu tới những thực thể đã được đề
Trang 22- Thuật toán trên được sử dụng để duyệt toàn bộ mô hình diễn
ngôn, không cho phép tham chiếu đến các thực thể có thể gâynhập nhằng
+ Quy chiếu kéo theo : Sử dụng trong trường hợp có nhiều thực thểđược nhắc tới trước đó và dễ gây nhập nhằng Chúng ta sẽ sử dụngmiêu tả phân biệt để có thể phân biệt được với các thực thể khác nằmtrong mô hình diễn ngôn
2.3 Trình bày văn bản (Surface Realisation) :
- Khi nói tới quá trình xử lý “text specification” thì người ta thường nghĩ tới 2
hướng xử lý không liên quan tới nhau Thứ nhất được gọi là “StructureRealisation” Thứ hai được gọi là “Linguistic Realisation” “StructureRealisation” sẽ thể hiện ngôn ngữ trong các kiểu được quy định nào đó để cònthông qua một hệ thống xử lý Còn đối với “Linguistic Realisation” thì sẽ thểhiện ra ngôn ngữ cuối cùng tới người dùng
- “Structrure realisation ” thực chất không nằm trong lĩnh vực NLG Trong
chương này, ta đi xem xét quá trình “Linguistic Realisation”
- Người ta đã xây dựng một số các hệ thống phần mềm chuyên thực hiện công
việc của quá trình “Linguistic Realisation” Các hệ thống này rất đa dạng vềinput (phrase specification) và cách thực hiện công việc Như vậy, chúng ta –những người đang nghiên cứu và phát triển các hệ thống NLG sẽ không cầnphải hiểu quá sâu về bản chất bên trong của quá trình “LinguisticRealisation” Những gì chúng ta cần hiểu là những phần mềm như thế làmnhững công việc gì, làm như thế nào và có yêu cầu gì để có thể áp dụng vào
hệ thống của chúng ta
- Đối với mỗi một kiểu biểu diễn đặc tả cụm khác nhau thì ứng với mỗi đầu vào
của hệ thống trình bày văn bản chuyên biệt Chẳng hạn hệ thống RealPro sẽ
sử dụng cấu trúc cú pháp trừu tượng làm đầu vào Kiến trúc của hệ thốngRealPro
Trang 23- Ta có cây cấu trúc đầu vào của hệ thống:
Trang 25Chương 3: Thử nghiệm xây dựng hệ thống sinh ngôn ngữ tự nhiên
3.1 Đặt vấn đề:
- Bài toán đặt ra là sinh các câu cho module tổng hợp ý kiến đánh giá của người
dùng dựa về các thiết bị di động
- Input và output:
+ Input: Dữ liệu tổng hợp được từ các module sumarization trước đó
+ Output: Hệ thống sinh ra từng câu riêng biệt, phù hợp với thông tin nhậnđược từ module sumarization
3.2 Phân tích hệ thống:
- Mục đích của hệ thống là sinh ra từng câu riêng biệt để tổng hợp ý kiến Dựa
trên cấu trúc của một hệ thống NLG như đã đề cập ở các phần trước, ta nhậnthấy có thể lược bớt một số công đoạn liên quan đến việc quyết định các thôngđiệp, ghép nối câu và quy chiếu cụm từ từ những câu phía trước
- Giải pháp sử dụng:
+ Dữ liệu đầu vào được lưu dưới dạng xml.
+ Các lớp thông điệp để chứa dữ liệu, phục vụ việc xử lí.
+ Các template để định nghĩa cấu trúc của các câu sinh ra.
+ Module lexicalise để phục vụ đa dạng hóa từ ngữ, phù hợp với ngữ cảnh + Với quy mô của hệ thống thử nghiệm, các công đoạn quy chiếu từ ngữ và
trình bày văn bản được đơn giản hóa để giảm bớt độ phức tạp của hệ thống
- Ưu điểm và nhược điểm của hệ thống:
+ Ưu điểm:
Hệ thống đơn giản, dễ sử dụng
Có nhiều mẫu câu, phù hợp với mục đích đa dạng của việc tổng hợp
Giao diện người dùng thân thiện
+ Nhược điểm:
Các câu sinh ra chưa thực sự mềm dẻo
3.3 Thu thập tập văn bản đích: