Deleted/old answers still appearing in tests

Here it is! Set up is a bit complicated but it’s there for those who want it

3 Likes

Thank you very much @DrewSSP! The script looks good. I’ll try it on my database.

I just thought I’d let you all know, set up on the script here is just a bit less complicated than it was before. I revisited it and noticed that I could make a few quick improvements.

1 Like

I think I was having this problem and I think I found a workaround that no one will like. The words that pull the wrong or broken answer pools have to be deleted and re entered into the database/level. That’s the only way I found to fix it. apparently the phantoms live in a word not the whole database.

I only had this problem with levels that I tried to bulk insert. They didn’t sort properly so i deleted just the ones that were wrong and started over without starting from scratch. I haven’t tested all levels yet but the words i replaced no longer have the issue.

1 Like

I have ghost entries also but I haven’t deleted a word. I have just modified them and the old versions are appearing.

Let me explain what causes the phantom answers.

Every word in your database has a bunch of information associated with it. You can see this in your database in the form of columns. Oftentimes, this information will be the english translation for the word, an audio file, its attributes, etc… There is also hidden information that is not shown in the database page. One of the hidden pieces of information is a list of words that Memrise will use to populate all the incorrect answers in questions. This is the stuff that’s causing phantom answers.

If you don’t fully understand the above paragraph, then remember this: The wrong answers for any question are stored in secret information inside every word in your course.

This is actually a good idea on Memrise’s part because, if you think about it, Memrise doesn’t need to search through your entire database to make incorrect options in your questions. It just needs to look inside the word’s secret information and it’s right there. It’s very efficient.

So where to the phantom answers come from? Well, imagine that you have a word that you want to change, but that word is inside the hidden information of another word. The problem comes from the fact that these two words have now way of talking to each other. One word will have no way of knowing if you changed something elsewhere in the course database. So a word will just continue using information that it got a long time ago, which can sadly become outdated. That outdated information is being shown as phantom answers.

So the big question is, how can we make words update their hidden information? Every time you change something in a word, the word will update the hidden information associated with the part you just updated. So if you change the English translation, it will update the hidden information related to the English translation for that word. Included in that hidden information will be all of the possible wrong answers when asked for the English translation during a session.

Long story short, Memrise allows phantom answers because it allows for higher efficiency. If you see a phantom answer in a session, find that word in the database and change the field on which you were just tested. So if you saw a phantom answer on “pomme” and you were supposed to click “apple”, find the word “pomme” in the database, change the part that says “apple” just a little bit (ie “appleA”), save the change, and then go back and change it back to “apple” and save the change once again. This will force Memrise to re-evaluate the answers that it might present you with during testing for that word.

4 Likes

I used to have the idea that Memrise picked the wrong answers from a range surrounding the current entry. Do you have any more info on that? And do you know how many incorrect answers each entry is associated with?

Do you think this behavior can be manipulated to our advantage?

@Arete_Hime There are times when I’ve wondered if Memrise favours using words from the same level. There might be something to that suspicion since we’ve both thought it. But I promise that Memrise cares a lot more about how much a word resembles another in the database. If there is a word in the database that closely resembles the correct answer of the word in the question, it will include that one in its list of possible incorrect answers every every time.

As for your question toward the quantity of words that exist in the hidden list of possible incorrect answers, I’ve seen some words with 8, and others with 12. I don’t know why it changes between those two numbers but it does. It’s interesting to watch the learning/review sessions after learning about this because you start to notice that individual words will always have mostly the same options each time that you see them.

As for manipulating it, I don’t see how we could. The only way to control which words get put into the hidden information is to control which words are in the database when it most recently changed. That could only work predictably for one word and then you would start having to rely on luck with exponentially decreasing probability that it works in your favour for every word that you add to the database.

2 Likes

I’m skeptical of your explanation, because I’m pretty sure that I’ve seen very old words (that I haven’t updated in forever) show some multiple choice options that include some of the newer words I’ve added to the same database. If that’s true, that contradicts what you said. I’m also skeptical because it would make the sizes of their databases much larger, by an order of magnitude at least, maybe two.

Do you have any reliable sources saying that it works the way you described?

@cos A bigger database is much better for servers than making 7 or 11 extra requests to the database every time a word comes up for review.

There may be a second method that Memrise uses to populate wrong answers, as @Arete_Hime and I were talking about. That doesn’t make my explanation incorrect. I’m just describing the piece that’s broken and how to fix it. Either way, I fixed the error for my own courses, which requires the knowledge that you are challenging. Believe me or don’t, it doesn’t matter to me.

