大多數(shù)的AI書籍主要聚焦于AI背后的理論方法,卻很少關(guān)注AI應(yīng)用程序的工程化。目前存在哪些AI庫、框架和服務(wù)?在哪種情況下應(yīng)該選擇哪種庫、框架和服務(wù)?如何將它們整合到一個具有良好用戶體驗、易于維護的AI應(yīng)用程序中?如何滿足功能性要求和非功能性要求,特別是高性能要求?針對上述問題,本書結(jié)合當(dāng)前的新興技術(shù)和具體實例給出了很好的答案。
本書首先介紹AI的定義以及AI的簡要發(fā)展史,接著介紹主要的AI方法,包括機器學(xué)習(xí)和知識表示,之后給出AI應(yīng)用程序架構(gòu)設(shè)計的指導(dǎo)原則,最后聚焦于AI的各個分領(lǐng)域,包括信息檢索、自然語言處理及計算機視覺。書中涵蓋大量應(yīng)用實例,其中,虛擬博物館實例貫穿全書。此外,本書還提供相關(guān)AI產(chǎn)品列表及源代碼樣例,方便讀者快速開發(fā)自己的應(yīng)用。
前 言
為什么還要寫一本關(guān)于人工智能的書?的確,在過去的幾十年里,已經(jīng)有數(shù)百種關(guān)于人工智能(Artificial Intelligence,AI)的出版物,包括科研論文和教科書。大多數(shù)的AI出版物主要聚焦于AI背后的理論方法,即邏輯、推理、統(tǒng)計基礎(chǔ)等,卻很少關(guān)注AI應(yīng)用的工程化。
現(xiàn)代復(fù)雜的IT應(yīng)用并不是從頭開始的,而是通過集成現(xiàn)成的組件(庫、框架和服務(wù))開發(fā)的。當(dāng)然,人工智能應(yīng)用也是這樣開發(fā)的。在過去的幾十年中,已經(jīng)開發(fā)了很多具有AI基礎(chǔ)功能(如邏輯、推理和統(tǒng)計)的現(xiàn)成組件。將這些組件集成到用戶友好、高性能和可維護的AI應(yīng)用中需要特定的工程技能,本書重點關(guān)注這些技能。
我的專業(yè)背景是一名軟件工程師。我在德國攻讀計算機科學(xué)學(xué)士、碩士學(xué)位,隨后在澳大利亞攻讀博士學(xué)位,畢業(yè)后在德國一家大型軟件公司工作了十多年。在大規(guī)模的團隊中,我們?yōu)榭蛻糸_發(fā)定制軟件,我們的客戶有跨國銀行、信用卡發(fā)行商、旅游運營商、電信運營商、時尚公司,等等。我在團隊中的工作與涉及的行業(yè)領(lǐng)域和技術(shù)一樣是多元化的。涉及的工作從軟件開發(fā)、軟件架構(gòu)、項目管理,到管理部門和管理公司的研發(fā)團隊。
15 年前我重新進入大學(xué)擔(dān)任教授,我的所有課程都有一個共同主題,那就是根據(jù)工程原理和實踐進行軟件的專業(yè)開發(fā)。AI一直都是我感興趣的研究領(lǐng)域,但我的行業(yè)項目與AI關(guān)系不大。人工智能應(yīng)用,如強大的圖像處理、語音分析和生成等,正在迅速進入市場,這再次引起了我的興趣。在工業(yè)界和公眾資助的研發(fā)項目中,我逐漸積累了工程化人工智能應(yīng)用的專業(yè)知識。在與同事、研究生和行業(yè)合作伙伴組成的團隊中,我們?yōu)榫频觊T戶網(wǎng)站、圖書館、藝術(shù)博物館、醫(yī)院的腫瘤科、心理治療診所的邊緣型人格治療科和機器人制造商開發(fā)應(yīng)用。無論行業(yè)領(lǐng)域多么多樣化,許多方法和技術(shù)都可以跨項目使用,從而開發(fā)滿足用戶良好體驗的應(yīng)用。這些應(yīng)用可滿足功能性要求和非功能性要求,特別是高性能要求?傮w而言,我們致力于將通用軟件工程技能與人工智能專業(yè)知識相結(jié)合。
2014年,當(dāng)我意識到商業(yè)和消費市場對人工智能應(yīng)用的需求日益增長時,我就在達姆施塔特應(yīng)用技術(shù)大學(xué)開設(shè)了一門新的碩士課程,這本書反映了這門課程的主題。我一直在不斷學(xué)習(xí),從項目經(jīng)驗中學(xué)習(xí),向我的同事和合作伙伴學(xué)習(xí),向我的學(xué)生學(xué)習(xí),希望也能向這本書的讀者學(xué)習(xí)。所以,不管你贊同或不贊同書中的一些內(nèi)容,都可以聯(lián)系我(bernhard.humm@h-da.de)。
為了幫助大家掌握這些主題,我在第1~8章中都添加了“快速測驗”一節(jié),該節(jié)由鉛筆符號標(biāo)示。
最后感謝我的朋友和項目伙伴—愛爾蘭NSilico Lifescience公司的Paul Walsh,感謝他提出寶貴的意見并且?guī)Ыo我很大的啟示。
伯恩哈德·G. 胡姆(Bernhard G. Humm)
德國達姆施塔特應(yīng)用技術(shù)大學(xué)計算機科學(xué)系的軟件工程和項目管理學(xué)教授,達姆施塔特應(yīng)用信息學(xué)研究所(aIDa)的常務(wù)董事和博士協(xié)調(diào)員,他的研究重點是應(yīng)用人工智能和軟件架構(gòu)。他與工業(yè)和研究組織合作,主持多個國家和國際研究項目。在重新進入大學(xué)擔(dān)任教授之前,他在IT行業(yè)工作了11年,擔(dān)任過德國一家大型軟件公司的軟件架構(gòu)師、首席顧問、IT經(jīng)理和研究部門負責(zé)人,其客戶來自金融、旅游、貿(mào)易和航空等行業(yè)。他擁有澳大利亞伍倫貢大學(xué)博士學(xué)位。
目 錄
譯者序
前言
作者簡介
第1章 引言 1
1.1 本書概述 2
1.2 什么是AI 3
1.3 AI簡史 6
1.4 AI對社會的影響 7
1.5 著名的AI項目 8
1.6 擴展閱讀 11
1.7 快速測驗 11
第2章 機器學(xué)習(xí) 13
2.1 機器學(xué)習(xí)應(yīng)用 14
2.2 機器學(xué)習(xí)領(lǐng)域和任務(wù) 16
2.3 機器學(xué)習(xí)方法 19
2.4 示例:使用決策樹對客戶進行分類 26
2.5 機器學(xué)習(xí)方法論 29
2.6 服務(wù)圖和產(chǎn)品圖 46
2.7 機器學(xué)習(xí)應(yīng)用工程化 49
2.8 快速測驗 52
第3章 知識表示 55
3.1 本體 56
3.2 知識表示方法 60
3.3 語義網(wǎng)標(biāo)準(zhǔn) 62
3.4 查詢本體 71
3.5 基于規(guī)則的推理 76
3.6 知識表示服務(wù)圖和知識表示產(chǎn)品圖 82
3.7 提示和技巧 83
3.8 快速測驗 86
第4章 AI應(yīng)用架構(gòu) 88
4.1 AI參考架構(gòu) 88
4.2 應(yīng)用示例:虛擬博物館向?qū)А?0
4.3 數(shù)據(jù)集成/語義增強 91
4.4 應(yīng)用邏輯/代理 92
4.5 呈現(xiàn)方式 95
4.6 編程語言 95
4.7 快速測驗 96
第5章 信息檢索 97
5.1 信息檢索服務(wù)圖 98
5.2 信息檢索產(chǎn)品圖 99
5.3 提示和技巧 100
5.4 應(yīng)用示例:語義自動建議功能 101
5.5 快速測驗 102
第6章 自然語言處理 104
6.1 重點 105
6.2 簡單方法:詞袋模型 107
6.3 深層語義分析:從字母到句子 109
6.4 服務(wù)圖和產(chǎn)品圖 112
6.5 示例 115
6.6 快速測驗 121
第7章 計算機視覺 122
7.1 計算機視覺應(yīng)用 122
7.2 計算機視覺任務(wù)和方法 128
7.3 服務(wù)圖和產(chǎn)品圖 129
7.4 示例 131
7.5 快速測驗 140
第8章 復(fù)雜事件處理 141
8.1 基礎(chǔ) 142
8.2 應(yīng)用示例:智能工廠中的故障檢測 143
8.3 服務(wù)圖和產(chǎn)品圖 147
8.4 快速測驗 148
第9章 結(jié)論 149
附錄 產(chǎn)品表 150
參考文獻 162