DEV Community

Mukhtar Wani
Mukhtar Wani

Posted on

Technologies impacted by Computer Science

Computer algorithms impact a wide range of products and industries, as they form the backbone of many modern technologies. Here are some categories of products significantly influenced or driven by computer algorithms:

Search Engines
Google, Bing, and Yahoo use algorithms for indexing, ranking, and delivering relevant search results.

Streaming Services
Netflix, Spotify, and YouTube rely on recommendation algorithms to personalize user experiences.

E-Commerce Platforms
Amazon and eBay use algorithms for product recommendations, pricing, and inventory management.

Smartphones and Devices
Algorithms power facial recognition, voice assistants (like Siri and Alexa), and predictive text input.

Search Engines Algorithms for Indexing, Ranking
An algorithm is simply something that takes a series of inputs, conducts a sequence of actions, and then returns outputs. As a reminder from the The Search Query Journey unit, the algorithm evaluates the results for each vertical separately, and then ranks verticals against each other to combine the results.
The Search algorithms takes a series of inputs, such as:
• The user inputted query
• The user location
• The Search configuration to know how to treat each of those intents and any business logic
The Content to map those intents to specific entities in the Yext platform
With these inputs, the algorithm will first break down the query into tokens to determine what exactly to search for. Then it’ll use a multi-algorithm approach based on the type of content you’re searching on to determine the best results for each vertical. This includes the list of entities, any direct answers, and any detected filters. Finally the algorithm ranks verticals against each other.
This unit covers levers that affect the search algorithm that you can configure. For a more in-depth look at how the Search algorithms work, check out the Search Algorithms reference docs.
Tokens
Tokenization is breaking down a query into discrete units - aka, words! Tokens are used to determine the candidates for matching to searchable fields. To derive tokens, we’ll split out individual words based on white space, strip out casing and punctuation, and ignore common words (called ‘stop’ words) that do not add meaning to the query.

For a query like “What are your products?” the token derived here would be ‘products’. A candidate for token matches might be an entity type of ‘Product’.

How Synonyms Impact Tokens
Synonyms allow us to translate the tokens to different variations that mean the same thing. For example, although we might have ‘jobs’ as an entity type in the platform, we might want the same results to show for ‘careers’, ‘positions’, or ‘vacancies’. You’ll learn more in the Synonyms unit.

How Stop Words Impact Tokens
As noted above, to derive tokens, our algorithm will treat “stop words” differently. The Search algorithm has a built-in list of stop words, such as of, the, and in. These words can distract from the important tokens of a query (e.g. “the best bankers in the tri-state area” becomes “best bankers tri-state area” focusing on the entity, the rating, and the location).

Stop words are treated differently depending on which algorithm is used:
Keyword Search - stop words are given a much smaller weight than other words in a query when matching on keyword search fields. This means that while they’re not completely ignored, stop words have a smaller and smaller effect as query length increases. Additionally, since keyword search is entirely based on token matches, stop words are used for token matching (and thus may return results) when no non-stop words are present.
Inferred Filter - stop words can still be matched in filters, but the Search algorithm will not match an inferred filter that only matches stop words. For example, if you have an inferred filter for “Cancer Care” and a stop word for “care”, the query “Cancer Care” will pull this filter. However, if you search for “Urgent Care”, it will not match on this filter.
Semantic Search - stop words can still be matched on fields with semantic search since this algorithm uses a combination of token matching and semantic similarity scoring. In other words, results with stop words may return if they are semantically similar enough to the search query.
Set additional stop words with the additional Stop Words property. Learn more in the Search Config Properties - Top Level reference doc.

How Custom Phrases Impact Tokens
Custom Phrases are multi-word phrases that the algorithm will treat as a single unit when matching results in Search. This can be useful for listing brand-specific phrases that you do not want partially matching with results.

Custom phrases only affect how fields using keyword search, phrase match, or inferred filter are searched because these three algorithms rely on matching keywords between the query and field values. However, if a field is searched using semantic search, the semantic similarity between the query and the field value may return a result that only partially matches with a custom phrase.
For example, a taco shop might add a custom phrase “corn tortilla” to prevent a query for “corn tortilla taco” from returning results like “corn on the cob”, “ tortilla soup”, or “corn salsa”. If this field is searched with semantic search, a query for “corn tortilla” could still return “flour tortilla” – even if “corn tortilla” is added as a custom phrase – because they are semantically similar.

Search Operators
Search operators allow users to control the logic for how tokens are combined when performing keyword search. Operators are case sensitive and typo-intolerant. The four operators available are:
AND between two tokens requires both tokens appear in a searchable field (e.g. “red AND dog”)
OR between two tokens requires either of the tokens appear in a searchable field (e.g. “blue OR cat”)
NOT before a token requires the token does not appear in any searchable field (e.g. “NOT yellow”)
Double quotes around a phrase requires the entire phrase to appear in a searchable field
These operators can be used individually or combined to apply more complex logic to the tokens included in a keyword search. Check out the Search Operators reference doc for more info.

