Watson và lĩnh vực chăm sóc y tế

Xử lý ngôn ngữ tự nhiên và tìm kiếm ngữ nghĩa có thể cách mạng hóa hỗ trợ ra quyết định lâm sàng như thế nào

Hiệu năng xuất sắc của Watson của IBM trong trò chơi truyền hình Jeopardy! đã thu hút trí tưởng tượng của toàn thế giới. Ứng dụng thế giới thực đầu tiên với Watson liên quan đến lĩnh vực chăm sóc y tế. Watson giải quyết các vấn đề mà các thế hệ công cụ trước đây đã không thể giải quyết được như thế nào? Watson đã dùng những cách tiếp cận kỹ thuật nào để làm cho nó khác hẳn các hệ thống khác? Bài này trả lời cách Watson đã làm thế nào khi nói về những câu hỏi đó và cung cấp cho bạn một cái nhìn thoáng qua về công nghệ đằng sau Watson dựa trên các bài thuyết trình, các đặc tả, các bài báo khoa học do nhóm nghiên cứu của IBM công bố và các cuộc phỏng vấn với các cộng tác viên của trường đại học.

Michael Yuan , Giám đốc Khoa học, Ringful Health

Michael Yuan  Tiến sĩ Michael Yuan là một chuyên gia công nghệ nổi tiếng trong lĩnh vực công nghệ di động của người dùng cuối và điện toán doanh nghiệp. Ông là tác giả của 5 cuốn sách về công nghệ phần mềm và đã xuất bản hơn 40 bài báo trong cả tạp chí ngành nghề lẫn tạp chí có bình duyệt. Tiến sĩ Yuan là một người tiên phong trong lĩnh vực mới nổi về chăm sóc ý tế hướng tới khách hàng. Công việc của ông tại Health Ringful đã được trình bày rộng rãi và được ghi nhận bởi giới truyền thông toàn quốc như Wall Street Journal, New York Times và Los Angeles Times.



30 03 2012

“Về phần mình, tôi chào mừng các chúa tể máy tính mới của chúng ta” – Ken Jennings, Nhà vô địch Jeopardy! lần thứ 74.

Vào ngày 16/02/2011, Watson - siêu máy tính IBM, đã đánh bại hai nhà vô địch mọi thời đại trong trò chơi Jeopardy! trên truyền hình quốc gia. Jeopardy! là một trò chơi đố vui chỉ dành cho con người. Các câu hỏi thường hàm chứa sắc thái với các lối chơi chữ, châm biếm và hài hước. Ngay việc một máy tính có thể chơi trò chơi này đã là một kỳ tích xuất sắc, chưa nói đến đánh bại các nhà vô địch con người! Phải chăng thời đại của trí tuệ nhân tạo cuối cùng đã đến với chúng ta sau hơn 50 năm thất vọng? Cụ thể hơn, liệu có thể sử dụng trí thông minh của Watson để thúc đẩy khoa học và kinh doanh ngoài phạm vi một chương trình trò chơi không? Cũng như Deep Blue trước đây, Watson đã khởi đầu như một cuộc trình diễn công chúng về công nghệ tối tân, nhưng nó cũng có thể gây ra ảnh hưởng đáng kể tới toàn xã hội trong những năm tới. Vậy thì những ứng dụng thế giới thực nào sẽ dành cho Watson?

Có vẻ như là ứng dụng thế giới thực đầu tiên nhất của Watson sẽ diễn ra trong lĩnh vực chăm sóc y tế. Về tiềm năng, bằng cách trả lời các câu hỏi dành cho các bác sĩ lúc chăm sóc y tế, nó có thể giúp cải thiện chất lượng chăm sóc y tế và giảm thiểu các sai sót đắt giá. Trong bài này, tôi sẽ thảo luận bằng cách nào có thể sử dụng công nghệ DeepQA đằng sau Watson để giải quyết các vấn đề đặc thù trong lĩnh vực chăm sóc y tế. Tất cả thông tin được trình bày trong bài này đều dựa trên các bài báo khoa học do nhóm nghiên cứu Watson công bố và các cuộc phỏng vấn công khai các nhà lãnh đạo IBM. IBM vẫn đang nghiên cứu chính xác cách sẽ áp dụng DeepQA vào lĩnh vực y tế như thế nào.

Tôi muốn đặc biệt cảm ơn Tiến sĩ Herbert Chase, một giáo sư về Y học lâm sàng tại Trường bác sĩ đa khoa và bác sĩ phẫu thuật của Đại học Columbia, một cộng tác viên chủ chốt với IBM về ứng dụng của Watson trong việc hỗ trợ ra quyết định y tế.

