Posts

2020-12-29: Tools and libraries for matching Arabic names written in English

Image
Tools and libraries for matching Arabic names written in English Introduction: While working on my research, I needed to find a way to scan a set of Arabic and non-Arabic names written in English to find matches. This is especially difficult because you cannot count on the spelling of the name being consistent and distinct when written in a foreign language. Discrepancies between spellings, of the same name, may be due to the lack of name spelling standards, typos, translations, illiteracy, personal preferences, cultural differences, or all of the above. In this post, I discuss different approaches to solving this problem by using string matching and/or phonetic algorithms. The latter set of algorithms enable us to compare two strings based on how they sound, rather than how they are spelled, which is what the former set does. The real-world applications of names matching include Information Retrieval, Entity Recognition and Extraction, Natural Language Processing, Machine Translation

2020-12-28: Nutri-Assist: A Personal Voice-Enabled Assistant to Find Food Nutrition Values

Image
This Fall I took the CS 795/895 Natural Language Processing offered by Dr. Ashok . This was a research-focused and project-based course where we were briefly introduced to the tools and techniques in NLP. We learned about Language Models , POS Tagging , Word Embedding , Dialog Systems , along with other topics. Later we were assigned to build up different systems based on our interests. Dr. Ashok encouraged us to build something that would solve some problems that do not exist in the market. Being fascinated with dialog systems and information extraction techniques, I chose to work on building a personal assistant that would help users to find food nutrition values using natural language voice commands. Figure 1: A snapshot of the JSON response returned by the FoodData Central API So what problem Nutri-Assist really solves My target was to make a website for computer browsers as well as a progressive web app for mobile devices just to increase user accessibility. While using the P

2020-12-23: UI Automation: a new prospect in accessibility

Image
Fig: Pipeline for Accessibility API UI Automation (UIA)  is an ordered tree of automation elements with a single interface for navigating the tree. This framework enables a portal to the user by providing and interpreting programmatic information from windows applications about user interfaces (UI). It helps to make products more  accessible  for everyone including people with disabilities all over the world. This not only offers programmatic access to most of the UI components but also allows assistive technology-based applications, such as screen readers, to provide users with knowledge about the UI and to control the UI. For the assistive technologies, UI Automation ensures that technology has access to important information about what is taking place in a particular user interface such as how a system will react if A button is pressed A list is opened A menu selected A combo box expanded. Assistive technology-based applications, such as screen readers or speech recognition programs

2020-12-21: Machine Learning on Browser with TensorFlow

Image
What is TensorFlow and TensorFlow.js   TensorFlow is an open-source library developed for machine learning , which is widely used for deep neural networks . The library provides functionalities for developing, training, and testing machine learning models. The TensorFlow Python API provides convenient means of accessing the library where execution happens based on code written in C++. TensorFlow.js is the JavaScript API of the TensorFlow library, making it possible to add machine learning capabilities to any web application or any Node.js application. Like the Python API, the JavaScript API provides the functionalities for developing, training, and testing machine learning applications. Furthermore, the JavaScript API allows the models we have developed using Python to be deployed to a web browser with no to minimal changes. In this blog post, we will go through some of TensorFlow's basic concepts shared between different APIs, train a model on the browser, and deploy

2020-12-08: Twitter Added Labels On Its Old User Interface

Image
  Figure 1: A screen capture where all the tweets in the view-port are filled with “Fact-check label” (left) and “Violated Twitter Rules” label (right). To curb the spread of misinformation on their platform, Twitter warns users by labeling the tweets with misleading content . Twitter labels first came to light on May 26, 2020 when Twitter decided to assign one of their fact-check labels to a tweet from U.S. President Donald Trump. A few days later, on May 29, 2020 Twitter labeled another tweet of Trump for violating Twitter rules about glorifying violence. In addition to labeling the tweet, Twitter also disabled the engagements with this post. In Figure 1, you can see how all of his tweets in the view-port are labeled. We have used the account @realDonaldTrump for this study as this account is frequently archived. As of November 25, 2020, there are 160 tweets authored by @realDonaldTrump that have been labeled by Twitter. For this study, we have broadly categorized the two types o