Thursday, August 11, 2016

8/11

Two features added! You can now ask my skill to repeat the step last heard, or repeat the ingredient last heard. Both have been tested, and all changes are up on github. My skill is done! I'm going to submit it to Amazon for review and hopefully it'll soon be a real app!

Wednesday, August 10, 2016

8/10

My cooking test went very well today. I'm happy with how my skill has ended up, but I did realize I never added a feature to repeat or go backwards a step. I added this today, but I'm having a few issues with it, so I'll continue to work on that tomorrow.

Tuesday, August 9, 2016

8/9

More testing of my skill. I switched back and forth between the two methods for finding a specific ingredient (one of which is more simple and one of which uses fuzzy matching) and both are working very well. I've stuck with the first one, because It's a lot more simple and I don't think there are many differences. I was testing through the AWS console and through my Alexa at home and I'm pleased with how this skill is shaping up. I think most of the bugs I was finding earlier really had to do with the shortcomings of my ingredient text file.

There will obviously be bugs that will arise, but I tested about 10 different recipes (ranging from simple to complicated, recipes that used name brand ingredients, savory dishes, and sweet dishes) and all of the ingredients were found without a problem.

Tomorrow I'm going to cook again using my Alexa and make sure there aren't any last flaws, but I think other than that, I'm done with my project! I'll blog tomorrow about my cooking test and unless I find something that needs fixing, I'm going to call it good and try to submit my skill to Amazon!!

Monday, August 8, 2016

8/8

I've finished processing my new ingredient file and I think it's a lot better than my previous one! There are a lot more ingredients and I spent a lot more time getting out the filler words that only mess with getting the ingredient. During my testing today, I already notice it having better results.

I also have been working on the logic in my code. I'm getting rid of plurals and I'm going to add a few more loops in to ensure that if they ask for an ingredient that's in their recipe, it'll actually be found!

Friday, August 5, 2016

8/5

Woke up at 6 am this morning with a vision towards fixing the ingredient issue! I'd been working on splitting up the different words in my current ingredient file so it would fit a more broad range of my recipes but then I realized that I could just go through each of my recipes and get all the ingredients to ensure that I would have them all. I used multithreading to connect to every recipe in my MASTER_RECIPE.txt file and have now gotten a list of all their ingredients. Now I just have to process it down to get rid of the numbers, non ingredient words, etc. Luckily, I still have all the logic written from the last time I did it. I also came up with a way to search it better, so hopefully it'll soon be working for every ingredient!

Thursday, August 4, 2016

Wednesday, August 3, 2016

8/3

Worked on the ingredient issue today. I tried to look for any other alexa skills that used recipes, hoping that they would have either their ingredient slot list available or at least a source for where they got theirs. I only found one, and they had only hard coded 10 recipes. I'll just keep thinking about how to solve this problem, especially using the advice from the previous comments on my blog.

Tuesday, August 2, 2016

8/2

Today, I spent a long time working on my documentation and readme. I hope that these will be up to scratch for submission and for helping someone else understand my code in the future. I've gone through and added a block of comments at the beginning of each class with a detailed description of what it does and how it ties into the scope of the other classes (if applicable). As per David's advice, I tried to write each with the mindset of not being familiar with the project.

I also went through and cleaned up what was in my github. I deleted the recipe output files, as the content had somehow been deleted anyways. I also deleted a few other folders that had just been uploaded sometime in the past.

Finally, I spent a lot of time on my readme. I added an overview and a description of each class and the organization. I also re-formated so it's easier to read. At the bottom I added a section about problems with my program and any loose ends.

Tomorrow and probably up until the end of the project period, I'm going to continue working on the ingredient issue!

Monday, August 1, 2016

8/1

More cleaning of my code. I've nearly finished all documentation and I've added a few more features to make it run smoothly. I changed it so that when you ask for a specific step, if you ask for the next step, it'll give you the step after the number you previously asked for.

I've also had Alexa end the session more frequently to stop the issue of switching between recipes.

I've continued to work on the ingredient recognition, but it's becoming more and more difficult. I'm happy with my method to find the recipe from my ingredient list, but my ingredient list is not up to standard. When I originally made it, I went through hundreds of recipes and processed unnecessary words out of them, but the list still isn't concise enough. I've tried finding a large list of common ingredients on the internet but it's nearly impossible to find. The main issue with my list is that although Zucchini may be listed somewhere, it's probably surrounded by words that make it no longer match the majority of recipes. For example, large zucchini quartered was on my ingredient list. If the recipe called for only Zucchini, it would return that you don't need large zucchini quartered.

I've attached a screenshot of one section of my ingredient list. As you can see, the filler words are widely varied and numerous. Not quite sure how to best get rid of them all, except for brute force. I've done some work on it today, but after 30 minutes of manual deletion, I was about ready to pull my hair out! Any suggestions for this?