Multi-Algorithm Approach
Within each vertical, we take a multi-algorithm approach with Search depending on the type of content we’re searching through. Different types of content need to be searched differently. We have algorithms for three different types of content: structured data, semi-structured data, and unstructured data. You choose how you want each type of content to be searched on by setting searchable fields in the configuration (you’ll learn more about this in the Searchable and Display Fields unit).

For the full details on each algorithm, check out the Search Algorithms reference doc.

Source:
https://hitchhikers.yext.com/modules/search120-search-config-overview/04-algorithm-overview/
https://hitchhikers.yext.com/docs/search/search-algorithms/

Recommendation Algorithms:
Research on recommender systems algorithms, like other areas of applied machine learning, is largely dominated by efforts to improve the state-of-the-art, typically in terms of accuracy measures. Several recent research works however indicate that the reported improvements over the years sometimes “don’t add up”, and that methods that were published several years ago often outperform the latest models when evaluated independently. Different factors contribute to this phenomenon, including that some researchers probably often only fine-tune their own models but not the baselines.
In this paper, we report the outcomes of an in-depth, systematic, and reproducible comparison of ten collaborative filtering algorithms—covering both traditional and neural models—on several common performance measures on three datasets which are frequently used for evaluation in the recent literature. Our results show that there is no consistent winner across datasets and metrics for the examined top-n recommendation task. Moreover, we find that for none of the accuracy measurements any of the considered neural models led to the best performance. Regarding the performance ranking of algorithms across the measurements, we found that linear models, nearest-neighbor methods, and traditional matrix factorization consistently perform well for the evaluated modest-sized, but commonly-used datasets. Our work shall therefore serve as a guideline for researchers regarding existing baselines to consider in future performance comparisons. Moreover, by providing a set of fine-tuned baseline models for different datasets, we hope that our work helps to establish a common understanding of the state-of-the-art for top-n recommendation tasks.
Recommender Systems, Performance Comparison, Reproducibility

Source:
https://ar5iv.labs.arxiv.org/html/2203.01155

Product Recommendations
The amount of data generated in e-commerce sales has expressively grown in the last few years. Online stores often receive questions about products related to price, guarantee, and shipping price. By reducing time for prompt answering, stores can improve customer satisfaction and sales conversion rate. The recommendation of available alternative products in case of product unavailability intended by the customer plays a key role in sales growth in this context. This article defines and evaluates a technique for product recommendation based on the product’s facts stored in Knowledge Graphs (KGs). Our KG is filled with facts from natural language questions and answers processed from the e-commerce platform. We exemplify our proposal in a real-world solution, using data from online stores processed by GoBots, a leading e-commerce chatbot business in Latin America. Online sellers assessed the results of the recommendations to evaluate their quality.
The convenience of online stores has captured customers’ attention who, a few decades ago, only made face-to-face purchases in commercial establishments. The COVID-19 pandemic has changed customers’ relationships with such online stores because they were one of the few ways to buy products. The virtual stores, called e-commerces, had to adapt to this growing demand. In this context, the guarantee of security and integrity in online sales should be allied to fair prices and deliveries in a reasonable time. These aspects guarantee a better customer experience throughout the buying process. Product recommendation figures as a key strategy to offer a complete service to the final customer. This aims to deliver one or more products that suit the customer’s taste or need. The suggested product should be compatible with the customer’s purchasing behavior or characteristics. An adequate recommendation is an ally when the required product is not in stock or is no longer traded. In this case, a sale compatible with the customer’s needs would please both the customer and the seller. In this scenario, the customer
would not leave without the purchase, and the seller would not miss a sale. The recommendation system functions as an information filtering. In the e-commerce scenario, the aim is to filter products that may be interesting to a given customer (Shao et al., 2021), choosing products when there are many available options (Isinkaye et al., 2015). Amazon, a big player in the e-commerce scenario, increased its sales by 35% after adopting a recommendation system to display specific products to its customers (Lee and Hosanagar, 2014). However, recommending a product is not an easy task. It depends on the recommendation strategy adopted to be successful. Existing approaches use different data sources to identify the compatibility between the customer purchase history and the catalog of items in the ecommerce platforms. Examples of these data are product ratings, attributes, and user search history (Dwivedi et al., 2020). The strategy can vary from collaborative filtering (Linden et al., 2003), machine learning (Covington et al., 2016) and Knowledge graph-based techniques (Guo et al., 2020). Lately, knowledge graphs (KGs) have been studied and explored for recommendation purposes. For example, AliCoco, a KG used in the largest e-commerce in China, AliBaba (Luo et al., 2020). KGs are helpful to represent connections between customers, products, and sales.
Source:
https://www.scitepress.org/PublishedPapers/2022/113883/113883.pdf