Watson có "trí thông minh" thật sự không”?

Một trong những cách tốt nhất để phán xét trí thông minh nhân tạo là phép thử Turing do Alan Turing đề xuất vào năm 1950. Phép thử Turing có sự tham gia của các trọng tài con người vào các cuộc đàm thoại ngôn ngữ tự nhiên với một bên khác có thể là một người hay một máy tính. Nếu đến cuối các cuộc đàm thoại, các trọng tài không thể nhất trí tin chắc bên nào là người, bên nào là máy, thì máy tính được coi là đã vượt qua phép thử Turing và đã chứng tỏ trí thông minh nhân tạo. Trong khi Watson có thể trả lời các câu hỏi của con người rất tốt, nó không thể tham gia vào các cuộc trò chuyện dài với một người. Vì vậy, Watson đã không đáp ứng các tiêu chuẩn của Turing về trí thông minh nhân tạo thực sự, chắc chắn là không. Người ta có thể biện luận rằng Watson chỉ đơn thuần tìm kiếm một câu trả lời. Nó không có trí thông minh để thực sự hiểu được câu hỏi hoặc các câu trả lời.

Tuy nhiên, theo quan điểm thực tiễn, Watson sẽ giúp con người giải quyết các vấn đề. Nếu nó không là trí tuệ nhân tạo (AI) theo nghĩa chặt, Watson chắc chắn là một bằng chứng thông minh (IA) mở rộng trí não con người.

Một lịch sử ngắn gọn về các hệ thống hỗ trợ ra quyết định lâm sàng

Trong suốt 40 năm, các hệ thống hỗ trợ ra quyết định lâm sàng (CDSS) đã hứa hẹn cách mạng hóa lĩnh vực chăm sóc y tế. Thực vậy, khi gần đây chính phủ bắt buộc thực hiện hệ thống hồ sơ y tế điện tử (EHR) trong tất cả các cơ sở y tế, một trong những mục tiêu chính là thúc đẩy chăm sóc y tế tốt hơn và rẻ hơn bằng cách sử dụng các CDSS dựa trên các dữ liệu bệnh nhân được thu thập từ các EHR. Với số lượng lớn các dữ liệu mới được thu thập bởi các hệ thống EHR mới được cài đặt, các máy tính như Watson sẽ có thể tìm thấy các câu trả lời tối ưu cho các câu hỏi lâm sàng hiệu quả hơn nhiều so với trí óc con người.

Hai dạng CDSS chính là các công cụ hỗ trợ chẩn đoánthỗ trợ điều trị. Hỗ trợ chẩn đoán giúp bác sĩ chẩn đoán tốt hơn dựa trên các triệu chứng bệnh nhân, thuốc men và các hồ sơ y tế. Lỗi chẩn đoán là nguyên nhân số một của những vụ kiện tụng vì sai sót hành nghề đối với các nhà cung cấp dịch vụ chăm sóc y tế (xem Tài nguyên). Vì vậy, việc giúp các bác sĩ tránh các lỗi nhận thức phổ biến và làm cho chẩn đoán tốt hơn là một ưu tiên. Mặt khác, hỗ trợ điều trị giúp các bác sĩ lâm sàng làm đúng theo các hướng dẫn điều trị đã biết, ví dụ như tránh các tương tác của thuốc đã biết, phát đúng thuốc cho đúng bệnh nhân và giữ đúng thời gian biểu thay đổi ống luồn.

Thế hệ CDSS đầu tiên tập trung vào hỗ trợ chẩn đoán. Các công cụ chẩn đoán vi phân, như DXPlain, sử dụng quá trình ra quyết định suy diễn Bayesian để tính đến từng chứng cứ phát hiện lâm sàng (như một triệu chứng hoặc kết quả xét nghiệm) mỗi lần và sau đó tính toán xác suất thống kê của các chẩn đoán tiềm năng khác nhau. Các cơ sở tri thức của hệ thống như vậy là các mảng lớn các xác suất tiên nghiệm liên kết các chứng cứ lâm sàng với các chẩn đoán. Vấn đề với các công cụ thế hệ đầu tiên này là các bác sĩ hiếm khi có thời gian ngồi trước máy tính, sàng lọc qua các hồ sơ y tế và nhập từng chứng cứ mỗi lần vào máy tính. Sau đó, sau một vài chẩn đoán có khả năng xuất hiện, bác sĩ phải nghiên cứu các tùy chọn điều trị tiềm năng. Bây giờ điều đó đặc biệt là một vấn đề bởi vì bác sĩ chăm sóc ban đầu chỉ dành mười lăm phút cho mỗi bệnh nhân.

