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

Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android

114 554 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

Định dạng
Số trang 114
Dung lượng 2,97 MB

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

Nội dung

 Đối tượng và mục tiêu nghiên cứu của trí tuệ nhân tạo Trí tuệ nhân tạo nghiên cứu về cách hành xử thông minh intelligent behaviour với mục tiêu là xây dựng lý thuyết đầy đủ về thông m

Trang 1

LỜI CẢM ƠN Sau một thời gian tìm hiểu đề tài “ Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng Android ”, em đã hoàn thành tiến độ dự kiến Để đạt

được kết quả này, em đã nỗ lực thực hiện và đồng thời cũng nhận được rất nhiều

sự giúp đỡ, quan tâm, ủng hộ của các thầy cô, bạn bè và gia đình

Em xin chân thành cảm ơn giảng viên hướng dẫn: Th.S Hoàng Thị Cành –

Bộ môn Công nghệ phần mềm – Trường Đại học Công nghệ thông tin và truyền thông – Đại học Thái Nguyên đã tận tình giúp đỡ em hoàn thành đồ án tốt nghiệp này

Em cũng xin chân thành cảm ơn Trung tâm nghiên cứu và phát triển ứng dụng di động, Đại học Công nghệ thông tin và truyền thông, đặc biệt là thầy

Nguyễn Quốc Bảo là người hướng dẫn em trong suốt quá trình em hoàn thiện đồ

án Cảm ơn thầy đã tận tình giúp đỡ, chỉ bảo em để em có thể hoàn thành báo cáo này

Em xin chân thành cảm ơn các thầy cô và ban lãnh đạo trường Đại học Công nghệ thông tin và truyền thông – Đại học Thái Nguyên đã nhiệt tình giảng dạy và truyền đạt kiến thức quý báu và bổ ích trong suốt quá trình em học tập tại trường

Em xin chân thành cảm ơn các thầy, cô giảng viên thuộc bộ môn Công nghệ phần mềm đã trang bị cho em những kiến thức chuyên ngành rất hữu ích để em hoàn thành đề tài và phục vụ cho công việc của em sau này

Vì thời gian có hạn nên không thể tránh khỏi những thiếu sót, em rất mong nhận được sự đóng góp ý kiến từ thầy cô và các bạn Em xin chân thành cảm ơn !

1

Trang 2

LỜI CAM ĐOAN

Em xin cam đoan đây là công trình nghiên cứu của riêng em và được sự hướng dẫn của Ths Hoàng Thị Cành Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những

số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo

Ngoài ra, trong đồ án còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc.Nếu phát hiện có bất kỳ sự gian lận nào em xin hoàn toàn chịu trách nhiệm về nội dung đồ án của mình Trường đại học Công nghệ thông tin và Truyền thông Thái Nguyên không liên quan đến những vi phạm tác quyền, bản quyền do em gây ra trong quá trình thực hiện (nếu có)

Trang 3

MỤC LỤC

LỜI CAM ĐOAN 2

LỜI NÓI ĐẦU 5

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 8

1.1 Android và lịch sử phát triển 8

1.1.1 Lịch sử Android 8

1.1.2 Các phiên bản HĐH Android 9

1.2 Kiến trúc Android 12

1.2.1 Linux Kernel 12

1.2.2 Library và Android Runtime 13

1.2.3 Application 16

1.3 Các thành phần của Android 16

1.3.1 Thành phần của một chương trình Android 16

1.3.2 Các thành phần trong giao diện Widget 19

1.3.3 Bắt sự kiện trong Android 20

1.3.4 Menu 20

1.4 Hệ quản trị CSDL SQLite 21

1.4.1 Giới thiệ về SQLite 21

1.4.2 Các bước thực hiện 22

1.4.3 Sử dụng Cơ sở dữ liệu 24

1.5 Trí tuệ nhân tạo 25

1.5.1 Tổng quan về khoa học Trí tuệ nhân tạo 25

1.5.2 Đối tượng và mục tiêu nghiên cứu của trí tuệ nhân tạo 25

1.5.3 Vai trò của Trí Tuệ Nhân Tạo 26

1.5.4 Các kỹ thuật Trí tuệ nhân tạo 26

1.5.5 Lịch sử phát triển của Trí Tuệ Nhân Tạo 28

1.5.6 Một số vấn đề Trí tuệ nhân tạo quan tâm 29

1.5.7 Các khái niệm cơ bản 30

1.5.8 Một số chuyên ngành của Trí tuệ nhân tạo 31

1.6 Tổng quan về AIML 32

1.6.1 AIML là gì ? 32

1.6.2 Các Category và đặc tính của AIML 32

1.7 Tổng quan về Java 34

1.7.1 Lịch sử 34

1.7.2 Các đặc trưng của Java 36

3

Trang 4

CHƯƠNG 2: KHẢO SÁT, PHÂN TÍCH THIẾT KẾ PHẦN MỀM 39

2.1 Xác định yêu cầu đề tài 39

2.1.1 Tóm tắt yêu cầu 39

2.1.2 Nội dung 39

2.1.3 Mục tiêu 39

2.1.4 Các bước nghiên cứu 39

2.2 Khảo sát 39

2.2.1 Các ứng dụng hiện có 39

2.2.2 Đề xuất ứng dụng mới 42

2.2.3 Xác định yêu cầu 42

2.3.4 Hướng giải quyết và kế hoạch thực hiện 43

2.3 Phân tích chương trình 43

2.3.1 Biểu đồ Use Case 43

2.3.2 Biểu đồ trình tự 48

2.3.3 Biểu đồ cộng tác 52

2.3.4 Biểu đồ Class 57

2.3.5 Biểu đồ hoạt động tổng quát 63

CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH HỌC TIẾNG ANH GIAO TIẾP TRÊN NỀN TẢNG ANDROID 64 3.1 Giới thiệu chương trình 64

3.2 Hướng dẫn sử dụng 68

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN77 TÀI LIỆU THAM KHẢO 79 LỜI NHẬN XÉT 80 DANH MỤC HÌNH ẢNH Hình 1.1 : Logo các phiên bản hệ điều hành Android 9

Hình 1.2: Biểu tượng Robot Android 11

Hình 1.3: Kiến trúc Android 12

Hình 1.4: Kiến trúc Linux Kernel 13

Hình 1.5: Kiến trúc Framework 15

Hình 1.6: Vòng đời hoạt động của 1 ứng dụng Android 17

Trang 5

Hình 1.7: Quá trình hoạt động của Itent 17

Hình 1.8 : Vòng đời của Service 18

Hình 2.1 Ứng dụng SpeakingPal 40

Hình 2.2 Ứng dụng Busuu 41

Hình 2.3 Ứng dụng Pera Pera 42

Hình 2.4 Biểu đồ UseCase 44

Hình 2.5 Biểu đồ trình tự UseCase Learn Pronunciation By Video 48

Hình 2.6 Biểu đồ trình tự UseCase Send Feedback to Developer 48

Hình 2.7 Biểu đồ trình tự UseCase Learn By Level 49

Hình 2.8 Biểu đồ trình tự UseCase Learn By Topic 49

Hình 2.9 Biểu đồ trình tự UseCase Learn Vocabulary 50

Hình 2.10 Biểu đồ trình tự UseCase Learn Contexual Communication 50

Hình 2.11 Biểu đồ trình tự UseCase Review Vocabulary 51

Hình 2.12 Biểu đồ trình tự UseCase Review Sentences Learned 51

Hình 2.13 Biểu đồ trình tự UseCase Practice With Bot 52

Hình 2.14 Biểu đồ cộng tác UseCase Pronuncication By Video 52

