本發明涉及計算機,具體地說,涉及一種基于問答的網絡拓撲圖生成方法、裝置、介質及產品。
背景技術:
1、網絡拓撲圖是一種用圖形化表示網絡結構的工具,它展示了網絡中的設備和它們之間的連接方式。網絡拓撲圖中的節點代表網絡中的設備,如路由器、交換機、服務器等,而連接線則表示設備之間的物理或邏輯連接。網絡拓撲圖可以幫了解和規劃網絡架構。
2、現有的網絡拓撲圖生成方法需要通過ssh(secure?shell,安全外殼協議)命令登陸服務器,查看并記錄下服務器上所有fc端口信息,然后通過ssh登陸存儲設備,查看存儲上所有fc(fibre?channel,網狀通道技術)端口信息,以及網絡連接關系信息,通過比對服務器與存儲設備的信息,查找出服務器fc端口與存儲fc端口的連接拓撲關系,通過鼠標完成人機交互,畫出拓撲圖。
3、現有網絡拓撲圖生成方案依賴ssh命令,兼容性差,拓撲圖生成過程靈活性差,速度較慢。
技術實現思路
1、與現有技術相比,本發明提出一種基于問答的網絡拓撲圖生成方法、裝置、介質及產品,網絡拓撲圖的生成無需依賴ssh命令,兼容性高,靈活性高,速度更快。
2、本發明實施例提供一種基于問答的網絡拓撲圖生成方法,所述方法包括:
3、根據用戶輸入的交互數據進行自動問答,生成對話數據;
4、將所述自動對話數據中的實體和意圖分別映射為拓撲圖中的節點和連接關系,得到拓撲圖結構化數據;
5、根據dom4j解析包創建拓撲圖的xml文檔,將所述拓撲圖結構化數據添加到xml文檔中,生成xml文件;
6、加載和渲染所述xml文件得到網絡拓撲圖。
7、優選地,根據dom4j解析包創建拓撲圖的xml文檔,將所述拓撲圖結構化數據添加到xml文檔中,生成xml文件,包括:
8、遍歷所述拓撲圖結構化數據中節點和連接關系,并根據dom4j解析包創建對應的xml元素;
9、將創建的xml元素添加到所述xml文檔中,添加節點和屬性,得到xml文件。
10、優選地,所述方法還包括:
11、使用預設的布局算法排列所述網絡拓撲圖中的節點。
12、進一步,使用預設的布局算法排列所述網絡拓撲圖中的節點,包括:
13、獲取所述網絡拓撲圖中的節點數量;
14、根據所述網絡拓撲圖的布局和尺寸確定與圓形布局的半徑;
15、根據節點的索引值計算所述網絡拓撲圖中的每一節點的角度值;
16、根據每一節點的角度值和半徑確定不同節點的坐標位置;
17、將每一節點的坐標位置應用到所述網絡拓撲圖中,完成圓形布局。
18、優選地,使用預設的布局算法排列所述網絡拓撲圖中的節點,包括:
19、獲取所述網絡拓撲圖中節點數量和連接關系;
20、創建一個空的布局結果數據結構;
21、以所述網絡拓撲圖的根節點作為原點位置,遍歷每一層的節點,計算子節點與所述根節點在垂直方向的距離,作為縱坐標;將預設的偏移距離作為每一子節點和其父節點的水平距離,確定子節點的橫坐標;
22、將每一節點的橫坐標和縱坐標作為位置信息保存到所述布局結果數據結構中;
23、將每一節點的坐標位置應用到所述網絡拓撲圖中,完成層次布局。
24、優選地,將所述自動對話數據中的實體和意圖分別映射為拓撲圖中的節點和連接關系,生成拓撲圖結構化數據,包括:
25、對所述自動對話數據中文本進行預處理,去除文本字符;
26、識別預處理后的對話文本中的實體信息,映射為拓撲圖中的節點;
27、使用自然語言處理技術識別所述對話文本中的對話意圖,映射為起始節點和目標節點的連接關系;
28、根據節點和對應的連接關系輸出json格式的拓撲圖結構化數據。
29、優選地,所述拓撲圖結構化數據包括節點信息、連接信息以及模塊信息;
30、所述節點信息包括節點唯一標識、名稱、類型以及層級信息;
31、所述連接信息包括連接的唯一標識、連接名稱、連接類型、起始連接節點、目標連接節點以及其他各項連接信息;
32、所述模塊信息包括當前模塊信息,以及當前模塊下所有節點、連線的列表。
33、優選地,所述方法還包括:
34、對所述拓撲圖結構化數據進行解析,將其轉化為程序可識別的結構化數據;
35、對所述對話數據進行信息提取,通過預設的關鍵詞匹配算法計算提取的每一關鍵詞在所述結構化數據和對話信息中的匹配程度,確定結構化數據和對話信息之間的整體匹配程度;
36、輸出匹配程度高的拓撲圖結構化數據。
37、優選地,所述方法還包括:
38、在前端基于bpmn.js庫使用api端點和組件定義節點類型、連接類型和交互行為,創建拓撲圖編輯器界面;
39、通過事件監聽和回調函數識別用戶通過所述拓撲圖編輯器界面輸入的交互指令,執行所述交互指令。
40、優選地,所述方法還包括:
41、基于在后端通過spring?boot定義的api端點接收前端發送的拓撲圖數據和拓撲請求,使用spring?boot的控制器和服務層處理所述拓撲圖數據,生成新的xml文件,返回前端。
42、優選地,所述根據用戶輸入的交互數據進行自動問答,生成對話數據,包括:
43、將用戶輸入的交互數據進行語音識別,轉換為自然語言文本;
44、將所述自然語言文本進行自然語言理解,提取得到當前文本的意圖和槽值對;
45、對當前文本的意圖和槽值對進行對話管理,得到響應動作;
46、對所述響應動作進行自然語言生成,得到自然語言文本輸出;
47、將所述交互數據和所述自然語言文本輸出作為所述對話數據。
48、優選地,將用戶輸入的交互數據進行語音識別,轉換為自然語言文本,包括:
49、對所述交互數據進行預處理;
50、對預處理后的交互數據的信號波形進行特征提取,得到語音特征;
51、通過預先訓練得到的聲學模型對所述語音特征進行識別,得到音素序列;
52、通過字典將所述音素序列轉換為單詞序列,通過預先訓練的語言模型調整單詞序列的順序,得到識別結果作為所述自然語言文本。
53、優選地,將所述自然語言文本進行自然語言理解,提取得到當前文本的意圖和槽值對,包括:
54、將所述自然語言文本輸入到預先訓練的文本識別模型中,根據輸出結果確定當前文本的意圖和槽值對。
55、優選地,所述文本識別模型訓練過程包括:
56、收集對話數據,并進行預處理;
57、根據預處理后的對話數據的應用場景和需求,定義意圖類別;
58、對每條對話數據標注出意圖,并對對話數據中的槽值信息進行標注;
59、在標注后的對話數據中添加特殊字符,將標準后的對話數據轉換為預設格式;
60、將轉換后的對話數據按照預設的劃分比例劃分出訓練集、驗證集和測試集;
61、根據劃分的訓練集和所述測試集對預設的bert模型采用交叉熵損失函數進行訓練,通過adam作為優化器對所述bert模型進行優化;
62、通過所述驗證集對訓練后的模型進行驗證,根據驗證的損失值調整所述bert模型的超參數,直到驗證集的模型損失值達到閾值要求,輸出所述文本識別模型。
63、優選地,所述對當前文本的意圖和槽值對進行對話管理,得到響應動作,包括:
64、根據預存的對話歷史和當前文本的意圖和槽值對確定當前的會話狀態;
65、根據當前會話狀態匹配預設的響應動作。
66、進一步地,所述根據預存的對話歷史和當前文本的意圖和槽值對確定當前的會話狀態,包括:
67、在任務型人機對話中將每輪最新對話提取出的文本的意圖和槽值對添加到對應的槽中,進行對話狀態追蹤,更新當前的對話狀態。
68、優選地,所述方法還包括:
69、當所述響應動作為詢問動作時,基于當前對話狀態向用戶提問,引導用戶回答關鍵槽值;
70、當所述響應動作為解答動作時,基于用戶提問,在知識庫中匹配答案文本;
71、當所述響應動作為繪圖動作時,根據預設的拓撲圖模板和槽值對,繪制對應的網絡拓撲圖。
72、優選地,所述對所述響應動作進行自然語言生成,得到自然語言文本輸出,包括:
73、根據所述響應動作確定傳達信息文本;
74、組織所述傳達信息中文本結構順序;
75、將組成文本結構順序的文本信息聚合為文本語句;
76、在聚合的文本語句的文本信息中添加連接詞,組成自然語言;
77、根據所述自然語言的所屬領域,確定拓展詞匯,構成自然語言語句,得到自然語言文本輸出。
78、本發明實施例還提供一種基于問答的網絡拓撲圖生成裝置,所述裝置包括:
79、智能對話模塊,用于根據用戶輸入的交互數據進行自動問答,生成對話數據;
80、數據映射模塊,用于將所述自動對話數據中的實體和意圖分別映射為拓撲圖中的節點和連接關系,得到拓撲圖結構化數據;
81、創建模塊,用于根據dom4j解析包創建拓撲圖的xml文檔,將所述拓撲圖結構化數據添加到xml文檔中,生成xml文件;
82、加載模塊,用于加載和渲染所述xml文件得到網絡拓撲圖。
83、優選地,所述創建模塊用于:
84、遍歷所述拓撲圖結構化數據中節點和連接關系,并根據dom4j解析包創建對應的xml元素;
85、將創建的xml元素添加到所述xml文檔中,添加節點和屬性,得到xml文件。
86、優選地,所述裝置還包括布局模塊,用于:
87、使用預設的布局算法排列所述網絡拓撲圖中的節點。
88、優選地,所述布局模塊具體用于:
89、獲取所述網絡拓撲圖中的節點數量;
90、根據所述網絡拓撲圖的布局和尺寸確定與圓形布局的半徑;
91、根據節點的索引值計算所述網絡拓撲圖中的每一節點的角度值;
92、根據每一節點的角度值和半徑確定不同節點的坐標位置;
93、將每一節點的坐標位置應用到所述網絡拓撲圖中,完成圓形布局。
94、優選地,所述布局模塊具體用于:
95、獲取所述網絡拓撲圖中節點數量和連接關系;
96、創建一個空的布局結果數據結構;
97、以所述網絡拓撲圖的根節點作為原點位置,遍歷每一層的節點,計算子節點與所述根節點在垂直方向的距離,作為縱坐標;將預設的偏移距離作為每一子節點和其父節點的水平距離,確定子節點的橫坐標;
98、將每一節點的橫坐標和縱坐標作為位置信息保存到所述布局結果數據結構中;
99、將每一節點的坐標位置應用到所述網絡拓撲圖中,完成層次布局。
100、優選地,所述數據映射模塊,用于:
101、對所述自動對話數據中文本進行預處理,去除文本字符;
102、識別預處理后的對話文本中的實體信息,映射為拓撲圖中的節點;
103、使用自然語言處理技術識別所述對話文本中的對話意圖,映射為起始節點和目標節點的連接關系;
104、根據節點和對應的連接關系輸出json格式的拓撲圖結構化數據。
105、優選地,所述拓撲圖結構化數據包括節點信息、連接信息以及模塊信息;
106、所述節點信息包括節點唯一標識、名稱、類型以及層級信息;
107、所述連接信息包括連接的唯一標識、連接名稱、連接類型、起始連接節點、目標連接節點以及其他各項連接信息;
108、所述模塊信息包括當前模塊信息,以及當前模塊下所有節點、連線的列表。
109、優選地,所述裝置還包括輔助模塊,具體用于:
110、對所述拓撲圖結構化數據進行解析,將其轉化為程序可識別的結構化數據;
111、對所述對話數據進行信息提取,通過預設的關鍵詞匹配算法計算提取的每一關鍵詞在所述結構化數據和對話信息中的匹配程度,確定結構化數據和對話信息之間的整體匹配程度;
112、輸出匹配程度高的拓撲圖結構化數據。
113、優選地,所述裝置還包括前端模塊,具體用于:
114、在前端基于bpmn.js庫使用api端點和組件定義節點類型、連接類型和交互行為,創建拓撲圖編輯器界面;
115、通過事件監聽和回調函數識別用戶通過所述拓撲圖編輯器界面輸入的交互指令,執行所述交互指令。
116、優選地,所述裝置還包括后端模塊,具體用于:
117、基于在后端通過spring?boot定義的api端點接收前端發送的拓撲圖數據和拓撲請求,使用spring?boot的控制器和服務層處理所述拓撲圖數據,生成新的xml文件,返回前端。
118、優選地,所述智能對話模塊具體用于:
119、將用戶輸入的交互數據進行語音識別,轉換為自然語言文本;
120、將所述自然語言文本進行自然語言理解,提取得到當前文本的意圖和槽值對;
121、對當前文本的意圖和槽值對進行對話管理,得到響應動作;
122、對所述響應動作進行自然語言生成,得到自然語言文本輸出;
123、將所述交互數據和所述自然語言文本輸出作為所述對話數據。
124、優選地,所述智能對話模塊具體用于:
125、對所述交互數據進行預處理;
126、對預處理后的交互數據的信號波形進行特征提取,得到語音特征;
127、通過預先訓練得到的聲學模型對所述語音特征進行識別,得到音素序列;
128、通過字典將所述音素序列轉換為單詞序列,通過預先訓練的語言模型調整單詞序列的順序,得到識別結果作為所述自然語言文本。
129、優選地,所述智能對話模塊具體用于:
130、將所述自然語言文本輸入到預先訓練的文本識別模型中,根據輸出結果確定當前文本的意圖和槽值對。
131、優選地,所述智能對話模塊具體用于:
132、收集對話數據,并進行預處理;
133、根據預處理后的對話數據的應用場景和需求,定義意圖類別;
134、對每條對話數據標注出意圖,并對對話數據中的槽值信息進行標注;
135、在標注后的對話數據中添加特殊字符,將標準后的對話數據轉換為預設格式;
136、將轉換后的對話數據按照預設的劃分比例劃分出訓練集、驗證集和測試集;
137、根據劃分的訓練集和所述測試集對預設的bert模型采用交叉熵損失函數進行訓練,通過adam作為優化器對所述bert模型進行優化;
138、通過所述驗證集對訓練后的模型進行驗證,根據驗證的損失值調整所述bert模型的超參數,直到驗證集的模型損失值達到閾值要求,輸出所述文本識別模型。
139、優選地,所述智能對話模塊具體用于:
140、根據預存的對話歷史和當前文本的意圖和槽值對確定當前的會話狀態;
141、根據當前會話狀態匹配預設的響應動作。
142、優選地,所述智能對話模塊具體用于:
143、在任務型人機對話中將每輪最新對話提取出的文本的意圖和槽值對添加到對應的槽中,進行對話狀態追蹤,更新當前的對話狀態。
144、優選地,所述智能對話模塊具體還用于:
145、當所述響應動作為詢問動作時,基于當前對話狀態向用戶提問,引導用戶回答關鍵槽值;
146、當所述響應動作為解答動作時,基于用戶提問,在知識庫中匹配答案文本;
147、當所述響應動作為繪圖動作時,根據預設的拓撲圖模板和槽值對,繪制對應的網絡拓撲圖。
148、優選地,所述智能對話模塊具體用于:
149、根據所述響應動作確定傳達信息文本;
150、組織所述傳達信息中文本結構順序;
151、將組成文本結構順序的文本信息聚合為文本語句;
152、在聚合的文本語句的文本信息中添加連接詞,組成自然語言;
153、根據所述自然語言的所屬領域,確定拓展詞匯,構成自然語言語句,得到自然語言文本輸出。
154、本發明實施例還提供一種基于問答的網絡拓撲圖生成裝置,包括處理器、存儲器以及存儲在所述存儲器中且被配置為由所述處理器執行的計算機程序,所述處理器執行所述計算機程序時實現如上述任一項實施例所述的一種基于問答的網絡拓撲圖生成方法。
155、本發明實施例還提供一種計算機可讀存儲介質,所述計算機可讀存儲介質包括存儲的計算機程序,其中,在所述計算機程序運行時控制所述計算機可讀存儲介質所在設備執行如上述任一項實施例所述的一種基于問答的網絡拓撲圖生成方法。
156、本發明實施例還提供一種計算機程序產品,包括計算機程序/指令,該計算機程序/指令被處理器執行時實現上述任一項實施例所述的方法的步驟。
157、與現有技術相比,本發明提供一種基于問答的網絡拓撲圖生成方法、裝置、介質及產品,根據用戶輸入的交互數據進行自動問答,生成對話數據;將所述自動對話數據中的實體和意圖分別映射為拓撲圖中的節點和連接關系,得到拓撲圖結構化數據;根據dom4j解析包創建拓撲圖的xml文檔,將所述拓撲圖結構化數據添加到xml文檔中,生成xml文件;加載和渲染所述xml文件得到網絡拓撲圖。本技術方案網絡拓撲圖的生成無需依賴ssh命令,兼容性高,靈活性高,速度更快。