我正在编写一个程序,试图从自然语言中获取意义。该程序将接受一个字符串,并查看它是否包含特定的单词组合。请参见以下代码片段作为示例:
if (phrase.contains("turn")) { // turn something on/off
if (phrase.contains("on") && !phrase.contains("off")) { // turn something ON
if (phrase.contains("pc") || phrase.contains("computer")) // turn on computer
turnOnComputer();
else if (phrase.contains("light") || phrase.contains("lamp")) // turn on lights
turnOnLights();
else
badPhrase();
}
else if (phrase.contains("off") && !phrase.contains("on")) { // turn something OFF
if (phrase.contains("pc") || phrase.contains("computer")) // turn off computer
turnOffComputer();
else if (phrase.contains("light") || phrase.contains("lamp")) // turn off lights
turnOffLights();
else
badPhrase();
}
else {
badPhrase();
}
}
else {
badPhrase();
}
如您所见,如果我想解释多个含义,这很快就会变成一堆无法管理的代码混乱。我该如何更好地管理它?