Đề tài Sinh ngôn ngữ tự nhiên

. Lexicalise - Input: PPSAbstracSyntax Template - Output: Chọn ra được từ thích hợp sử dụng trong câu - Nhiệm vụ: Dựa những từ nối, quan hệ thích hợp để từ vựng hóa + Sử dụng cấu trúc dictionary cho các từ đồng nghĩa + Sử dụng lời gọi tới các template tương ứng để chọn ra những từ có nội dung giống nhau + Để đơn giản hóa module, hệ thống sử dụng một hàm random để chọn từ thích hợp từ tập các từ đồng nghĩa để đa dạng hóa trong nhiều trường hợp.

docx32 trang | Chia sẻ: lylyngoc | Ngày: 26/11/2013 | Lượt xem: 1512 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Đề tài Sinh ngôn ngữ tự nhiên, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Đạ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 BÁO CÁO SINH NGÔN NGỮ TỰ NHIÊN Nhóm 8: Nguyễn Trung Hiếu Trương Quý Quỳnh Hoàng Đình Tiến Giảng viên: Lê Anh Cường LỜI MỞ ĐẦU Trong những năm gần đây, công nghệ thông tin phát triển như vũ bão, đóng vai trò ngày càng quan trọng trong đời sống xã hội.Trí tuệ nhân tạo và đặc biệt là xử lý ngôn ngữ tự nhiên được nghiên cứu rộng rãi mang lại nhiều ứng dụng quan trọng trong đời sống. Trong đó sinh ngôn ngữ tự nhiên là một lĩnh vực nổi bật có khả năng tạo ra những hệ thống đáp ứng người sử dụng như chính ngôn ngữ con người 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 đã đạ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 – Đại họ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ập lớ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 2.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ệp 2.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 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 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ệc xâ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ặc nhữ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ôn ngữ 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ĩa củ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ĩa nhất định bằng ngôn ngữ con người, chứa thông tin ở đầu vào. 1.2. Ứng dụng Sinh ngôn ngữ tự nhiên cần thiết trong các hệ thống tương tác người máy, một vài ứng dụng quan trọng có thể kể đến: Ứng dụng sinh ra tài liệu tự động. Ví dụ: dự báo thời tiết, báo cáo mô phỏng, thư tín,... Ứ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. Ứ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 Ba giai đoạn cần tiến hành trong hệ thống sinh ngôn ngữ tự nhiên là “Document Plan”, “Micro plan” và “Surface realisation”. Document Plan Quyết định nội dung Cấu trúc văn bản Micro Plan Tập hợp câu Từ vựng hóa Surface Realisation Sinh từ/cụm từ quy chiếu Thể hiện ngôn ngữ. 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 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). Domain Modeling Document Planning Content Determination 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ến hành trong một hệ thống sinh văn bản. Giai đoạn này bao gồm hai quá trình con sau đâ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 nà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 Input: Bao gồm 4 thành phần chính cho đầu vào của một hệ thống sinh văn bản như sau: Nguồn tri thức: Có thể là cơ sở dữ liệu trong phạm vi đang nghiên cứu hoặc cơ sở tri thức. Mục tiêu xác định: Cần chỉ rõ mục đích của những văn bản được sinh ra. Mục tiêu có thể rất đa dạng ví dụ như: Tổng hợp, so sánh, bổ sung, … Mô hình người dùng: Cần phải xác định rõ đối tượng nào sẽ đọc văn bản được sinh ra bởi hệ thống. Mỗi kiểu người dùng với những khác biệt về kiến thức, trình độ, học vấn, nghề nghiệp sẽ có những cách tiếp thu khác nhau. Lịch sử diễn ngôn: Hệ thống cần thông tin về tương tác với người dùng ở thời điểm trước đó. Sử dụng ở Referring expression của giai đoạn “Micro Planning”. Output: Giai đoạn “Document Planning” tạo ra các “Document Plan” được biểu diễn dưới dạng cây nhị phân với các nút lá biểu diễn các thông điệpvà giữa hai lá là thông tin biểu diễn mối quan hệ giữa hai nút lá tức là chỉ rõ rằng hai thông điệp bên trái và bên phải được liên kết với nhau như thế nào. Thông tin biểu diễn mối quan hệ này được gọi là quan hệ diễn ngôn (Discourse Relation). Ví dụ cây biểu diễn cấu trúc diễn ngôn: 2.1.2. Biểu diễn thông tin 2.1.2.1. Mô hình biểu diễn thông tin Mô hình gồm có 4 thành phần sau: Thực thể (Entities) Thuộc tính (Attributes): Quan hệ (Relationships): Lớp (Classes): 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ệp nà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 độ 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 Có 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 text corpus” 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 đến bướ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ào mụ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ức 2.1.2.5. Thu thập các luật để quyết định nội dung Mụ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ống vớ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 tri thứ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ằng mộ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óm thông điệp với nhau. Chung quy trong các văn bản, có 4 kiểu quan hệ diễn ngôn chí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 Biến kiểu List:Là danh sách các “message”. Giả mã : 2.2. Micro Planning “Micro Planning” gồm 3 bài toán: Từ vựng hóa (Lexicalisation) Ghép câu (Aggregation) Từ/cụm từ quy chiếu (Referring Expression Generation) Lexicalisation Micro Planning Aggregation Referring Expression Generation Một cơ chế được sử dụng rộng rãi nhất cho công đoạn này đó là dùng template.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ác tham 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àm thêm các bước xử lí khác. Trong khi đó, các hệ thống mới hơn có tiến hành mộ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ụm nguyên thủy cho “Document Plan” trên: 2.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: 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ây quyết định cho thủ tục từ vựng hóa: 2.2.2. Ghép câu (Sentence Aggregation) 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áp cũ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ủa các đặc tả cụm nguyên thủy không đổi: 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ác thuộc tính “ellided” là các phần đã được lược đi): 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ác thành phần trong đặc tả cụm nguyên thủy được ghép, như vậy các thà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ột trườ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. 2.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ác thự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 đề cập trước đó: Quy chiếu đại từ : sử dụng đại từ để tham chiếu tới các thực thể trước đó. Các vấn đề của quy chiếu đại từ : bỏ phí đại từ - không sử dụng các đại từ được phép, hoặc đại từ không phù hợp –sử dụng đại từ tham chiếu không rõ ràng. 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ây nhậ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ụng miêu tả phân biệt để có thể phân biệt được với các thực thể khác nằm trong 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à “Structure Realisation”. Thứ hai được gọi là “Linguistic Realisation”. “Structure Realisation” sẽ thể hiện ngôn ngữ trong các kiểu được quy định nào đó để còn thô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ần phải hiểu quá sâu về bản chất bên trong của quá trình “Linguistic Realisation”. Những gì chúng ta cần hiểu là những phần mềm như thế làm nhữ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ống RealPro Ta có cây cấu trúc đầu vào của hệ thống: Chươ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ận thấ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: Tập văn bản đích bao gồm một số câu ví dụ như sau: S1: Sản phẩm A được (bị) đánh giá rất cao (khá cao, trung bình, khá tệ, rất tệ) về màn hình (bộ nhớ, tốc độ, v.v…) với tỷ lệ bình luận tích cực (tiêu cực) vào khoảng p1%. S2: 60% người dùng cho rằng thời lượng pin của HTC tốt hơn Samsung. S3: 40% người dùng khẳng định sẽ không mua điện thoại có xung nhịp CPU dưới 800Mhz. S4: Trong 1000 lượt comment thì 30% cho rằng Samsung Galaxy S3 đang là sản phẩm tốt nhất trên thị trường. S5: Sản phẩm B là một trong những cái tên được đề cập đến nhiều nhất trong m tháng trở lại đây, với khoảng n bình luận, chiếm p% trong tổng số các bình luận về sản phẩm điện thoại di động. S6: Trong tổng số n bình luận (tính từ tháng m1/y1 đến tháng m2/y2), sản phẩm A được (bị) đánh giá rất cao (khá cao, trung bình, khá tệ, rất tệ) với n1 đánh giá tốt (chiếm p1%), n2 đánh giá không tốt (chiếm p2%). S7: iPhone 5 là sản phẩm được đề cập nhiều nhất với N lượt comments trong thời gian từ tháng … đến tháng ... S8: Thống kê theo số lượng comment về điện thoại, 80% người dùng Mỹ có 2 chiếc smart phone trở lên. S9: Theo ý kiến các comment, 40% Số người dùng đã từ bỏ LG optimus và chuyển qua Samsung Galaxy Note 2 3.4. Các module của hệ thống: 3.4.1.Read input Input: file text.xml, có cấu trúc như hình dưới Thẻ message: Định nghĩa kiểu của thông điệp được tạo ra. Các thẻ con: Chứa thông tin phục vụ việc tạo thông điệp, cấu trúc của các thẻ này phụ thuộc vào kiểu của thông điệp và được định nghĩa từ trước Output: List các object dạng message, chứa thông tin phục vụ việc xử lí Nhiệm vụ: Bóc tách, lấy dữ liệu cần thiết cho việc tạo thông điệp từ file text.xml Tạo các object dạng Message (được định nghĩa trong package NLP.Common). Các thông điệp được tạo ra sẽ được lưu vào một mảng để phục vụ việc xử lí sau này. 3.4.2. GenSentence: Input: Các object kiểu Message chứa thông tin để tạo câu Output: Các câu được hoàn chỉnh Nhiệm vụ: Sinh ra một câu hoàn chỉnh từ tập các message đã tạo ra Khởi tạo môi trường, tập các từ đồng nghĩa phục vụ việc sinh từ ngữ. Từ các object kiểu Message, gọi các template thích hợp để tạo ra các đặc tả cụm, từ đó sinh ra câu hoàn chỉnh. 3.4.3. PPSAbstracSyntax Template Nhiệm vụ: Chứa những template PPS phục vụ sinh câu. Các class nằm trong package PPSTemplate 3.4.4. Lexicalise Input: PPSAbstracSyntax Template Output: Chọn ra được từ thích hợp sử dụng trong câu Nhiệm vụ: Dựa những từ nối, quan hệ thích hợp để từ vựng hóa Sử dụng cấu trúc dictionary cho các từ đồng nghĩa Sử dụng lời gọi tới các template tương ứng để chọn ra những từ có nội dung giống nhau Để đơn giản hóa module, hệ thống sử dụng một hàm random để chọn từ thích hợp từ tập các từ đồng nghĩa để đa dạng hóa trong nhiều trường hợp. 3.4.5: Graphphic user interface Nhiệm vụ: hiển thị kết quả ra màn hình dưới dạng giao diện người dùng Input: Các câu sinh ra từ hệ thống sinh ngôn ngữ Output: Window Hiển thị trực quan cho người dùng, có các chức năng generate ( tạo tiếp câu ), backward ( xem câu tạo trước đó), forward (xem câu kế tiếp). Các câu sinh ra được ghi vào mảng để tiện theo dõi 3.5. Luồng điều khiển của hệ thống: XML PPS Template Gen Sentence Read Input Lexicalise Result GUI 3.6. Ví dụ: Sản phẩm A được (bị) đánh giá rất cao (khá cao, trung bình, khá tệ, rất tệ) về màn hình (bộ nhớ, tốc độ, v.v…) với tỷ lệ bình luận tích cực (tiêu cực) vào khoảng p1%. Tập các Message Đọc vào từ file XML ta sẽ có các thông tin Product Type: Name : Iphone 4s Likerate: Status: Cao Direction: + Aspect: Màn hình Comment percent Percent: 75% Type : Comment percent Rate: 75% Type : Aspect Aspect: Màn hình Status: Cao Type : ProductType Type : Like rate Name: Iphone 4s Direction: + Template Iphone 4s - đánh giá cao - màn hình – bình luận tích cực – 75 % Lexical Truy xuất dictionary, thu được các từ đồng nghĩa, chọn trong số đó 1 từ để gắn vào câu. Được câu hoàn thiện: Iphone 4s được đánh giá cao về màn hình với tỷ lệ bình luận tích cực 75% 3.7: Kết quả thực nghiệm: Kết quả một số câu sinh ra như sau: TÀI LIỆU THAM KHẢO Building Applied Natural Language Generation Systems (Ehud Reiter, Robert Dale, 1997) Sinh ngôn ngữ tự nhiên - KLTN ĐH Công nghệ – Nguyễn Hoàng Nam - 2012

Các file đính kèm theo tài liệu này:

  • docxnlp_report_7682.docx