Well at 75, it required more of a match... where as 50, it allowed 'close' matches... however, now you're talking 'where' versas 'when' - those two words don't make it in the keyword line at all... I was actually thinking of changeing that line to just put the whole question in as key words... don't really know how that would work, but it would seem to me that the more words to compare to, the better the match would be...
Tell you what, lets just change that line and see what happens...
I didn't think I would do any more posting of this plugin until I got all the bugs worked out, but here it is any ways...
'Will you please just answer the question?
AboutMy = False
OpenQuest = False
If InStr(1, UserSentence, " ABOUT MY ", 1) > 0 Then AboutMy = True
If InStr(1, UserSentence, " ARE MY ", 1) > 0 Then AboutMy = True
If InStr(1, UserSentence, " BE MY ", 1) > 0 Then AboutMy = True
If InStr(1, UserSentence, " IN MY ", 1) > 0 Then AboutMy = True
If InStr(1, UserSentence, " IS MY ", 1) > 0 Then AboutMy = True
If InStr(1, UserSentence, " ON MY ", 1) > 0 Then AboutMy = True
If InStr(1, UserSentence, " AM I ", 1) > 0 Then AboutMy = True
If InStr(1, UserSentence, " DO I ", 1) > 0 Then AboutMy = True
If InStr(1, UserSentence, " AM I IN ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " AM I A ", 1) > 0 Then OpenQuest = True
If AboutMy = True then
If InStr(1, UserSentence, " DO ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " WHAT ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " WHERE ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " WHICH ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " WHY ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " WHO ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " WHEN ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " HOW ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " WHEN ARE YOU CONVINCED ", 1) > 0 Then OpenQuest = False
If InStr(1, UserSentence, " DO YOU BELIEVE ", 1) > 0 Then OpenQuest = False
If InStr(1, UserSentence, " DO YOU SUPPOSE ", 1) > 0 Then OpenQuest = False
If InStr(1, UserSentence, " WHAT DO I CALL IT WHEN ", 1) > 0 Then OpenQuest = False
If InStr(1, UserSentence, " FAVORITE ", 1) > 0 Then OpenQuest = False
If InStr(1, UserSentence, " THINK ", 1) > 0 Then OpenQuest = False
If InStr(1, UserSentence, " WEATHER ", 1) > 0 Then OpenQuest = False
If InStr(1, UserSentence, " SPORTS ", 1) > 0 Then OpenQuest = False
If OpenQuest = True And AboutMy = True Then
HalUserBrain = HalBrain.QABrain(UserSentence, WorkingDir & "PersonalQuestions" & ".brn", UserBrainRel)
Pass = False
If HalBrain.CheckRepetition(HalUserBrain, UserSentence) = True Or HalBrain.CheckRepetition(HalUserBrain,
PrevSent) = True Or HalBrain.CheckRepetition(HalUserBrain, PrevUserSent) = True Then Pass = True
If Pass = False then
If UserBrainRel > 0 And UserBrainRel < 61 Then
DebugInfo = DebugInfo & "Will you please just answer the question?: " & vbCrLf
DebugInfo = DebugInfo & GetResponse & vbCrLf
DebugInfo = DebugInfo & UserBrainRel & vbCrLf
End If
If UserBrainRel > 60 Then
'found an answer
GetResponse = HalUserBrain & vbCrLf
GetResponse = HalBrain.HalFormat(GetResponse)
BlockSave = True
DebugInfo = DebugInfo & "Will you please just answer the question?: " & vbCrLf
DebugInfo = DebugInfo & GetResponse & vbCrLf
DebugInfo = DebugInfo & UserBrainRel & vbCrLf
If UserBrainRel > HighestRel Then
HighestRel = UserBrainRel
HighestRelResponse = GetResponse
End If
Score = UserBrainRel + 1
Hurdle = GainControl + 20
Else
'save the question since it can't find an answer we'll just fix it manually later
AnswerSent = "@" & Trim(OriginalSentence)
QuestionSent = " " & Trim(UserSentence)
If HalBrain.CountInstances(" ", QuestionSent) > 2 And BlockSave = False Then
HalBrain.AppendFile WorkingDir & "PersonalQuestions" & ".brn", AnswerSent & vbCrLf & QuestionSent
HalBrain.AppendFile WorkingDir & "PersonalQuestions4U" & ".brn", AnswerSent & vbCrLf & QuestionSent
'This is new from the last, due to another post... and I actually used the idea - anyone wanting to know how I used it - email me...
End If
UserBrainRel = 0
DebugInfo = DebugInfo & "Will you please just answer the question?: " & vbCrLf
DebugInfo = DebugInfo & "Saving new question: " & vbCrLf
DebugInfo = DebugInfo & AnswerSent & vbCrLf
DebugInfo = DebugInfo & QuestionSent & vbCrLf
DebugInfo = DebugInfo & GetResponse & vbCrLf
BlockSave = True
End If
End If
End If
End If