What is your source for your explanation of how it works? That is, how do you know that that’s how it works? I gave reasons that I’m skeptical, but that doesn’t mean you’re wrong - it means it doesn’t seem right and I have no idea where your information is coming from. So, where did you get this from?

This is something I found by digging through the source code of Memrise on the client side myself. You can find lots of the hidden working of memrise by monitoring what the website sends and receives through chrome’s inspection tools. I wish Memrise would provide an official API or something to allow users with programming experience to take a bit of control over their experience on the website but they don’t. Everything I tell you is something I dug up myself and was inferred from what was seen by manipulating their unofficial api.

4 Likes

@DrewSSP so what they really need is a way to make the answers database for a word reset? Or reset the whole thing like anki does, check database? I don’t know much about coding but i came to the same conclusion as you, that the words have to make there own list of wrong answers embedded somehow in the word entry in the database. So it can’t be too hard to make it reset with a button?

1 Like

I have found the appearance of incorrect or delete entries as alternatives very frustrating.

I was told that if one un-lists a course, saves it, lists it as incomplete and re-saves it then finally make it public and save, it would reset the alternatives but it has never worked for me.

You’re right @Angelbratt, what is needed is a way to make Memrise “refresh” a course database. Changing the status of the course as @DW7 mentions is unlikely to force Memrise to do this. I say that because, if I was programming Memrise, I would not see any reason to connect a feature that refreshes the database to a change in the course’s status. This is especially true if refreshing the database is a feature that has not yet been developed, which seems to currently be the case.

I’ve mentioned here and there that one can add a character to the word, save the change, then undo the change to revert the word to what it was before. This will refresh everything related to that one part of that specific word. The script that I provided earlier in this thread does that for every single part of every single word in a database automatically. It’s a work around that gives users the power to do something that Memrise should really have a feature for.

A nice side effect of using the script is that the alternative answers become a lot more intelligent and answering questions becomes a bit trickier.

2 Likes

Hi @DrewSSP,

I have a problem with this course in level 2

I went through and added a “z” to the front of every bird and saved it and when I was presented with

zFledgeling” I got the same dummy photo of a fighter (which MemRise told me some time ago was a bug).

I then went back and added “zzz” at the end, resaved and still got the same fighter!

I then finally deleted both sets of z’s and saved it and when tested on “Fledgeling” still got the fighter.

I haven’t changed the word to something completely different (eg “TEMP”) but I could try that if you like.

Or would you mind inspecting it and dealing with it?

Let me know if you’d like to be a Contributor.

1 Like

@DW7 I’m very curious about whether there is a hole in my findings. So yes, make me a contributor please, if you are willing. If you’d like, I can also run my script on it while I’m inspecting and see if that doesn’t fix the whole course for you.

2 Likes

Many thanks! Will do.

The image also appeared with Lark (I think).

And there is a “broken link” no picture offered with Condor!

So have a look at those too, if you wouldn’t mind.

PS I also deleted the word completely and added “temp” and it still presented the image!

May I suggest you do an auto_grow aka learn to make testing quicker. :wink:

This is worth mentioning to everybody. My script only works for things that are written in text. If there are images or audio, it will skip that part.

@DW7 The issue should be fixed for you. Note that when you change a part of a word, it will only refresh the alternate answers that will exist for questions that ask for that part of the word. In your database you have two columns. One shows a picture of an animal, the other the name of the animal. When you took my advice, you changed the name of the animal. That would have changed the alternate answers for any questions that show a picture of an animal and you need to choose the name of the animal from a list. Not the other way around. If you are asked to choose from a list of pictures and some of the pictures are wrong (which is your problem), then you will need to change something in the pictures column of the word. I fixed your issue by deleting the images for the problematic animals and then re-uploading them. That caused Memrise to refresh the pictures that it uses in your sessions.

1 Like

Many thanks @DrewSSP for not only fixing it but explaining how to do it in future.

I must admit, I was coming to the same conclusion, namely to save the image, delete it and redo it.

Did you find the blank photo image as well?

I’ll have a trial and let you know!

PS

No picture of fighter, thanks!

But

Emu, Cormorant, Crow, Budgerigar and Cassowary
in level two (when fully planted) showed me the blank link - (which I have now ‘corrected’ thanks to your training).