王緩緩,張警燦,李 虎
(1.三峽大學(xué) 計(jì)算機(jī)與信息學(xué)院, 湖北 宜昌 443002; 2.華中科技大學(xué) 圖像識(shí)別與人工智能研究所, 武漢 430074)
?
基于Ontology的智能問答系統(tǒng)的研究
王緩緩1,張警燦1,李 虎2
(1.三峽大學(xué) 計(jì)算機(jī)與信息學(xué)院, 湖北 宜昌 443002; 2.華中科技大學(xué) 圖像識(shí)別與人工智能研究所, 武漢 430074)
提出了一種基于Ontology的智能問答系統(tǒng)模型及設(shè)計(jì)框架。利用StanfordParser語法解析工具對(duì)句子進(jìn)行語法分析;通過規(guī)則引擎對(duì)語法樹產(chǎn)生的類型依賴關(guān)系進(jìn)行處理,得到句子中的語義信息,生成中間表達(dá)式語言DRS。在訓(xùn)練問答系統(tǒng)時(shí),把DRS轉(zhuǎn)換成Ontology三元組存儲(chǔ)到RDF庫(kù)中;而在查詢問答系統(tǒng)時(shí),把DRS轉(zhuǎn)換成Sparql查詢語句,通過執(zhí)行Sparql得到查詢結(jié)果。實(shí)驗(yàn)結(jié)果證明:這種方案實(shí)用、可行,而且可以通過引入本體詞庫(kù)提高問答系統(tǒng)回答的準(zhǔn)確度和查詢范圍。所提供的方法適用于針對(duì)特定領(lǐng)域進(jìn)行的定制。
本體;智能問答系統(tǒng);類型依賴;篇章表述結(jié)構(gòu);資源描述框架; SPARQL
智能問答系統(tǒng)(AIQA)是自然語言理解技術(shù)在AI領(lǐng)域智能接口領(lǐng)域的一個(gè)研究方向。它通過語法解析及語義分析,查詢答案并返回給用戶。與其他問答系統(tǒng)實(shí)現(xiàn)相比,本文提出的方法嘗試從語法分析及語義理解的角度查找答案,比基于關(guān)鍵字匹配查詢的準(zhǔn)確率要高,比基于模板匹配的問答系統(tǒng)更靈活。問答系統(tǒng)作為人工智能的分支之一,早期的代表系統(tǒng)有1970年代的LUNAR系統(tǒng)[1],可分析月球隕石相關(guān)資料。1993年的BASEBALL[2]系統(tǒng)能回答關(guān)于美國(guó)籃球聯(lián)賽一個(gè)賽季的相關(guān)問題。自從1999年TREC(text retrieval conference)開始構(gòu)建QA測(cè)試集及評(píng)價(jià)系統(tǒng)以來,在AIQA領(lǐng)域已經(jīng)有大量的文獻(xiàn)介紹它的原理及實(shí)現(xiàn)方案。如ALICE[3]聊天機(jī)器人可通過模板定義和匹配的方式定義問題和答案。 Molla 等[4]在 2007年把問答系統(tǒng)定義為一個(gè)能回答任意自然語言形式問題的自動(dòng)機(jī)。Qinglin Guo[5]提出了智能答疑方法,其原理是將領(lǐng)域知識(shí)用本體表述,以便通過概率依賴模型來分析詞義。
筆者基于已有研究成果提出基于Ontology的智能問答系統(tǒng)模型,并設(shè)計(jì)系統(tǒng)框架,主要有以下幾個(gè)特點(diǎn):
1) 問答系統(tǒng)的知識(shí)庫(kù)采用Ontology來形式化描述和組織,具體實(shí)現(xiàn)采用OWL[6]語言。OWL語言是由W3C 組織定制,并已成為事實(shí)上的定義、實(shí)例化以及開發(fā)Ontology 應(yīng)用的標(biāo)準(zhǔn)語言。本系統(tǒng)通過有效利用Ontology 技術(shù),能夠消除自然語言的歧義,提高用戶自然語言查詢語句的命中率和準(zhǔn)確率,有效分離智能問答系統(tǒng)的執(zhí)行算法和領(lǐng)域知識(shí)。因此,本系統(tǒng)可以提高智能問答系統(tǒng)的可信度和可移植性。
2) 篇章表述結(jié)構(gòu)(DRS[7])被本系統(tǒng)采用作為AIQA的中間描述語言?;贛G (Montague Grarnrnar),篇章表述理論由2部分組成:篇章語義的構(gòu)造算法和語義的正確性驗(yàn)證,它是動(dòng)態(tài)的自然語言涵意的形式語義結(jié)構(gòu),因此可以克服MG 的局限性的語義理論。
3) 系統(tǒng)對(duì)自然語言句子的語義理解通過規(guī)則引擎技術(shù)來實(shí)現(xiàn)。規(guī)則引擎是專家系統(tǒng)的重要組成部分,其通過定義的規(guī)則結(jié)合實(shí)時(shí)數(shù)據(jù)進(jìn)行推理。本文通過定義語義規(guī)則對(duì)StandfordParser[8]產(chǎn)生的類型依賴關(guān)系進(jìn)行推理,得到自然語言的DRS中間描述語言。
4) 本系統(tǒng)需要分離內(nèi)容與形式或樣式,即實(shí)現(xiàn)從DRS 到SPARQL[9]查詢語句的轉(zhuǎn)換,在系統(tǒng)中通過模板技術(shù)來實(shí)現(xiàn)。具體包括SPARQL語法設(shè)計(jì)樣式和DRS描述內(nèi)容。樣式由SPARQL語法決定,內(nèi)容由DRS 提供。
AIQA系統(tǒng)框架由2個(gè)模塊組成,如圖1所示:自然語言處理模塊、Ontology知識(shí)庫(kù)模塊。自然語言處理模包含2個(gè)子模塊,完成對(duì)自然語言句子的語法分析,得到語法樹,然后把語法樹轉(zhuǎn)換成類型依賴關(guān)系作為語言處理模塊的輸出。Ontology 知識(shí)生產(chǎn)模塊利用規(guī)則引擎技術(shù),根據(jù)事先定義好的語義理解規(guī)則和語法分析得到的依賴關(guān)系事實(shí)數(shù)據(jù)進(jìn)行推理,得到DRS數(shù)據(jù)。Ontology知識(shí)生產(chǎn)模塊應(yīng)用規(guī)則引擎技術(shù)?;贠ntology在較高層次表示查詢語句的語義,DRS語言處理模塊將自然語句轉(zhuǎn)換成DRS,再轉(zhuǎn)換成RDF三元組存儲(chǔ)到RDF,然后轉(zhuǎn)換成SPARQL查詢語句。這樣做可以保證系統(tǒng)能夠從邏輯上、物理上有效分離語言處理和知識(shí)表述,使得系統(tǒng)具有較好的可移植性。
生成模塊和問題查詢模板,其中Ontology知識(shí)生成模塊和問題查詢模板都依賴于自然語言處理模塊。
圖1 AIQA系統(tǒng)結(jié)構(gòu)
自然語言處理模塊的主要功能包括切詞、單詞變體處理、句法分析和語義解析等。同時(shí),此模塊還提供與用戶的交互。句法解析器的功能是根據(jù)句法、語法和詞庫(kù)解析查詢語句生成語法樹,然后轉(zhuǎn)換成類型依賴關(guān)系數(shù)據(jù)。之后語義解釋器把類型依賴關(guān)系轉(zhuǎn)換成規(guī)則引擎處理的事實(shí)數(shù)據(jù),插入到規(guī)則引擎中,根據(jù)規(guī)則來推理,進(jìn)而生成DRS表達(dá)式,即系統(tǒng)的最終輸出。
知識(shí)庫(kù)處理模塊主要功能是與知識(shí)庫(kù)系統(tǒng)互動(dòng),它接收自然語言處理模塊的輸出DRS表達(dá)式,并通過模板引擎技術(shù)將其轉(zhuǎn)換成RDF三元組或Sparql語句。一個(gè)完整的自然語言問答過程如下所述:首先,在訓(xùn)練問答系統(tǒng)的時(shí)候,知識(shí)庫(kù)處理模塊把轉(zhuǎn)換生成的RDF三元組數(shù)據(jù)插入到Ontology本體庫(kù)中;然后,在查詢答案的時(shí)候,通過調(diào)用執(zhí)行模板引擎把DRS表達(dá)式轉(zhuǎn)換成SPARQL查詢語句,接下來調(diào)用Ontology本體庫(kù)的查詢模塊執(zhí)行SPARQL語句,得到查詢記錄集;最后,格式化記錄集返回給用戶。
定義1 AIQA系統(tǒng)模型∑,用一個(gè)7元組表示:
∑={S,SG,L,Ont,DCG,RDFT,SPARQLT};
AIQA處理過程定義為如下公式:
其中:S為用戶輸入的自然語言語句;SG為自然語言語法規(guī)則;L為詞庫(kù);DCG是自然語言語義語法規(guī)則;RDFT表示RDF模板;SPARQLT表示SPARQL模板;STD表示類型依賴關(guān)系;SP表示語法解析器;DRS為篇章表述結(jié)構(gòu);SI是語義解析器;Ont是Ontology知識(shí)庫(kù);RDF為Ontology三元組;RDFG表示RDF三元組生成器;SPARQL表示知識(shí)庫(kù)查詢語句;SPARQLG表示知識(shí)庫(kù)查詢語句生成器;OntMS是本體知識(shí)庫(kù)管理系統(tǒng);R是最終的自然語言查詢結(jié)果。
2.1 句法分析
句法分析子模塊的主要功能是根據(jù)自然語言的語法規(guī)則和預(yù)定義的詞庫(kù)(包括通用詞庫(kù)和領(lǐng)域詞庫(kù))對(duì)自然語言查詢句子進(jìn)行句法分析,得到語法樹結(jié)構(gòu),然后把語法樹結(jié)構(gòu)轉(zhuǎn)換成比較容易處理的類型依賴關(guān)系結(jié)構(gòu)數(shù)據(jù)。有很多工具可以實(shí)現(xiàn)該功能。本系統(tǒng)選用基于概率統(tǒng)計(jì)的Stanford Parser DRS,與其他工具相比,其具有如下優(yōu)點(diǎn)[10]:
1) Stanford parser 是一個(gè)比較完善的自然語言解析工具,綜合了多個(gè)解析算法;
2) Stanford parser提供除英文之外的其他多種語言的語法解析功能,因此可比較方便地遷移到中文數(shù)據(jù)庫(kù)系統(tǒng)中;
3) 它是斯坦福大學(xué)提供的免費(fèi)開源軟件,活躍度較高,版本更新快。
2.2 語義分析
語義分析是把句法分析得到的語法樹轉(zhuǎn)換成篇章表述結(jié)構(gòu)DRS語義表達(dá)式。DRS語義表達(dá)式可以根據(jù)具體應(yīng)用轉(zhuǎn)換成其他的知識(shí)表示形式,比如一階謂詞邏輯(FOL)、描述邏輯(DL)等。在本系統(tǒng)中把DRS語義表達(dá)式轉(zhuǎn)換成RDF三元組或SPARQL查詢語句,然后傳遞給知識(shí)庫(kù)處理模塊進(jìn)行訓(xùn)練或則查詢處理。
2.2.1 定義DRS結(jié)構(gòu)
DRS是對(duì)自然語言文集的語義表示。任何一個(gè)DRS由話語所指示集(discourse referents)和條件集(conditions)兩部分組成。比如英語句子及其DRS:
A farmer chased a donkey.
[x,y:farmer(x),donkey(y),chased(x,y)]
可以看出這個(gè)DRS有2個(gè)個(gè)體:一個(gè)是farmer,另一個(gè)是donkey,且farmer 追趕(chased)donkey。這個(gè)DRS包含2個(gè)指示集x和y;包含3個(gè)條件集,分別是farmer(x)、donkey(y)和chased(x,y)。
DRS用一個(gè)扁平標(biāo)注結(jié)構(gòu)表示一個(gè)邏輯原子。比如對(duì)上面的例子,英語句子“A farmer chased a donkey.”其條件集farmer(x),donkey(y),chased(x,y)采用單詞表示,如果采用這樣的表示方法,在語義處理時(shí)會(huì)出現(xiàn)大量這樣的謂詞形式,不利于后續(xù)的處理任務(wù)。為了簡(jiǎn)化處理,本文采用ACE定義的DRS結(jié)構(gòu),對(duì)DRS的條件謂詞進(jìn)行限制,采用少量定義的謂詞結(jié)構(gòu)(比如class,object,property,predicate等)表示大量扁平結(jié)構(gòu)的條件謂詞。通過降低謂詞的數(shù)量來降低后續(xù)處理的復(fù)雜度。上面句子的DRS表達(dá)式可表示為:
[x,y:object (x,farmer),object(y,donkey),predicate(x,chased,y)]
ACE DRS結(jié)構(gòu)分兩種類型,一種是基本類型,由基本的語義元素組成;另一種是復(fù)雜類型,是對(duì)基本類型的運(yùn)算組合。本文參照ACE DRS類型定義出本文所需的DRS結(jié)構(gòu),具體類型定義如表1所示。
表1 DRS類型及表示結(jié)構(gòu)
2.2.2 查詢句子語義分析
自然語言句子通過規(guī)則引擎技術(shù)映射成DRS結(jié)構(gòu)數(shù)據(jù)。其中,實(shí)義詞映射成DRS的原子條件,功能詞映射成DRS的邏輯連接詞、DRS條件參數(shù)或共享變量。盡管自然語言句子比對(duì)應(yīng)的DRS有更豐富的表達(dá)式,實(shí)驗(yàn)證明這樣的映射是確實(shí)可行的。對(duì)名詞、形容詞、動(dòng)詞等結(jié)構(gòu)遵循下面映射規(guī)則:
1) 名詞映射成object條件:
(defrule PRE::pos_nn
(token (tid ?tid) (lemma ?lemma) (pos NNP|NNS|NN|NNPS|PRP) (sid ?sid) (index ?idx))
=>
(assert (object (tid ?tid) (lemma ?lemma) (pos N) (sid ?sid) (index ?idx)))
)
(defrule PRE::pos_dt_to_nn (declare (salience 2000))
?f1<-(token (tid ?dt) (pos DT) (sid ?sid) (index ?idx))
(td (type cop) (gov ?dt) (dep ?dp) (sid ?sid))
=>
(modify ?f1 (pos NN))
)
(defrule SENSE::class_nns (declare (salience 1000))
(token (tid ?noun) (lemma ?lemma) (pos NNS|NNPS))
(not (t (s ?noun) (p rule:class)))
??f<-(ner (tid ?noun) (ner ?ner))
(test (neq ?lemma ?ner))
(test (neq ?class DURATION))
=>
(modify ?f (class?lemma))
)
2) 識(shí)別名稱對(duì)應(yīng)的class:
(defrule PRE::pos_no_ner
(token (tid ?tid) (lemma ?lemma) (pos NN|NNS|NNP|NNPS|RB|J) (sid ?sid))
(not (class (tid ?tid) (ner ?ner)))
(test (and (neq ?lemma not) (neq ?lemma no)))
=>
(assert (class (tid ?tid) (sid ?sid)))
)
(defrule PRE::pos_no_ner_prp
(token (tid ?tid) (lemma ?lemma) (pos PRP|PRP$) (sid ?sid))
(not (class (tid ?tid) (ner ?ner)))
(test (and (neq ?lemma not) (neq ?lemma no)))
=>
(assert (class (tid ?tid) (sid ?sid)))
)
(defrule PRE::pos_no_clas_dt
(token (tid ?tid) (pos DT) (sid ?sid))
(not (ner (tid ?tid) (ner ?ner)))
(td (type nsubj|dobj) (gov ?vb) (dep ?tid))
(predicate(tid ?vb) (pos V) (sid ?sid))
=>
(assert (class (tid ?tid)(sid ?sid)))
)
3) 形容詞映射成property 條件:
(defrule PRE::pos_jj
(token (tid ?tid) (lemma ?lemma) (pos JJ|JJR|JJS) (sid ?sid) (index ?idx))
=>
(assert (property (tid ?tid) (lemma ?lemma) (pos J) (sid ?sid) (index ?idx)))
)
4) 動(dòng)詞映射成predicate條件:(defrule PRE::pos_vb
(token (tid ?tid) (lemma ?lemma) (pos VB|VBD|VBG|VBN|VBP|VBZ) (sid ?sid) (index ?idx))
=>
(assert (predicate (tid ?tid) (lemma ?lemma) (pos V) (sid ?sid) (index ?idx)))
)
(defrule SENSE::vb_nsubj
(td (type nsubj) (gov ?vb) (dep ?subj) (sid ?sid))
(predicate (tid ?vb) (lemma ?lemma) (pos V))
(test (neq ?lemma be))
=>
(assert (t (s ?vb) (p rule:nsubj) (o ?subj) (sid ?sid)))
)
(defrule SENSE::vb_rcmod
(td (type rcmod) (gov ?noun) (dep ?vb) (sid ?sid))
(predicate (tid ?vb) (pos V))
(not (td (type nsubj) (gov ?vb) (dep ?which)))
(not (td (type nsubjpass) (gov ?vb)))
=>
(assert (t (s ?vb) (p rule:nsubj) (o ?noun) (sid ?sid)))
)
(defrule SENSE::vb_rcmod_nsubj_which
(td (type rcmod) (gov ?noun) (dep ?vb) (sid ?sid))
(td (type nsubj) (gov ?vb) (dep ?which))
(predicate (tid ?vb) (pos V))
(object(tid ?which) (lemma which))
=>
(assert (t (s ?vb) (p rule:nsubj) (o ?noun) (sid ?sid)))
)
(defrule SENSE::vb_passive_dobj
(td (type nsubjpass) (gov ?vb) (dep ?dobj) (sid ?sid))
(not (td (type dobj) (gov ?vb) (dep ?obj)))
=>
(assert (t (s ?vb) (p rule:dobj) (o ?dobj) (sid ?sid)))
)
比如英語句子“Every man is a human.”可以映射成下面的DRS:DRS([A]
object(A,man,man,PERSON,male,eq,1,na)
)
=>
DRS ([B,C]
class(B,human,na)
predicate(C,be,A,B)
)
接下來要做的是把包含了自然語言語句的信息的DRS按照RDF三元組或SPARQL語法規(guī)則進(jìn)行轉(zhuǎn)換,生成對(duì)應(yīng)的語句,然后傳遞給OntMS進(jìn)行處理,并得到結(jié)果。
從DRS到RDF三元組的轉(zhuǎn)換比較簡(jiǎn)單,直接把DRS表述結(jié)構(gòu)的元素轉(zhuǎn)換成三元組形式。較為復(fù)雜的是把DRS表達(dá)式轉(zhuǎn)換成SPARQL,本系統(tǒng)采用轉(zhuǎn)換模板實(shí)現(xiàn)該功能。首先在轉(zhuǎn)換模板中定義轉(zhuǎn)換規(guī)則。然后將DRS表達(dá)式數(shù)據(jù)及語義信息直接映射到模板文件中的變量,從而產(chǎn)生對(duì)應(yīng)的語句。轉(zhuǎn)換過程的關(guān)鍵是選定模板以及定義在模板中的轉(zhuǎn)換規(guī)則。現(xiàn)在有可能的模板技術(shù)有Xslt、Velocity、Freemarker等,本文采用Velocity。DRS表述語句到RDF三元組的映射規(guī)則比較簡(jiǎn)單,不在這里描述,以下給出的是根據(jù)DRS描述語言生成的SPARQ語句的Velocity模板定義:
PREFIX p2:
PREFIX source:
PREFIX rule:
# 映射DRS到SPARQL
select
# 查詢字段
distinct ?domain ?graph ?text ?group ?T1 ?PID1 ?T2 ?PID2 ?T3 ?PID3
# 查詢條件
where
{
{
?text source:belongTo ?domain.
Filter(?domain in (${app},${domain}))
}
?text rule:hasPart ?graph.
?text source:isString "false"^^
?text source:sameAs ?group.
FILTER(NOT EXISTS { ?any source:hasQuestion ?group })
GRAPH ?graph
{
?T1 rule:isHeadword "true".
?T1 rule:dobj ?T2 .
}
#foreach(?${token} in ${tokens})
{
{
?${token} rule:sense2 ?T1sense.
Filter (?${token}sense in (
#foreach(${sense} in ${senseList})
${sense},
#end
).
OPTIONAL {?${token} rule:param ?PID1.}}
UNION { ?${token} rule:param ?PID1.
?${token} a ?${token}class.
Filter (?${token}class in (p2:VERB,p2:TERM)). }
}
#end
MINUS
{
#foreach(?${minusToken} in ${minusTokens})
{
?${minusToken} rule:lemma ?${minusToken}_lemma.
FILTER NOT EXISTS { ?${minusToken} rule:sense2 ${minusToken}.lemma. }
}
FILTER NOT EXISTS { ?${minusToken} rule:param ?PID3.?${minusToken} a p2:TERM. }
#end
}
#foreach(?${fileterToken} in ${fileterTokens})
FILTER NOT EXISTS {?${fileterToken} rule:aux rule:negative.}
#end
}
OntMS目前已經(jīng)被廣泛研究和使用,此處可以采用Apache的Jena項(xiàng)目的SDB數(shù)據(jù)庫(kù)對(duì)本體知識(shí)庫(kù)進(jìn)行管理。Jena定義了操作RDF的是標(biāo)準(zhǔn)API,可以顯著提高系統(tǒng)的可移植性。本文只返回SDB知識(shí)庫(kù)查詢的結(jié)果記錄,并格式化成一個(gè)XML格式數(shù)據(jù)輸出。
本文提出了一種基于Ontology的智能問答系統(tǒng)模型及設(shè)計(jì)框架。利用StanfordParser語法解析工具對(duì)句子進(jìn)行語法分析;通過規(guī)則引擎進(jìn)行語義解析;采用DRS表述語言描述語義信息。RDF數(shù)據(jù)存儲(chǔ)在SDB數(shù)據(jù)庫(kù)中,通過SPARQL語句查詢RDF數(shù)據(jù)庫(kù)。
由于本文只是對(duì)簡(jiǎn)單句子進(jìn)行處理,所以實(shí)驗(yàn)選擇的數(shù)據(jù)時(shí)從TREC 提供的測(cè)試集中抽取82個(gè)簡(jiǎn)單句子進(jìn)行訓(xùn)練和查詢,分別采用將原句子變?yōu)楸粍?dòng)語句、句子添加其他成分使其變得復(fù)雜、用同義詞替換句子中的詞、增加同義詞庫(kù)、特殊處理等方式進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖2所示。
圖2 SQLServre Pubs數(shù)據(jù)庫(kù)測(cè)試數(shù)據(jù)分析
實(shí)驗(yàn)結(jié)果證明此模型基本滿足智能問答查詢。在用原句子進(jìn)行查詢時(shí),基本能夠找到對(duì)應(yīng)的答案,查詢準(zhǔn)確率達(dá)到92%。如果把查詢語句變換成被動(dòng)語句,查詢準(zhǔn)確率降低到79%。如果在查詢句子中添加其他成分,使句子變得復(fù)雜,查詢結(jié)果明顯降低,為68%。如果再用同義詞替換句子中的單詞,查詢準(zhǔn)確率進(jìn)一步降低到50%??梢酝ㄟ^定義同義詞庫(kù)解決同義詞查詢問題。造成查詢失敗的主要原因是Standford對(duì)句子的解析并非完全正確,如果對(duì)其生成的語法書進(jìn)行有效的矯正,可以顯著提高查詢準(zhǔn)確率。
顯然,本文提出的模型只是基于Ontology知識(shí)庫(kù)研究工作的初步結(jié)果。為了進(jìn)一步提高這種模型和方法的可用性,還有一些難點(diǎn)需要解決,比如解決復(fù)雜句子的查詢問題、根據(jù)上下文查詢問題和帶有表達(dá)式語句的復(fù)雜查詢等問題。
[1] WOODS W A.Lunar rocks in natural English:explorations in natural language question answering[J].Linguistic Structures Processing,1977(5):521-569.
[2] GREEN B F,WOLF A K,CHOMSKY C,et al.BASEBALL:an automatic question answerer[C]//Proceedings of the Western Joint IRE-AIEE-ACM Computer Conference[M].New York:ACM,1961:219-224.
[3] 夏天,樊孝忠,劉林.ALICE 機(jī)理分析與應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用,2003,23(9):1-5.
[4] MOLLA D,VICEDO J L.Question answering in restricted domains:an overview[J].Computational Linguistics,2007,33(1):41-61.
[5] QINGLIN G,MING Z.Question Answering Based on Perva-sive Agent Ontology and Semantic Web[J].Knowledge-Based Systems,2009,(22):443-448.
[6] MCGUINNESS D L,VAN H F.OWL web ontology language overview[J].W3C recommendation,2004,10(10):135-140.
[7] EIJCK J,KAMP H.Representing discourse in context[M].[S.l.]:The Hague Area:Centrum voor Wiskunde en Informatica,1996.
[8] THE STANDFORD NATURAL LANGUAGE PEOCESSING GROUP.The Stanford Parser:A statistical parser[EB/OL].[2017-03-26].http://nlp.stanford.edu/software/lex-parser.shtml.
[9] PRUD E,SEABORNE A.SPARQL query language for RDF[Z].2006.
[10]王緩緩,李虎,石永.基于語義 Web 的受控自然語言推理模型[J].計(jì)算機(jī)科學(xué),2011,38(2):187-190.
(責(zé)任編輯 陳 艷)
Research of an Ontology-Based Intelligent Question-Answering System
WANG Huan-huan1, ZHANG Jing-can1, LI Hu2
(1.Collage of Computer and Information Technology, China Three Gorges University, Yichang 443002, China; 2.Institute of Pattern Recognition & Artificial Intelligence, Huazhong University of Science & Technology, Wuhan 430074, China)
This paper proposed an approach to creating an ontology-based intelligent question-answering system which allows end-users to train and query answer from an ontology database. Our approach integrates StanfordParser as the natural language parser. And we used rule engine as the natural language semantic interpreter. The user inputs will be first translated into a syntax tree by syntax analysis and parsing, and then it will be translated into an intermediate expression language DRS by the rule engine semantic interpreter. The template engine will transfers DRS expressions into RDF triple or Sparql sentence. We queried the answer by executing Sparql sentences. This paper presents the framework based on ontology techniques to implement portable AIQA that makes it easier to migrate from one domain to another. The prototype system and our experiments show that our approach has generated good results with excellent performance on common queries.
ontology; artificial intelligence question-answering system; type dependence; discourse representation structure; resource description frame; SPARQL
2017-01-16 基金項(xiàng)目:湖北省教育廳自然科學(xué)研究項(xiàng)目(Q20141212)
王緩緩(1978—),女,博士,副教授,主要從事信息管理與數(shù)據(jù)挖掘研究,E-mail:tinawang_053101@126.com。
王緩緩,張警燦,李虎.基于Ontology的智能問答系統(tǒng)的研究[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2017(5):111-118.
format:WANG Huan-huan, ZHANG Jing-can, LI Hu.Research of an Ontology-Based Intelligent Question-Answering System[J].Journal of Chongqing University of Technology(Natural Science),2017(5):111-118.
10.3969/j.issn.1674-8425(z).2017.05.019
TP311
A
1674-8425(2017)05-0111-08