Thế hệ thứ hai của các công cụ hỗ trợ ra quyết định lâm sàng nhằm mục đích cải thiện luồng công việc và dễ sử dụng. Một sản phẩm tiêu biểu trong thể loại này là Isabel. Isabel có hai sự đổi mới quan trọng. Thứ nhất, nó nhận bản tóm tắt bệnh nhân bằng ngôn ngữ tự nhiên từ các ghi chú của bác sĩ trong EHR, xác định các từ khóa và các chứng cứ có trong bản tóm tắt và sau đó tạo ra một danh sách các chẩn đoán có liên quan từ cơ sở dữ liệu các xác suất của nó. Thứ hai, Isabel đánh chỉ mục các y văn đã xuất bản với các tùy chọn điều trị cho từng chẩn đoán và nó tạo ra các đề xuất điều trị cùng với các chẩn đoán cho bác sĩ. Việc xử lý ngôn ngữ tự nhiên trong cả hai việc phân tích cú pháp các ghi chú của bác sĩ và y văn là một sự đổi mới đáng kể làm cho Isabel hấp dẫn.

Tuy nhiên, ngay cả với Isabel, vẫn thường còn quá chậm để trích ra các ghi chú bác sĩ bằng điện tử và sau đó tìm kiếm các câu trả lời. Một nghiên cứu đã chỉ ra rằng các chẩn đoán của Isabel chính xác khi sử dụng các đoạn văn bản lớn, nhưng độ chính xác sụt giảm đáng kể khi đầu vào chứa ít văn bản hơn (xem Tài nguyên).

Với một nhân viên y tế chuyên nghiệp đã qua đào tạo, một cách tốt hơn để giải quyết một chứng cứ khó xử hoặc tìm một cách điều trị mới thường chỉ đơn giản là hỏi một bác sĩ có nhiều kinh nghiệm hơn.


Sức mạnh của Hỏi&Đáp đơn giản

Theo một nghiên cứu theo dõi do BMJ (British Medical Journal - Tạp chí y tế Anh quốc) công bố vào năm 1999, một nhóm các nhà nghiên cứu đã theo dõi 103 bác sĩ suốt một ngày làm việc. Các bác sĩ đã hỏi 1.101 câu hỏi lâm sàng trong ngày hôm ấy. Phần lớn các câu hỏi đó (64%) không bao giờ được trả lời. Và, trong số những câu hỏi đã được trả lời, các bác sĩ đã dành chưa đầy hai phút để tìm các câu trả lời. Chỉ có hai trong số 1.101 câu hỏi đó đã làm cho các bác sĩ tìm kiếm tài liệu để cố gắng trả lời chúng. Do đó, việc đưa ra các câu trả lời nhanh cho các câu hỏi lâm sàng có thể có ảnh hưởng lớn trong việc cải thiện chất lượng chăm sóc y tế (xem Tài nguyên). Hãy xem Watson.

Mọi người thường hỏi, liệu Google đã làm điều đó chưa? Chắc chắn bạn có thể nhập một chứng cứ lâm sàng hoặc một chẩn đoán vào Google và tìm các câu trả lời. Thực vậy, một bác sĩ đã sử dụng Google như là một sự trợ giúp chẩn đoán trong một ca y khoa đáng chú ý được công bố trong Tạp chí Y học New England (xem Tài nguyên). Tuy nhiên, về cơ bản Google là một máy tìm kiếm từ khóa. Nó trả về các tài liệu chứ không phải là các câu trả lời.

Vấn đề "Paris Hilton"

Một minh họa tốt cho vấn đề của Google với các truy vấn ngôn ngữ tự nhiên được biết đến như là "vấn đề Paris Hilton". Nếu người nào đó gõ "Paris Hilton" vào máy tìm kiếm, Google không biết liệu người đó đang tìm kiếm một khách sạn ở Pháp hay đang tìm kiếm chuyện phiếm về nhân vật nổi tiếng này. Cách duy nhất để trả lời những câu hỏi như vậy là máy tính "hiểu" ngữ cảnh thông qua phân tích ngôn ngữ tự nhiên.

  • Google không hiểu câu hỏi. Bác sĩ chịu trách nhiệm phân tích cú pháp câu hỏi thành các tổ hợp từ khoá sao cho sẽ mang lại các kết quả Google đúng. Trừ các câu hỏi có tính sự vụ, đơn giản nhất, việc này tỏ ra là một nhiệm vụ khó khăn. Thực vậy, có nhiều cuốn sách về cách tối ưu hóa các truy vấn tìm kiếm để tận dụng tốt nhất Google.
  • Google tìm thấy hàng triệu tài liệu cho mỗi truy vấn và sắp xếp các kết quả theo mức liên quan của từ khóa. Người dùng cần phải đọc tài liệu và phân tích ý nghĩa dựa vào ngữ cảnh rồi trích ra một danh sách các câu trả lời tiềm năng.