Hình 2.15 Biểu đồ cộng tác UseCase Send Feedback 53

Hình 2.16 Biểu đồ cộng tác UseCase Learn By Level 53

Hình 2.17 Biểu đồ cộng tác UseCase Learn By Topic 54

Hình 2.18 Biểu đồ cộng tác UseCase Learn Vocabulary 54

Hình 2.19 Biểu đồ cộng tác UseCase Learn Contexual Communocation 55

Hình 2.20 Biểu đồ cộng tác UseCase Review Vocabulary 55

Hình 2.21 Biểu đồ cộng tác UseCase Review Sentences Learned 56

Hình 2.22 Biểu đồ cộng tác UseCase Practice With Bot 56

Hình 2.23 Biểu đồ class MainActivity 57

Hình 2.24 Biểu đồ class ExerciseActivity 58

Hình 2.25 Biểu đồ class VocabularyActivity 59

Hình 2.26 Biểu đồ class DialogeActivity 60

5

Trang 6

Hình 2.27 Biểu đồ class VocaPracActivity 61

Hình 2.28 Biểu đồ class DialogePracActivity 62

Hình 2.29 Biểu đồ class PronunciationActivity 63

Hình 2.30 Biểu đồ Hoạt động tổng quát 63

Hinh 3.1 Màn hình khởi động của chương trình 64

Hình 3.2 Giao diện màn hình chính 65

Hình 3.3 Giao diện màn hình chính 65

Hình 3.4 Giao diện menu 66

Hình 3.5 Giao diện bài học theo Level Elementary 66

Hình 3.6 Giao diện gửi phản hồi cho nhà phát triển 67

Hình 3.7 Giao diện học Phát âm theo video 67

Hình 3.8 Giao diện học Phát âm theo video 68

Hình 3.9 Giao diện bài học theo chủ đề Color ( Level Beginer ) 68

Hình 3.10 Giao diện bài học từ vựng 69

Hình 3.11 Giao diện chương trình đánh giá phát âm 70

Hình 3.12 Giao diện Flashcard câu ví dụ 71

Hình 3.13 Giao diện học bài hội thoại 71

Hình 3.14 Giao diện thu âm tiếng nói 72

Hình 3.15 Giao diện hội thoại và đánh giá 72

Hình 3.16 Giao diện đổi vai hội thoại 73

Hình 3.17 Giao diện luyện tập từ vựng 74

Hình 3.18 Giao diện luyện tập câu 75

Hình 3.19 Giao diện phím menu 75

Hình 3.20 Giao diện phím menu 76

Trang 7

LỜI NÓI ĐẦU

Mạng điện thoại di động xuất hiện tại Việt Nam từ đầu những năm 1990 và theo thời gian số lượng các thuê bao cũng như các nhà cung cấp dịch vụ đi động tại Việt Nam ngày càng tăng Do nhu cầu trao đổi thông tin ngày càng tăng và nhu cầu sử dụng sản phẩm công nghệ cao nhiều tính năng, cấu hình cao, chất lượng tốt, kiểu dáng mẫu mã đẹp, phong phú nên nhà cung cấp phải luôn luôn cải thiện, nâng cao những sản phẩm của mình Do đó việc xây dựng các ứng dụng cho điện thoại

di động đang là một ngành công nghiệp mới đầy tiềm năng và hứa hẹn nhiều sự phát triển vượt bậc của ngành khoa học kĩ thuật

Cùng với sự phát triển của thị trường điện thoại di động là sự phát triển mạnh mẽ của xu hướng lập trình phần mềm ứng dụng cho các thiết bị di động Phần mềm, ứng dụng cho điện thoại di động, máy tính bảng hiện nay rất đa dạng

và phong phú trên các hệ điều hành di động cũng phát triển mạnh mẽ và đang thay đổi từng ngày Các hệ điều hành Android được phát triển nhằm cạnh tranh với các

hệ điều hành di động khác như iOS (Apple), BlackBerry OS, Windows Mobile (Microsoft), Symbian (Nokia), Bada (SamSung), WebOS (Palm)… đã có rất phát triển trên thị trường truyền thông di động

Trong vài năm trở lại đây, hệ điều hành Android ra đời với sự kế thừa những ưu việt của các hệ điều hành ra đời trước và sự kết hợp của nhiều công nghệ tiên tiến nhất hiện nay, đã được nhà phát triển bởi hãng công nghệ rất nổi tiếng hiện nay là Google hậu thuẫn Android đã nhanh chóng là đối thủ cạnh tranh mạnh

mẽ với các hệ điều hành trước đó và đang là hệ điều hành di động của tương lai và được nhiều người ưa chuộng nhất

Ngày nay, với sự phát triển chóng mặt của các thiết bị di động như vậy, cùng với nhu cầu học tập mọi lúc mọi nơi không chỉ trên sách vở, máy tính mà còn

có thể mang đi mọi nơi, dùng mọi thời điểm là rất cần thiết Chính vì vậy em đã

chọn đề tài “Xây dựng phần mềm học tiếng anh giao tiếp trên hệ điều hành

7

Trang 8

Android” với mục đích nghiên cứu, tìm hiểu về hệ điều hành Android và xây

dựng chương trình học tiếng anh để có thể đáp ứng được nhu cầu học tập, giao tiếp tiếng anh mọi lúc, mọi nơi

Trang 9

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

Và sau tiếp, vào cuối năm 2007, thuộc về Liên minh thiết bị cầm tay mã nguồn mở (Open Handset Alliance) Mục tiêu của liên minh này là nhanh chóng đổi mới để đáp ứng tốt hơn cho nhu cầu người tiêu dùng và kết quả đầu tiên của nó chính là nền tảng Android Android được thiết kế để phục vụ nhu cầu của các nhà sản xuất thiết bị, các nhà khai thác và các lập trình viên thiết bị cầm tay

Phiên bản SDK (Software Development Kit) lần đầu tiên phát hành vào tháng 11 năm 2007, hãng T-Mobile cũng công bố chiếc điện thoại Android đầu tiên đó là chiếc T-Mobile G1, chiếc smartphone đầu tiên dựa trên nền tảng Android Một vài ngày sau đó, Google lại tiếp tục công bố sự ra mắt phiên bản Android SDK release Candidate 1.0 Trong tháng 10 năm 2008, Google được cấp giấy phép mã nguồn mở cho Android Platform

Vào cuối năm 2008, Google cho phát hành một thiết bị cầm tay được gọi là Android Dev Phone 1 có thể chạy được các ứng dụng Android mà không bị ràng buộc vào các nhà cung cấp mạng điện thoại di động Mục tiêu của thiết bị này là cho phép các nhà phát triển thực hiện các cuộc thí nghiệm trên một thiết bị thực có thể chạy hệ điều hành Android mà không phải ký một bản hợp đồng nào Vào khoảng cùng thời gian đó thì Google cũng cho phát hành một phiên bản vá lỗi 1.1 của hệ điều hành này Ở cả hai phiên bản 1.0 và 1.1 Android chưa hỗ trợ soft-

9

Trang 10

keyboard mà đòi hỏi các thiết bị phải sử dụng bàn phím vật lý Android cố định vấn đề này bằng cách phát hành SDK 1.5 vào tháng tư năm 2009, cùng với một số tính năng khác Chẳng hạn như nâng cao khả năng ghi âm truyền thông, vật dụng,

và các live folder

 Các phiên bản HĐH Android

Android đã trải qua một số các cập nhật kể từ lần đầu phát hành Những cập nhật này nhìn chung có nhiệm vụ vá các lỗ hổng và thêm các tính năng mới vào hệ điều hành

