Search the Community
Showing results for tags 'algorithms'.
Found 2 results
Hey there! I was thinking about building a chatting artificial intelligence in AutoIt I've been all the day learning about machine learning algorithms, but most of them were made for other type of areas such as marketing. Anyone knows an algorithm for sentences and context pattern finding i can study? I would also like to implement features like finding on memory related sentences and compare them I.e. Hello, how are you And split that sentence into 2 type of refferences to the answer, 'Hello' and 'How are you' I.e. Wanna play? I would like to let the bot understand same for "Wanna play" and "Wanna play?" Or for "Hello bot' and "Hello" Or memory finding message by conversation I have made a memory array based on the conversation i had with the bot, but i couldnt figure a way to make the bot find in memory, even though is supposed to work properly $ArrayTraceB = 0 $MemoryArray = StringSplit($Memory, '|') For $D in $SentenceKeyArray If $D = 'about' Then MemoryFunction($D, $ArrayTraceB, $SentenceKeyArray) Else $ArrayTraceB = $ArrayTraceB +1 EndIf Next Like on that code snap which leads to this function Func MemoryFunction($Call, $Trace, ByRef $KeyArray) $MemoryArray = StringSplit($Memory, '|') If $Call = 'About' Then $FirstArray = 1 For $Ref In $MemoryArray If $FirstArray = 1 Then $FirstArray = 0 Else $NeuronValues = $NeuronValues & '|' & $Neurons[$Ref] EndIf Next $NeuronValuesArray = StringSplit($NeuronValues, '|') $ArrayTrace = $Trace +1 $Topic = '' While 1 If $ArrayTrace >= $KeyArray Then ExitLoop Else $Topic = $Topic & ' ' & $KeyArray[$ArrayTrace] $ArrayTrace = $ArrayTrace +1 EndIf Sleep(50) WEnd $ArrayTrace = 0 $bFound = False _ArrayDisplay($NeuronValuesArray) For $i = 0 To $NeuronValuesArray ; Test from element 0 to the last element of the array If StringInStr($Topic, $NeuronValuesArray[$i]) Then $bFound = True ExitLoop ; Unless i need to find more instances we exit this part of the code imediately Global $ArrayX = $i EndIf Next If $bFound = False Then MsgBox(0, '', '-' & $Topic & '-') $Answer = "I dont remember anything about " & $Topic $WaitYesNo = True $BehaviorFlag = 2 AnswerSentence($Answer, $BehaviorFlag) Else _ArrayDisplay($NeuronValuesArray) MsgBox(0, '', $ArrayX) $Answer = 'I remember a message saying "' & $NeuronValuesArray[$ArrayX] & '", do you want to talk about that?' $WaitYesNo = True $BehaviorFlag = 4 AnswerSentence($Answer, $BehaviorFlag) EndIf EndIf EndFunc It always misses the last word and adds an empty space char at start. I would appreciate any suggestions
This algorithm is loosely based on the Approximate Counting algorithm. After the user is prompted for a starting number, a "virtual coin flip" is performed. The numbers are then put in order from least to greatest. This is great for sorting. SmartCounting.au3