Do đó, mặc dù Google rất có ích, đặc biệt là trong việc trả lời các câu hỏi có tính sự vụ, nó cũng thiếu khả năng hiểu ngữ cảnh giống như các công cụ CDSS có trước nó: đơn giản là cần quá nhiều thời gian và năng lượng thần kinh của các bác sĩ để làm cho nó có ích như một công cụ hỗ trợ ra quyết định hàng ngày.

Trong một nghiên cứu năm 2006 do BMJ, công bố, hai nhà nghiên cứu đã xem xét tỷ mỉ suốt một năm về các ca chẩn đoán được công bố trong Tạp chí Y học New England và đã đánh giá xem một người chuyên nghiệp đã qua đào tạo có thể rút ra được một chẩn đoán đơn giản chỉ bằng cách đánh giá các kết quả tìm kiếm Google hay không. Lưu ý rằng các nhà điều tra con người phải xem xét các ca để xây dựng các truy vấn tìm kiếm, rồi nghiên cứu tỉ mỉ các kết quả của Google để xác định các chẩn đoán tiềm năng - một quá trình đòi hỏi nhiều sức lực và tốn thời gian. Câu trả lời là họ có thể tìm thấy các chẩn đoán đúng trong 58% các ca (xem Tài nguyên). Hy vọng với Watson là nó sẽ có thể cải thiện các tỷ lệ phần trăm đó trong khi tiết kiệm thời gian và nỗ lực của bác sĩ lâm sàng.

Để có một phân tích tốt về Google so với Watson trong việc trả lời kiểu câu hỏi như trong Jeopardy!, đặt ra, hãy xem bài viết của Danny Sullivan trong phần Tài nguyên.

Watson trong hành động

Để xem các loại câu hỏi mà Watson có thể trả lời, hãy xem hai câu hỏi ví dụ mà Tiến sĩ David Ferrucci đã nêu ra cho Thủ tướng Đức Merkel và Thủ tướng Thổ Nhĩ Kỳ Erdogan tại Lễ khai mạc CeBIT 2011. Hãy thử gõ những câu hỏi đó vào Google để xem việc phân tích câu trả lời từ một danh sách các tài liệu khó ra sao và việc rất dễ bỏ sót các chẩn đoán ít xảy ra như thế nào.

  1. Câu hỏi: Các khuẩn liên cầu (Streptococcus) gây ra "cơn sốt" này ở trẻ con, đặc trưng bởi chứng phát ban màu đỏ tươi và nhiệt độ cao.

    Trả lời: 98% là bệnh phát ban đỏ, 15% là sốt thấp khớp, 8% là đau họng cấp tính

  2. Câu hỏi: Bệnh này có thể gây ra bệnh viêm màng bồ đào ở một bệnh nhân có tiền sử gia đình viêm khớp đang có biểu hiện phát ban tròn, sốt và đau đầu.

    Trả lời: 76% là bệnh nhiễm khuẩn do ve gây ra (Lyme), 1% là bệnh Behcet, 1% là các khuẩn liên cầu

Theo quan điểm luồng công việc CDSS, chúng ta cần phải thêm một tầng ngôn ngữ tự nhiên và ngữ nghĩa vào trên đỉnh của một máy tìm kiếm như Google, sao cho máy tính có thể thực sự trả lời các câu hỏi. Đó chính xác là những gì Watson làm.

