A computer-implemented method for creating a searchable video index, the method executed by a computer system, and comprising: receiving a labelled training dataset comprising a set of training videos together with one or more textual keywords descriptive of audio-visual content of at least several frames of the training videos; extracting features characterizing the audio-visual content of the several frames of the training videos; characterized in that extracting the features comprises: segmenting each of the at least several frames of the training videos into a plurality of patches; generating a feature vector for each of the patches; and applying a clustering algorithm to determine a plurality of most representative feature vectors in the labeled training dataset; the method further comprising: determining a plurality of most commonly found keywords in the labeled training dataset; storing associations between the most commonly found keywords and the most representative feature vectors by: generating a set of association functions, each association function representative of an association strength between one of the most representative feature vectors and one of the most commonly found keywords, and generating a feature-keyword matrix wherein entries in a first dimension of the feature-keyword matrix each correspond to a different one of the most representative feature vectors, and wherein entries in a second dimension of the feature-keyword matrix each correspond to a different one of the most commonly found keywords; training a machine-learned model using the set of association functions and the feature-keyword matrix to learn correlations between the extracted features characterising the audio-visual content of the several frames of the training videos and the textual keywords descriptive of the audio-visual content; and generating the searchable video index mapping frames of a plurality of indexed videos in a video database to the one or more textual keywords based on features of the frames of the plurality of indexed videos in the video database and the machine-learned model. receiving a labelled training dataset comprising a set of training videos together with one or more textual keywords descriptive of audio-visual content of at least several frames of the training videos; extracting features characterizing the audio-visual content of the several frames of the training videos; characterized in that extracting the features comprises: segmenting each of the at least several frames of the training videos into a plurality of patches; generating a feature vector for each of the patches; and applying a clustering algorithm to determine a plurality of most representative feature vectors in the labeled training dataset; segmenting each of the at least several frames of the training videos into a plurality of patches; generating a feature vector for each of the patches; and applying a clustering algorithm to determine a plurality of most representative feature vectors in the labeled training dataset; determining a plurality of most commonly found keywords in the labeled training dataset; storing associations between the most commonly found keywords and the most representative feature vectors by: generating a set of association functions, each association function representative of an association strength between one of the most representative feature vectors and one of the most commonly found keywords, and generating a feature-keyword matrix wherein entries in a first dimension of the feature-keyword matrix each correspond to a different one of the most representative feature vectors, and wherein entries in a second dimension of the feature-keyword matrix each correspond to a different one of the most commonly found keywords; generating a set of association functions, each association function representative of an association strength between one of the most representative feature vectors and one of the most commonly found keywords, and generating a feature-keyword matrix wherein entries in a first dimension of the feature-keyword matrix each correspond to a different one of the most representative feature vectors, and wherein entries in a second dimension of the feature-keyword matrix each correspond to a different one of the most commonly found keywords; training a machine-learned model using the set of association functions and the feature-keyword matrix to learn correlations between the extracted features characterising the audio-visual content of the several frames of the training videos and the textual keywords descriptive of the audio-visual content; and generating the searchable video index mapping frames of a plurality of indexed videos in a video database to the one or more textual keywords based on features of the frames of the plurality of indexed videos in the video database and the machine-learned model.