Hình 1.1 : Logo các phiên bản hệ điều hành Android

Android những thế hệ đầu tiên 1.0 (9-2008) và 1.1 (2-2009) chưa có tên gọi chính thức Từ thế hệ tiếp theo, mỗi bản nâng cấp đều được đặt với những mã tên riêng dựa theo các món ăn hấp dẫn theo thứ tự bảng chữ cái từ “C-D-E-F-G-H-I-J-K-L-M” Hiện tại các phiên bản chính của Android bao gồm:

Trang 11

Android 1.5 (Cupcake): Ra mắt tháng 4-2009: Phiên bản này có một số

tính năng đáng chú ý như: khả năng ghi lại và xem video thông qua chế độ máy ghi hình, tải video lên YouTube và ảnh lên Picasa trực tiếp từ điện thoại, tích hợp bàn phím ảo với khả năng đoán trước văn bản, tự động kết nối với một thiết bị Bluetooth trong một khoảng cách nhất định, các widget và thư mục mới có thể cài đặt linh động trên màn hình chủ

Android 1.6 (Donut): Ra mắt tháng 9-2009: Phiên bản này giúp nâng cao

trải nghiệm trên kho ứng dụng Android Market, tích hợp giao diện tùy biến cho phép người dùng xóa nhiều ảnh cùng lúc, nâng cấp Voice Search, nâng cấp khả năng tìm kiếm bookmarks, history, contacts và web trên màn hình chủ, bước đầu

hỗ trợ màn hình độ phân giải WVGA

Android 2.0/2.1 (Eclair): Ra mắt tháng 10-2009: Phiên bản này có sự cải thiện

rõ rệt trong giao diện người dùng, tối ưu hóa tốc độ phần cứng, hỗ trợ nhiều kích cỡ và

độ phân giải màn hình hơn, thay đổi giao diện duyệt web và hỗ trợ chuẩn HTML5, Exchange ActiveSync 2.5, nâng cấp Google Maps 3.1.2, camera zoom kĩ thuật số tích hợp đèn flash, nâng cấp bàn phím ảo và kết nối Bluetooth 2.1

Android 2.2 (Froyo): Ra mắt tháng 5-2010: Phiên bản này chú trọng nâng

cấp tốc độ xử lí, giới thiệu engine Chrome V8 JavaScript, hỗ trợ Adobe Flash10.1, thêm tính năng tạo điểm truy cập Wi-Fi Một tính năng đáng chú ý khác hỗ trợ chuyển đổi nhanh chóng giữa các ngôn ngữ và từ điển trên bàn phím đồng thời cho phép cài đặt và cập nhật ứng dụng ở các thiết bị mở rộng bộ nhớ Một trong những smartphone đầu tiên chạy phiên bản Android 2.2 Froyo là LG Optimus One

Android 2.3 (Gingerbread): Ra mắt tháng 12-2010: Phiên bản này được

nâng cấp đáng kể giao diện người dùng, cải thiện bàn phím ảo, thêm tính năng copy/paste, hỗ trợ công nghệ giao tiếp tầm sóng ngắn NFC, hỗ trợ chuẩn video WebM và nâng cao tính năng copy–paste Cùng với phiên bản Gingerbread, Google cũng ra mắt điện thoại đầu tiên của hãng sử dụng nền tảng này là Google Nexus S

11

Trang 12

Android 3.2 (Honeycomb): Ra mắt tháng 2-2011: Đây là phiên bản hệ

điều hành dành riêng cho máy tính bảng tablet với giao diện mới tối ưu hóa cho tablet, từ các thao tác đều phụ thuộc màn hình cảm ứng (như lướt web, duyệt mail ) Honeycomb hỗ trợ bộ xử lí đa nhân và xử lý đồ họa đồng thời hỗ trợ nhiều màn hình home khác nhau, cho phép người dùng dễ dàng tùy biến giao diện nếu muốn

Android 4.0 (Ice-cream sandwich): Ra mắt tháng 10-2011, là sự kết hợp

giữa Gingerbread và Honeycomb và sẽ chạy trên tất cả các thiết bị như điện thoại, máy tính bảng, máy tính xách tay…

Android 4.1 (Jelly Bean): Ra mắt 9-7-2012: Máy tính bảngNexus 7, sản phẩm hợp tác giữa Google và Asus, là thiết bị dùng Jelly Bean đầu tiên ra mắt Android 4.1 nâng tầm hoạt động cho hệ điều hành của Google, trở thành hệ điều hành cho thiết bị di động hàng đầu hiện nay, đe dọa cả "ông lớn" Windows

Hình 1.2: Biểu tượng Robot Android

Android 4.2 (vẫn là Jelly Bean): Ra mắt tháng 11-2012: Chỉ sau gần năm

tháng ra mắt Android 4.1, Google tiếp tục bồi thêm sức nặng cho Android với phiên bản 4.2 và vẫn mang tên mã Jelly Bean

Android 4.2 tiếp tục mang đến những cải tiến hấp dẫn cho ứng dụng chụp

Trang 13

ảnh (Camera) như HDR, Photo Sphere, hiệu ứng ảnh, Google Now, đưa tính năng lướt chọn từ rất hay trong bàn phím ảo Chức năng "bom tấn" hỗ trợ nhiều tài khoản người dùng (multi-user profile) lần đầu tiên được áp dụng trong Android 4.2 nhưng chỉ có người dùng máy tính bảng thừa hưởng chức năng này.

Android 4.3 (vẫn là Jelly Bean): Ra mắt vào ngày 24-7-2013, không có

thay đổi lớn về cả giao diện lẫn cấu trúc so với Android 4.1 và 4.2 trước đó, phiên bản 4.3 có thể coi là một bản nâng cấp nhỏ mà Google dành cho hệ điều hành của hãng

Android 4.4 (Kitkat): Ra mắt vào 1-11-2013, chấm dứt chuỗi ngày “nhàm

chán” với ba phiên bản khác nhau của Android Jelly Bean KitKat được coi là phiên bản Android “dễ tính” nhất từ trước đến nay khi nó được thiết kế cho tất cả các thiết bị có bộ nhớ RAM 512MB trở lên

Android 5.0 Lollipop: Sau hơn một năm Android 4.0 KitKat ra mắt,

Google đã chính thức trình làng phiên bản hậu duệ mới nhất với tên gọi Android Lollipop, được đánh giá là hệ điều hành có những thay đổi rõ rệt và đáng kể nhất trong lịch sử Android từ trước đến nay Thiết kế "Material" mới: Ngôn ngữ đồ họa mới của Android được lấy cảm hứng từ thiên nhiên, vật lý và phong cách đậm, đổ bóng giống như in ấn Nói cách khác, đó là một thiết kế dựa trên những đặc tính của giấy

Android M (Mash Mallow): ra mắt vào ngày 29-05-2015 là bản cập nhật

không quá lớn nhưng nó giúp hệ điều hành của Google trở nên thông minh, tối ưu

và hoàn hảo hơn so với phiên bản Lollipop

 Kiến trúc Android

Mô hình tổng quát các thành phần của hệ điều hành Android:

13

Trang 14

Hình 1.3: Kiến trúc Android

 Linux Kernel

Hệ điều hành android được phát triển dựa trên hạt nhân linux, cụ thể là hạt nhân linux phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này Tất cả mọi hoạt động của điện thoại muốn thi hành được thì đều được thực hiện ở mức cấp thấp ở lớp này bao gồm quản lý bộ nhớ (memory management), giao tiếp với phần cứng (driver model), thực hiện bảo mật (security), quản lý tiến trình (process)