Hơn nữa, Watson đánh giá từng câu trả lời tiềm năng dựa trên bằng chứng mà nó có thể thu thập thông qua tìm kiếm thứ cấp tinh lọc. Điều đó cho phép Watson đưa ra một mức độ tin cậy cho mỗi câu trả lời. Việc này rất quan trọng với một hệ thống Q&A (Hỏi&Đáp) y tế bởi vì nó phòng ngừa được một kiểu lỗi nhận định rất phổ biến mà các bác sĩ hay mắc phải — kết luận vội vàng. Kết luận vội vàng là khi bác sĩ hình thành và chấp nhận một chẩn đoán mà không xem xét các lựa chọn khả dĩ khác trước một bằng chứng mới một khi đã chẩn đoán. Ví dụ, khi một bệnh nhân tới phòng khám trình bày về cơn đau ngực sau một bữa ăn thịnh soạn, bác sĩ đã chẩn đoán chứng ợ nóng và đã kê đơn thuốc đơn giản để điều trị chứng ợ nóng. Tuy nhiên, sau đó khi tình trạng bệnh nhân trở nên xấu đi và đã thấy những chứng cớ rõ ràng về một cơn đau tim, bác sĩ đã không xét đến khả năng một cơn đau tim vì ông thấy khó hiểu tại sao thuốc ợ nóng không có tác dụng và tiếp tục kê đơn thêm nhiều thuốc điều trị chứng ợ nóng cho bệnh nhân. Kiểu lỗi chẩn đoán này xảy ra khi bác sĩ "bị neo chặt" vào kết luận sai. Trong trường hợp này, một câu hỏi gửi đến hệ thống Q&A để hỏi tại sao thuốc điều trị chứng ợ nóng không có tác dụng, đã có thể cứu sống bệnh nhân. Watson có thể làm một điều tuyệt vời là nhắc nhở các bác sĩ xem xét các trường hợp hiếm xảy ra nhưng lại có khả năng là nghiêm trọng.


Ngôn ngữ của Watson

Từ quan điểm kỹ thuật, Hình 1 cho thấy các bước mà Watson trải qua để trả lời một câu hỏi. Tóm lại, các bước này là:

  1. Watson phân tích cú pháp các câu hỏi ngôn ngữ tự nhiên để tạo ra một truy vấn tìm kiếm.
  2. Máy tìm kiếm nhúng của Watson tìm kiếm một cơ sở tri thức tài liệu lớn để tìm các tài liệu liên quan.
  3. Watson phân tích cú pháp các kết quả tìm kiếm dựa trên ngôn ngữ tự nhiên và tạo ra các câu trả lời tiềm năng (các giả thuyết).
    1. Đối với mỗi giả thuyết, Watson xây dựng và khởi phát một truy vấn tìm kiếm khác để thu thập chứng cớ hỗ trợ cho giả thuyết này.
    2. Máy tìm kiếm nhúng của Watson tìm kiếm chứng cớ hỗ trợ cho mỗi giả thuyết.
    3. Các kết quả tìm kiếm lại được phân tích cú pháp và mỗi mảnh chứng cớ được tính điểm theo mức chắc chắn của nó.
    4. Bây giờ, mỗi giả thuyết được gán một điểm số dựa trên mức chắc chắn của tất cả các chứng cớ hỗ trợ cho nó.
  4. Các giả thuyết được chuyển thành một danh sách các câu trả lời được trả về cho người dùng.

Các nhiệm vụ trọng tâm do Watson thực hiện bao gồm việc xử lý ngôn ngữ tự nhiên (bước 1, 3 và 3c), tìm kiếm (bước 2, 3a, 3b) và tính điểm của chứng cớ (bước 3d và 4). (Xem một ảnh lớn hơn của Hình 1.)

Hình 1. Luồng công việc mà Watson trải qua để trả lời một câu hỏi
Luồng công việc mà Watson trải qua để trả lời một câu hỏi

Về cơ bản, cả hai việc phân tích cú pháp ngôn ngữ tự nhiên và tính điểm chứng cớ đều là xử lý và đánh giá các tài liệu văn bản phi cấu trúc. Bên trong Watson, các thành phần phần mềm dựa trên dự án Kiến trúc quản lý thông tin phi cấu trúc UIMA (Unstructured Information Management Architecture) của Apache thực hiện các nhiệm vụ đó. Watson tạo ra nhiều truy vấn tìm kiếm cho mỗi câu hỏi và sử dụng một loạt các kỹ thuật tìm kiếm khác nhau để tìm các giả thuyết hoặc chứng cớ từ cơ sở tri thức. Các công nghệ tìm kiếm được sử dụng trong Watson gồm có Lucene của Apache (dùng tần số của thuật ngữ để xếp hạng các kết quả), Indri (mạng Bayesian để xếp hạng các kết quả) và SPARQL (các mối quan hệ tìm kiếm giữa các thuật ngữ và tài liệu). Xem Tài nguyên.

Watson và phần mềm nguồn mở

Về sự tinh vi phức tạp và các thuật toán tiên tiến dùng trong Watson, hệ thống Watson chủ yếu dựa vào phần mềm nguồn mở có sẵn miễn phí. UIMA Apache, Lucene Apache, Indri và SPARQL và Bộ công cụ Jena, tất cả đều là phần mềm nguồn mở. Cụ thể, Watson sử dụng phần mềm nguồn mở làm các khung công tác cơ bản nhưng phát triển thêm các thuật toán sở hữu độc quyền làm các thành phần cắm thêm vào khung công tác. Phần mềm nguồn mở đã trải qua một chặng đường dài để trở thành một nhân tố mở đường then chốt cho việc đổi mới phần mềm.

