對話系統包括閒聊、問答、任務型對話三大部分。
問答系統特指那些一問一答形式的聊天。
任務型對話指用戶但願經過聊天的方式達成某種目的。
閒聊中,對話系統的輸出不必定是確定句,也能夠是問句。程序員
開放域問答系統雖然開放,但它可以解決的問題類型是有限的:
按照問題類型,又可做以下劃分:算法
- 事實型問題:WH 問題,例如 when / who / where 等;
- 是非型問題:Is Beijing the capital of China?
- 對比型問題:Which city is larger, Shanghai or Beijing?
- 觀點型問題:What is Chinese opinion about Donald Trump?
- 緣由/結果型問題:how / why / what 等。
特定領域的問答系統的構建一般使用知識圖譜的方式。知識圖譜的基本組成就是三元組,知識圖譜的工具體系包括:知識圖譜編輯工具、知識圖譜查詢工具。
知識圖譜問答最大的缺點是它須要構建知識圖譜,問答系統不具有可遷移性,不一樣領域須要整理不一樣的知識,這是工做量最大的部分。而且,知識圖譜的整理須要專家知識,這項工做不管交給程序員來作仍是交給業務方來作都是一項艱難的工做。知識圖譜問答的優勢在於它簡單直接、可解釋性強、能夠執行高階邏輯查詢。數據庫
基於閱讀理解的問答系統必定程度上能夠認爲是專門爲了解決知識圖譜問答存在的問題。知識圖譜中存儲的知識是高度結構化的,這和實際生活並不符合。許多文章很難提煉出知識結構來。基於閱讀理解的問答系統知識的存儲形式就是非結構化的文本片斷。基於閱讀理解的問答系統有兩類:抽取式和檢索式。django
參考資料:https://yq.aliyun.com/articles/609928api
要構建一個自動問答系統,應從哪些方面入手?(來自知乎)
- 機器學習裏的分類算法。
- 天然語言處理裏的信息檢索、信息抽取以及一些基礎技術包括句法分析、命名實體識別等等。
- 若是想作的更加智能,還能夠應用人工智能的一些技術,好比知識推理等等。
![](http://static.javashuo.com/static/loading.gif)
大型QA系統大多數是基於Web信息檢索的,各級NLP技術好比句法分析,NER,IR/IE等都會涉及。
還有一種是基於Knowledge Base的, 將天然問句形式化成Query,到知識庫裏檢索答案。網絡
若是想本身作一個簡單系統的話能夠先選擇一個特定領域好比醫療QA,到網上抓取數據,用語義網RDF/OWL構建一個知識庫,而後用開源NLP包分析問句,轉換成查詢語句去搜答案,最後返回給用戶,在這個基礎上本身能夠深刻作推理等其餘高級功能。架構
開源問答系統(不是智能問答系統)
像經常使用類型的網站(好比博客系統、問答系統、維基系統)都有開源庫。框架
- OSQA基於django
- zheye.org 「者也」,模仿知乎,基於Ruby Rails
- askbot基於django
- Shapado shapado 是一個用 Ruby 開發的相似 stackoverflow 的問答網站軟件,基於 Mongodb 開發。
- 仿百度知道PHP問答系統 Tipask,是PHP Laravel問答系統
- PHP問答系統 Question2Answer
- CNProg 是一個面向中國程序員的開源技術問答社區。 一個介於論壇、博客、維基和Digg之間的社區系統,基於Python和Django開發。 具備透明、開放、全民管理的運做模式,讓全部用戶可以更加容易地尋求幫助,找到問題答案,解決實際的技術問題。
- Anwsion 是一個相似知乎以問答爲基礎的徹底開源的社交網絡建站程序,基於 PHP+MYSQL 應用架構,它集合了問答,digg,wiki 等多個程序的優勢,幫助用戶輕鬆搭建專業的知識 庫和在線問答社區。
- LampCMS 是一款相似 Stack Overflow 的服務於開發人員的問答系統(Q&A program), 深度整合了Facebook,Twitter等的APIs
- QuestionAnsweringSystem 基於Java的人機問答系統
- Stacked 是一個用 ASP.NET 實現相似 StackOverFlow 網站功能的開源軟件。
- LampCMS 的後臺數據庫使用的是一款很是有名的開源的 NoSQL 數據庫 MongoDB
- OpenEphyra 是一個使用 Java 開發的模塊化、可擴展的問答系統、安裝簡單。
- VIF (virtual discussion forum) 是一個用 Java 開發的論壇軟件,主要適合問答型的社區。VIF 提供一個發佈的工做流和發帖Review機制以確保發帖人的內容質量。
- Coordino 可以讓你建立一個問答系統,使用 PHP 開發。
- Qwench:PHP開發,相似stackoverflow
- WeCenter 是一個相似知乎以問答爲基礎的徹底開源的社交網絡建站程序,基於 PHP + MYSQL 應用架構,它集合了問答,digg,wiki 等多個程序的優勢,幫助用戶輕鬆搭建專業的知識 庫和在線問答社區
- NGQA 基於Java Web的問答系統。
- tipask:Tipask是一款開放源碼的PHP問答系統,基於Laravel框架開發,容易擴展,具備強大的負載能力和穩定性。