Trang 15

Hình 1.4: Kiến trúc Linux Kernel

Tuy được phát triển dựa vào nhân linux nhưng thực ra nhân linux đã được nâng cấp và sửa đổi rất nhiều để phù hợp với tính chất của những thiết bị cầm tay như hạn chế về bộ vi xử lý, dung lượng bộ nhớ, kích thước màn hình, nhu cần kết nối mạng không dây

 Các thành phần của nhân Linux:

 Display Driver: Điều khiển việc hiển thị lên màn hình cũng như thu nhận những điều khiển của người dùng lên màn hình (di chuyển, cảm ứng )

 Camera Driver: Điều kiển hoạt động của camera, nhận luồng dữ liệu từ camera trả về

 Bluetooth Driver: Điều khiển thiết bị phát và thu sóng Bluetooth

 USB driver: Quản lý hoạt động của các cổng giao tiếp USB

 Keypad driver: Điều khiển bàn phím

 Wifi Driver: Chịu trách nhiệm về việc thu phát sóng wifi

 Audio Driver: Điều khiển các bộ thu phát âm thanh, giải mã các tính hiệu dạng audio thành tín hiệu số và ngược lại

 Power Madagement: Giám sát việc tiêu thụ điện năng

 M-System Driver: Quản lý việc đọc ghi lên các thiết bị nhớ như thẻ

SD, flash

15

Trang 16

 Binder IPC Driver: Chịu trách nhiệm về việc kết nối và liên lạc với mạng vô tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năng truyền thông được thực hiện.

 Library và Android Runtime

Phần này có 2 thành phần là phần Library và Android Runtime

 Library

Thành phần này có nhiều thư viện được viết bằng C/C++ để các phần mềm

có thể sử dụng, các thư viện đó được tập hợp thành một số nhóm như:

 Thư viện hệ thống (System C library)(Libc): Thư viện dựa trên chuẩn

C, được sử dụng chỉ bởi hệ điều hành

 Thư viện Media (Media Libraries): Có nhiều codec để hỗ trợ việc phát

và ghi các loại định dạng âm thanh, hình ảnh, video thông dụng

 Thư viện web (LibWebCore) : Đây là thành phần để xem nội dung trên web, được sử dụng để xây dựng phần mềm duyệt web (Android Browse) cũng như

để các ứng dụng khác có thể nhúng vào Nó cực kỳ mạnh, hỗ trợ được nhiều công nghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM, AJAX

 Surface Manage: Quản lý hiển thị 2D và 3D

 SGL công nghệ 2D

 SQLite : Quản lý database của ứng dụng

 Free Type: Dùng cho hiển thị ảnh, font

 SSL(Secure Socket Layer): Tầng thiết lập giao dịch an toàn trên 2 ứng dụng trên 1 cổng (socket)

 Open GL/EL: Hỗ trợ thư viện tùy chọn 3D tĩnh và động

 Android runtime

Phần này chứa các thư viện mà một chương trình viết bằng ngôn ngữ Java

có thể hoạt động Phần này có 2 bộ phận tương tự như mô hình chạy Java trên máy tính thường Thứ nhất là các thư viện lõi (Core Library), chứa các lớp như JAVA

Trang 17

IO, Collections, File Access Thứ hai là một máy ảo java (Dalvik Virtual Machine).

 Framework

Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhà phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo Nhà phát triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập, các dịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo để các thanh trạng thái, và nhiều, nhiều hơn nữa

Hình 1.5: Kiến trúc Framework

Nhà phát triển có thể truy cập vào các API cùng một khuôn khổ được sử dụng bởi các ứng dụng lõi Các kiến trúc ứng dụng được thiết kế để đơn giản hóa việc sử dụng lại các thành phần Cơ bản tất cả các ứng dụng là một bộ các dịch vụ

và các hệ thống, bao gồm:

 View Manage: Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau dùng để thiết kế phần giao diện ứng dụng như: gridview, tableview, linearlayout…

 Activity Manager: Quản lý các chu kỳ sống của một ứng dụng cũng như cung cấp công cụ điều khiển các Activity

 Telephony Manager: Cung cấp công cụ để thực hiện việc liên lạc như

17

Trang 18

gọi điện thoại

 Location Manager: Cho phép xác định vị trí của điện thoại thoại dựa vào

hệ thống định vị toàn cầu GPS và Google Maps

 Window Manager: Quản lý việc xây dựng và hiển thị các giao diện người dùng cũng như tổ chức quản lý các giao diện giữa các ứng dụng

 Notication Manager: Quản lý việc hiển thị các thông báo (như báo có tin nhắn, có e-mail mới)

 Resource Manager: Quản lý tài nguyên tĩnh của các ứng dụng bao gồm các file hình ảnh, âm thanh, layout, string (Những thành phần không được viết bởi ngôn ngữ lập trình)

 Content Provider: Cho phép các ứng dụng có thể truy xuất dữ liệu từ các ứng dụng khác (chẳng hạn như Contacts) hoặc là chia sẻ dữ liệu giữa các ứng dụng đó

 Application

Đây là lớp ứng dụng giao tiếp với người dùng, bao gồm các ứng dụng như: Các ứng dụng cơ bản, được cài đặt đi liền với hệ điều hành là gọi điện (phone), quản lý danh bạ (Contacts), duyệt web (Browser), nhắn tin (SMS), lịch làm việc (Calendar), đọc e-mail (Email-Client), bản đồ (Map), quay phim chụp ảnh (camera) Các ứng dụng được cài thêm như các phần mềm chứng khoán (Stock), các trò chơi (Game), từ điển, các widget các ứng dụng của bên thứ 3…

Trang 19

Class cơ sở Activity định nghĩa một loạt các sự kiện mà điều chỉnh vòng đời của một hoạt động Class Activity định nghĩa các sự kiện sau đây:

 onCreate(): Được gọi khi hoạt động được tạo ra lần đầu tiên.

 onStart(): Được gọi khi hoạt động trở nên hữu hình so với người dùng.

 onResume(): Được gọi khi hoạt động bắt đầu tương tác với người sử

dụng

 onPause(): Được gọi để dừng các hoạt động hiện tại và nối lại các hoạt

động trước đó

 onStop(): Được gọi khi hoạt động không còn hiển thị với người dùng.

 onDestroy(): Được gọi trước khi hoạt động bị phá hủy bởi hệ thống

(bằng tay hoặc bằng hệ thống để bảo tồn bộ nhớ)

 onRestart(): Được gọi khi hệ thống đã được dừng lại và khởi động lại

một lần nữa

19

Trang 20

Hình 1.6: Vòng đời hoạt động của 1 ứng dụng Android

Intent:

Là một cấu trúc dữ liệu mô tả cách thức, đối tượng thực hiện của một Activity Là cầu nối giữa các Activity: ứng dụng Android thường bao gồm nhiều Activity, mỗi Activity hoạt động độc lập với nhau và thực hiện những công việc khác nhau Intent chính là người đưa thư, giúp các Activity có thể triệu gọi cũng

Trang 21

như truyền các dữ liệu cần thiết tới một Activity khác

Hình 1.7: Quá trình hoạt động của Itent

21

Trang 22

 Service

Một service không có giao diện trực quan, nó chạy trên nền trong một khoảng thời gian không xác định Ví dụ một service có thể chơi nhạc nền, hay nó nạp dữ liệu trên mạng hay tính toán cái gì đó và cung cấp kết quả cho activity cần đến nó Mỗi service mở rộng từ lớp cơ sở Service