Facial Recognition
Face recognition is one of the most active research fields of computer vision and pattern recognition, with many practical and commercial applications including identification, access control, forensics, and human-computer interactions. However, identifying a face in a crowd raises serious questions about individual freedoms and poses ethical issues. Significant methods, algorithms, approaches, and databases have been proposed over recent years to study constrained and unconstrained face recognition. 2D approaches reached some degree of maturity and reported very high rates of recognition. This performance is achieved in controlled environments where the acquisition parameters are controlled, such as lighting, angle of view, and distance between the camera–subject. However, if the ambient conditions (e.g., lighting) or the facial appearance (e.g., pose or facial expression) change, this performance will degrade dramatically. 3D approaches were proposed as an alternative solution to the problems mentioned above. The advantage of 3D data lies in its invariance to pose and lighting conditions, which has enhanced recognition systems efficiency. 3D data, however, is somewhat sensitive to changes in facial expressions. This review presents the history of face recognition technology, the current state-of-the-art methodologies, and future directions. We specifically concentrate on the most recent databases, 2D and 3D face recognition methods. Besides, we pay particular attention to deep learning approach as it presents the actuality in this field. Open issues are examined and potential directions for research in facial recognition are proposed in order to provide the reader with a point of reference for topics that deserve consideration.
Face recognition has gained tremendous attention over the last three decades since it is considered a simplified image analysis and pattern recognition application. There are at least two reasons for understanding this trend: (1) the large variety of commercial and legal requests, besides (2) the availability of the relevant technologies (e.g., smartphones, digital cameras, GPU, …). Although the existing machine learning/recognition systems have achieved some degree of maturity, their performance is limited to the conditions imposed in real-world applications [1]. For example, identifying facial images obtained in an unconstrained environment (e.g., changes in lighting, posture, or facial expression, in addition to partial occlusion, disguises, or camera movement) still poses several challenges ahead. In other words, the existing technologies are still far removed from the human visual system capabilities.
In our daily lives, the face is perhaps the most common and familiar biometric feature. With the invention of photography, government departments and private entities have kept facial photographs (from personal identity documents, passports, or membership cards). These collections have been used in forensic investigations, as referential databases, to match and compare a respondent’s facial images (e.g., perpetrator, witness, or victim). Besides, the broad use of digital cameras and smartphones made facial images easy to produce every day; these images can be easily distributed and exchanged by rapidly established social networks such as Facebook and Twitter.

Source:
https://ar5iv.labs.arxiv.org/html/2212.13038
https://www.mdpi.com/2079-9292/9/8/1188

Predictive Text Input
Intelligent text entry systems, including the now-ubiquitous predictive keyboard, can make text entry more efficient, but little is known about how these systems affect the content that people write. To study how predictive text systems affect content, we compared image captions written with different kinds of predictive text suggestions. Our key findings were that captions written with suggestions were shorter and that they included fewer words that that the system did not predict. Suggestions also boosted text entry speed, but with diminishing benefit for faster typists. These findings imply that text entry systems should be evaluated not just by speed and accuracy but also by their effect on the content written.
Predictive text suggestions are ubiquitous on touchscreen keyboards and are growing in popularity on desktop environments as well. For example, suggestions are enabled by default on both Android and iOS smartphones, and the widely used Gmail service offers phrase suggestions on both desktop and mobile. The impacts of system design choices on typing speed, accuracy, and suggestion usage have been studied extensively. However, relatively little is known about how text suggestions affect what people write. Yet suggestions are offered up to several times per second in the middle of an open-ended process of planning the structure and content of writing, so these suggestions have the potential to shape writing content.
Most prior text entry studies have not been able to study the effects of suggestions on content because they either prescribed what text to enter or had no measures that were sensitive to changes in content. The few prior studies that did investigate the content effects of phrase suggestions did not have a no-suggestions baseline, so the effects of single-word suggestions on content are still unknown.
Source:
https://www.eecs.harvard.edu/~kgajos/papers/2020/arnold20predictive.pdf

Voice Assistants
Voice assistants are software programs designed to understand and respond to voice commands, providing users with a hands-free and efficient way to interact with technology. These assistants are powered by artificial intelligence (AI) and natural language processing (NLP) to interpret spoken language and execute tasks or answer questions. They are commonly found in smartphones, smart speakers, computers, and other smart devices.
Some Features of Voice Assistants:
1. Voice Recognition: Voice assistants use advanced algorithms to recognize and understand human speech. This includes interpreting commands, questions, and other vocal inputs in various languages and accents.
2. Natural Language Processing (NLP): NLP allows the voice assistant to understand the meaning of words and sentences, not just the specific words themselves. This makes interactions more conversational.
3. Contextual Awareness: Many voice assistants are capable of recognizing the context in which a question is asked. This helps them provide more accurate and relevant answers based on previous interactions, location, or user preferences.
4. Task Automation: Voice assistants can perform a variety of tasks like setting reminders, making phone calls, sending messages, playing music, adjusting smart home devices, checking the weather, and providing real-time updates (e.g., news, sports scores).
5. Integration with Smart Devices: Many voice assistants are integrated into smart home ecosystems, controlling lights, thermostats, security cameras, and other IoT (Internet of Things) devices.

Source:
https://ieeexplore.ieee.org/document/10690100
https://ieeexplore.ieee.org/document/9210344

Top comments (0)