Cách Watson suy luận là tạo ra các giả thuyết (có nghĩa là các câu trả lời ứng cử viên) từ một khối tài liệu lớn, trái ngược với xuất phát từ các lý thuyết đã được xây dựng từ trước như con người thường làm. Trong thực tế, một xu hướng chính trong nghiên cứu khoa học là "khai phá" các phát hiện từ dữ liệu. Trong khi Watson đang cố gắng mô phỏng trí thông minh của con người, thì con người dường như cũng suy nghĩ giống Watson hơn ! Hãy xem phần Tài nguyên có một bài viết xuất sắc trong tạp chí Wired để biết thêm về vấn đề này.

Apache UIMA

Dự án UIMA của Apache là một triển khai thực hiện bằng nguồn mở đặc tả OASIS UIMA. UIMA cung cấp một khung kiến trúc có khả năng mở rộng để chạy các ứng dụng xử lý văn bản như Watson.

Một tính năng quan trọng của khung công tác UIMA là nó cho phép các ứng dụng (được gọi là các thành phần theo thuật ngữ UIMA) được móc xích với nhau. Bằng cách này, mỗi thành phần ứng dụng có thể tập trung vào một nhiệm vụ xử lý văn bản và chuyển các kết quả đến thành phần tiếp theo trong chuỗi để tiếp tục thực hiện công việc. Điều đó phù hợp một cách lý tưởng với luồng công việc Watson như đã trình bày ở trên trong bài này.

Hơn nữa, UIMA cung cấp một khung công tác xử lý song song, được gọi là UIMA-AS, cho phép nhiều thành phần được thực hiện đồng thời. Đối với các nhà phát triển Java™, khung công tác UIMA AS được dựa trên một khung công tác nguồn mở Apache khác, đó là ActiveMQ, sử dụng Các dịch vụ thông báo Java (Java Messaging Services) để làm cho việc truyền thông giữa các tác vụ dễ dàng theo cách không đồng bộ. Trong trường hợp của Watson, một khi đã tạo ra một tập các giả thuyết, máy tính cần có khả năng thu thập độc lập và tính điểm chứng cớ cho từng giả thuyết một cách độc lập. Ví dụ, tất cả các đường song song trong Hình 1 biểu diễn các nhiệm vụ có thể do nhiều CPU xử lý đồng thời. UIMA-AS là lý do Watson có thể sử dụng các CPU 2880 để đưa ra các câu trả lời Jeopardy! trong vòng 3 giây. Kiến trúc này cũng cho phép việc triển khai UIMA giảm bớt quy mô khi cần. Ví dụ, một ứng dụng "trợ lý bác sĩ" có thể không cần đưa ra các câu trả lời trong vòng vài giây và do đó yêu cầu phần cứng cho một ứng dụng như vậy có thể là ít hơn đáng kể so với Watson.

Từ quan điểm của một nhà phát triển ứng dụng, viết một ứng dụng UIMA chủ yếu bao gồm các trình chú thích (annotator). Một trình chú thích là một lớp Java hoặc C++ có thể lấy một mẩu văn bản đầu vào và trích ra thông tin có cấu trúc từ nó. Tài liệu UIMA có một hướng dẫn tuyệt vời về cách viết một trình chú thích để trích ra các địa chỉ và các số phòng từ văn bản dạng tự do nhờ sử dụng biểu thức chính quy.

Dĩ nhiên việc xử lý ngôn ngữ tự nhiên đòi hỏi nhiều hơn là chỉ trích ra văn bản có cấu trúc thông qua các biểu thức chính quy. Một lượng lớn các thuật toán đã được phát triển để phát hiện, báo hiệu, gắn thẻ, phân loại và phân tích cú pháp các từ, các cụm từ và các câu trong một đoạn văn ngôn ngữ tự nhiên để trích ra ý nghĩa của nó dựa vào ngữ cảnh. Mặt mạnh chủ yếu của cách tiếp cận khung công tác nguồn mở UIMA là nó khuyến khích các nhà phát triển khác đóng góp các trình chú thích thực hiện các thuật toán đã biết của họ và do đó làm cho các nhà phát triển mới làm việc dễ dàng hơn. Một số trình chú thích thường dùng đã có gồm sẵn trong bản phân phối UIMA tiêu chuẩn để giúp các nhà phát triển khởi đầu nhanh chóng. Trang web UIMA cung cấp các kho lưu trữ trình chú thích lớn có sẵn để tải về, gồm có các trình chú thích OpenNLP (Open Natural Language Processing - Xử lý ngôn ngữ tự nhiên mở) và các trình chú thích Tìm kiếm ngữ nghĩa của IBM (IBM Semantic Search). Các trình chú thích IBM Semantic Search cho phép bạn tìm kiếm trong kho lưu trữ tài liệu để tìm tất cả các tài liệu viết bởi một người có tên cụ thể.