Hình 1.8 : Vòng đời của Service

 Broadcast Reveive

Một Broadcast Rreceiver là một thành phần không làm gì ngoài việc nhận

Trang 23

và đáp lại các thông báo broadcast Các ứng dụng có thể tạo ra các broadcast, chẳng hạn để ứng dụng khác biết được một số dữ liệu đã được tải về thiết bị và sẵn sàng cho việc sử dụng chúng.

Một ứng dụng có thể có một số Broadcast Receiver để đáp lại bất cứ thông báo nào mà nó cho là quan trọng Tất cả các receiver mở rộng từ lớp cơ sở BroadcastReceiver Broadcast Receiver không hiển thị một giao diện người dùng

 Content Provider

Một content provider tạo ra một tập cụ thể các dữ liệu của ứng dụng khả dụng cho các ứng dụng khác Dữ liệu có thể được lưu trữ trong hệ thống file, trong một cơ sở dữ liệu SQLite, hay trong một cách khác nào đó Content provider mở rộng lớp cơ sở ContentProvider để cài đặt một tập các chuẩn các phương thức cho phép các ứng dụng khác đạt được và lưu trữ dữ liệu của kiểu mà nó điều khiển Tuy nhiên, các ứng dụng không gọi trực tiếp các phương thức này, chúng sử dụng một đối tượng ContentResolver và gọi các phương thức của nó Một ContentResolver có thể nói chuyện với bất cứ content provider nào, chúng cộng tác với provider để quản lý giao tiếp liên tiến trình

 Manifest File

Trước khi Android có thể khởi động một thành phần ứng dụng, nó phải biết rằng thành phần đó tồn tại Vì vậy, ứng dụng khai báo những thành phần của mình trong một manifest file được gắn vào Android package, file apk này cũng giữ chứa mã của ứng dụng và các tài nguyên

Manifest file là một file XML có cấu trúc và thường được đặt tên là AndroidManifest.xml cho mọi ứng dụng Nó thực hiện một số bổ sung để khai báo các thành phần của ứng dụng, như là nêu tên các thư viện ứng dụng cần đến, và xác định các quyền hạn của ứng dụng muốn được cấp

 Giao diện người dùng trong Android

Trong một ứng dụng Android, giao diện người dùng được xây dựng bằng cách sử dụng View và ViewGroup đối tượng Có nhiều loại quan điểm và các

23

Trang 24

nhóm view, mỗi một trong số đó là hậu duệ của lớp View View objects là các đơn

vị cơ bản của biểu hiện giao diện người dùng trên nền tảng Android Các class xem như là cơ sở phục vụ cho class con được gọi là "widget", trong đó cung cấp đầy đủ các đối tượng thực hiện giao diện, giống như các lĩnh vực văn bản và nút Class ViewGroup phục vụ như là cơ sở cho lớp con được gọi là "layouts", cung cấp các loại khác nhau của kiến trúc bố trí, như linear và relative

 Các thành phần trong giao diện Widget

Có rất nhiều cách bố trí giao diện Sử dụng nhiều hơn và các loại khác nhau của các view group, bạn có thể cấu trúc views con và view groups trong vô số cách Xác định các nhóm xem được cung cấp bởi Android (gọi là layouts) bao gồm LinearLayout, RelativeLayout, TableLayout, GridLayout và các layout khác Mỗi layout cung cấp một bộ duy nhất của các thông số bố trí được sử dụng để xác định

vị trí của views con và cơ cấu layout để tìm hiểu về một số các loại khác nhau của các view group được sử dụng cho một layout, đọc giao diện đối tượng thường gặp

 Bắt sự kiện trong Android

Khi đã thêm một số Views/widgets đến giao diện Để được thông báo về UI events người dùng, cần phải làm một trong hai điều: Xác định một sự kiện nghe và đăng ký nó với các View Đây là cách lắng nghe sự kiện Các class View có một

phương pháp gọi là On<something>().

Ghi đè một callback method hiện cho View Đây là những gì nên làm gì khi

đã thực hiện lớp View của riêng bạn và muốn lắng nghe cho các sự kiện cụ thể xảy

ra trong nó Ví dụ về các sự kiện có thể xử lý bao gồm màn hình là

touchedonTouchEvent() khi trackball là di chuyển onTrackballEvent() hoặc khi một phím trên thiết bị được nhấn onKeyDown() Điều này cho phép xác định các

hành vi mặc định cho từng sự kiện bên trong tuỳ chỉnh View và xác định xem sự kiện này cần được thông qua ngày để View con khác Một lần nữa, đây là những callbacks View class, do đó, cơ hội duy nhất của bạn để xác định đó là khi bạn xây

Trang 25

dựng một phần tùy chỉnh.

 Menu

Menu đơn có một phần quan trọng của giao diện người dùng trong một ứng dụng Menus cung cấp một giao diện đáng tin cậy cho thấy rằng các chức năng ứng dụng và cài đặt Trong trình đơn ứng dụng phổ biến nhất là tiết lộ bằng cách bấm phím MENU trên thiết bị Tuy nhiên, cũng có thể thêm Context Menus, có thể hiển thị khi người sử dụng máy nhấn và nắm giữ phím trên một mục Thực đơn cũng được hệ thống phân cấp cấu trúc bằng cách sử dụng một xem, nhưng bạn không xác định cấu trúc này cho mình

Thay vào đó, xác định onCreateOptionsMenu() or onCreateContext Menu()

gọi method cho hoạt động của mình và tuyên bố các mục mà mình muốn bao gồm trong menu của mình Trong một thời gian thích hợp, Android sẽ tự động tạo ra hệ thống View phân cấp cần thiết cho menu, và rút ra trong mỗi menu items đó

 Hệ quản trị CSDL SQLite

Mỗi ứng dụng đều sử dụng dữ liệu, dữ liệu có thể đơn giản hay đôi khi là cả

1 cấu trúc Trong Android thì hệ cơ sở dữ liệu được sử dụng là SQLite Database, đây là hệ thống mã nguồn mở được sử dụng rộng rãi trong các ứng dụng (Mozilla Firefox sử dụng SQLite để lưu trữ các dữ liệu về cấu hình, iPhone cũng sử dụng cơ

sở dữ liệu là SQLite)

Trong Androidd, cơ sở dữ liệu mà bạn tạo cho 1 ứng dụng thì chỉ ứng dụng

đó có quyền truy cập và sử dụng, các ứng dụng khác thì không Khi được tạo, cơ

sở dữ liệu SQLite được chứa trong thư mục:

/data/data/<package_name>/databases.

 Giới thiệ về SQLite

 SQLite là một SQL embedded database engine SQLite không có server,

nó đọc và ghi dữ liệu trực tiếp xuống file

 Định dạng file của SQLite là cross-platform Ta có thể sao chép, sử dụng dữ liệu ở bất cứ hệ điều hành nào

25

Trang 26

 SQLite rất nhẹ, kích thước tối đa cỡ 250KB SQLite thích hợp cho các ứng dụng chạy trên điện thoại di động, pda hay các thiết bị có bộ nhớ nhỏ.

 SQLite rất ổn định

 SQLite hoàn toàn miễn phí và mã mở

 SQLite hỗ trợ ngôn ngữ SQL với đầy đủ table, trigger, view, transactional, index

 Chương trình viết bằng SQLite khi cài đặt không cần phải cài thêm CSDL, có thể đem chạy bất cứ đâu

