2016-12-15 171 views
0

我正在嘗試創建一個計算機診斷服務程序。我希望能夠問用戶他們的問題是什麼,然後從中提取關鍵詞。然後我想打印一個解決方案。例如,用戶說「我的屏幕已損壞」,程序會識別「屏幕」並打印破碎屏幕的解決方案。我真的不知道如何做到這一點,我真的需要一些幫助。謝謝!接受輸入並搜索關鍵詞

回答

1

與關鍵字的一些詞典的解決方案d

d = {'screen': 'Get a new screen', ...} 
problem = input('What did you do? ').lower() 
for k in d: 
    if k in problem: 
     print(d[k]) 

對於每個關鍵字,檢查它是否在問題。如果是,請打印相關的解決方案

+0

謝謝!超級有用 –

+0

我將如何修改此代碼,以便它從文本文件中讀取關鍵字和解決方案? –

+0

@ mr.python該文本文件是如何格式化的? –

0

這工作太

import re 
D = {'screen': 1, 'keyboard': 2, 'mouse': 3} 
keywords = set(D) 
wordre = re.compile(r'\w+') 

problem = "The cursor doesn't move on the screen when I move the mouse" 
found = set(wordre.findall(problem.lower())) & keywords 
print(found) # prints {'mouse', 'screen'} 
0

你的問題沒有明確規定,如果你的代碼將徵收與問候到用戶輸入的範圍的任何限制。

假設用戶能夠在很大程度上描述他的問題(即輸入原始文本而不是輸入一個或兩個句子),可以使用summa模塊。

如果你看看它的文檔,你會看到通過在任何文本上應用其關鍵字功能;你可以從中提取關鍵字。因此,您可以分析這些參數以打印相應的解決方案。一個簡單的方法是維護一個字典,其中包含您感興趣的關鍵字作爲關鍵字和解決方案作爲值;然後只需簡單地交叉檢查生成的關鍵字就可以打印出最終的解決方案。

+0

但是它的最新版本是0.0.7。這有點可怕。 – Gribouillis

+0

我不太確定你的意思是可怕的。 Summa是(發佈的)文本處理算法的實現;所以這就意味着它的科學可信度(至少在某種程度上)。在這種情況下,我認爲它的版本號與這個實現是否處於早期階段並沒有完全結束有關。 – kingJulian

+0

出於某種原因,我無法訪問到思科的網站。 – Gribouillis