專利名稱:一種基于結構化自然語言的搜索系統的制作方法
技術領域:
本發明涉及互聯網技術,尤其涉及一種基于結構化自然語言的搜索系統。
背景技術:
商業世界中主要討論需求和供應的問題,一般的理解為需求可能是問題,而供應 可能是解決方案;互聯網已經為問題和解決方案提供了全球性的基礎設施。例如,基于關鍵 字的谷歌等搜索引擎可以被視為一個特殊的問題解決者查找網絡上包含由用戶提供的關 鍵字的文件。 一個問題/回答(問答,Q&A)系統,可視為另一特殊問題解決者查找問題的 答案(基于系統所收集的文檔);基于關鍵字的搜索引擎和問答系統在試圖解決問題方面 都已經做了非常的出色工作。但是,從解決問題的角度來看,它們仍然遠遠不夠,很容易發 現,不是所有問題都能從我們所討論的前述兩個系統中找到答案;任何計算機科學家可以 輕而易舉地拿出如下一份清單"可計算問題及其他數學問題",解決這些問題需要計算的 參與;"數據庫搜索問題",如查找超市中不到2美元每磅蘋果的搜索問題;"合成問題",如 建立一個程序,抽取一系列數字的集合并且返回一個排列組合;"推理問題",諸如從這些事 實中可以推理出什么問題?;"數據分析問題",如這組圖片中它們顯示了哪些共同的模式? 有許多方法可能被采取去解決這個問題,但這不是通過搜索引擎或問答系統能解決的一個 問題;"個人'問題",如某人A和某人B,他們互相都不喜歡對方,但是我要怎樣才能讓他們 一起工作?這可能不是一個科學的問題及其解決方案可能會非常依賴經驗,諸如社會考慮 等等。我們的主要目的不在于把所有的問題進行分類,而是匹配問題的解決方案,互聯網在 連接問題和解決方案之間為我們提供了基礎設施,但我們還沒有充分利用這些基礎設施; 到目前為止,它已是有益的交易,我們可以將"交易"這個概念擴展為"問題"和"解決方案" 的平臺。
發明內容
針對以上缺陷,本發明的目的是提供一種基于結構化自然語言的搜索系統,進而
允許互聯網用戶以一個或者多個結構化自然語言描述一個問題,并使得互聯網服務提供者
具備以一個或者多個結構化自然語言描述一個服務的能力;并將用戶的問題描述語句與所
有服務能力描述語句進行比對,反饋匹配的服務。 為實現上述目的,本發明通過以下技術方案實現 —種基于結構化自然語言的搜索系統,該系統包括 (1) —個計算機接口 ,該接口可連接到用戶,使用戶可以通過該接口撰寫基于一個 或多個結構化自然語言的問題描述語句; (2) —個計算機接口,該接口可以連接到服務提供者去組合基于一個或多個結構 化自然語言的服務能力描述語句以及注冊該系統的服務; (3) —系列計算機程序的集合,它們能夠編譯一個或多個結構化自然語言的描述 語句;
(4) —系列計算機程序的集合,它們能夠由一個基于一個或多個結構化自然語言 的問題描述語句,從互聯網絡上匹配具有對應能力的所有可能服務。 本系統包括一個能夠存儲所有已經被注冊服務能力句子的能力語句存儲器,還包 括一個具有對反饋的服務進行排序的排序模塊和一個用于用戶對該服務進行評價的評級 模塊。 本系統設置允許用戶去定義一個句子為一個變量并將其放在另一個句子使用;一 個或多個結構化能力語句能夠描述一個服務。 該搜索系統所包含的一系列計算機程序,能夠編譯一個用戶的問題描述語句并搜 索匹配的服務并執行;還可接收并提供給用戶配對服務執行后返回的結果;能夠根據基于 用戶的結構化自然語言問題描述語句,匹配以結構化自然語言表述的能力語句并反饋所有 可能符合匹配條件的服務。 本系統包括實現一個組合結構化自然語言的問題描述語句或者服務能力描述語 句的方式,該方式包括 (1)提示用戶指定或輸入一個動詞短語;
(2)提示用戶指定或輸入零個、一個或多個"GIVEN"短語;
(3)提示用戶指定或輸入零個、一個或多個"WITH"短語;
(4)提示用戶指定或輸入零個、一個或多個條件從句。 本系統所述的一個可匹配結構化自然語言的問題描述語句與一個結構化自然語 言服務能力語句的計算方法,包括匹配GIVEN短語、匹配WITH短語、匹配動詞短語及匹配條 件從句。 以上本系統所述的一個問題描述語句可與多個能力語句的組合體進行匹配;一個 能力語句可部分匹配一個結構化的問題描述語句并反饋相應的結果。
本系統所采用的問題解決計算實現方式包括
(1)提示用戶選擇一個結構化的自然語言; (2)提示用戶通過選定的結構化自然語言去組合一個問題描述語句; (3)將問題描述語句與以結構化自然語言所表達的描述能力語句進行匹配,這些
相應服務已經被注冊,并且能夠返回那些與用戶查詢語句匹配的服務; (4)提示用戶選擇一個或多個匹配服務。 該系統可實現當服務被選擇后,指示用戶如何使用這些匹配服務以及指示用戶如 何去訂閱這些匹配服務。 本發明所述的基于結構化自然語言的搜索系統的有益效果為所提供的互聯網搜 索系統,可允許互聯網用戶區搜索基于由一個或者多個結構化自然語言組成的問題描述的 各種服務(工具、數據庫、聯機服務等)。
下面根據實施例和附圖對本發明作進一步詳細說明。 圖1是本發明實施例所述基于結構化自然語言的搜索系統具體實現過程示意圖;
圖2是本發明實施例所述基于結構化自然語言的搜索系統的結構化自然語言組 合的具體實現過程示意 圖3是本發明實施例的搜索系統控制流的一個具體實現過程示意圖。
具體實施例方式
如圖l所示,本發明所述的基于結構化自然語言的搜索系統,其中所涉及結構化 的自然語言搜索系統(SNLSS)為用戶提供了一個問題驅動型的接口,可以根據用戶的問題 搜索一個服務;該服務可能是一種在線服務、線下服務、在線數據庫、或者是提供了 API并 且能夠組成更多復雜服務的網絡服務。 一個搜索系統的具體實現過程包括用戶界面110、 服務提供者界面120、能力庫130、及問題與能力匹配140,在用戶界面110中,用戶可以以結 構化的自然語言形式形成一個問題描述語句;在服務提供者界面120中,一個解決方案得 提供者可以以結構化的自然語言形式描述一個服務的能力;能力庫130存儲了服務提供商 能夠提供的所有的能力語句;問題與能力匹配140即匹配查詢語句和同樣以結構化自然語 言描述的能力語句,并返回這些能夠匹配問題描述語句的能力描述語句及其相應的服務。 其中所涉及結構化自然語言是自然語言的子集。相較于自然語言,每個結構化
自然語言的句子在其語法上至少有一個附加的約束;例如,我們可以定義一個SNL(稱為 SNL-1)如下(保留關鍵字以大寫字母表達) [GIVEN〈麗n phrase〉[AS $〈variable_id>] ] * [WITH〈麗n phrase〉[AS $〈variable_id>] ] * 〈verb phrase> [THAT〈condition clause〉AND THAT〈condition clause〉____] 我們將"[GIVEN〈noun phrase〉]"稱為一個GIVEN短語,"[WITH〈nounphrase〉]"稱 為一個WITH短語;在上述語法中,第一個條件修改前面指定的句子名詞,符號[...]表示中 括號里面的文本是可選的,符號[...]表示中括號里面的文本可能會出現零,一次或多次; "AS S〈variable-id〉"定義一個變量的名稱的前綴必須是'$',變量一旦確定,可用在動 詞短語和任何條件語句中;任何在一個GIVEN短語中所定義的變量都能用在一個WITH短語 中。 以下是一些通過SNL-1所描述的例子, 一個句子是查詢句或能力句取決于此(服 務消費者或服務供應商)輸入該句子例1 :給出一個圖像集,分類該數據庫中圖像的點集(blobs)。GIVEN a dataset of imagesClassify blobs of image此例注解為輸入一個圖像集給出圖像中的點集例2 :給出一個圖像集,區分像衛星一樣的斑點GIVEN a dataset of images AS $xIdentify blobs of images of $xTHAT looks like a satellite此例注解為輸入一個圖像集^
給出$x中圖像的點集 修飾詞看起來像衛星 例3 :給出一個數據集合,區分出沒有覆蓋其他斑點的斑點集 GIVEN a dataset of images Identify blobs of images THAT are not overlapping 此例注解為 輸入一個圖像集 給出圖像的點集 ii!BM沒有覆蓋其他點集 例4 :給出一個數據集合,發現一些變量和其他變量之間的分布。 GIVEN a dataset ofvariables [xl, x2,____, xlO] Find distribution of x5 over[xl,x4] 此例注解為 逾入一個數據集包含變量[xl, x2, . . . . , xlO] 給出變量x5與變量組[xl, x4]之間的分布規律 例5 :給出一個視頻切片集合,發現與給定場景相似的場景集合。 GIVEN a dataset of video clips GIVEN a video clip $x Find clips THAT are similar to $x 此例注解為 輸入一個視頻切片集合 MA—個視頻切片變量$x 杳找切片 修飾詞與給定切片$x相似的切片集 在上面語法中Jx是一個變量;在SNL變量前面有一個美元符號('$'),可以由 給定的短語所創建。 例6 : [Text] Q&A〃問答系統搜索 GIVEN a dataset of web pages Find a web page THAT containing an answer for '….' 此例注解為 輸入一個網頁集合 杳找一個網頁 修飾詞包含對"......"問題的答案 如圖2所示,本發明所述的基于結構化自然語言的搜索系統,其結構化自然語言 組合的具體實現過程顯示了組合一個SNL-l句子的具體實現過程,如果用戶想定義任何 GIVEN短語,處理過程將前往模塊210,在此,用戶可以指定一個GIVEN短語;如果用戶想定義任何WITH短語,處理過程將前往模塊220,在此,用戶可以指定一個WITH短語。在模塊
230中,處理器需要詢問用戶去指定或輸入一個動詞短語,這個過程要求用戶指定或輸入一
個動詞短語;如果用戶希望指定或輸入一個條件子句,則處理過程將前往模塊240,在此,
用戶將被提示去指定或輸入一個條件子句。 以下是另外一個結構化自然語言,稱之為SNL-2 : FIND PERSON [THAT〈condition clause〉AND THAT〈condition clause>____] 例7:誰發明了電話? FIND PERSON THAT invented tel印hone 此例注解為 杳找人 修飾詞發明了電話 以下是又一個結構化自然語言,稱之為SNL-3 :
FIND PLACE [THAT〈condition clause〉AND THAT〈condition clause>____] 例8 :加利福利亞在哪兒? FIND PLACETHAT is California 此例注解為 杳找地方 修飾詞是加利福利亞 以上本發明所述的基于結構化自然語言的搜索系統,結構化自然語言搜索系統中 的服務發現包含兩個階段即服務注冊與服務匹配。所述服務注冊是為了能夠被SNLSS有 一個更好的發現機會,服務供應商可以事先注冊好自己的服務,服務供應商必須提供服務 的信息,包括URL、名字空間、能力語句等;所述服務匹配是當用戶提出一個問題描述語句, 查詢能力匹配者在問題描述語句和存儲在能力庫中的可用能力描述語句之間進行匹配。
如圖3所示,本發明所述的基于結構化自然語言的搜索系統,其系統控制流的實 現過程顯示了結構化自然語言搜索系統實現的計算的一個具體實現過程。在模塊310中, 用戶選擇一個結構化自然語言去組合成一個問題描述語句;在模塊320中,用戶通過被選 擇的結構化自然語言組合成一個問題描述語句;這個語句在模塊330中與能力描述語句進 行匹配,最后所有匹配成功的解決方案被列舉在模塊340中。 以上顯示和描述了本發明的主要特征以及所具有的優點。本行業的技術人員應該 了解,本發明不受上述實施例的限制,在不脫離本發明主旨和范圍的前提下本發明還會有
一些變化與改進,這些變化和改進都落入要求保護的本發明范圍內。
權利要求
一種基于結構化自然語言的搜索系統,其特征在于,該系統包括(1)一個計算機接口,該接口可連接到用戶,使用戶通過該接口撰寫一個或多個結構化自然語言的問題描述語句;(2)一系列計算機程序的集合,它們可編譯問題描述語句;(3)一系列計算機程序的集合,能夠根據基于用戶指定的結構化自然語言所表達的問題描述語句從互聯網絡上搜索并反饋所有可能解決該問題的服務。
2. 根據權利要求1所述的基于結構化自然語言的搜索系統,其特征在于此系統結構 具有可被連接到服務提供者的計算機接口去描述一個服務的能力以及注冊該系統的服務。
3. 根據權利要求1所述的基于結構化自然語言的搜索系統,其特征在于該系統設置 一個能夠存儲所有已經被注冊服務能力句子的能力語句存儲器,一個具有對反饋的服務進 行排序的排序模塊和一個用于用戶對該服務進行評價的評級模塊。
4. 根據權利要求1所述的基于結構化自然語言的搜索系統,其特征在于可設置允許 用戶去定義一個問題描述語句為一個變量并將其放在另一個問題描述語句使用。
5. 根據權利要求1所述的基于結構化自然語言的搜索系統,其特征在于所述的一系 列計算機程序的集合,包括能夠編譯一個用戶的問題描述語句并搜索匹配的服務并執行; 可接收并提供給用戶配對服務執行后返回的結果;或者能夠根據基于用戶的結構化自然語 言問題描述語句,匹配以結構化自然語言表述的能力語句并反饋所有可能符合匹配條件的 服務。
6. 根據權利要求1所述的基于結構化自然語言的搜索系統,其特征在于該系統設置 一個讓用戶基于結構化自然語言組合問題描述語句或者服務能力語句的方式,包括讓用戶 表述一個包含動詞及其賓語的動詞短語、讓用戶表述一個或多個GIVEN短語、讓用戶表述 一個或多個WITH短語、讓用戶表述一個或多個條件從句。
7. 根據權利要求6所述的基于結構化自然語言的搜索系統,其特征在于與所述結構 化自然語言組合問題描述語句或者服務能力語句的方式所匹配的方式包括匹配GIVEN短 語、匹配WITH短語、匹配動詞短語以及匹配條件從句。
8. 根據權利要求6或7所述的基于結構化自然語言的搜索系統,其特征在于一個查 詢語句可與多個能力語句的組合體進行匹配,一個能力語句可部分匹配一個結構化的查詢 語句并反饋相應的結果。
9. 根據權利要求1所述的基于結構化自然語言的搜索系統,其特征在于,所述解決問 題的方法包括(1) 提示用戶選擇一個結構化的自然語言;(2) 提示用戶通過選定的結構化自然語言去組合一個問題描述語句;(3) 將問題描述語句與以同樣結構化自然語言所描述的能力語句進行匹配,這些對應 的服務已經被注冊,并且能夠返回與用戶查詢語句匹配的服務;(4) 提示用戶選擇一個或多個匹配服務。
10. 根據權利要求9所述的基于結構化自然語言的搜索系統,其特征在于當服務被選 擇后,指示用戶如何使用這些匹配服務以及如何去訂閱這些匹配的服務。
全文摘要
一種基于結構化自然語言的搜索系統,該搜索系統及其實現方式與基于結構化自然語言的搜索系統相關。它允許互聯網用戶區搜索基于由一個或者多個結構化自然語言組成的問題描述的各種服務;主要包括一個計算機接口,可使用戶通過該接口撰寫一個或多個結構化自然語言的問題描述語句;一系列計算機程序的集合,它們能夠編譯問題描述語句;一系列計算機程序的集合,能夠根據基于用戶指定的結構化自然語言所表達的問題描述語句從互聯網絡上搜索并反饋所有可能解決該問題的服務。本發明可使用戶通過組合一個基于結構化自然語言的問題描述去搜索服務(工具、內容、網上服務等)。
文檔編號G06F17/30GK101699434SQ20091016995
公開日2010年4月28日 申請日期2009年9月11日 優先權日2009年9月11日
發明者許承瑜 申請人:無錫語意電子政務軟件科技有限公司