Ưu điểm:

 Tin cậy: các hoạt động transaction (chuyển giao) nội trong cơ sở dữ liệu được thưc hiện trọn vẹn, không gây lỗi khi xảy ra sự cố phần cứng

 Tuân theo chuẩn SQL92 (chỉ có một vài đặc điểm không hỗ trợ)

 Không cần cài đặt cấu hình

 Cho phép nhập kiểu dữ liệu động – dynamically typed VD: có thể chèn

1 dữ liệu kiểu string vào 1 cột column kiểu integer

 Chưa hỗ trợ foreign key

 Chưa hỗ trợ các lệnh alter table: drop column, alter column, add constraint

Trang 27

 Nested transactions

Các binding (Các gói kèm theo)

 Cũng như các thư viện nguồn mở nói chung, SQLite được phát triển các binding (gói kèm) các ngôn ngữ thông dụng: PHP, Perl, Java, Python, Ruby, Tcl

 SQLite là một cơ sở dữ liệu đơn giản, nhanh chóng, không cần giao thức server/client, tất cả db được lưu trong duy nhất một file SQLite hỗ trợ khá nhiều các lệnh của SQL cơ bản SQLite rất thích hợp cho các site nhỏ, không cần các cơ

Trang 28

Tạo 1 lớp bên trong DBAdapter được extend từ lớp SQLiteOpenHelper,

override 2 phương thức onCreate() và onUpgrade() để quản lý việc tạo CSDL và

version của CSDL đó

Trang 31

Để test CSDL vừa tạo, có thể thêm 1 vài dòng code để thêm 1 user và hiển thị CSDL lên màn hình thông qua lớp Activity ban đầu.

Create 1 user thông qua câu lệnh :

mDB.createUser("Username");

1.5 Trí tuệ nhân tạo

1.5.1 Tổng quan về khoa học Trí tuệ nhân tạo

Trong Công Nghệ Thông Tin, Trí Tuệ Nhân Tạo (Artificial Intelligence) là một ngành mới, nhưng phát triển rất mạnh mẽ và đem lại nhiều kết quả to lớn Con người thường tự cho mình là sinh vật thông minh vì khả năng trí tuệ đóng vai trò quan trong trong cuộc sống Trong văn học cũng đã từng có những câu chuyện đề cao về trí thông minh của con người

Trí Tuệ Nhân Tạo chỉ mới hình thành từ năm 1956 Tuy nhiên, việc nghiên cứu trí tuệ đã có từ lâu Trên 2000 năm trước, các nhà triết học đã tìm hiểu về cách thức nhìn nhận, học tập, nhớ và suy lý Việc ra đời của máy tính điện tử vào những

31

Trang 32

năm 50 của thế kỷ 20 đã sinh ra khuynh hướng đưa các lĩnh vực nghiên cứu trí tuệ

về các vấn đề lý thuyết và thực nghiệm trên máy

 Đối tượng và mục tiêu nghiên cứu của trí tuệ nhân tạo

Trí tuệ nhân tạo nghiên cứu về cách hành xử thông minh (intelligent behaviour) với mục tiêu là xây dựng lý thuyết đầy đủ về thông minh để có thể giải thích được hoạt động thông minh của sinh vật và áp dụng được các hiểu biết vào các máy móc nói chung, nhằm phục vụ cho con người

- Về mặt kỹ thuật: Tạo ra các máy thông minh để giải quyết vấn đề thực tế

dùng các kỹ thuật AI

- Khoa học: Phát triển các khái niệm và thuật ngữ để hiểu được các hành

xử thông minh của sinh vật

1.5.3 Vai trò của Trí Tuệ Nhân Tạo

Trí tuệ nhân tạo bao quát rất nhiều lĩnh vực nghiên cứu hẹp Nó nghiên cứu

từ các lĩnh vực tổng quát như máy nhận biết, suy luận logic, đến các bài toán như chơi cờ, chứng minh định lý Thường thì các nhà khoa học ở các lĩnh vực khác tìm đến với trí tuệ nhân tạo ở các kỹ thuật hệ thống hoá và tự động hoá các xử lý tri thức cũng như các phương pháp thuộc lĩnh vực mang tính người

Trí tuệ nhân tạo nghiên cứu kỹ thuật làm cho máy tính có thể “suy nghĩ một cách thông minh” và mô phỏng quá trình suy nghĩ của con người khi đưa ra những quyết định, lời giải Trên cơ sở đó, thiết kế các chương trình cho máy tính để giải quyết bài toán

Sự ra đời và phát triển của Trí tuệ nhân tạo đã tạo ra một bước nhảy vọt về chất trong kỹ thuật và kỹ nghệ xử lý thông tin Trí tuệ nhân tạo chính là cơ sở của công nghệ xử lý thông tin mới, độc lập với công nghệ xử lý thông tin truyền thống dựa trên văn bản giấy tờ Điều này được thể hiện qua các mặt sau:

 Nhờ những công cụ hình thức hoá (các mô hinh logic ngôn ngữ, logic mờ, ), các tri thức thủ tục và tri thức mô tả có thể biểu diễn được trong máy Do vậy quá trình giải bài toán được tiến hành hữu hiệu hơn

Trang 33

 Mô hình logic ngôn ngữ đã mở rộng khả năng ứng dụng của máy tính trong lĩnh vực đòi hỏi tri thức chuyên gia ở trình độ cao, rất khó như: y học, sinh học, địa lý, tự động hóa

 Một số phần mềm trí tuệ nhân tạo thể hiện tính thích nghi và tính mềm dẻo đối với các lớp bài toán thuộc nhiều lĩnh vực khác nhau

 Khi máy tính được trang bị các phần mềm trí tuệ nhân tạo ghép mạng sẽ cho phép giải quyết những bài toán cỡ lớn và phân tán

1.5.4 Các kỹ thuật Trí tuệ nhân tạo

Có nhiều kỹ thuật nghiên cứu, phát triển ngành khoa học Trí tuệ nhân tạo Tuy vậy, các kỹ thuật Trí tuệ nhân tạo thường khá phức tạp khi cài đặt cụ thể, lý do

là các kỹ thuật này thiên về xử lý các ký hiệu tượng trưng và đòi hỏi phải sử dụng những tri thức chuyên môn thuộc nhiều lĩnh vực khác nhau

Do vậy, các kỹ thuật Trí tuệ nhân tạo hướng tới khai thác những tri thức về lĩnh vực đang quan tâm được mã hoá trong máy sao cho đạt được mức độ tổng quát; dễ hiểu, dễ diễn đạt thông qua ngôn ngữ chuyên môn gần gũi với ngôn ngữ

tự nhiên, dễ sửa đổi, hiệu chỉnh, dễ sử dụng, khai thác nhằm thu hẹp các khả năng cần xét để đi tới lời giải cuối cùng

Các kỹ thuật Trí tuệ nhân tạo cơ bản bao gồm :

 Lý thuyết giải bài toán và suy diễn thông minh: Lý thuyết giải bài

toán cho phép viết các chương trình giải câu đố, chơi các trò chơi thông qua các suy luận mang tính người; các hệ thống chứng minh định lý Ngoài ra các hệ thống hỏi đáp thông minh còn cho phép lưu trữ và xử lý khối lượng lớn các thông tin

 Lý thuyết tìm kiếm may rủi: Lý thuyết này bao gồm các phương pháp

và kỹ thuật tìm kiếm với sự hỗ trợ của thông tin phụ để giải bài toán một cách có hiệu quả

 Các ngôn ngữ về Trí tuệ nhân tạo: Để xử lý các tri thức người ta

không chỉ sử dụng các ngôn ngữ lập trình dùng cho các xử lý dữ liệu số, mà cần có ngôn ngữ khác Các ngôn ngữ chuyên dụng này cho phép lưu trữ và xử lý thông tin

