python - How to pick key words from a list, after appending a .csv file to that list? -


i need able pick keywords excel csv file, i've appended file list. program phone troubleshoot, , need input ("the screen won't turn on") have same output if inputted ("the display blank").

"troubleshooting program give user solution trouble they've     encountered based on inputted key words."  phoneprob=input("what problem having phone? ") prob=open("phone.csv","r") phone=prob.read() prob.close() eachprob=phone.split("\n")  print(eachprob) problist=[eachprob]  print (problist) 

are trying build keyword dictionary or retriving sentence problem ? in both case, need associate problem keywords.

a basic approch keywords split sentence in words (using s.split()) , update keyword list used of them... difflib can here.

since don't know given file schema, assume it's list of sentence , provided keyword/problems elsewhere (situation dict).

for example:

csv_ret = ["i can't turn on phone", "the screen won't turn on", "phone display blank"]  situations = {     "screen": ["turn on", "blank", "display", "screen"],     "battery": ["turn on", "phone"] }   def get_situation_from_sentence(sentence):     occurences = {}     word in sentence.split():         key, value in situations.items():             if word in value:                 if occurences.get(key) none:                     occurences[key] = [word]                 elif word not in occurences.get(key):                     occurences[key].append(word)     averages = {k: ((len(v) * 100) / len(situations[k])) k, v in occurences.items()}     return "{}, {}".format(averages, sentence)  sentence in csv_ret:     print(get_situation_from_sentence(sentence)) 

results:

{'battery': 50.0}, can't turn on phone

{'screen': 25.0}, screen won't turn on

{'screen': 50.0, 'battery': 50.0}, phone display blank

this code evaluate sentence problems , related keyword match in percent.

once again basic solution, , need more robust (lexer/parser, machine learning ...) sometime simpler better :)


Comments

Popular posts from this blog

sequelize.js - Sequelize group by with association includes id -

android - Robolectric "INTERNET permission is required" -

java - Android raising EPERM (Operation not permitted) when attempting to send UDP packet after network connection -