[MUSIC CHƠI] DAVID Malan: Đây là CS50. Đây là phần cuối của tuần 10. Và cậu bé, chúng ta có một lớp học tốt cho bạn ngày hôm nay. Chúng tôi rất vui mừng mời hai bạn bè của chúng tôi từ Yale lên để chúng ta hôm nay và nhìn vào các giao điểm của trí tuệ nhân tạo, robot, xử lý ngôn ngữ tự nhiên, và nhiều hơn nữa. Và quả thực, trong Vài tuần qua, chúng tôi đã chắc chắn đã dành rất nhiều thời gian, đặc biệt là trong các psets trước đó, tập trung vào khá chi tiết ở mức độ thấp. Và nó rất dễ dàng để mất thị giác của rừng cây và được treo lên trên mạch, điều kiện và con trỏ, chắc chắn, và như thế. Nhưng thực tế là các bạn bây giờ có thành phần mà bạn có thể thực sự giải quyết một số vấn đề thú vị, trong số họ những người bạn bè của chúng tôi tại Yale làm việc trên chỉ nhút nhát của Cambridge. Vì vậy, cho phép tôi đầu tiên giới thiệu đầu của chúng tôi giảng dạy trợ từ Yale, Andy. [Vỗ tay] ANDY: Trước hết, chỉ cần cảm ơn bạn cho phép một vài Yalies để bật trên xuống Cambridge ngày hôm nay. Chúng tôi thực sự đánh giá cao nó. Thứ hai, để bạn bè của chúng tôi lại home-- Jason, cảm ơn cho ở lại và chạy bài giảng. Hy vọng tất cả đều tốt ở New Haven. Vì vậy, yeah, tôi vui mừng siêu để giới thiệu Scaz ngày hôm nay. Scaz chạy các phòng thí nghiệm robot. Anh ấy là một giáo sư, như, năm phòng ban khác nhau tại Yale. Trong phòng thí nghiệm của mình, ông đã có nhiều, rất nhiều robot mà anh thích chơi với. Ông có, như thế, việc nhạt nhẽo trong thế giới. Và anh ta sẽ đến loại lộn xộn xung quanh với tất cả các ngày dài và làm một số công việc, là tốt. Và vì vậy chúng tôi đã thực sự mang một của chúng xuống với chúng ta ngày nay. Vì vậy, không có thêm ado, Scaz là sẽ đi trước và giới thiệu chúng tôi cho bạn bè robot của mình. [Vỗ tay] BRIAN SCASSELLATI: Thanks, David. Thanks, Andy. Nó là tuyệt vời để được ở đây với tất cả mọi người ngày nay. Tôi muốn đầu tiên là rất rõ ràng rằng các nhân viên ở đây CS50 ở Cambridge đã được vô cùng hiếu khách cho chúng tôi. Chúng tôi rất biết ơn tất cả mọi thứ họ đã làm để ủng hộ chúng tôi. Và vì vậy chúng tôi muốn để có thể để trả lại lòng tốt. Vì vậy, ngày hôm nay, chúng tôi nhận được thông báo rằng chúng ta sẽ có một mới, một-of-a-loại sự kiện CS50 xảy ra ở New Haven vào tuần tới. Và đây là những nghiên cứu Expo CS50. Vì vậy, chúng ta sẽ được mời everyone-- CS50 sinh viên, nhân viên từ cả Harvard và Yale-- để đi xuống và ghé thăm với chúng tôi vào ngày thứ Sáu. Chúng tôi sẽ có nhiều hơn 30 người khác nhau trình bày và upperclassmen exhibiting-- thấy off một số sản phẩm nghiên cứu của họ. Chúng tôi sẽ có một số phần khởi động, thậm chí, tìm kiếm cho một chút tài năng công nghệ mới, khởi động từ cả Harvard và Yale. Và chúng tôi sẽ có một số nhóm học sinh tìm kiếm một số thành viên mới. Nó sẽ là một thời gian rất thú vị. Hy vọng rằng với những người bạn là ai xuống cho các trò chơi Harvard-Yale sẽ có thể để ngăn chặn bởi một chút đầu, ngay tại trung tâm của khuôn viên trường, Thư viện Tưởng niệm Sterling. Chúng ta sẽ có một bộ tang vật có giá trị từ tự trị thuyền buồm đến cách sử dụng phần mềm giữ gìn bản thảo thời Trung cổ. Chúng ta sẽ có quảng cáo mạng hoc và người dạy phần mềm mã hóa ở Cape Town. Chúng tôi sẽ có máy tính các cuộc biểu tình âm nhạc. Và chúng tôi sẽ tất nhiên có nhiều robot. Vì vậy, chúng tôi hy vọng bạn sẽ tham gia với chúng tôi để sự kiện này. Nó nên được rất nhiều niềm vui, một chút thức ăn, và rất nhiều thú vị chuyện để nói. Vì vậy, ngày hôm nay, chúng ta sẽ nói chuyện về xử lý ngôn ngữ tự nhiên. Và đây là những nỗ lực cho chúng tôi để xây dựng một phương pháp mới để interfacing với các thiết bị của chúng tôi bởi vì trong vài tuần gần đây, bạn đã được tập trung vào việc làm thế nào mà bạn có thể viết mã, viết phần mềm đó là một cách để có thể nói đến một máy, đây là những gì tôi muốn bạn làm. Nhưng chúng ta không nên cần phải hy vọng rằng tất cả mọi thứ đó là ra khỏi đó được sử dụng bởi tất cả mọi người trên thế giới là có được thành thạo trong các loại hình hướng dẫn. Vì vậy, chúng ta phân biệt giữa máy tính ngôn ngữ và languages-- tự nhiên nghĩa là, những thứ mà con người sử dụng để giao tiếp với người khác. Và chúng tôi cố gắng để xây dựng giao diện sử dụng các cơ chế giao tiếp tự nhiên. Bây giờ, chỉ thích mỗi chủ đề khác mà chúng tôi đã bắt đầu với năm CS50, chúng ta sẽ bắt đầu với việc đơn giản nhất bit xử lý ngôn ngữ tự nhiên rằng chúng ta có thể tưởng tượng. Chúng ta sẽ bắt đầu với một phần lịch sử của ngôn ngữ tự nhiên. Và sau đó chúng tôi sẽ xây dựng lên đến hơn và nhiều hơn nữa hệ thống gần đây và có một số trình diễn vui vẻ trên đường đi. Vì vậy, chúng ta sẽ bắt đầu với những gì đã có lẽ là ngôn ngữ tự nhiên đầu tiên hệ thống xử lý. Đây là một hệ thống phần mềm được viết trong 1966 bởi Joseph Weizenbaum gọi là ELIZA. Và ELIZA được thiết kế để nhân rộng các loại tương tác bạn sẽ có một Trị liệu tâm lý Rogerian. Bây giờ, các Rogerians, họ đã có một ý tưởng rằng tâm lý liên quan đến việc có thể để phản ánh lại cho bệnh nhân và nói chuyện với họ, về cơ bản, chỉ cho họ một chút nhỏ bé của các bác sĩ chuyên khoa. Đó là, tất cả mọi thứ mà các bác sĩ chuyên khoa cho biết được cho là chỉ là một sự phản ánh của những bệnh nhân đã được nói với họ. Vì vậy, hãy cố gắng và bản demo này. Chúng ta có một tình nguyện viên người muốn được sẵn sàng chia sẻ sâu sắc nhất của họ, đen tối nhất, và / hoặc bí mật giả mạo với ELIZA? Chắc chắn, tại sao bạn không đến trên lên. Tuyệt diệu. Và tên của bạn? MILES: Miles. BRIAN SCASSELLATI: Miles. Rất vui được gặp bạn, Miles. Nếu em sẽ ôm chặt mà. Và chúng ta sẽ sử dụng một phiên bản của ELIZA mà chúng tôi đã nhân rộng trong IDE CS50. Và chúng ta sẽ xem xét các nguồn mã này trong một thời gian ngắn. Nhưng đối với ngay bây giờ, chúng tôi chỉ sẽ gọi nó bằng cách gõ eliza. Và ELIZA là sẽ cung cấp cho bạn câu trả lời rằng đang có được trong tất cả các thủ đô. Và sẽ hỏi bạn một số câu hỏi. Và chúng tôi sẽ đáp ứng và gõ trong phản ứng để ELIZA. Vì vậy, Eliza đã nói, "Xin chào, tôi là ELIZA. Vấn đề của bạn là gì?" Những gì bạn muốn nói ELIZA về ngày hôm nay? MILES: Tôi chỉ có thể rơi vào giấc ngủ nếu tôi có dép đi trong nhà chú thỏ trên. BRIAN SCASSELLATI: Tất cả các quyền. Được rồi. [Cười] "Tôi chỉ có thể rơi vào giấc ngủ với dép đi trong nhà thỏ về. " Và ELIZA nói, "Này, làm bạn có bất kỳ vấn đề tâm lý? Có lẽ đây là một dấu hiệu tốt. " ĐƯỢC. Vì vậy, những gì bạn muốn trả lời? MILES: Yes. BRIAN SCASSELLATI: Yes. Man của nhiều từ. Tôi thích điều đó. Eliza nói, "Bạn có vẻ khá tích cực." MILES: Không, tôi, trên thực tế, một electron. BRIAN SCASSELLATI: "No. Trong thực tế, tôi là một electron. " "Em có đến với tôi bởi vì bạn là một electron? " Bây giờ, chúng ta có thể thấy một số các things-- tôi sẽ tạm dừng bạn cho chỉ một giây, Miles. Đừng đi bất cứ nơi nào. Chúng tôi không thực hiện với bạn chưa. ELIZA là, trong một số cách, ứng phó với những điều nhất định rằng ông đang nói nhưng không có bất kỳ sự hiểu biết thực sự. Và nó cũng parroting lại một số của các bộ phận của câu nói. Vì vậy, chúng tôi đã nói, "No. Trong thực tế, tôi là một electron. " Eliza đáp lại, "Em đi vì em là một điện tử? " Được rồi. Hãy cung cấp cho nó một trong nhiều phản ứng ở đây. Cung cấp cho nó một trong những tốt, Miles. MILES: Good one? Vâng, xin vui lòng giúp đỡ tôi. BRIAN SCASSELLATI: "Có. Xin hãy giúp tôi. "" Anh chắc chứ? " MILES: No. BRIAN SCASSELLATI: No. "Cái đó gợi ý cho bạn?" MILES: Tôi có thể không một electron. BRIAN SCASSELLATI: "Tôi có thể không phải là một electron. " "Bạn có nói không chỉ để được tiêu cực?" Được rồi. Vì vậy, Miles, cảm ơn bạn rất nhiều. MILES: Cảm ơn bạn. BRIAN SCASSELLATI: Cảm ơn rất nhiều. [Vỗ tay] Vì vậy, chương trình này ELIZA, bằng nhiều cách, được đáp ứng chỉ để các mảnh mà chúng tôi đang cung cấp mà không có bất kỳ sâu sự hiểu biết về những gì đang xảy ra ở đây. Đây là một loại hệ thống được gọi là mô hình kết hợp, nơi chúng tôi đang tìm kiếm nhất định bit của văn bản mà chúng tôi sau đó sẽ đưa ra những gì được cung cấp như là đầu vào, chuyển đổi nó, có thể, một cách nào đó, và sau đó đưa lại cho người sử dụng. Làm bất kỳ của bạn nghĩ mà thực sự là ELIZA thực hiện phân tâm học có giá trị ở đây? Một người, có lẽ. Đung [không nghe được]. BRIAN SCASSELLATI: Và làm thế nào Điều đó làm cho bạn cảm thấy? Có, trong thực tế, nó. Và chúng ta sẽ thấy, trên thực tế, mã nguồn cho nó chỉ trong một khoảnh khắc. Và như vậy bạn sẽ được thể hiện chính xác này. Bây giờ, ELIZA là một trong những hình thức gì chúng tôi sẽ gọi ngày hôm nay chat bot. Nó chỉ đi qua văn bản mà bạn đang cung cấp, cung cấp số lượng tối thiểu hiểu biết hoặc chế biến, và sau đó vẹt nó lại cho bạn. Vì vậy, chúng ta hãy có một cái nhìn, khái niệm, và nói về những gì nó là ELIZA là thực sự làm. ELIZA được tham gia một let sentence-- của nói, "Tôi muốn gây ấn tượng với ông chủ của tôi." Và ELIZA đang tìm kiếm qua câu đó và cố gắng để tìm và phù hợp với các mẫu nhất định. Vì vậy, ví dụ, một trong những mô hình rằng ELIZA đang tìm kiếm là những lời "Tôi muốn." Và bất cứ lúc nào nó thấy một cái gì đó mà có "tôi muốn" trong đó, nó formulates một phản ứng. Và phản ứng đó là một chuỗi cố định. Trong trường hợp này, đó là "tại sao bạn muốn?" Và tôi đặt một ngôi sao nhỏ ở kết thúc bởi vì đó chỉ đầu phản ứng của chúng tôi. Và ngôi sao chỉ ra rằng chúng ta sẽ mất phần còn lại của utterance-- của người dùng "để gây ấn tượng với ông chủ của tôi" - và chúng ta sẽ phải nối thêm rằng vào cuối của chuỗi này. Vì vậy, bây giờ, thay vì nói: "tại sao Bạn muốn gây ấn tượng ông chủ của tôi, " có một chút thêm chế biến mà chúng ta sẽ làm. Đó là, chúng ta sẽ phải chuyển đổi một số các đại từ ở đây từ "ông chủ của tôi" thành "ông chủ của bạn." Và có thể có một vài khác thay đổi mà chúng ta cần phải thực hiện. Vì vậy, thay vì chỉ gắn bó nó trực tiếp lên cuối cùng, những gì chúng tôi sẽ làm là chúng ta sẽ mất phần còn lại của utterance-- của người dùng trong here-- trắng và chúng tôi sẽ mang nó một mảnh tại một thời gian và chuyển đổi từng chuỗi token, mỗi từ, thành câu. Vì vậy, chúng tôi sẽ lấy chữ "đến". Không có chuyển đổi rằng chúng ta cần phải làm điều đó. "Gây ấn tượng." Không có chuyển đổi chúng ta cần phải làm gì ở đó. "My" sẽ chuyển sang "của bạn." Và "ông chủ", chúng tôi sẽ chỉ để lại là "ông chủ". Và cuối cùng, bất cứ điều gì mà kết thúc với một khoảng thời gian, chúng tôi sẽ chuyển đổi nó thành một câu hỏi. Mô hình kết hợp rất đơn giản này thực sự là khá thành công. Và khi điều này đã được giới thiệu trong 1966-- Joseph Weizenbaum lập trình này trên một máy tính. Bây giờ, máy tính tại thời điểm đó không mô hình máy tính để bàn. Họ đã chia sẻ tài nguyên. Và học sinh của mình sẽ đi và chat với Eliza. Cuối cùng, ông đã phải hạn chế truy cập vào nó vì em học sinh đã không nhận được bất kỳ công việc thực hiện. Họ đã chỉ chat với Eliza. Và, trên thực tế, ông đã phải bắn trợ lý của ông, người dành tất cả thời gian của mình nói chuyện với ELIZA về vấn đề sâu sắc và đáng lo ngại của cô. Tất cả những người sử dụng các hệ thống này bắt đầu anthropomorphize họ. Họ bắt đầu nghĩ về họ như là animate và người thật. Họ bắt đầu nhận ra một số những điều mà họ nói đã trở lại với họ. Và họ đã tìm ra những điều về bản thân mình. Và, trên thực tế, ngay cả các chuyên gia, ngay cả những nhà tâm lý trị, bắt đầu lo lắng rằng, trên thực tế, có lẽ ELIZA sẽ thay thế chúng. Và ngay cả những máy tính các nhà khoa học lo lắng rằng chúng tôi đã rất gần đến việc giải quyết ngôn ngữ tự nhiên. Bây giờ, đó không phải là bất cứ nơi nào gần với sự thật. Nhưng đó là cách ấn tượng các hệ thống này có thể có vẻ. Vì vậy, chúng ta hãy bắt đầu tìm kiếm bên dưới và cố gắng để có được một chút của một câu hỏi nơi mã này thực sự xảy ra. Vì vậy, chúng tôi sẽ làm cho mã này có sẵn sau đó. Và điều này là rất cổng đơn giản và trực tiếp việc thực hiện ELIZA gốc. Vì vậy, một số trong những phong cách điều mà bạn sẽ thấy ở đây không phải là phong cách gì chúng ta sẽ muốn bạn làm hoặc những gì chúng tôi đã được giảng dạy bạn làm. Nhưng chúng tôi đã cố gắng để giữ cho chúng giống nhau trên nhiều cổng rằng điều này đã để nó có được hương vị của bản gốc. Vì vậy, chúng ta sẽ bao gồm một bó của sự vật, và sau đó chúng ta sẽ có một thiết lập các từ khóa, điều rằng ELIZA sẽ nhận ra và trả lời trực tiếp. Vì vậy, nếu bạn có những từ như "có thể giúp bạn" hay "Tôi không" hoặc "không" hoặc "có" hay "giấc mơ" hay "hello", sau đó ELIZA sẽ đáp ứng một cách chọn lọc để những người. Chúng tôi cũng sẽ có một số lượng nhất định của sự vật rằng chúng ta sẽ trao đổi, như chuyển đổi "tôi" thành "của bạn." Và sau đó chúng ta sẽ có một tập hợp các phản ứng rằng đối với mỗi của các từ khóa, chúng tôi sẽ xoay qua những phản ứng khác nhau. Vì vậy, nếu tôi nói "yes" ba lần liên tiếp, tôi có thể có được ba khác nhau phản hồi từ ELIZA. Mã của chúng tôi, sau đó, là thực sự đơn giản đáng kể. Nếu tôi di chuyển xuống qua tất cả các câu trả lời mà chúng ta đã được lập trình trong và chúng tôi nhận được xuống để chính chúng ta, chúng ta sẽ khởi tạo một vài biến số khác nhau và làm một chút việc nhà ở thời điểm bắt đầu. Nhưng sau đó có hoàn toàn một bộ mã mà bạn có thể hiểu được. Một vòng lặp trong khi lớn mà nói tôi đi lặp lại điều này hơn và hơn. Tôi sẽ đọc trong một dòng, và tôi sẽ lưu trữ trong một chuỗi đầu vào. Tôi sẽ kiểm tra và xem đó là từ khoá đặc biệt "bye", mà có nghĩa là thoát khỏi chương trình. Và sau đó tôi sẽ kiểm tra và xem liệu ai đó chỉ là lặp lại chính mình hêt lân nay tơi lân khac. Và tôi sẽ hét lên với họ nếu họ làm. Tôi sẽ nói "không lặp lại chính mình." Miễn là không ai trong số những người xảy ra, chúng tôi sẽ sau đó quét qua và lặp qua, trên dòng 308-313 ở đây, và kiểm tra và xem là bất kỳ của những từ khóa cụm từ chứa trong các đầu vào mà tôi đã được chỉ định? Nếu có một trận đấu cho họ, cũng Sau đó, tôi sẽ nhớ vị trí đó. Tôi sẽ nhớ từ khoá đó. Và tôi sẽ có thể xây dựng một phản ứng. Nếu tôi không tìm thấy một, cũng sau đó, điều cuối cùng trong mảng từ khoá của tôi sẽ là những phản ứng mặc định của tôi, khi không có gì khác phù hợp. Tôi sẽ hỏi những câu hỏi như "Tại sao bạn đến đây? "hay" Làm thế nào tôi có thể giúp bạn? " mà chỉ là một phần thích hợp không có vấn đề gì các đầu vào được. Sau đó chúng tôi sẽ xây dựng lên phản ứng của Eliza. Chúng tôi sẽ có thể mất rằng phản ứng của cơ sở, cũng như chúng ta đã làm trong đó "ông chủ của tôi" ví dụ. Nếu đó là tất cả những gì có is-- nếu nó chỉ là một chuỗi mà tôi phải respond-- Tôi chỉ có thể gửi nó trở ra. Nếu nó có một dấu hoa thị ở kết thúc của nó, sau đó tôi sẽ xử lý mỗi thẻ cá nhân phần còn lại của phản ứng của người dùng và thêm vào thông tin trong trao đổi ra từng chữ như tôi cần. Tất cả điều này là hoàn toàn cái gì mà bạn có thể xây dựng. Và trên thực tế, những cách thức mà chúng ta có xử lý đối số dòng lệnh, cách thức mà bạn có xử lý thông qua các yêu cầu HTTP theo cùng loại của các quy tắc. Họ là mô hình kết hợp. Vì vậy, Eliza đã có một tương đối quan trọng tác động trên ngôn ngữ tự nhiên vì nó làm cho nó có vẻ như đó là một Mục tiêu rất đạt, như bằng cách nào đó, chúng tôi muốn có thể giải quyết vấn đề này trực tiếp. Bây giờ, điều đó không có nghĩa là ELIZA làm tất cả mọi thứ mà chúng tôi muốn làm. Chắc chắn không. Nhưng chúng ta có thể để làm một cái gì đó nhiều hơn. Bước đầu tiên của chúng tôi để đi ngoài ELIZA sẽ để có thể nhìn vào không phải văn bản được nhập vào vào bàn phím nhưng bài phát biểu, thực tế bài phát biểu ghi vào một microphone. Vì vậy, khi chúng ta nhìn vào những phần khác nhau, chúng tôi sẽ phải xây dựng một tập các mô hình. Chúng tôi sẽ có để có thể để đi từ âm thanh ở mức độ thấp sân information--, biên độ, frequency-- và chuyển đổi đó vào một số đơn vị mà chúng tôi có thể dễ dàng thao tác hơn và, cuối cùng, vận dụng chúng thành các từ và câu. Vì vậy, hầu hết các nhận dạng giọng nói hệ thống được ra có ngày hôm nay theo một thống kê mô hình mà trong đó chúng ta xây dựng ba đại diện riêng biệt của những gì rằng tín hiệu âm thanh thực sự chứa. Chúng tôi bắt đầu với một mô hình ngữ âm mà nói về chỉ các cơ sở âm thanh mà tôi đang sản xuất. Tôi sản xuất cái gì đó là một B như trong trai hay D như ở con chó? Làm thế nào để tôi nhận ra những hai khác nhau điện thoại là riêng biệt? Ngày đầu đó, sau đó chúng ta sẽ xây dựng một mô hình phát âm của từ, cái gì mà liên kết với nhau những điện thoại cá nhân và kết hợp chúng thành một từ. Và sau đó, chúng tôi sẽ đưa các từ và chúng tôi sẽ lắp ráp chúng lại với một ngôn ngữ mô hình thành một câu hoàn chỉnh. Bây giờ, chúng ta sẽ nói về từng những cách độc lập và riêng rẽ. Nhưng ba mô hình là tất cả chỉ cần đi đến được thống kê. Và điều đó có nghĩa là khi chúng ta làm việc với họ, chúng tôi sẽ có thể làm việc với tất cả chúng cùng một lúc. Được rồi. Hãy bắt đầu với mô hình ngữ âm của chúng tôi. Vì vậy, mô hình ngữ âm dựa trên một kỹ thuật tính toán gọi là mô hình Markov ẩn. Đây là những mô hình đồ họa, trong đó tôi có và công nhận một nhà nước của thế giới như đang được đặc trưng bởi một tập hợp các tính năng. Và nhà nước mà mô tả một phần của một hành động mà tôi đang tham gia vào. Vì vậy, nếu tôi nghĩ về việc làm những âm thanh "ma" như mẹ, có khác nhau thành phần âm thanh đó. Có một phần mà tôi rút ra trong hơi thở. Và sau đó tôi ví đôi môi của tôi. Và tôi cuộn đôi môi của tôi trở lại một chút bit để làm cho rằng "ma" âm thanh. Và sau đó là một bản phát hành. Đôi môi của tôi bung ra. Air là trục xuất. "Ma". Những ba phần khác nhau sẽ được đại diện của các quốc gia trong graph-- này sự khởi đầu, giữa, và cuối cùng. Và tôi sẽ có hiệu ứng chuyển tiếp cho phép tôi đi từ một nhà nước để tiếp theo với một xác suất nhất định. Vì vậy, ví dụ, rằng M âm thanh có thể có một rất, lượng rất ngắn ở beginning-- "mm" - và sau đó một dài hơn, giai đoạn rung nơi tôi đang cầm của tôi đôi môi lại với nhau và hầu như humming-- "mmmm" - và sau đó là một rất ngắn plosive nơi tôi đuổi breath-- "ma". Các mô hình Markov ẩn là được thiết kế để nắm bắt thực tế rằng cách mà tôi làm mà âm thanh "ma" đang đi là hơi khác nhau trong thời gian của nó, là tần số, và các tính năng của nó hơn cách mà bạn thực hiện nó hoặc theo cách mà tôi có thể làm cho nó khi tôi đang nói về mục đích sử dụng khác nhau của bức thư. "Mẹ" và "tôi có thể" sẽ âm thanh hơi khác nhau. Vì vậy, để nhận ra một âm thanh đặc biệt, chúng tôi sẽ xây dựng mô hình Markov, những ẩn Markov mô hình, của mỗi điện thoại có thể là tôi có thể muốn nhận, mọi âm thanh tốt, và sau đó nhìn vào dữ liệu âm thanh mà tôi có và xác định thống kê đó là một trong một trong những khả năng nhất đã sản xuất âm thanh này. ĐƯỢC. Với mô hình này, sau đó chúng tôi bắt đầu xây dựng trên đầu trang của nó. Chúng tôi có một mô hình phát âm. Bây giờ, đôi khi phát âm mô hình rất đơn giản và dễ dàng bởi vì chỉ có một cách phát âm một cái gì đó. Những lần khác, họ là một chút chút phức tạp hơn. Đây là hướng dẫn phát âm cho rằng điều đó là màu đỏ một loại trái cây mà bạn làm nước sốt cà chua ra. Mọi người không nghĩ rằng đó là một loại trái cây. Bên phải? Bây giờ, có rất nhiều cách khác nhau rằng mọi người sẽ phát âm từ này. Một số sẽ nói "toe-may-toe." Một số sẽ nói "toe-mah-toe." Và chúng ta có thể nắm bắt được rằng với một trong những mô hình đồ họa nơi, một lần nữa, chúng tôi đại diện cho quá trình chuyển đổi như có một xác suất nhất định và liên quan đến xác suất với họ. Vì vậy, trong trường hợp này, nếu tôi được làm theo các tuyến đường hàng đầu thông qua toàn bộ đồ này, Tôi sẽ được bắt đầu tại thư trên bên trái, các "ta" âm thanh. Tôi sẽ có một nửa trên, các "oh", và sau đó là "ma" và sau đó là một "một", và sau đó một "ta" và "oh." "Toe-may-toe." Nếu tôi đi theo con đường phía dưới thông qua này, tôi sẽ nhận được "ta-mah-toe." Và nếu tôi đã đi xuống và sau đó lên, tôi sẽ nhận được "ta-may-toe." Những mô hình này chụp những sự khác biệt bởi vì bất cứ khi nào chúng tôi triển khai một trong những hệ thống nhận dạng, nó sẽ phải làm việc với rất nhiều loại người khác nhau, rất nhiều giọng khác nhau, và thậm chí sử dụng khác nhau của cùng một từ. Cuối cùng, trên đó, chúng tôi sẽ xây dựng một cái gì đó trông thực sự phức tạp, gọi là mô hình ngôn ngữ, nhưng trong thực tế là đơn giản nhất ba vì những hoạt động vào những gì được gọi là mô hình n-gram. Và trong trường hợp này, tôi thấy bạn hai phần mô hình n-gram, một Bigram. Chúng ta sẽ làm cho cơ thể các ý tưởng mà đôi khi, lời nói nhất định là nhiều khả năng để thực hiện theo một đưa ra từ hơn những người khác. Nếu tôi chỉ nói "dự báo thời tiết" từ tiếp theo khả năng có thể "ngày hôm nay" hoặc có thể là "thời tiết dự báo ngày mai. " Nhưng nó dường như không được " dự báo thời tiết atisô. " Thật là một mô hình ngôn ngữ nào là nó bắt những thống kê bằng cách đếm, từ một số rất lớn corpus, tất cả các trường hợp trong đó một từ sau khác. Vì vậy, nếu tôi có một corpus-- lớn như mọi Wall Street Journal đã được sản xuất từ ​​năm 1930, đó là một trong những tiêu chuẩn corpuses-- và tôi nhìn qua tất cả văn bản đó, và tôi đếm lên bao nhiêu lần sau "dự báo" tôi thấy "ngày hôm nay" và bao nhiêu lần tôi nhìn thấy "dự báo" tiếp theo là "atisô," người đầu tiên được đi có rất nhiều khả năng. Nó sẽ xuất hiện đến nay thường xuyên hơn. Và do đó, nó sẽ có một cao hơn xác suất liên kết với nó. Nếu tôi muốn tìm ra các xác suất của toàn bộ một lời nói, Sau đó, tôi chỉ phá vỡ nó lên. Vì vậy, xác suất của phiên điều trần câu "con chuột ăn pho mát" là xác suất của từ "các" bắt đầu từ một câu, và sau đó xác suất mà từ "chuột" sau từ "các" và xác suất mà Từ "ăn" sau "chuột" và xác suất "cheese" sau "ăn". Điều này nghe có vẻ như rất nhiều thống kê, rất nhiều khả năng. Và đó là tất cả những gì nó được. Nhưng điều ngạc nhiên là nếu bạn làm điều này với một mẫu đủ lớn dữ liệu, nó hoạt động. Và nó hoạt động rất tốt. Chúng ta đều biết các công nghệ này. Hầu hết các hệ điều hành đi kèm với nhận dạng giọng nói vào thời điểm này. Chúng tôi sử dụng Siri và Cortana và Echo. Và những điều này được dựa trên loại này của ba lớp model-- một mô hình ngữ âm ở dưới cùng, một mô hình phát âm ở giữa, và một mô hình ngôn ngữ trên đầu trang của họ. Bây giờ, họ phải làm thêm một tí nữa hơn để trả lời câu hỏi. Nhưng việc công nhận những gì bạn đang nói chính xác phụ thuộc vào đó. Vì vậy, chúng ta hãy lấy một ví dụ ở đây. Vì vậy, tôi có điện thoại của mình, ngồi lên đây bên dưới máy ảnh tài liệu. Và chúng ta sẽ nhắc đi nhắc Siri là một vài câu hỏi. Được rồi? Vì vậy, hãy đánh thức điện thoại của tôi ở đây. Siri, thời tiết là gì như ở New Haven ngày hôm nay? Siri: Đây là thời tiết cho New Haven, Connecticut ngày hôm nay. BRIAN SCASSELLATI: OK. Vì vậy, đầu tiên bạn đã thấy rằng Siri công nhận mỗi từ cá nhân và sau đó tạo ra một phản ứng. Chúng tôi sẽ nói về cách phản ứng đó đi về trong một chút. Nhưng bây giờ mà chúng ta biết rằng đây chỉ là dựa về số liệu thô và điều này mô hình kiểu phù hợp của phương pháp tiếp cận, chúng ta có thể chơi một số trò chơi với Siri. Vì vậy, tôi có thể thử lại. Siri, thời tiết là gì hà mã New Haven, ngày hôm nay? Siri: OK. Đây là thời tiết cho New Haven, Connecticut cho ngày hôm nay. BRIAN SCASSELLATI: Siri không bị đe dọa bởi đó bởi vì nó được tìm thấy pattern-- "thời tiết", "ngày hôm nay", "New Haven." Đó là những gì nó đáp ứng để, chỉ thích ELIZA. Được rồi. Hãy cung cấp cho nó một nhiều hơn, ngay cả nhiều ví dụ vô lý. Siri, thời tiết atisô armadillo hà mã New Haven? Siri: Hãy để tôi kiểm tra trên đó. Đây là những gì tôi tìm thấy trên web cho atisô Armadillo là gì hà mã New Haven. BRIAN SCASSELLATI: OK. Vì vậy, nếu tôi đi đủ xa đi từ mô hình này, Tôi có thể nhầm lẫn nó bởi vì nó không có còn phù hợp với mô hình mà nó có. Và đó thống kê động cơ đó là nói, khả năng bạn đã có những gì từ hà mã và atisô với nhau, và Armadillo? Đó là đã nhận được một cái gì đó mới. Vì vậy, các công nghệ này chúng ta sử dụng hàng ngày. Nếu chúng ta muốn đưa họ một bước hơn nữa, tuy nhiên, nếu chúng ta thực sự muốn có thể nói về những gì nó là các hệ thống này được đáp ứng, chúng ta phải nói chuyện, một lần nữa, về một thiết lập cơ bản hơn của câu hỏi. Và đó là một chủ đề trong giao tiếp mà chúng ta gọi là câu hỏi trả lời. Đó là, chúng tôi muốn có thể đối với: yeah? Đung [không nghe được]. BRIAN SCASSELLATI: Liệu chúng ta có được vào chế biến ngữ nghĩa tiềm ẩn? Vì vậy, có. Có rất nhiều điều mà xảy ra bên dưới bề mặt với Siri và trong một số ví dụ Tôi sẽ chỉ cho bạn tiếp theo nơi có khá một chút về cấu trúc về những gì bạn đang nói đó là quan trọng. Và, trên thực tế, đó là một tuyệt vời tiền chất cho các slide tiếp theo đối với tôi. Vì vậy, trong cùng một cách mà chúng tôi nhận dạng giọng nói đã được xây dựng nhiều lớp, nếu chúng ta muốn hiểu nó là gì đó là thực sự đang được nói, chúng ta sẽ một lần nữa dựa trên một phân tích đa lớp của văn bản đó được công nhận. Vì vậy, khi Siri là thực sự có thể nói, nhìn tôi thấy những lời này. Bây giờ tôi phải làm gì với họ? Các thành phần đầu tiên thường là đi qua và cố gắng phân tích cấu trúc câu. Và trong những gì chúng ta đã thấy ở trường lớp, thường xuyên, là loại biểu đồ câu, chúng ta đang đi để nhận ra rằng nhất định từ có vai trò nhất định. Đây là danh từ. Đây là những đại từ. Đây là những động từ. Và chúng ta sẽ nhận ra rằng đối với một ngữ pháp cụ thể, trong trường hợp này ngữ pháp tiếng Anh, có cách hợp lệ, trong đó tôi có thể kết hợp chúng và những cách khác mà không phải là hợp lệ. Công nhận rằng, cấu trúc đó, có thể là đủ để giúp hướng dẫn cho chúng tôi một chút. Nhưng nó không hoàn toàn đủ để chúng tôi có thể cung cấp cho bất kỳ ý nghĩa cho những gì đang được nói ở đây. Để làm điều đó, chúng ta sẽ phải dựa trên một số lượng xử lý ngữ nghĩa. Đó là, chúng ta sẽ phải tìm ở bên dưới những gì mỗi người trong các từ thực sự mang ý nghĩa như một. Và trong những cách đơn giản nhất để làm điều này, chúng ta sẽ kết hợp với mỗi từ mà chúng ta biết một chức năng nhất định, một sự biến đổi nhất định mà nó cho phép xảy ra. Trong trường hợp này, chúng ta có thể đặt tên Từ "John" như là một tên riêng, mà nó mang theo nó một sắc. Và chúng ta có thể đặt tên "Mary" như cùng một cách. Trong khi đó, một động từ như "yêu", mà tạo thành một mối quan hệ đặc biệt rằng chúng tôi có thể đại diện. Bây giờ, đó không có nghĩa chúng ta hiểu tình yêu là gì mà chỉ nói rằng chúng ta hiểu nó theo cách của một hệ thống biểu tượng. Đó là, chúng ta có thể gắn nhãn nó và vận dụng nó. Với mỗi loại phương pháp tiếp cận, bất kỳ loại xử lý ngữ nghĩa ở đây là sẽ đòi hỏi một chút chút kiến ​​thức và rất nhiều công việc về phía chúng tôi. Chúng tôi không còn trong lĩnh vực nơi thống kê chỉ là đồng bằng sẽ là đủ cho chúng ta. Bây giờ, để đi từ điểm này đến được có thể nói về bên trong những gì đang thực sự xảy ra ở đây, để có thể thao tác này cấu trúc và hiểu một câu hỏi và sau đó có thể đi ra ngoài và tìm kiếm, mà đòi hỏi một nhiều hơn mô hình nhận thức phức tạp. Cách thức mà các hệ thống này được xây dựng là đối với hầu hết các phần rất, rất lao động chuyên sâu. Chúng liên quan đến con người chi tiêu rất thời gian cơ cấu lại các cách thức mà các loại câu có thể được biểu diễn trong một số logic. Nó được thậm chí một chút phức tạp hơn, mặc dù. Ngay cả khi chúng tôi đã xử lý với ngữ nghĩa, chúng tôi sẽ vẫn phải nhìn vào ngữ dụng của những gì đang được nói. Đó là, làm thế nào để tôi liên quan từ rằng tôi có một cái gì đó ra khỏi cơ thể có trên thế giới hay ở ít nhất là một số nguồn thông tin mà tôi có thể thao tác? Đôi khi, những dẫn đến bit tuyệt vời của sự mơ hồ. "Red-hot sao để cưới nhà thiên văn học." ĐƯỢC. Bây giờ, chúng ta đọc thấy như loại hài hước của tiêu đề rằng chúng ta sẽ nhìn thấy trên truyền hình đêm khuya bởi vì chúng tôi không giải thích "ngôi sao" có ý nghĩa thiên thể của nó. Chúng tôi biết rằng nó có nghĩa là nhiều hơn diễn viên thường hay nữ diễn viên với số tiền cao của tầm nhìn. "Squad giúp nạn nhân chó cắn." Là nó mà đội hình thực sự ra có hỗ trợ một con chó trong ra xung quanh và cắn nạn nhân? Hoặc là nó mà là có một cá nhân là ai chó cắn người cần sự giúp đỡ? Chỉ từ nhìn vào cú pháp và ngữ nghĩa của các câu, chúng tôi không thể xác định đó. "Máy bay trực thăng chạy bằng ruồi của con người." Có, trên thực tế, thực tế những điều nhỏ bay xung quanh đó là những người có đôi cánh tạo năng lượng máy bay trực thăng cho lợi ích của nhân loại? Hoặc là có một thiết bị cơ khí có nguồn gốc sức mạnh của nó từ một người? Khi chúng ta nhìn vào câu hỏi Hệ thống trả lời, đây là các lớp mà chúng ta cần phải giải quyết. Bây giờ, là tốt nhất và các loại nhất phổ biến của các hệ thống này hiện nay có thể làm mọi thứ ở một mức độ mà là vượt xa những gì chúng tôi đã có 10 năm trước đây. Đây là một trong những hệ thống tốt nhất đó là không phải hôm nay. Và đây là một hệ thống từ IBM gọi là Watson. Đây là từ bạn bè của chúng tôi tại IBM. Đây là ngân hàng Katherine, Jia Chen, và Priscilla Moraes cho chúng tôi một cuộc biểu tình của Watson ngày hôm qua tại IBM ở Yorktown. [VIDEO PLAYBACK] -Bạn khỏe không? -Tôi khỏe. Tôi luôn luôn hạnh phúc khi tôi suy nghĩ, đặc biệt là khi tôi có thể giữ lạnh trong các phòng máy chủ. -Ai Nữ diễn viên yêu thích của bạn là? Nữ diễn viên yêu thích -My Angelina Jolie như Lara Croft trong Tomb Raider vì ban đầu cô hình thức là một nhân vật ảo như tôi. -Làm Thế nào Watson có thể giúp bệnh nhân? -là Những kế hoạch cho bệnh nhân có thể truy cập trực tiếp Watson? Truy cập vào Watson tư vấn ứng dụng sẽ thay đổi theo từng trường hợp sử dụng. Nhưng hiện tại, Watson sẽ chỉ cung cấp chẩn đoán và điều trị có thể tùy chọn để chuyên gia y tế. Khi thích hợp, bệnh nhân có thể cung cấp thông tin Watson, có thể thông qua một giao diện web cổng thông tin, máy tính bảng, hoặc thậm chí là một điện thoại di động. Ví dụ, một bệnh nhân có thể yêu cầu mô tả các triệu chứng của họ trong ngôn ngữ tự nhiên trực tiếp thành một giải pháp Watson, cho phép các bác sĩ tập trung vào chẩn đoán và không thu thập dữ liệu. -Ai Ám sát Abraham Lincoln? -John Wilkes Booth. -Trong Những năm đã làm Arizona Diamondbacks giành chiến thắng trong World Series? -2001. [END PLAYBACK] BRIAN SCASSELLATI: Vì vậy, các loại hệ thống phải dựa vào đầu tiên của tất cả các công nhận lời nói; lần thứ hai, chuyển đổi nó thành một nội bộ đầy ý nghĩa đại diện; và sau đó, thứ ba, là có thể đi ra ngoài và tìm các nguồn thông tin mà cho phép họ để trả lời câu hỏi đó. Mức độ phức tạp liên quan đến cùng loại của các chương trình điều mà bạn đã làm trong bộ vấn đề. Chúng tôi có thể phân tích các yêu cầu HTTP trong cùng loại của các mô hình cấp thấp phù hợp mà ELIZA có thể làm. Chúng tôi có thể chuyển đổi các thành một đại diện nội bộ, và sau đó sử dụng chúng để truy vấn một số cơ sở dữ liệu bên ngoài, có thể sử dụng SQL. Tất cả các hệ thống đang được xây dựng ngày nay để làm điều này loại tự nhiên giao tiếp ngôn ngữ đang được xây dựng dựa trên những nguyên tắc tương tự. Bây giờ, ngay cả một hệ thống như Watson là không đủ phức tạp để có thể trả lời tùy ý câu hỏi về bất kỳ chủ đề. Và trên thực tế, họ có được cấu trúc bên trong một tên miền nhất định. Vì vậy, bạn có thể lên mạng và bạn có thể tìm thấy phiên bản của Watson rằng hoạt động tốt trong tin học y tế. Hoặc có một trực tuyến mà chỉ đề với cách để thực hiện các khuyến nghị tốt về những gì bia sẽ đi mà ăn. Và trong những lĩnh vực, nó có thể trả lời câu hỏi, tìm thấy những thông tin mà nó cần. Nhưng bạn không thể trộn và kết hợp chúng. Các hệ thống đó đã được huấn luyện với cơ sở dữ liệu của thức ăn và bia không làm việc tốt khi bạn đột nhiên đưa nó vào với những tin y tế cơ sở dữ liệu. Vì vậy, ngay cả khi hệ thống tốt nhất của chúng tôi ngày hôm nay dựa vào một mức độ chế biến trong đó chúng ta được làm bằng tay và mã hóa xây dựng cơ sở hạ tầng để làm cho hệ thống hoạt động này. Bây giờ, chủ đề cuối cùng tôi muốn để có thể nhận được đến ngày hôm nay là về giao tiếp phi ngôn ngữ. Một khối lượng lớn thông tin mà chúng ta giao tiếp với nhau không xảy ra thông qua việc từ riêng lẻ mà chúng ta đang áp dụng. Nó đã làm với những thứ như gần, ánh mắt, giọng điệu của giọng nói, uốn của bạn. Và đó cũng là thông tin liên lạc cái gì mà nhiều giao diện khác nhau quan tâm rất nhiều về. Đó không phải là những gì Siri quan tâm. Tôi có thể yêu cầu Siri một cái gì đó trong một giọng nói hoặc trong một giai điệu khác nhau của giọng nói, và Siri sẽ cho tôi câu trả lời tương tự. Nhưng đó không phải là những gì chúng ta xây dựng cho nhiều loại khác của các giao diện. Tôi muốn giới thiệu với bạn bây giờ để một trong những robot. Điều này đã được xây dựng bởi lâu năm của tôi bạn và đồng nghiệp Cynthia Breazeal và công ty của cô Jibo. Và robot-- này chúng ta sẽ có một vài tình nguyện viên đưa ra để tương tác với điều này. Vì vậy, tôi có thể có hai người sẵn sàng để chơi với các robot đối với tôi? Tại sao bạn không đến trên lên, và tại sao bạn không đi lên trên. Nếu bạn muốn tham gia cùng tôi lên đây, xin vui lòng. Và nếu tôi có thể có bạn đến ngay trên đây. Cảm ơn. Chào. Alfredo: Rất vui được gặp bạn. Alfredo. BRIAN SCASSELLATI: Alfredo. RACHEL: Rachel. BRIAN SCASSELLATI: Rachel. Rất vui được gặp các bạn cả. Alfredo, tôi sẽ có bạn đi đầu tiên. Hãy đến ngay lên đây. Tôi sẽ giới thiệu you-- nếu tôi có thể có được điều này off mà không gõ cửa các microphone-- để một robot nhỏ có tên Jibo. ĐƯỢC? Bây giờ, Jibo được thiết kế để tương tác. Và mặc dù nó có thể cung cấp cho bạn lời nói, nhiều sự tương tác với các robot là phi ngôn ngữ. Alfredo, tôi sẽ yêu cầu bạn nói điều gì đó tốt đẹp và miễn phí để các robot, xin vui lòng. Alfredo: Tôi nghĩ rằng bạn nhìn dễ thương. [Lăng xăng SOUND] BRIAN SCASSELLATI: OK. Phản ứng của nó không phải là lời nói. Và nó đã cho bạn cả một sự thừa nhận rõ ràng rằng họ đã nghe những gì bạn nói và bằng cách nào đó cũng hiểu rằng. ĐƯỢC? Bước trở lại ngay tại đây trong một giây. Cam on. Rachel, nếu bạn muốn. Bây giờ, tôi sẽ cung cấp cho bạn những công việc khó khăn hơn nhiều. Nếu bạn muốn đứng ngay ở đây, sao lưu chỉ là một chút vì vậy chúng tôi có thể giúp bạn có được trên máy ảnh và tìm cách này. Tôi sẽ yêu cầu bạn nói điều gì đó thực sự có ý nghĩa và pha vào bóng robot. RACHEL: Những gì bạn chỉ có vẻ phải làm là hoàn toàn vô lý. [Humming SOUND] Điều đó thậm chí còn vô lý hơn. Điều gì đang xảy ra với bạn? Aw, không cảm thấy xấu. Tôi sẽ cung cấp cho bạn một cái ôm. BRIAN SCASSELLATI: Tất cả các quyền. Thanks, Rachel. Alfredo, Rachel, nhờ chàng trai rất nhiều. [Vỗ tay] Vì vậy, loại này tương tác có trong nhiều cách một số các quy tắc tương tự và một số của cùng một cấu trúc như những gì chúng tôi có thể có trong tương tác ngôn ngữ học. Nó là cả giao tiếp và phục vụ một mục đích quan trọng. Và sự tương tác đó, trong nhiều cách khác nhau, được thiết kế để có một hiệu ứng đặc biệt trên người tương tác với hoặc nghe để các robot. Bây giờ, tôi may mắn có Jibo ở đây ngày hôm nay. Sam Spaulding là ở đây giúp đỡ chúng tôi ra với các robot. Và tôi sẽ hỏi Sam để cung cấp cho chúng ta một bản demo đẹp của Jibo nhảy múa rằng chúng ta có thể xem ở cuối ở đây. Vì vậy, đi trước, Jibo. SAM: OK, Jibo. Chỉ cho chúng ta những bước nhảy của bạn. [MUSIC CHƠI] BRIAN SCASSELLATI: Được rồi, tất cả mọi người. Nhờ những người bạn của chúng tôi tại Jibo. [Vỗ tay] Và nhờ bạn bè của chúng tôi tại IBM đã giúp đỡ ra ngày hôm nay. Giao tiếp là một cái gì đó rằng bạn đang đi để xem sắp tới ngày càng nhiều như chúng ta xây dựng các giao diện phức tạp hơn. Tuần tới, chúng ta sẽ nói về cách giao tiếp với đối thủ máy tính trong trò chơi. Nhưng nếu bạn có thắc mắc về điều này, Sẽ quanh giờ hành chính tối nay. Tôi rất vui khi nói chuyện với bạn về AI chủ đề hoặc để có được vào chi tiết hơn. Có một ngày cuối tuần tuyệt vời. [Vỗ tay] [MUSIC CHƠI]