33

Trang 34

ký hiệu Một số ngôn ngữ được nhiều người biết đến là IPL.V, LISP, PROLOG.

 Lý thuyết thể hiện tri thức và hệ chuyên gia: Trí tuệ nhân tạo là khoa

học về thể hiện và sử dụng tri thức Mạng ngữ nghĩa, lược đồ, logic vị từ, khung là các phương pháp thể hiện tri thức thông dụng Việc gắn liền cách thể hiện và sử dụng tri thức là cơ sở hình thành hệ chuyên gia

 Lý thuyết nhận dạng và xử lý tiếng nói: Giai đoạn phát triển đầu của

Trí tuệ nhân tạo gắn với lý thuyết nhận dạng Các phương pháp nhận dạng chính gồm: nhận dạng hình học, nhận dạng dùng tâm lý học, nhận dạng theo phương pháp hàm thế, dùng máy nhận dạng Ứng dụng của phương pháp này trong việc nhận dạng chữ viết, âm thanh

 Người máy: Cuối những năm 70, người máy trong công nghiệp đã đạt

được nhiều tiến bộ Người máy có bộ phận cảm nhận và các cơ chế hoạt động được nối ghép theo sự điều khiển thông minh Khoa học về cơ học và Trí tuệ nhân tạo được tích hợp trong khoa học người máy

 Tâm lý học xử lý thông tin: Các kết quả nghiên cứu của tâm lý học

giúp Trí tuệ nhân tạo xây dựng các cơ chế trả lời theo hành vi, có ý thức; nó giúp cho việc thực hiện các suy diễn mang tính người

 Ngoài ra, xử lý danh sách, kỹ thuật đệ quy, kỹ thuật quay lui và xử

lý cú pháp hình thức là những kỹ thuật cơ bản của tin học truyền thống có liên

quan trực tiếp đến Trí tuệ nhân tạo

1.5.5 Lịch sử phát triển của Trí Tuệ Nhân Tạo.

Lịch sử của Trí tuệ nhân tạo cho thấy ngành khoa học này có nhiều kết quả đáng ghi nhận Theo các mốc phát triển, người ta thấy Trí tuệ nhân tạo được sinh

ra từ những năm 50 với các sự kiện sau:

 Turing được coi là người khai sinh ngành Trí tuệ nhân tạo bởi phát hiện của ông về máy tính có thể lưu trữ chương trình và dữ liệu

 Tháng 8-1956 J.Mc Carthy, M Minsky, A Newell, Shannon Simon,…

Trang 35

đưa ra khái niệm “Trí tuệ nhân tạo”

 Vào khoảng năm 1960 tại Đại học MIT (Massachussets Institure of Technology) ngôn ngữ LISP ra đời, phù hợp với các nhu cầu xử lý đặc trưng của trí tuệ nhân tạo - đó là ngôn ngữ lập trình đầu tiên dùng cho trí tuệ nhân tạo

 Thuật ngữ Trí tuệ nhân tạo được dùng đầu tiên vào năm 1961 cũng tại MIT

 Những năm 60 là giai đoạn lạc quan cao độ về khả năng làm cho máy tính biết suy nghĩ Trong giai đoạn này người ta đã được chứng kiến máy chơi cờ đầu tiên và các chương trình chứng minh định lý tự động



35

Trang 36

 Một số vấn đề Trí tuệ nhân tạo quan tâm

Những vấn đề chung

Khoa học Trí tuệ nhân tạo liên quan đến cảm giác, tri giác và cả quá trình tư duy thông qua các hành vi, giao tiếp Nó có các định hướng nghiên cứu, ứng dụng sau:

1- Tìm và nghiên cứu các thủ tục giúp con người tiến hành các hoạt động sáng tạo Công việc sáng tạo được thực hiện trên mô hình theo cấu trúc, chức năng

và sử dụng công nghệ thông tin

2- Dùng ngôn ngữ tự nhiên Trước hết là ngôn ngữ được dùng để thể hiện tri thức, tiếp thu và chuyển hoá sang dạng có thể xử lý được

3- Hình thức hoá các khía cạnh, các hành vi liên quan đến Trí tuệ nhân tạo

Do vậy có thể xây dựng các bài toán mang tính người và thông minh

Các hoạt động lớn trong Trí tuệ nhân tạo bao gồm: chứng minh định lý, xử

lý ngôn ngữ tự nhiên, hiểu tiếng nói, phân tích ảnh và hình, người máy và hệ chuyên gia Về cài đặt hệ thống, khuynh hướng hiện tại của Trí tuệ nhân tạo là cài đặt các hệ Trí tuệ nhân tạo trong các hệ thống khác, đặc biệt là trong các hệ thống tin học

Những vấn đề chưa được giải quyết trong Trí tuệ nhân tạo

Những thành tựu nghiên cứu và ứng dụng các kỹ thuật Trí tuệ nhân tạo đã khẳng định tính thực tiễn của các dự án xây dựng máy tính có khả năng suy nghĩ

Tuy vậy trong một số phạm vi, máy tính còn thua xa so với hoạt động của hệ thần kinh con người:

Sự khác nhau trong hoạt động giữa máy tính và bộ não con người, điều này thể hiện ưu thế của máy tính so với bộ não người vì khả năng tính toán rất lớn (nhất là trong các chương trình xử lý dữ liệu lớn)

Xử lý song song: Mặc dù công nghệ điện tử hiện đại cho phép xây dựng các

bộ đa xử lý, song máy tính không thể hoạt động song song như bộ não con người

Trang 37

được

Khả năng diễn giải: Con người có thể xem xét cùng một vấn đề theo những

phương pháp khác nhau, từ đó diễn giải theo cách dễ hiểu nhất Ngược lại, sự linh hoạt này không thể mô phỏng được trong các hệ thống Trí tuệ nhân tạo

Logic rời rạc và tính liên tục: Một thách đố lớn với các hệ thống Trí tuệ

nhân tạo là khả năng kết hợp các phương pháp xử lý thông tin trong môi trường liên tục với các thao tác xử lý thông tin rời rạc

Khả năng học: Mặc dù hiện nay máy tính có nhiều tính năng cao nhưng

cũng không thể mô phỏng được hoàn toàn khả năng học giống bộ não con người

Khả năng tự tổ chức: Cho tới nay, người ta chưa thể tạo lập được các hệ

thống Trí tuệ nhân tạo có khả năng tự tổ chức, tự điều khiển hoạt động của nó để thích nghi với môi trường

Những vấn đề đặt ra trong tương lai của Trí tuệ nhân tạo.

Trong tương lai, những nghiên cứu và ứng dụng của Trí tuệ nhân tạo tập trung vào các vấn đề lớn sau:

Nghiên cứu và thử nghiệm các mạng Neuron, các hệ thống Trí tuệ nhân tạo

mô phỏng chức năng hoạt động của bộ não với các khả năng học, tự tổ chức, tự thích nghi, tổng quát hoá, xử lý song song, có khả năng diễn giải, xử lý thông tin liên tục và rời rạc

Nghiên cứu và tạo lập các hệ thống có giao tiếp thân thiện giữa người và máy trên cơ sở nghiên cứu nhận thức máy, thu thập và xử lý tri thức, xử lý thông tin hình ảnh, tiếng nói

Nghiên cứu các phương pháp biểu diễn tri thức và các phương pháp suy diễn thông minh, các phương pháp giải quyết vấn đề đối với những bài toán phụ thuộc không gian, thời gian

