I was studying about algorithms of machine learning and artificial intelligence inner systems, in specific, i would like to create a similar system like AIML and A.L.I.C.E., but in AU3.
I can re-create pretty much all the functions in AIML by myself, except for "any (*)", which is really useful for pattern detection.
How i could re-create it in Au3?
Any help is really appreciated!
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
So, what i need to do is an app that can read text in a image (I.e. a png that has text saying "This is a png" and return the text to a variable)
I'm pretty much a newbie on AutoIt, my purpose is doing that but i don't know any function that can
Any help is much appreciated
I'm trying to get a "double" value from memory . However my code gives me error.
Opt("WinTitleMatchMode", 4) Global $ProcessID = WinGetProcess("TI Pro") If $ProcessID = -1 Then MsgBox(4096, "ERROR", "Failed to detect process.") Exit EndIf Local $DllInformation = _MemoryOpen($ProcessID) If @Error Then MsgBox(4096, "ERROR", "Failed to open memory.") Exit EndIf Local $dAddress = 0x1FECD474 Local $tNbSteps = DllStructCreate("double", $dAddress) Local $value = DllStructSetData($tNbSteps, 1, (_MemoryRead($dAddress, $DllInformation))) MsgBox($MB_SYSTEMMODAL, $value)
I'm trying to read value of a base pointer + offset.
With only address I can easily the value but with base addres (pointer) I really don't know how I can do that.