I believe we're moving from static, flat search engine to more advanced tools that allow users to dive deeper in the sources. Thus offering more insights, agility along with speed of search and accuracy of results. Inspired from recommendation algorithms and progressive web apps, considering that the future is both talkative (text-to-speech smart digital products Amazon Echo-like), mobile and smart distributed, we are working on the news & media outlet recommender solution on the go!
What it does
Search through not only structured but unstructured data also (text, image, video) is quite unique at the moment. Only currently under beta at major tech companies (mainly Google, IBM and Microsoft). On top of that, we are providing more than simply a generic demonstration of the technology: we are proposing a dedicated search tool solution for businesses which rely on media data type.
How I built it
Particularly useful for the Media industry, that piece of software delivers via progressive web app a “search engine-on-the-go” that implements machine learning algorithms for a full-text search on multiple structured and unstructured data (videos, documents, images). Request to the dataset(s) are made either by simply typing on the search field or by, and that's the fun part, by talking to the app — like we would with Amazon Alexa's Echo or Google Home.
The initial idea was to build a news article recommender that would be led by voice recognition, pick up on user's pattern and display more content of interest overtime, regardless of the media item type. I then quickly came to understand that such project would be too big and maybe not too focusing enough on bringing real value to end users. Instead, I took the decision to break it down into three separate pieces of software, each implementing a combination of two or three of our available AI solutions: (A) items recommendation, (B) search within video materials, (C) voice-driven queries.
The workflow was roughly as follow:
Ex. Content Based Recommendation (CBR) implementing standard Logistic regressions for example, Collaborative Filtering (CF) implementing "weighted" Linear regression
Challenges I ran into
Accomplishments that I'm proud of
As a result, we ended up with a CMS-looking, relatively light-weight app that displays content of interest, over multiple views and models, without the requirement to actually master js language ;) As long as we can build our simple UI, feed it with data and display results accordingly to users needs. All this leveraging AI capabilities from established cloud providers, processing big unstructured datasets and deploying on web mobile devices that utilizes mic and speakers for the benefit of the customer.
What I learned
First thing first, I once again liked building product / service solutions for "real-life use" :) Thus, business processes were intrinsically part of the creation process, to me. Subsequently, to ensure software solution is fit for purpose and of quality, I proceed as follows
- #1 Set the framework, business and customer focused to start
- #1.1 Running surveys with customers segment / users panels / etc.
- #1.2 Design a mockup, wireframe for early prototyping, implementing design thinking / lean principles / etc.
- #2 Starting coding locally, run local server and datasets (sample if big data)
- #2.1 Testing intermediary results + iterate
- #2.2 Deploy to remote repository ( gihub/bitbucket ) and/or servers (Azure Cloud here)
- #3 User testing interviews
- #3.1 A/B testing, usage tracking with google analytics or keen.io (ex. samples below) for further improvements
What's next for Smart Media Search
Next step should be to have the AI assistant speaking back at you with in a natural language manner, by fetching + processing + exploiting texts from voice data to spot on "key words" from search requests and act accordingly.