Ngày nay, thế giới đang chuyển mình trong những nghiên cứu về Trí tuệ nhân tạo Chắc chắn rằng máy tính với trí tuệ như con người sẽ tác động mạnh đến cuộc sống xã hội

37

Trang 38

 Các khái niệm cơ bản

Trí tuệ con người (Human Intelligence): Cho đến nay có hai khái niệm về

trí tuệ con người được chấp nhận và sử dụng nhiều nhất, đó là:

 Khái niệm trí tuệ theo quan điểm của Turing :

“Trí tuệ là những gì có thể đánh giá được thông qua các trắc nghiệm thông minh”

 Khái niệm trí tuệ đưa ra trong tụ điển bách khoa toàn thư:

“Trí tuệ là khả năng phản ứng một cách thích hợp những tình huống mới thông qua hiệu chỉnh hành vi một cách thích đáng.”

Hiểu rõ những mối liên hệ qua lại của các sự kiện của thế giới bên ngoài nhằm đưa ra những hành động phù hợp đạt tới một mục đích nào đó

Những nghiên cứu các chuyên gia tâm lý học nhận thức chỉ ra rằng quá trình hoạt động trí tuệ của con người bao gồm 4 thao tác cơ bản:

4) Áp dụng các cơ chế suy diễn cụ thể (inference mechanisms) để đưa các

sự kiện ban đầu đi đến đích

Trí tuệ máy: cũng không có một định nghĩa tổng quát, nhưng cũng có thể

nêu các đặc trưng chính:

1) Khả năng học

2) Khả năng mô phỏng hành vi của con người

3) Khả năng trừu tượng hoá, tổng quát hoá và suy diễn

4) Khả năng tự giải thích hành vi

5) Khả năng thích nghi tình huống mới kể cả thu nạp tri thức và dữ liệu.6) Khả năng xử lý các biểu diễn hình thức như các ký hiệu tượng trưng

Trang 39

7) Khả năng sử dụng tri thức heuristic.

8) Khả năng xử lý các thông tin không đầy đủ, không chính xác

1.5.8 Một số chuyên ngành của Trí tuệ nhân tạo

1 Các phương pháp tìm kiếm lời giải

<aiml> biểu thị phiên bản AIML đang được dùng, mỗi file này chứa các phần tử AIML gồm có các đối tượng dữ liệu được gọi là đối tượng AIML AIML, mô tả một lớp các đối tượng dữ liệu được gọi là đối tượng AIML và một phần mô tả hành vi của chương trình máy tính xử lý chúng Các đối tượng AIML được tạo thành từ các topic và các category, trong đó bao gồm cả dữ liệu được phân tích hoặc chưa phân tích cú pháp

Dữ liệu đã phân tích cú pháp được tạo thành từ các ký tự và một số mẫu yếu

tố AIML Những yếu tố AIML gói gọn kiến thức phản hồi trong tài liệu Dữ liệu

ký tự trong những yếu tố này đôi khi được phân tích bằng một trình thông dịch AIML và đôi khi để lại chưa phân tích sau khi xử lý bởi một Responder

Trang 40

< template > Xin chao, ban ten la gi ? </ template >

</ category >

</ aiml >

1.6.2 Các Category và đặc tính của AIML

Các đơn vị kiến thức cơ bản trong AIML được gọi là một category Mỗi category bao gồm một câu hỏi đầu vào, một câu trả lời đầu ra, và một bối cảnh tùy chọn Các câu hỏi, hoặc sự kích thích, được gọi là pattern Câu trả lời, hoặc phản hồi, được gọi là template Hai loại bối cảnh tùy chọn này được gọi là "that" và

"topic" Ngôn ngữ mô hình AIML, chỉ gồm các từ ngữ, dấu cách, và các biểu tượng ký tự đại diện “_” và “*” Những lời nói có thể bao gồm chữ cái và chữ số, nhưng không có các ký tự khác Ngôn ngữ mô hình là trường hợp bất biến Từ ngữ được phân cách bởi một dấu cách duy nhất, và các ký tự đại diện chức năng giống như lời nói

Các phiên bản đầu tiên của AIML cho phép chỉ có một ký tự đại diện cho một mô hình Tiêu chuẩn AIML 1.01 cho phép nhiều ký tự đại diện trong mỗi template, nhưng ngôn ngữ được thiết kế để đơn giản nhất có thể cho các nhiệm vụ chính, đơn giản hơn cả biểu thức thông thường Template là một phản hồi hoặc trả lời AIML Ở dạng đơn giản nhất, mẫu chỉ bao gồm bản rõ, văn bản không dấu

Tổng quan hơn, các thẻ AIML chuyển đổi câu trả lời vào một chương trình máy tính thu nhỏ có thể lưu dữ liệu, kích hoạt các chương trình khác, cho phản ứng

có điều kiện và đệ quy gọi các khớp mẫu để chèn cách câu trả lời từ các category khác Hầu hết các thẻ AIML trong thực tế thuộc về mẫu bên ngôn ngữ con

Ngày đăng: 09/12/2016, 01:25

HÌNH ẢNH LIÊN QUAN

Hình 2.2 Ứng dụng Busuu - Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android
Hình 2.2 Ứng dụng Busuu (Trang 50)
Hình 2.4 Biểu đồ UseCase - Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android
Hình 2.4 Biểu đồ UseCase (Trang 54)
Hình 2.6 Biểu đồ trình tự UseCase Send Feedback to Developer - Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android
Hình 2.6 Biểu đồ trình tự UseCase Send Feedback to Developer (Trang 60)
Hình 2.8 Biểu đồ trình tự UseCase Learn By Topic - Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android
Hình 2.8 Biểu đồ trình tự UseCase Learn By Topic (Trang 62)
Hình 2.9 Biểu đồ trình tự UseCase Learn Vocabulary - Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android
Hình 2.9 Biểu đồ trình tự UseCase Learn Vocabulary (Trang 63)
Hình 2.11  Biểu đồ trình tự UseCase Review Vocabulary - Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android
Hình 2.11 Biểu đồ trình tự UseCase Review Vocabulary (Trang 65)
Hình 2.12  Biểu đồ trình tự UseCase Review Sentences Learned - Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android
Hình 2.12 Biểu đồ trình tự UseCase Review Sentences Learned (Trang 66)
Hình 2.14  Biểu đồ cộng tác UseCase Pronuncication By Video - Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android
Hình 2.14 Biểu đồ cộng tác UseCase Pronuncication By Video (Trang 68)
Hình 2.16 Biểu đồ cộng tác UseCase Learn By Level - Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android
Hình 2.16 Biểu đồ cộng tác UseCase Learn By Level (Trang 70)
Hình 2.17 Biểu đồ cộng tác UseCase Learn By Topic - Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android
Hình 2.17 Biểu đồ cộng tác UseCase Learn By Topic (Trang 71)
Hình 2.18 Biểu đồ cộng tác UseCase Learn Vocabulary - Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android
Hình 2.18 Biểu đồ cộng tác UseCase Learn Vocabulary (Trang 72)
Hình 2.19 Biểu đồ cộng tác UseCase Learn Contexual Communocation - Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android
Hình 2.19 Biểu đồ cộng tác UseCase Learn Contexual Communocation (Trang 73)
Hình 2.21 Biểu đồ cộng tác UseCase Review Sentences Learned - Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android
Hình 2.21 Biểu đồ cộng tác UseCase Review Sentences Learned (Trang 75)
Hình 2.30 Biểu đồ Hoạt động tổng quát - Xây dựng phần mềm học tiếng anh giao tiếp trên nền tảng android
Hình 2.30 Biểu đồ Hoạt động tổng quát (Trang 86)

TỪ KHÓA LIÊN QUAN

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