# 問句分析 (Question Analysis)
問句 = input("請輸入你的問題: ")
代表問句的一組資訊詞 = 問句分析(問句)
使用者意圖 = 意圖識別(代表問句的一組資訊詞, 知識圖譜)
# 片語映射 (Phrase Mapping)
if (使用者意圖 == Null)
問句 = input("我不懂你的意思,請換個方式告訴我: ")
else if (使用者意圖 == 特定服務)
服務所需的一組資訊詞 = 所缺的資訊詞填入預設值(代表問句的一組資訊詞)
問句資訊詞的本體 = 自然語言映射到本體(服務所需的一組資訊詞, 知識圖譜)
# 查詢建構 (Query Construction)
答案的關鍵內容 = 查詢(問句資訊詞的本體, 各種API服務)
答案的本體 = 服務映射到本體(答案的關鍵內容, 知識圖譜)
一組候選答案 = 產生答案(答案的本體, 知識圖譜)
# 消歧 (Disambiguation)
一組候選答案 = 消歧(一組候選答案, 服務所需的一組資訊詞)
# 答案生成 (Answer Generation)
一個答案 = 排序(一組候選答案)
回答 = 轉換成自然語言(一個答案, 回答模板)
print(回答)