Thông qua việc phát triển Watson, nhóm nghiên cứu của IBM đã phát triển nhiều trình chú thích trên UIMA. Trong thực tế, một lượng lớn công việc đã dành cho việc phát triển các hàm tính điểm để đánh giá giá trị của từng mảnh chứng cớ được trích ra từ các tài liệu kết quả tìm kiếm. Theo nhóm nghiên cứu Watson, hơn 100 hàm tính điểm đã được phát triển cho dự án Jeopardy! và các trình chú thích UIMA đó chính là lý do mà Watson có thể xác định đúng một câu trả lời chính xác từ một khối lượng lớn các tài liệu mà quá trình tìm kiếm trả về. Cũng giống như Google, bí mật của Watson không phải là ở cách nó tìm ra các câu trả lời, mà ở cách nó tính điểm và xếp hạng các câu trả lời như thế nào để cho những câu trả lời có khả năng nhất được xếp trên đầu.

Các khung công tác phần mềm

Hầu hết các nhà phát triển phần mềm đều quen thuộc với khái niệm về các khung công tác. Trong thế giới phát triển Java, có hàng trăm khung công tác được sử dụng rộng rãi từ web đến mô hình hóa dữ liệu. Trong thế giới của C++, STL (Standard Template Library - Thư viện khuôn mẫu tiêu chuẩn) là một khung công tác nổi tiếng. Khung công tác này cung cấp một API (giao diện lập trình ứng dụng) cho các ứng dụng. Các ứng dụng, được xây dựng trên một khung công tác, tuân theo các mô hình kiến trúc do khung công tác cung cấp và giao phó nhiều tác vụ nhàm chán cho các thư viện của khung công tác.

Apache Lucene

Như chúng tôi đã mô tả ở trên, Watson tìm kiếm các cơ sở dữ liệu tài liệu lớn để tạo ra các giả thuyết và sau đó tìm chứng cớ hỗ trợ cho mỗi giả thuyết. Một trong các máy tìm kiếm then chốt được sử dụng để lập chỉ mục và tìm kiếm những tài liệu văn bản không có cấu trúc đó là Lucene của Apache.

Lucene của Apache là một trình tạo chỉ mục và máy tìm kiếm văn bản dạng tự do, có đầy đủ tính năng, được viết bằng Java. Nó cung cấp một bộ các API đơn giản, cho phép các nhà phát triển dễ dàng nhúng máy tìm kiếm vào các ứng dụng riêng của họ. Các nhà phát triển có thể tùy chỉnh cách lập chỉ mục các tài liệu và cách tính điểm sao cho phù hợp. Lucene cũng hỗ trợ một ngôn ngữ truy vấn phong phú giống với ngôn ngữ truy vấn Google (các toán tử mà bạn có thể gõ vào hộp tìm kiếm của Google).

Lucene được nhúng vào trong Watson để tạo chỉ mục các kho lưu trữ tài liệu lớn: một cơ sở dữ liệu kiến thức trên nhiều lĩnh vực và các bài báo Wikipedia cho Jeopardy! và các ấn phẩm y tế cho các ứng dụng chăm sóc y tế. Các trình chú thích UIMA gọi Lucene khi cần để tìm kiếm cơ sở tài liệu ở các giai đoạn khác nhau của quá trình trả lời câu hỏi. Các ví dụ về các cơ sở dữ liệu y tế như thế bao gồm các kho lưu trữ ấn phẩm y tế có bình duyệt như Medline, cũng như các hướng dẫn điều trị chính thức, ví dụ như Trung tâm xử lý hướng dẫn quốc gia của Cơ quan Nghiên cứu và chất lượng chăm sóc y tế (AHRQ).

