專利名稱:信息查詢系統、即時通信機器人服務器及信息查詢方法
技術領域:
本發明涉及到即時通信(IM, Instant Messaging)技術,特別涉及到基 于IM的信息查詢系統、IM機器人服務器和信息查詢方法。
背景技術:
隨著中國股市的不斷高漲,股票查詢軟件由于其信息量大、表示形式豐 富、即時快捷等優點受到眾多股民的喜愛。目前已經出現了多種專業的主要 提供股票的查詢及買賣等功能股票查詢軟件。
然而,傳統的股票查詢軟件多數采用的客戶端/服務器(C/S)架構,用 戶若要使用股票查詢軟件,首先需要安裝股票查詢軟件的客戶端軟件。使用 股票查詢客戶端軟件進行股票查詢和股票買賣的主要過程包括股票查詢客 戶端首先通過網絡將股票查詢請求或股票買進或賣出請求發送給股票查詢 軟件服務器;再由股票查詢軟件服務器將所接收的股票查詢請求或股票買進 或賣出請求發送至官方的股票查詢或買賣服務器;然后,股票查詢或買賣服 務器根據所接收的請求進行相應操作,即查詢相應的股票信息或進行相應的 股票買進或賣出操作;最后,股票查詢或買賣服務器通過股票查詢軟件服務 器將操作結果返回給股票查詢軟件客戶端。在上述操作過程中,用戶必須面
對復雜繁多的菜單項,進行復雜繁多的操作才能進行股票的查詢和買賣,并 且通常情況下,股票查詢軟件不能解析自然語言,這要求股票查詢軟件的使 用者具備比較專業的軟件使用知識,因而對新手來講是很不利的。此外,在 股票查詢軟件進行軟件升級時,用戶還必須從股票查詢軟件升級服務器下載 客戶端軟件升級包或補丁,以擴充客戶端功能,否則,客戶端軟件將無法正 常使用。
發明內容
本發明提供了基于即時通信的信息查詢系統、即時通信機器人服務器和 信息查詢方法,使用戶可以使用自然語言進行信息查詢。
本發明所述信息查詢系統,包括即時通信客戶端、即時通信機器人服 務器以及信息查詢服務器;其中,
即時通信客戶端用于將即時通信用戶發送的問題發送至即時通信機器 人服務器,接收并顯示來自即時通信機器人服務器的答案;
即時通信機器人服務器用于將來自即時通信客戶端的問題轉換為信息 查詢服務器可以識別的操作命令,并將來自信息查詢服務器的操作結果轉換 為自然語言形式的答案;
信息查詢服務器用于根據來自即時通信機器人服務器的操作命令進行 相應的處理,并將處理結果返回給即時通信機器人服務器。
其中,所述即時通信機器人服務器進一步用于判斷是否可以將來自即時 通信用戶的問題轉換為信息查詢服務器可以識別的操作命令,如果不能,則 返回疑問提示給所述即時通信客戶端;
所述即時通信客戶端進一步用于顯示來自即時通信機器人服務器的疑
問提示。
所述信息查詢服務器為官方的股票查詢及買賣服務器。 本發明所述即時通信機器人服務器,包括
分詞模塊,用于對接收的疑問句進行分詞,并標注每個詞的詞性;
所述同義詞歸 一化處理模塊,用于根據自身保存的同義詞表對分詞后的 各個詞進行同義詞歸 一化處理;
所述信息提取模塊,用于根據自身保存的術語表對同義詞歸一化處理后 的各個詞進行信息提取;
所述操作命令生成模塊,用于根據信息提取模塊提取的信息生成信息查 詢服務器所能識別的操作指令,并將操作指令發送到所述信息查詢服務器; 所述信息生成模塊,用于接收來自信息查詢服務器的處理結果,生成自 然語言形式的信息,發送給即時通信客戶端。
本發明所述信息查詢方法,包括
A、 即時通信客戶端將即時通信用戶發送的問題發送至即時通信機器人 服務器;
B、 即時通信機器人服務器對來自即時通信客戶端的問題轉換為信息查 詢服務器可以識別的操作命令;
C、 信息查詢服務器根據來自所述即時通信機器人服務器的操作命令進 行處理,并將處理結果返回所述即時通信機器人服務器;
D、 即時通信機器人服務器將來自信息查詢服務器的處理結果轉換為自 然語言的形式,發送至即時通信客戶端,并顯示。
步驟B進一步包括即時通信機器人服務器判斷是否可以將所接收的 問題轉換為信息查詢服務器可以識別的操作命令,如果不能,則返回疑問提 示給所述即時通信客戶端,并由所述即時通信客戶端顯示所述疑問提示。
步驟B所述轉換包括對即時通信用戶輸入的問題進行分詞,標注每
理;根據自身存儲的術語表對同義詞歸一化處理后的各個詞進行信息提取, 并將提取的信息轉換為標準格式的操作命令。
所述同義詞歸一化處理包括根據自身保存的同義詞表將具有相同的意 思的詞替換為同 一 個同義詞。
由此可以看出,通過本發明所述的信息查詢系統及方法,即時通信用戶 可以用自然語言與即時通信機器人以聊天的方式進行各種類型的信息查詢, 既不需要進行煩瑣的操作,也不需要記憶復雜的技術術語,從而極大地增加 了即時通信用戶的服務體驗。
另外,與現有的C/S模式的股票查詢軟件相比,在即時通信機器人服務 器進行升級時,即時通信用戶也無需升級其即時通信客戶端,因而不會給即 時通信用戶帶來任何附加工作。
下面將通過參照附圖詳細描述本發明的示例性實施例,使本領域的普通技術人員更清楚本發明的上述及其它特征和優點,附圖中
圖1為本發明實施例所述的股票查詢系統結構示意圖2為本發明實施例所述的股票查詢或買賣方法流程圖3為本發明實施例所述即時通信機器人服務器進行自然語言解析的方法流程圖4為本發明實施例所述即時通信機器人服務器的結構示意圖。
具體實施例方式
在近幾年,IM技術得到了蓬勃的發展,目前還涌現出以IM技術為核 心的IM機器人技術。這些IM機器人具備一定的人工智能(AI),可以根 據IM用戶提出的問題做出相應的回答,比如,如果IM用戶問IM機器人騰 訊在哪兒,IM機器人就會根據網絡中的信息搜索結果回答IM用戶騰訊在深 圳。借助IM機器人,IM系統可以為IM用戶提供更加多樣有效的服務。
本發明給出了一種信息查詢系統,該信息查詢系統將IM機器人技術和 信息查詢技術結合起來,使用人工智能和自然語言處理的方法,在IM上假 設一個專門用于進行信息查詢的信息查詢機器人來實現信息查詢。
為使本發明的目的、技術方案更加清楚明白,以下參照附圖并舉實施例, 對本發明做進一步的詳細說明
為了解決現有股票查詢和股票買賣過程中的諸多問題,本發明的一個實 施例給出了一種實現股票查詢和/或股票買賣的信息查詢系統,其結構如圖1 所示,主要包括裝載有IM機器人的IM客戶端、IM機器人服務器以及股 票查詢及買賣服務器。
在本實施例中,所述信息查詢系統將IM才凡器人作為一個虛擬IM用戶, 為其分配一個賬號,IM客戶端可以通過將所述賬號對應的IM機器人加為聯 系人的方式在IM客戶端裝載IM機器人。與和其他聯系人的交互方式相類 似,在將IM機器人加為自身的聯系人之后,IM用戶就可以在任何一臺裝有 IM客戶端軟件的計算機上通過聊天窗口與所述IM機器人進行信息交互,以 實現信息查詢。
在本實施例所述的信息查詢系統中,所述IM客戶端用于將IM用戶在 聊天窗口中編輯的發送給IM機器人的自然語言形式的問題發送至IM機器 人服務器,并接收來自IM機器人服務器的自然語言形式的答案;
所述IM機器人服務器用于對來自IM客戶端的自然語言形式的問題進 行自然語言解析處理,如果可以正確處理所述問題,則將來自IM客戶端的 問題轉換為股票查詢及買賣服務器可以識別的操作命令,例如,股票查詢命 令或股票買賣命令,發送至所述股票查詢及買賣服務器;如果不能正確處理 所述問題,則根據自然語言解析處理過程中的錯誤返回相應的疑問提示給所 述IM客戶端,同時所述IM機器人服務器還用于將來自股票查詢及買賣服 務器的操作結果轉換為自然語言的形式,作為問題的答案發送給所述IM客 戶端;
所述股票查詢及買賣服務器為官方的股票查詢及買賣服務器,用于根據 來自所述IM機器人服務器的操作命令,例如,股票查詢命令或股票買賣命 令,進行相應的處理,并將處理結果,例如查詢到的股票信息以及股票買賣 的處理結果等返回給所述IM機器人服務器。
基于上述信息查詢系統,本發明的另一個實施例還給出了實現股票查詢 或買賣的方法。實施本實施例所述股票查詢或買賣方法的前提是,IM用戶 預先將IM機器人加為自身的聯系人。如圖2所示,所述方法主要包括
步驟10: IM客戶端將IM用戶在對IM機器人的聊天窗口中編輯的發送 給IM機器人的自然語言形式的問題發送至IM機器人服務器;
步驟20: IM機器人服務器對來自IM客戶端的自然語言形式的問題進 行自然語言解析處理,判斷是否可以將所接收的問題解析為股票查詢及買賣 服務器可以識別的操作命令,如果可以解析所述問題,則執行步驟30;否 則執行步驟70;
步驟30: IM機器人服務器將來自IM客戶端的自然語言形式的問題轉 換為,并將轉換后的操作命令發送至所述股票查詢及買賣服務器;
在步驟30中,所述操作命令為股票查詢及買賣服務器可以識別的股票 查詢命令或股票買進或賣出命令;
步驟40:股票查詢及買賣服務器根據來自所述IM機器人服務器的操作 命令進行相應的處理,并將處理結果等返回給所述IM機器人服務器;
本步驟所述的處理結果可以是股票查詢及買賣服務器根據所接收命令 查詢到的股票信息或股票買進或賣出的處理結果;
步驟50: IM機器人服務器將來自股票查詢及買賣服務器的處理結果轉 換為自然語言的形式,作為所述問題的答案發送至IM客戶端;
本步驟所述轉換為自然語言形式的處理比較簡單,不需要進行語義分 析,直接將所述處理結果組合成句子即可;
步驟60:所述IM客戶端將所接收的自然語言形式的針對所述問題的答 案顯示在對該IM機器人的聊天窗口中,然后結束;
步驟70:根據在自然語言解析處理過程中的錯誤返回相應的疑問提示 給所述IM客戶端;然后執行步驟80;
該步驟中,所述疑問提示也是自然語言形式的;
步驟80:所述IM客戶端將所接收的疑問提示顯示在對該IM機器人的 聊天窗口中,然后結束。
下面將舉例描述上述步驟20所述IM機器人服務器進行自然語言解析 的方法。如圖3所示,所述方法主要包括
步驟201:在IM機器人服務器端程序啟動的時候加載系統預先設置的 同義詞表和術語表;
該步驟所述的同義詞表為紀錄相同的詞的表,通過所述同義詞表,IM 機器人服務器就可以對來自IM用戶的問題進行同義詞歸一化處理得到同義 詞歸一化后的問題。
例如,若IM用戶在對IM機器人的聊天窗口中輸入了 "深發展股票今
天的深A股價格是多少?"的問題。在IM客戶端將所述問題發送至IM機 器人服務器后,IM機器人服務器首先找到問題中的詞"今天"與同義詞表 中的"今日',是同義詞,并進行同義詞歸一化處理,得到同義詞歸一化后的 問題"深發展股票今日的深A股價格是多少?"。處理前后的文本雖然不 一樣,但是表示的含義是相同的,這樣,進行同義詞歸一化處理后更有利于 信息的處理。
該步驟所述術語表為股票的術語表,包括所有股票的名單,上述"深發 展股票今天的深A股價格是多少?"問題里面的詞"深發展"和"A股"就 在術語表中。
步驟202:對IM用戶輸入的問題劃分句子類型。
在該步驟中,IM機器人服務器根據IM用戶輸入的問題將所接收的句 子劃分為以下幾種類型之一
1) 英文句全部是英文的句子;
2) 是非問句給出一個肯定,然后詢問是否成立。例如"你家有兩個 人是是不是?,,;
3) 選擇問句給出兩個或多個選擇的問句。比如"大盤是漲了還是跌 了,,;
4) 時間問句
5) i也點問句
6) 事物問句
詢問時間的問句; 詢問地點的問句; 詢問某個人或事物的問句; 7)陳述句陳述某件事情的句子,比如"今天天氣不錯!,,。 對于上述IM用戶輸入的"深發展股票今天的深A股價格是多少?"問 題可以劃分為事物問句。
步驟203:對劃分類型后的句子進行處理,因為IM機器人是只處理問 句,則如果是英文句子或者陳述句,直接執行步驟209,向IM客戶端返回 錯誤的提示;如果是問句,則執行如下步驟。
步驟204:對IM用戶輸入的問題進行分詞,并在分詞后標注每個詞詞
性。
對于上述IM用戶輸入的"深發展股票今天的深A股價格是多少?"問
題經過分詞后得到如下各個詞名詞"深發展"、名詞"股票"、名詞"今 天"、停用詞"的"、名詞"深"、名詞"A股"、名詞"價格"、動詞"是"、 副詞"多少,,以及停用詞"呢,,。
本步驟所述停用詞(Stop Word)通常是指文本中出現的連詞、介詞、 冠詞等并無太大意義,并且對句子的語義影響不大的詞。這些詞通常自身并 無明確的意義,只有將其放入一個完整的句子中才有一定作用,例如在英 文中常用的停用詞有the, a, it等;在中文中常見的有"是,,,"的","地"等。 在自然語言處理中通常可以對停用詞忽略不計,采用直接去掉的方法進行處 理。
步驟205:對IM用戶輸入的問題進行停用詞過濾。
對于上述名詞"深發展"、名詞"股票"、名詞"今天"、停用詞"的"、 名詞"深,,、名詞"A股"、名詞"價格,,、動詞"是"、副詞"多少,,以 及停用詞"呢"經過停用詞過濾后得到的詞如下名詞"深發展"、名詞"今 天"、名詞"深"、名詞"A股"、名詞"價格"。
步驟206:根據加栽的同義詞表進行同義詞歸一化處理。
在本步驟中,IM機器人服務器可以根據同義詞表,將具有相同的意思 的同義詞全部替換成同 一個詞。
對于步驟205得到的名詞"深發展"、名詞"今天"、名詞"深"、名 詞"A股,,、名詞"價格"經過同義詞歸一化處理后將其中的名詞"今天" 歸一化為同義詞"今日",得到結果為名詞"深發展"、名詞"今日"、名 詞"深"、名詞"A股"、名詞"價格"。
步驟207:根據加栽的術語表進行信息提取。
所述信息提取具體為根據IM用戶輸入的問題的句子類型,根據加載 的術語表判斷抽取查詢信息的所有條件,然后抽取這些信息,組合成官方服 務器的查詢格式。
對于上述例子中的在步驟206得到的結果名詞"深發展"、名詞"今日"、 名詞"深"、名詞"A股"、名詞"價格"通過與術語表進行掃描匹配,進 行信息提取后,得到如下信息
命令碼查詢股價的命令碼;
時間今日,默認為當前時刻;
股票深發展;
股市深A股。
步驟208:將步驟207提取出的信息轉換為標準格式得到官方股票查詢 及買賣服務器可以識別的操作命令。
本發明的又一個實施例還給出了一種實現自然語言解析的IM機器人服 務器,其內部結構如圖4所示,主要包括句子類型劃分模塊301、分詞模 塊302、停用詞過濾模塊303、同義詞歸一化處理模塊304、信息提取模塊 305、操作命令生成模塊306以及信息生成模塊307。
其中,所述句子類型劃分模塊301用于將IM用戶輸入的問題劃分成為 以下幾種類型之一英文句、是非問句、選擇問句、時間問句、地點問句、 事物問句以及陳述句,并在劃分類型后,將IM用戶輸入的疑問句輸出到分 詞模塊302;將IM用戶輸入的非疑問句輸出到信息生成模塊307;
所述分詞模塊302用于對IM用戶輸入的疑問句進行分詞,并在標注每 個詞詞性;
所述停用詞過濾模塊303用于過濾分詞后各詞中的停用詞;
所述同義詞歸一化處理模塊304保存有同義詞表,用于根據保存的同義 詞表對過濾了停用詞后的各個詞進行同義詞歸 一化處理;
所述信息提取模塊305保存有術語表,用于根據保存的術語表對經過同 義詞歸一化處理后的各個詞進行信息提取;
所述操作命令生成模塊306用于根據所述信息提取模塊提取的信息生 成信息查詢服務器所能識別的操作指令,并將生成的操作指令發送到所述信 息查詢服務器;
所述信息生成模塊307 —方面用于接收來自信息查詢服務器的處理結 構,生成自然語言形式的信息,發送給IM客戶端,另一方面用于接收句子 類型劃分模塊301輸出的非疑問句,向IM客戶端反饋錯誤提示信息。
從上述實施例可以看出,雖然上述股票信息查詢系統和方法和傳統股票 查詢軟件相比,信息來源是相同的,即信息均來自官方的股票查詢及買賣服 務器,但是,IM用戶可以用自然語言與IM機器人以聊天的方式進行信息查 詢,既不需要進行煩瑣的操作,也不需要記住復雜的技術術語。另外,在IM 機器人服務器進行升級時,IM用戶無需升級其IM客戶端,因而不會給IM 用戶帶來任何附加工作。
下面將通過兩個具體的例子,來說明上述實施例所述的股票信息查詢方法。
舉例1:IM用戶向IM機器人查詢"劉德華現在的深市A股價是多少?" 所述股票信息查詢的具體過程如下
IM客戶端將IM用戶輸入的查詢語句直接發給IM機器人服務器;
IM機器人服務器進行自然語言解析處理,在自然語言解析處理后發現
沒有叫"劉德華"的股票;
IM機器人服務器向IM客戶端返回提示信息"沒有您查詢的股票劉德
華,,。
IM客戶端在IM用戶對IM機器人的聊天窗口中顯示所述提示信息"沒 有您查詢的股票劉德華"。
舉例2: IM用戶查詢向IM機器人查詢"深發展現在的深市A股價是多 少?,,
所述股票信息查詢的具體過程如下
IM客戶端將IM用戶輸入的查詢語句直接發給IM機器人服務器;
IM機器人服務器進行自然語言解析處理,將IM用戶輸入的查詢語句
從自然語言的形式轉換為官方股票查詢及買賣服務器可以識別的操作命令,
然后,發給股票查詢及買賣服務器;股票查詢及買賣服務器根據所接收的操作命令進行相應操作處理,即查
詢深A股深發展當前時刻的股價,并將查詢到的深A股深發展當前時刻的 股價返回給IM機器人服務器;
IM機器人服務器處理股票查詢及買賣服務器返回的處理結果,即深A 股深發展當前時刻的股價,將所述處理結果轉換為IM用戶易懂的自然語言 形式,并返回給IM客戶端;
IM客戶端在在IM用戶對IM才幾器人的聊天窗口中顯示"深A股深發展 當前時刻的股價為xxx"。
上述本發明的實施例是以股票查詢為例來進行說明的,本領域的技術人 員可以理解,如果將IM機器人服務器連接到其他可以進行信息查詢的信息 查詢服務器,本發明的信息查詢系統及方法還可以進行其他類型的信息查 詢。例如,如果IM機器人服務器連接到保存有天氣信息的天氣信息查詢服 務器,則IM用戶可以以自然語言的形式通過與IM機器人進行聊天獲得當 前的天氣情況。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本 發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在 本發明的保護范圍之內。
權利要求
1、一種信息查詢系統,其特征在于,包括即時通信客戶端、即時通信機器人服務器以及信息查詢服務器;其中,即時通信客戶端用于將即時通信用戶發送的問題發送至即時通信機器人服務器,接收并顯示來自即時通信機器人服務器的答案;即時通信機器人服務器用于將來自即時通信客戶端的問題轉換為信息查詢服務器可以識別的操作命令,并將來自信息查詢服務器的操作結果轉換為自然語言形式的答案;信息查詢服務器用于根據來自即時通信機器人服務器的操作命令進行相應的處理,并將處理結果返回給即時通信機器人服務器。
2、 根據權利要求1所述的信息查詢系統,其特征在于, 所述即時通信機器人服務器進一步用于判斷是否可以將來自即時通信用戶的問題轉換為信息查詢服務器可以識別的操作命令,如果不能,則返回 疑問提示給所述即時通信客戶端;所述即時通信客戶端進一步用于顯示來自即時通信機器人服務器的疑問提示。
3、 根據權利要求1或2所述的信息查詢系統,其特征在于,所述信息 查詢服務器為官方的股票查詢及買賣服務器。
4、 一種即時通信機器人服務器,其特征在于,包括 分詞模塊,用于對接收的疑問句進行分詞,并標注每個詞的詞性; 所述同義詞歸一化處理模塊,用于根據自身保存的同義詞表對分詞后的各個詞進行同義詞歸 一化處理;所述信息提取模塊,用于根據自身保存的術語表對同義詞歸一化處理后 的各個詞進行信息提取;所述操作命令生成模塊,用于根據信息提取模塊提取的信息生成信息查 詢服務器所能識別的操作指令,并將操作指令發送到所述信息查詢服務器;所述信息生成模塊,用于接收來自信息查詢服務器的處理結果,生成自 然語言形式的信息,發送給即時通信客戶端。
5、 根據權利要求4所述的即時通信機器人服務器,其特征在于,進一 步包括句子類型劃分模塊,用于將接收的問題劃分為疑問句和非疑問句,將疑 問句輸出到所述分詞模塊,將非疑問句輸出到所述信息生成模塊;所述信息生成模塊進一步用于接收句子類型劃分模塊輸出的非疑問句, 向即時通信客戶端反饋錯誤提示信息。
6、 根據權利要求4或5所述的即時通信機器人服務器,其特征在于, 進一步包括停用詞過濾才莫塊,用于過濾分詞后各詞中的停用詞,并將經過停用詞過 濾后的各個詞發送到所述同義詞歸一化處理模塊進行同義詞歸 一化處理。
7、 一種信息查詢方法,其特征在于,包括A、 即時通信客戶端將即時通信用戶發送的問題發送至即時通信機器人 服務器;B、 即時通信機器人服務器對來自即時通信客戶端的問題轉換為信息查 詢服務器可以識別的操作命令;C、 信息查詢服務器根據來自所述即時通信機器人服務器的操作命令進 行處理,并將處理結果返回所述即時通信機器人服務器;D、 即時通信機器人服務器將來自信息查詢服務器的處理結果轉換為自 然語言的形式,發送至即時通信客戶端,并顯示。
8、 根據權利要求7所述的方法,其特征在于,步驟B進一步包括 即時通信機器人服務器判斷是否可以將所接收的問題轉換為信息查詢服務器可以識別的操作命令,如果不能,則返回疑問提示給所述即時通信客 戶端,并由所述即時通信客戶端顯示所述疑問提示。
9、 根據權利要求7所述的方法,其特征在于,步驟B所述轉換包括 對即時通信用戶輸入的問題進行分詞,標注每個詞詞性;歸一化處理;根據自身存儲的術語表對同義詞歸一化處理后的各個詞進行信息提取, 并將提取的信息轉換為標準格式的操作命令。
10、根據權利要求9所述的信息查詢方法,其特征在于,所述同義詞歸 一化處理包括根據自身保存的同義詞表將具有相同的意思的詞替換為同一 個同義詞。
全文摘要
本發明公開了信息查詢系統、信息查詢方法和即時通信機器人服務器。其中,信息查詢系統包括即時通信客戶端用于將即時通信用戶發送的問題發送至即時通信機器人服務器,接收并顯示來自即時通信機器人服務器的答案;即時通信機器人服務器用于將來自即時通信客戶端的問題轉換為信息查詢服務器可以識別的操作命令,并將來自信息查詢服務器的操作結果轉換為自然語言形式的答案;信息查詢服務器用于根據來自即時通信機器人服務器的操作命令進行相應的處理,并將處理結果返回給即時通信機器人服務器。由此,即時通信用戶可以用自然語言與即時通信機器人以聊天的方式進行各種類型的信息查詢,而不需要進行煩瑣的操作。
文檔編號H04L12/58GK101193069SQ20061016172
公開日2008年6月4日 申請日期2006年12月13日 優先權日2006年12月13日
發明者劉致遠 申請人:騰訊科技(深圳)有限公司