Lucene không chỉ tạo chỉ mục văn bản dạng tự do trong các tài liệu dựa trên tần số từ, nó còn có thể lưu trữ thông tin có cấu trúc do UIMA trích ra từ tài liệu. Bằng cách lưu trữ thông tin có cấu trúc, các tài liệu có thể tìm kiếm được thông qua các siêu dữ liệu (như tên tác giả hoặc liệu nó có chứa một địa chỉ ở thành phố New York không). Do UIMA xử lý văn bản ngôn ngữ tự nhiên trong cơ sở dữ liệu tài liệu, nó tạo ra các đối tượng cấu trúc phân tích phổ biến (CAS), có chứa các kết quả có cấu trúc được trích ra từ tài liệu, hệ thống kiểu và các chỉ mục. Trình tạo chỉ mục CAS của Lucene (Lucas) là một trình chú thích tiêu chuẩn kèm theo UIMA. Lucas lưu trữ thông tin CAS vào các tệp chỉ mục Lucene.

UIMA và Lucene làm việc cùng nhau để tạo nên máy phân tích và máy tri thức cho Watson. Thậm chí nếu các trình chú thích và các thuật toán của Watson không là nguồn mở, thì sự trình diễn thành công trong chương trình Jeopardy! xác nhận hiệu lực của cách tiếp cận tổng thể và cung cấp một đường dẫn cho các nhà phát triển để tạo ra các ứng dụng tương tự trong các lĩnh vực cụ thể.


Tương lai của việc xử lý ngôn ngữ tự nhiên trong lĩnh vực chăm sóc y tế

Xử lý ngôn ngữ tự nhiên trong lĩnh vực chăm sóc y tế vượt ra ngoài các câu hỏi và trả lời. Năm 2008, tạp chí khoa học uy tín Nature đã xuất bản một số đặc biệt về việc nghiên cứu y tế đang bước vào lĩnh vực dữ liệu lớn như thế nào. Quá trình khám phá khoa học đang dịch chuyển từ lý thuyết, giả thuyết, thí nghiệm và chứng minh, sang khai phá dữ liệu trực tiếp để tìm các kết luận. Mặc dù số đặc biệt này của Nature tập trung vào dữ liệu về gen như là mục tiêu khai phá dữ liệu lớn, chúng ta có thể biện luận là dữ liệu văn bản ngôn ngữ tự nhiên cũng là một nguồn vô giá để nghiên cứu.

Ví dụ, do các hệ thống EHR được chấp nhận theo lệnh của chính phủ, các ghi chép của bác sĩ được số hóa theo một định dạng mà máy tính dễ đọc. Nó là một kho lưu trữ thông tin lớn để khai phá tìm các dấu hiệu về triệu chứng, hiệu quả điều trị và các lỗi y tế tiềm năng. Thực vậy, Mayo Clinic (Bệnh viện Mayo) và IBM đã công bố một quan hệ đối tác về nguồn mở cho nhiều trình chú thích UIMA mà Mayo đã phát triển để khai phá các hồ sơ y tế riêng của mình.

Việc khai phá dữ liệu do bệnh nhân kể lại là một lĩnh vực đáng chú ý khác. Các cộng đồng bệnh nhân như PatientsLikeMe và ACOR (Association of Cancer Online Resources, Inc. - Hiệp hội tài nguyên trực tuyến về Ung thư) đã thu thập một lượng lớn thư điện tử, các bài viết đăng trên diễn đàn, các bài viết đăng trên blog và dữ liệu tự theo dõi của các bệnh nhân. Người ta đã tiến hành các nghiên cứu quan trọng dựa trên dữ liệu đó để xác định tác dụng phụ có hại của thuốc vốn không được phát hiện ra trong các thử nghiệm của FDA, cũng như các nghiên cứu so sánh về hiệu quả điều trị. Khi sử dụng các công cụ ngôn ngữ tự nhiên, chúng ta có thể đưa các nghiên cứu dạng này lên một mức độ mới.

Khi sử dụng phần mềm nguồn mở và phần cứng bán sẵn, Watson đã cho chúng ta thấy có thể làm những gì. Nỗ lực Nghiên cứu và Phát triển (R&D) xung quanh Watson đã bắt đầu đem lại lơi nhuận cho cộng đồng các nhà phát triển, dưới dạng các đóng góp của IBM cho UIMA, UIMA AS và các mô đun liên quan. Bây giờ là lúc các nhà phát triển viết các ứng dụng sáng tạo để lợi dụng các khả năng này!

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

  • Đánh giá sản phẩm phần mềm của IBM theo cách phù hợp với bạn nhất: Từ các bản tải về dùng thử đến các sản phẩm lưu trú trên đám mây, developerWorks mô tả phần mềm đặc biệt là dành cho các nhà phát triển.

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Nguồn mở
ArticleID=807674
ArticleTitle=Watson và lĩnh vực chăm sóc y tế
publish-date=03302012