Author Archives: Linda Bardha

Is your head in the Cloud?

CCTP-607 “Big Ideas” in Technology (and What They Mean): AI to the Cloud
Professor: Dr. Martin Irvine
Georgetown University, Spring 2018
By: Linda Bardha

Abstract

These days, if you try to google the word “cloud” you’re more likely to get articles referencing “cloud computing” than you are finding a reference to the weather. It turns out that the Cloud isn’t even a new concept, but media embraced this terminology and is using it excessively. So, what exactly is the Cloud? How did we start using it and what are the design principles that lead to the concept of Cloud computing? Cloud computing has been one of those buzz words in both consumer and enterprise technology, especially over the last few years. Companies seem to use this term to attract more customers and to show that they are “in” with the latest technology that there is. But how much of it is real and how much is just a lot of hype? The cloud is an example of a buzzword taking over the concepts that were established and used since the 1960s. We will take a look at the history of cloud computing, it’s architecture and design principles, how it is changing the ways that we access, compute and store information using the Internet and what are some of the implications of using a cloud-based system?

  1. Introduction

Think about different activities that you did today that required you to use the Internet. Did you catch up with your emails? Did you check Facebook or Twitter and interact with your friends? Or did you just watch a movie on Netflix, or listen to some music on Spotify? If you did any of these activities (or all) you have used the benefits of Cloud computing. When we’re referring to the Cloud, in a way, we’re referring to the Internet. In a broad sense, the internet is a worldwide network of billions of devices that communicate with each-other. As Irvine suggests, the design principles for Cloud computing systems extend the major principles of massively distributed, Web-deliverable computing services, databases, data analytics, and, now, AI/ML modules. The term “Cloud” began as an intentional, “black box” metaphor in network engineering for the distributed network connections for the Internet and Ethernet (1960s-70s). The term was a way of removing the complexity of connections and operations (which can be any number of configured TCP/IP connection in routers and subnetworks) between end-to-end data links. Now the term applies to the many complex layers, levels, and modules designed into online data systems mostly at the server side. The whole “server side” is “virtualized” across hundred and thousands of fiber-optic linked physical computers, memory components, and software modules, all of which are designed to create an end product (what is delivered and viewed on screens and heard through audio outputs) that seems like a whole, unified package to “end users.”

  2. History of the Cloud and how it all started

How did the idea of Cloud computing develop?

To start from the beginning, we have to go all the way back to the 1950’s with the invention of mainframe computing. Mainframe computing is the concept of having a central computer, accessed by numerous user devices (Ebbers, Mike; O’Brien, W.; Ogden, B., 2006). The central computer, which had all the compute capabilities, was called the mainframe computer. All the user devices, which sent requests up to the mainframe computer, were called dumb terminals.

Mainframe Computer Concept

In schools and companies, we’ve seen that we have computers at every desk, fully independent from the ones around it. Back in the 50’s, however, mainframe computers were extremely expensive to buy, and maintain. So, instead of placing one at every seat, organizations would buy one mainframe computer, and allow the dumb terminals to share its computing resources. In the 70’s, the concept of virtual machines emerged.

Virtual machines are multiple complete operating systems that live in a single piece of hardware (Ebbers, Mike; O’Brien, W.; Ogden, B., 2006). For example, you can have multiple Windows Virtual Machines living in your single laptop. Suddenly, one single mainframe computer could have multiple operating systems running at the same time, to do many different things. This was the beginning of the modern concept of cloud computing.

To make this a reality, developers created a software called a hypervisor, that could be installed onto multiple pieces of hardware, such as servers. They could then link all these hardware and use the combined computational and storage powers as one giant resource. Take a moment to imagine all the amount of storage and computing power that was created by adding up all the memory and hard drive space for every computer in your office.

Hypervisors in Virtualization, By T. Sridhar

As Sridhar suggests, benefits of virtualization in a cloud-computing environment are:

  • Elasticity and scalability: Firing up and shutting down VMs involves less effort as opposed to bringing servers up or down.
  • Workload migration: Through facilities such as live VM migration, you can carry out workload migration with much less effort as compared to workload migration across physical servers at different locations.
  • Resiliency: You can isolate physical-server failure from user services through migration of VMs.

Programs would run faster, and you can store a lot of files. This is what cloud computing allows people to do, in an extremely large scale, using the Internet to connect end users to huge computational hardware.

   2.1 What was used before “the Cloud”?

We were used to storing files on a flash drive, and I remember many occasions when I would forget the USB and not have access to those files that I needed. Cloud computing allows you to access your data as long as you have an internet connection.

Hiroko Nishimura, a cloud computing instructor for Lynda explains the process of storing and having access to information for an organization, before the idea of the cloud:

“In the traditional way, you would have to go through the procurement process at your work to find an appropriate server with all the necessary bells and whistles. You would then have to make sure the capacity you’re purchasing isn’t too much, or too little. Then you have to get the quote from the manufacturer and then wrestle with the finance department to get the budget approved and device purchased. If the demands from the applications are much higher or lower than expected, you have to go back and go through the procurement process again to get a more appropriate server. Your department or company needs to have the funds to then purchase the equipment outright.

Cloud computing allows you to pay to use only as much server space and capacity as you need at that moment. When you need more or less, you can adjust the rented capacity and your monthly bill will adjust along with it. Instead of a large overhead bill on purchasing a piece of hardware that may or may not even match your needs, you get a monthly statement billing you only for as much as you used last month. It allows for increased flexibility and affordability because you are charged only for what you consume, when you consume. This allows what used to only be possible with big corporate IT budgets to almost anyone with internet access and a few dollars.”

  3. What exactly is Cloud computing?

As Rountree and Castrillo explain, there has been a lot of debate about what the cloud is. Many people think of the cloud as a collection of technologies. It’s true that there is a set of common technologies that typically make up a cloud environment, but these technologies are not the essence of the cloud. The cloud is actually a service or group of services. This is partially the reason that the cloud has been so hard to define. The National Institute of Standards and Technology (NIST) shares the technical definition as: “Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (for example, networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”

Cloud computing is a paradigm that allows on-demand network access to shared computer resources.  It is a way for managing, storing and processing data online via the Internet. (Rountree and Castrillo, 2014). Through cloud computing services you have instantaneous access to computational, storage and software using the Internet.

Arun Chandrasekaran, research manager at Frost & Sullivan says that, “There is a growing awareness among consumers and enterprises to access their information technology (IT) resources extensively through a “utility” model, a development broadly called “Cloud Computing.” Cloud represents the next wave in the computing industry, as it strives to eliminate inherent inefficiencies in the existing IT architecture and deliver “IT as a service” to the end-users.”

  3.1 Design Principles of Cloud Computing

In order to understand the Cloud, we need to take a look at the design principles of “Cloud Computing”. That is essential in trying to “de-blackbox” this concept. Irvine explains that many of the computing systems that we use every day are now integrated on platforms (a systems architecture for data, communications, services, and transactions) designed for convergence (using combinatorial principles for making different systems and technologies interoperable) able to exchange and make use for data, information, and AI/ML data analytics.

For organizations and business on the supply-side of information and commercial services, subscribing to a Cloud Service provides one bundle or suite of Web-deliverable services that can be custom-configured for any kind of software, database, or industry-standard platform (e.g., the IBM, Amazon AWS, and Google Cloud services).

Internet-based computing continues to scale and extend to many kinds of online and interactive services. Many services we use every day are now managed in Cloud systems with an extensible “stack” architecture (levels/layers) all abstracted out of the way from “end users” (customers, consumers) — email, consumer accounts and transactions (e.g., Amazon, eBay, Apple and Google Clouds for data and apps), media services (e.g., Netflix, YouTube, Spotify), and all kinds of file storage (Google app files) and platforms for Websites, blogs, and news and information.

Sridhar, in his article published in the Internet Protocol Journal explains some of the characteristics of a cloud-computing environment. As he mentions, not all characteristics may be present in a specific cloud solution.

Cloud computing characteristics include:

  • Elasticity and scalability: Cloud computing gives you the ability to expand and reduce resources according to your specific service requirement. For example, you may need a large number of server resources for the duration of a specific task. You can then release these server resources after you complete your task.
  • Pay-per-use: You pay for cloud services only when you use them, either for the short term (for example, for CPU time) or for a longer duration (for example, for cloud-based storage or vault services).
  • On demand: Because you invoke cloud services only when you need them, they are not permanent parts of your IT infrastructure—a significant advantage for cloud use as opposed to internal IT services. With cloud services there is no need to have dedicated resources waiting to be used, as is the case with internal services.
  • Resiliency: The resiliency of a cloud service offering can completely isolate the failure of server and storage resources from cloud users. Work is migrated to a different physical resource in the cloud with or without user awareness and intervention.
  • Multitenancy: Public cloud services providers often can host the cloud services for multiple users within the same infrastructure. Server and storage isolation may be physical or virtual—depending upon the specific user requirements.
  • Workload movement: This characteristic is related to resiliency and cost considerations. Here, cloud-computing providers can migrate workloads across servers—both inside the data center and across data centers (even in a different geographic area). This migration might be necessitated by cost (less expensive to run a workload in a data center in another country based on time of day or power requirements) or efficiency considerations (for example, network bandwidth). A third reason could be regulatory considerations for certain types of workloads.

Cloud Computing Context, By Sridhar

  3.2 The Cloud Architecture

In order to better understand Cloud computing, we will look at the four Cloud Deployment Models:

  • Public – All the systems and resources that provide the service are housed at an external service provider
  • Private – The systems and resources that provide the service are located
    internal to the company or organization that uses them
  • Community – Community clouds are semi-public clouds that are shared between members of a select group of organizations.
  • Hybrid – A hybrid cloud model is a combination of two or more other cloud models

Cloud computing provides different services based on three delivery configurations. When they are arranged in a pyramid structure, they are in the order of SaaS, PaaS, and IaaS.

The Cloud Pyramid

The Cloud architecture: a model for integrating the “whole stack” of networked computing

  1. SaaS or Software-as-a-Service — This is the layer the end-users face and it provides the functionality these users demand: social media communication, collaboration on documents, catching a taxi or booking a room for a night. This layer offers a limited set of functionalities and literally no control over the computing resources. Nevertheless, the end users get what they came for — functionality.
  2. PaaS or Platform-as-a-Service — an underlying level of APIs and engines allowing the developers to run their apps. This is a layer where the AWS or Azure users leverage the platform functions (like the latest batch of tech AWS introduced during their re:Invent week 2017). This level of the cloud pyramid allows the developers configure the resources needed to run their apps within the limits set by the cloud platform. This level demands to have some understanding of the processes and structure of your cloud, at least to be able to tick the appropriate boxes in the dashboard of said cloud service provider (CSP).
  3. IaaS or Infrastructure-as-a-Service — the lowest level of the cloud services, where the DevOps engineers work with the tools like Terraform, Docker, and Kubernetes to provision the servers and configure the infrastructures, processes, and environments, enabling the developers to deploy their software, APIs, and services. This layer might work with the hardware provided by cloud service providers like AWS or GCP or with on-prem bare metal Kubernetes clusters running in private or hybrid clouds. This level provides the most capabilities (like load balancing, backups, versioning and restoration of an immutable infrastructure) yet requires the most skills to be operated correctly.

Now that we have a better understanding of Cloud Computing, let’s look at some companies that offer Cloud Computing services:

iCloud – Cloud from Apple is for Apple products. You can backup and store everything from multimedia to documents online. The content is then smoothly integrated onto your devices.

Amazon’s AWS – When you talk about companies using cloud computing, Amazon Web Services leads the pack. It offers IaaS and PaaS to all their customers.

Google Cloud – This cloud platform is universal for Google’s enormous ecosystem and for other products such as Microsoft Office. It provides storage of data and collaboration along with other services that are included in their cloud computing suite.

Microsoft Azure – Offered by Microsoft, it provides SaaS, PaaS, and IaaS for its software and developer tools. If you have used Office 365, then you have used SaaS.

IBM Smart Cloud – This offers private, public, and hybrid distribution platforms providing a full range of SaaS, PaaS, and IaaS cloud computing services for businesses. The pay as you go platform generates profits for IBM.

  3.3 Advantages of cloud computing

There are six major advantages of cloud computing:

  1. You can trade capital expenses for variable expenses,
  2. Benefit from massive economies of scale,
  3. Stop guessing about capacity,
  4. Increase speed and agility,
  5. Stop spending money running data centers, and
  6. You can go global in minutes.

You no longer have to worry about buying too little or too much of something, and you only pay as you go based on the serviced that you need.

 3.4 Implications on cloud-based systems

Cloud-computing technology is still evolving.  Even though Cloud computing changed the way that we access, compute and store information using the Internet, there are some major concerns that need to be considered and kept in mind when using cloud-based services from different platform that over this system. Some of the major concerns that Sridhar explains are:

  • Security: Security is a significant concern for enterprise IT managers when they consider using a cloud service provider. Physical security through isolation is a critical requirement for private clouds, but not all cloud users need this level of investment. For those users, the cloud provider must guarantee data isolation and application security (and availability) through isolation across multiple tenants. In addition, authentication and authorization of cloud users and encryption of the “network pipe” from the cloud user to the service provider application are other factors to be considered.
  • Privacy: If a client can log in from any location to access data and applications, it’s possible the client’s privacy could be compromised. Cloud computing companies will need to find ways to protect client privacy. One way is to use authentication techniques such as user names and passwords. Another is to employ an authorization format — each user can access only the data and applications relevant to his or her job.
  • Cloud-to-cloud and Federation concerns: Consider a case where an enterprise uses two separate cloud service providers. Compute and storage resource sharing along with common authentication (or migration of authentication information) are some of the problems with having the clouds “interoperate.” For virtualized cloud services, virtual machine migration is another factor to be considered in federation.
  • Legal and regulatory concerns: These factors become important especially in those cases involving storing data in the cloud. It could be that the laws governing the data are not the laws of the jurisdiction where the company is located. Does the user or company subscribing to the cloud computing service own the data? Does the cloud computing system, which provides the actual storage space, own it? Is it possible for a cloud computing company to deny a client access to that client’s data?

Because of the nature of these services and the implications that come with that, companies, law firms, businesses and universities are debating these and other concerns about the nature of cloud computing and what should be done to address these concerns.

  4. Conclusion

Cloud computing is present in many aspects of our daily lives as we utilize internet for work, school, and personal life. We check emails, post on social media, share documents via online file sharing services, stream hours and hours of videos, and use cloud-based car navigation apps. Even though the media uses the Cloud as a buzzword, referring to a new technology, we need to keep in mind that the concept of cloud computing was firstly used in the 1960s, with the development of mainframe computers, accessed by dump terminals. 

With the developments of virtualization we changed the way that computers and devices communicated with each-other, pulling together multiple servers, and using all of their compute and storage resources together as if we’re using one extremely large server. While in the past, the amount of resources you could link was limited by what was in your physical data center, with cloud computing, you have the ability to access as much resources as the service provider can give you.

With the internet, there is so much potential computing power. It’s almost as though we’re back in the 60s, with our laptops serving as the dump terminals and our cloud computing service providers hosting the mainframe computers. Instead of connecting to the mainframe computer in the data center on the same floor, we use the internet to connect to the countless servers linked by hypervisors through big service providers, like Amazon Web Services, Microsoft Azure, and Google Cloud. Cloud computing changed the way that we access, compute and store information via Internet. Cloud computing as a technology is still evolving and there are some major concerns in terms of privacy and security, but cloud computing adds a lot of value as a solution for several IT requirements.

References

 

Bruin, D. Boudewijn & Luciano Floridi, “The Ethics of Cloud Computing,” Science and Engineering Ethics 23, no. 1. February 1, 2017: 21–39.

Chandrasekaran, Arun “Cloud computing and market insight” Frog and Sullivan. 2010 Available at http://www.frost.com/prod/servlet/market-insight-print.pag?docid=207327187

Cloud Computing Services Models – IaaS PaaS SaaS Explained (EcoCourse)

Ebbers, Mike; O’Brien, W.; Ogden, B. . “Introduction to the New Mainframe: z/OS Basics” (PDF). 2006. IBM International Technical Support Organization

How Cloud buzz has conquered media. 2019. Available at https://royal.pingdom.com/how-cloud-buzz-has-conquered-media/

Irvine, Martin. What is Cloud Computing? AI/ML Applications Now Part of Cloud Services?

Nishimura, Hiroko. “Design principles of cloud computing”. Lynda Available at https://www.lynda.com/Amazon-Web-Services-tutorials/Design-principles-cloud-computing/808676/5036857-4.html

NIST Working Definition of Cloud Computing, http://csrc.nist.gov/groups/SNS/cloud-computing/index.html

Roundtree, Derrick & Ileana Castrillo. The Basics of Cloud Computing: Understanding the Fundamentals of Cloud Computing in Theory and Practice. Amsterdam; Boston: Syngress / Elsevier, 2014.

Ruparelia B. Nayan. Cloud Computing Cambridge, MA: MIT Press, 2016

Sridhar, T.  Cloud Computing – A Primer – The Internet Protocol Journal, Volume 12, No.3. 2016 Available at https://www.cisco.com/c/en/us/about/press/internet-protocol-journal/back-issues/table-contents-45/123-cloud1.html

Strickland, J. How Cloud Computing Works. 2018. Available at https://computer.howstuffworks.com/cloud-computing/cloud-computing3.htm

Vladimir Fedak. The Medium, What is the Cloud Computing Pyramid: The layers of DevOps Services – https://medium.com/@FedakV/what-is-the-cloud-pyramid-the-layers-of-devops-services-730ac137e8b8

The Cloud Architecture: The Cloud Computing reference model (2017) Available at https://cloudman.fr/2017/10/31/the-cloud-computing-reference-model/

Wang. “Enterprise cloud service architectures”

LinkedIn Explained

By: Linda Bardha, Dominique Haywood, Yajing Hu

How the algorithms work on the LinkedIn Platform?

LinkedIn Feed Algorithms

People you may know

  • People you may know (started in 2006, began with a python script)
  • LinkedIn pre-computes the data by recording 120 billion relationships per day in a Hadoop     MapReduce (It runs 82 jobs which require 16TB of data) 
  • Apache Hadoop is a collection of open-source software utilities that facilitate using a network of many computers to solve problems involving massive amounts of data and computation. It provides a software framework for distributed storage and processing of big data using the MapReduce programming model
  • There are 5 test algorithms continually running – producing approximately 700 GB of output data for the ‘People You May Know’ feature.

Skill endorsement

  • After a member endorses a certain skill, the recommendations are stored as a key-value, by mapping a member id to the list of other members, skills id’s and the score.
  • The output is then used by the front-end team to display in the profile of a member

Jobs you may be interested in

  • LinkedIn uses Machine Learning and Text Analysis algorithms to show relevant jobs to a member’s profile
  • 50% of LinkedIn engagement comes from “Jobs you may be interested in” feature
  • The textual content like skills, experience, and industry are extracted from a member’s profile. Similar features are extracted from the job listings available in LinkedIn.
  • A logistic regression model is applied to know about the ranking of relevant jobs for a particular LinkedIn member based on the extracted features.

How does LinkedIn use AI & What are the consequences?

 

  • For employees

 

      • LinkedIn uses artificial intelligence in ways that employees experience everyday, such as giving them the right job recommendation, encouraging them to connect with someone, or providing them with helpful content in the feed.
      • LinkedIn can extensively personalize the recommendations and search results for employees with deep learning. To perform personalization at their level, LinkedIn need machine learning algorithms that can understand content in a comprehensive fashion. LinkedIn also leverage deep learning to automatically learns complex hierarchical structures present in data using neural networks with multiple layers to understand content of all types.
      • AI systems can help LinkedIn find patterns from huge amounts of data. LinkedIn has a rich collection of data from many different sources. Without AI systems, this work can be a time-consuming process. If the employees are a passive candidate who’s not looking for a job, LinkedIn is careful to only surface jobs that are really good and help them get to the next opportunity. If they are an active candidate, LinkedIn sometimes takes more risk and show them the jobs that may or may not be in the ballpark. Using all the past data about LinkedIn members and what members look like, LinkedIn is able to teach machines what are the appropriate jobs for the members.
      • LinkedIn also works in the background, doing things like making sure that employees are protected from harmful content, routing connection to ensure a fast site speed experience, and making sure that the notifications sent to employees are informative, but not annoying.

 

  • For employers

 

    • LinkedIn can help employers source and manage candidates, and therefore save time. LinkedIn announced more than one million open candidates who have signaled that they are open to new opportunities. LinkedIn trains algorithms on the huge amounts of data with such signals, and then those algorithms can predict who might be the best fit.
    • LinkedIn also help the employers’ jobs reach the right people. By looking at deeper insights into the behavior of applicants on LinkedIn, it starts to predict not just who would apply to their jobs, but who would get hired. AI system can allow employers to select the exact qualifications in the candidate they are looking for. Employers can define specific skill-sets, years of experience, and levels of education associated with a particular job title for more precise targeting. Using machine learning, LinkedIn will only serve the job to the applicants who a good fit for the their role.
    • LinkedIn also explores how artificial intelligence can go beyond just their own products through integrations such as Recruiter System Connect. It is working closely with its partners to deliver the most robust integration with Applicant Tracking Systems (ATS). Companies that are turning on Recruiter System Connect are powering their “Past Applicants” spotlight, which guides them to the best candidates based on the interactions stored in their ATS, and are seeing half or more of all messages get responses.

Source of data input

    • LinkedIn’s approach to AI is neither completely machine-driven nor completely human-driven. It’s a combination of the two. Both elements working together in harmony is the best solution.
      • AI systems that LinkedIn are reliant on human input and automated process. Take the example of profile data. At a fundamental level, almost all the member data is generated by members themselves. This might lead to a problem for AI system. One company might have a job named “senior software engineer”, while another company might provide almost the same role but named “lead developer”, and there might be other names as well. Humans can easily understand that these names are the similar concept, while for computers, it can be a challenging task. Consequently, standardizing data in a way that AI systems can understand is an important first step of creating a good search experience, and that standardization involves both human and machine efforts.
      • LinkedIn has taxonomists who create taxonomies of titles and use machine learning models that then suggest ways that titles are related. Understanding these relationships allows LinkedIn to infer further skills for each member beyond what is listed on their profiles.

Consequence

    • LinkedIn’s AI systems have had a huge impact for employees who are trying to find a job. With the personalization recommendation, LinkedIn saw a 30% increase in job applications.
    • Job applications overall have grown more than 40% year-over-year, based on a variety of AI-driven optimizations that have been made to both sides of the member-recruiter ecosystem.
    • AI-driven improvements to employers’ products have helped increase InMail response rates by 45%, while at the same time cutting down on the notifications that LinkedIn sends to our members.
    • AI has improved article recommendations in the feed by 10-20% (based on click-through rate).

Ethical/ Societal Ramifications of AI and Hiring

  • AI’s presence in hiring is intended to streamline the resume review and candidate selection processes. AI in hiring is also designed to avoid gender, racial and other biases.
  • LinkedIn’s new AI tool, which the company briefed Business Insider on appears designed to filter out the biases in data that can taint AI technology.
  • LinkedIn will track what happens in the hiring process with regards to gender, showing companies reports and insights about how their job postings and InMail are performing on this.
  • LinkedIn will re-rank the top search results in LinkedIn Recruiter to be more representative of the candidate pool for the posted jobs.
  • This current feature is only scaled to manage gender diversity, not racial or other demographics
  • LinkedIn has shows how its data could be used to map a person’s career based on their personality traits and interests, changing the order in which candidates are highlighted in could have individual and industry wide ramifications.
  • The technology industry is consistently highlighted in the media for issues with gender however, the top three jobs recruited through linkedin are all in the technology sector (DevOps engineer, Enterprise account executive, Front end engineer)
  • This product combats Amazon’s recruitment tool which was designed to identify the top candidates for Amazon roles
    • This product was pulled in October 2018 because of a bias designed into the tool, which preferred male candidates over female candidates.

Positive Impacts of AI on Recruiting and Hiring

  • AI allows hiring companies to find a larger pool of candidates through sites like LinkedIn by providing access to potential employees that may have otherwise been overlooked
  • AI can help employers process resumes and eliminate some of the processing time that it takes to review resumes and interview candidates
  • Recruiting profiles of typical employees can be created and used to hire and diversify an existing team

Negative Impacts of AI on recruiting and Hiring

  • Racial/Gender bias can eliminate groups of candidates because of factors other than qualification for the job
  • Putting distance between the interviewer and the potential employee can negatively impact the new employee’s view of  the company
  • This could impact employee retention and job satisfaction

References:

DeZyre. How LinkedIn uses hadoop to leverage big data analytics. 2016. Found at https://www.dezyre.com/article/how-linkedin-uses-hadoop-to-leverage-big-data-analytics/229?fbclid=IwAR3Du5ubRs6hKHt-e-8PnrEkttZL8QkapxiJEK_X355GzbGmzZyk_VPxGxk

Boyd, Joshua Brandwatch. “The LinkedIn Algorithm:How it works” 2018 found at https://www.brandwatch.com/blog/linkedin-algorithm/

Cuofano, Gennaro. LinkedIn Feed Algorithm. Found at https://fourweekmba.com/linkedin-feed-algorithm/

Deepark, A. (2018). An Introduction to AI at LinkedIn. Retrieved from https://engineering.linkedin.com/blog/2018/10/an-introduction-to-ai-at-linkedin

Josh, J. (2017). How LinkedIn Uses Automation and AI to Power Recruiting Tools. Retrieved from https://business.linkedin.com/talent-solutions/blog/product-updates/2017/how-linkedin-uses-automation-and-ai-to-power-recruiting-tools

Rosalie Chan. LinkedIn is using AI to make recruiting diverse candidates a no-brainer. https://www.businessinsider.com/linkedin-new-ai-feature-increase-diversity-hiring-2018-10

Alison DeNisco Rayome  The 3 most recruited jobs ever on LinkedIn are all in tech https://www.techrepublic.com/article/the-3-most-recruited-jobs-ever-on-linkedin-are-all-in-tech/

From Paper Records to Big Data: How digitization changed the way we talk about data

When talking about “Big Data” as Irvine explains, what we really mean by that term is the massive amounts of data generated from multiple sources (human and human-designed computational agents) and stored in massive arrays of memory accessible to software processes at other levels in the whole system.  But why is this term such a big deal and overly used now days?

It all starts with the explosion in the amount of data we have generated since using the affordances that come with the age of the internet and the concept of digitization. This is largely due to the rise of computers, the Internet and technology capable of capturing data from the world we live in. Data in itself isn’t a new invention. Going back even before computers and databases, we had paper transaction records, customer records and archive files – all of which are data. Computers, and particularly spreadsheets and databases, gave us a way to store and manage data on a large scale, in an easily accessible way. Suddenly, information was available just with a click.

Every generation of computers since the 1950s has been confronted with problems where data was way too large for the memory and processing power available (Ubiquity Symposium: Big data: big data, digitization, and social change). So what is different about big data today?

Today, every two days we create as much data as we did from the beginning of time until 2000. And the amount of data we’re creating continues to increase rapidly; by 2020, the amount of digital information available will have grown from around 5 zettabytes today to 50 zettabytes. (Marr, 2019)

Nowadays, almost every action we take leaves a digital footprint. We generate data whenever we browse online, when we carry our GPS-equipped smartphones, when we communicate with our friends through social media, and when we shop. So in a way, we leave a digital trail every time we are connected to the internet. On top of this, the amount of machine-generated data is rapidly growing too. Data is generated and shared when our “smart” home devices communicate with each other or with their home servers.

Therefore, the term “Big Data” refers to the collection of all this data and our ability to use it to our advantage across a wide range of fields.

How does big data work?

The more data we have on a specific topic or problem that we want to solve or improve, the more we can make accurate predictions about it. This is done by comparing data points and looking at the relationships and patterns in the data that we have. This is done through a process that involves building models, based on the data we can collect, and then running simulations, tweaking the value of data points each time and monitoring how it impacts our results. This process is automated – today’s advanced analytics technology will run millions of these simulations, tweaking all the possible variables until it finds a pattern – or an insight – that helps solve the problem that we’re working on.

Big Data Concerns

Big Data gives us insights and answers on the problems that we’re trying to solve, but it also raises concerns and questions that must be addressed:

Data privacy – The Big Data we now generate contains a lot of information about our personal lives, much of which we have a right to keep private. Increasingly, we are asked to strike a balance between the amount of personal data we divulge, and the convenience that Big Data-powered apps and services offer.
Data security – Even if we decide we are happy for someone to have our data for a particular purpose, can we trust them to keep it safe?
Data discrimination – When everything is known, will it become acceptable to discriminate against people based on data we have on their lives? We already use credit scoring to decide who can borrow money, and insurance is heavily data-driven. We can expect to be analysed and assessed in greater detail, and care must be taken that this isn’t done in a way that contributes to making life more difficult for those who already have fewer resources and access to information.

These are important issues and concerns that big corporations that have access to large amount of personal data need to address.

In conclusion, the amount of data available will only keep increasing, and therefore we’ll have more advancements in the fields of analytics and data science. We’ll become more advanced in studying data and finding patterns and answers to different problems across fields. We also need to keep in mind and be aware of the issues that come with using so much data, and we need to be better at dealing with these concerns.

References:

“Big Data”: ACM Ubiquity Symposium (2018): Jeffrey Johnson, Peter Denning, et al., Big Data, Digitization, and Social Change (Opening Statement), Ubiquity 2017, (December 2017).

Bernad Marr. What is Big Bata. https://www.bernardmarr.com/default.asp?contentID=766

Rob Kitchin, The Data Revolution: Big Data, Open Data, Data Infrastructures and Their Consequences. London; Thousand Oaks, CA: SAGE Publications, 2014.

 

Cloud Computing, Principles and Architecture

As Rountree and Castrillo explain, there has been a lot of debate about what the cloud is. Many people think of the cloud as a collection of technologies. It’s true that there is a set of common technologies that typically make up a cloud environment, but these technologies are not the essence of the cloud. The cloud is actually a service or group of services. This is partially the reason that the cloud has been so hard to define.

So, what is cloud computing?

Cloud Computing is a paradigm that allows on-demand network access to shared computer resources.  It is a way for managing, storing and processing data online via the Internet.

Some cloud computing characteristics include:

  • On-Demand Self-Services – A consumer can request and receive access to a service offering, without an administrator or some sort of support staff having to fulfill the request manually
  • Broad Network Access – Using Internet as your medium, it should be easily accessible
  • Resource Pooling – It is based on the fact that clients will not have a constant need for all the resources available to them
  • Rapid elasticity – Describes the ability of a cloud environment to easily grow
    to satisfy user demand
  • Measured Service – Cloud services must have the ability to measure usage

It is also important to mention that there are 4 Cloud Deployment Models:

  • Public – All the systems and resources that provide the service are housed at an external service provider
  • Private – The systems and resources that provide the service are located
    internal to the company or organization that uses them
  • Community – Community clouds are semi-public clouds that are shared between members of a select group of organizations.
  • Hybrid – A hybrid cloud model is a combination of two or more other cloud models

Cloud computing provides different services based on three delivery configurations. When they are arranged in a pyramid structure, they are in the order of SaaS, PaaS, and IaaS:

The Cloud Pyramid

  1. SaaS or Software-as-a-Service — This is the layer the end-users face and it provides the functionality these users demand: social media communication, collaboration on documents, catching a taxi or booking a room for a night. This layer offers a limited set of functionalities and literally no control over the computing resources. Nevertheless, the end users get what they came for — functionality.
  2. PaaS or Platform-as-a-Service — an underlying level of APIs and engines allowing the developers to run their apps. This is a layer where the AWS or Azure users leverage the platform functions (like the latest batch of tech AWS introduced during their re:Invent week 2017). This level of the cloud pyramid allows the developers configure the resources needed to run their apps within the limits set by the cloud platform. This level demands to have some understanding of the processes and structure of your cloud, at least to be able to tick the appropriate boxes in the dashboard of said cloud service provider (CSP).
  3. IaaS or Infrastructure-as-a-Service — the lowest level of the cloud services, where the DevOps engineers work with the tools like Terraform, Docker, and Kubernetes to provision the servers and configure the infrastructures, processes, and environments, enabling the developers to deploy their software, APIs, and services. This layer might work with the hardware provided by cloud service providers like AWS or GCP or with on-prem bare metal Kubernetes clusters running in private or hybrid clouds. This level provides the most capabilities (like load balancing, backups, versioning and restoration of an immutable infrastructure) yet requires the most skills to be operated correctly.

As the Ecourse suggests, here are some companies that offer Cloud Computing services:

iCloud – Cloud from Apple is for Apple products. You can backup and store everything from multimedia to documents online. The content is then smoothly integrated onto your devices.

Amazon’s AWS – When you talk about companies using cloud computing, Amazon Web Services leads the pack. It offers IaaS and PaaS to all their customers.

Google Cloud – This cloud platform is universal for Google’s enormous ecosystem and for other products such as Microsoft Office. It provides storage of data and collaboration along with other services that are included in their cloud computing suite.

Microsoft Azure – Offered by Microsoft, it provides SaaS, PaaS, and IaaS for its software and developer tools. If you have used Office 365, then you have used SaaS.

IBM Smart Cloud – This offers private, public, and hybrid distribution platforms providing a full range of SaaS, PaaS, and IaaS cloud computing services for businesses. The pay as you go platform generates profits for IBM.

Now that we have a better idea of the Cloud, let’s take a look at the architecture and see  how the modules and layers/levels are designed for combination.

According to Organization for the Advancement of Structured Information Standards (OASIS),
the cloud computing reference model is an abstract model that characterizes and standardizes the functions of a cloud computing environment by partitioning it into abstraction layers and cross-layer functions. This reference model groups the cloud computing functions and activities into five logical layers and three cross-layer functions.

Cloud Computing Layers:

Physical Layer 

  • Foundation layer of the cloud infrastructure.
  • Specifies entities that operate at this layer : Compute systems, network devices and storage devices. Operating environment, protocol, tools and processes.
  •  Functions of physical layer : Executes requests generated by the virtualization and control layer.

Virtual Layer

  • Deployed on the physical layer.
  • Specifies entities that operate at this layer : Virtualization software, resource pools, virtual resources.
  • Functions of virtual layer : Abstracts physical resources and makes them appear as virtual resources (enables multitenant environment). Executes the requests generated by control layer.

Control Layer

  • Deployed either on virtual layer or on physical layer
  • Specifies entities that operate at this layer : control software
  • Functions of control layer : Enables resource configuration, resource pool configuration and resource provisioning. Executes requests generated by service layer. Exposes resources to and supports the service layer. Collaborates with the virtualization software and enables resource pooling and creating virtual resources, dynamic allocation and optimizing utilization of resources.

Service Orchestration Layer

  • Specifies the entities that operate at this layer : Orchestration software.
  • Functions of orchestration layer : Provides workflows for executing automated tasks. Interacts with various entities to invoke provisioning tasks.

Service Layer

  • Consumers interact and consume cloud resources via thos layer.
  • Specifies the entities that operate at this layer : Service catalog and self-service portal.
  • Functions of service layer : Store information about cloud services in service catalog and presents them to the consumers. Enables consumers to access and manage cloud services via a self-service portal.

Let’s take a look at the cross-layer functions:

Business continuity

  • Specifies adoption of proactive and reactive measures to mitigate the impact of downtime.
  • Enables ensuring the availability of services in line with SLA.
  • Supports all the layers to provide uninterrupted services.

Security

  • Specifies the adoption of : Administrative mechanisms (security and personnel policies, standard procedures to direct safe execution of operations) and technical mechanisms (firewall, intrusion detection and prevention systems, antivirus).
  • Deploys security mechanisms to meet GRC requirements.
  • Supports all the layers to provide secure services.

Service Management

Specifies adoption of activities related to service portfolio management and service operation management.

Sevice Portfolio Management:

• Define the service roadmap, service features, and service levels

• Assess and prioritize where investments across the service portfolio are most needed

• Establish budgeting and pricing

• Deal with consumers in supporting activities such as taking orders, processing bills, and collecting payments

                                                                                                                               

References:

Vladimir Fedak. The Medium, What is the Cloud Computing Pyramid: The layers of DevOps Services – https://medium.com/@FedakV/what-is-the-cloud-pyramid-the-layers-of-devops-services-730ac137e8b8

Derrick Roundtree and Ileana Castrillo. The Basics of Cloud Computing: Understanding the Fundamentals of Cloud Computing in Theory and Practice. Amsterdam; Boston: Syngress / Elsevier, 2014.

Cloud Computing Services Models – IaaS PaaS SaaS Explained (EcoCourse)

Nayan B. Ruparelia, Cloud Computing (Cambridge, MA: MIT Press, 2016)

https://cloudman.fr/2017/10/31/the-cloud-computing-reference-model/

Is data mining, in principle, discriminative?

We live in what is referred to as the information age and we’ve seen a rapid development of science and technology. Advancements in technology shape our future in powerful and largely unaccountable ways. Are these advancements inevitable, or can we control the technologies that we get, anticipate their implications, prevent hazards and share their benefits? Recently, the main focus has been directed to artificial intelligence and machine learning. Machine learning algorithms are in our homes and our hands all the time. We’re used to ask Siri questions and expect answers within seconds, we’re used to order through Alexa. We expect recommendations based on our preferences, and the list goes on. But how is all this possible? How do these machine learning algorithms work? It seems that we’re more concerned to ask these kinds of questions when there seems to be problems, or when these devices don’t make the right, correct choices for us.

Now days, we’ve seen problems with algorithms that stand at more sensitive domains, such as the criminal justice system and the field of medical testing. When machine learning algorithms started to be applied to humans instead of vectors representing images, studies showed  that algorithms were not always behaving “fairly”.

It turns out that training machine learning algorithms with the standard maximization objectives, meaning maximizing prediction accuracy on the training data, sometimes resulted in algorithms that behaved in a way in which a human observer will deem unfair, often especially towards a certain minority. “Discussions of algorithmic fairness have increased in the last several years, even though the underlying issues of disparate impact on protected classes have been around for decades” (SIIA Releases Brief on Algorithmic Fairness). That is partly because more data is available to be used, especially with the growth of Internet usage. Every time we are connected to the internet, scrolling through social media, using google search bar, ordering online, or any other activity, consciously or not, we’re leaving behind a digital blueprint ready to be used by different programs who collect and store our data for different purposes, some ethical and some not.

Programs with algorithmic calculations adjust themselves as they are exposed to new data and evolve not only from the original design of the program, but also from the weights developed by their exposure to earlier training data. Computational machines and analytical tools are being trained to leverage and recognize statistical patterns in the data. Data mining is one way that computer scientists use to sort large sets of data, identify patterns and predict future trends. When machine learning algorithms and data mining process is being used, it can lead to statistical discrimination. Carlos Castillo, in his presentation on Algorithmic Discrimination, gives some examples of how statistical discrimination can be used. For example: Not hiring a highly-qualified woman because women have a higher probability of taking parental leave(statistical discrimination) or Not hiring a highly-qualified woman because she has said that she intends to have a child and take parental leave (non-statistical discrimination).

Here is another example that he suggests to us:

Carlos Castillo presentation

As the BIG DATA’S DISPARATE IMPACT study suggests, by definition, data mining will always be a form of statistical discrimination. The very point of data mining is to provide a rational basis upon which to distinguish between individuals and to reliably confer to the individual the qualities possessed by those who seem statistically similar. Based on this principle, it is important to take a closer look and discuss some ways that statistical discrimination could be avoided. Data mining looks to locate statistical relationships in a data sets. In particular, it
automates the process of discovering useful patterns, revealing regularities upon which subsequent decision making can rely. The accumulated set of discovered relationships is commonly called a “model,” and these models can be employed to automate the process of classifying entities or activities of interest, estimating the value of unobserved variables, or predicting future outcomes. By exposing so-called “machine learning” algorithms to examples of the cases of interest (previously identified instances of fraud, spam, default, and poor health), the algorithm “learns” which related attributes or activities can serve as potential proxies for those qualities or outcomes of interest. The process of data mining towards solving a problem includes multiple steps: defining the target variable, labeling and collecting the training
data, using feature selection, making decisions on the basis of the resulting model
and picking out proxy variables for protected classes.  As Mark MacCarthy suggests on his study, there are two steps to define statistical concepts of fairness: First, identify a statistical property of a classification scheme, and second, the fairness notion at stake is defined as equalizing the performance of this statistical property with respect to a protected group.

I found an interesting video that explains the problems with algorithmic fairness in the cases where algorithms used to decide whether defendants awaiting trial are too dangerous to be released back into the community.

References:

Yona, Gal. “A Gentle Introduction to the Discussion on Algorithmic Fairness.” Towards Data Science, Towards Data Science, 5 Oct. 2017

SOFTWARE & INFORMATION INDUSTRY ASSOCIATION, ALGORITHMIC FAIRNESS, (2016)

MacCarthy, Mark, Standards of Fairness for Disparate Impact Assessment of Big Data Algorithms (April 2, 2018)

Mark MacCarthy, “The Ethical Character of Algorithms—and What It Means for Fairness, the Character of Decision-Making, and the Future of News,” The Ethical Machine (blog), March 15, 2019.

Solon Barocas and Andrew D. Selbst, Big Data’s Disparate Impact, 104 California Law Review 671 (2016)

MICHAEL J. A. BERRY & GORDON S. LINOFF, DATA MINING TECHNIQUES: FOR MARKETING, SALES, AND CUSTOMER RELATIONSHIP MANAGEMENT 8– 11 (2004).

https://ec.europa.eu/jrc/communities/sites/jrccties/files/carloscastillo-2018.pdf

 

Deblackboxing Google Assistant

Wouldn’t it be nice to have a personal assistant at any time with you, helping on your everyday tasks, and making reservations on your behalf? Well, today we can have that, and in this case, we can even choose from different brands and products. From Siri, to Alexa, to Cortana to Google Assistant, it seems that companies are investing a great deal to improve their virtual assistants. But what are some main design principles and interfaces that these machines are based on? And how do they work? A recent study from digital agency Stone Temple asked 5,000 random questions of the leading smart assistants and here are the answers:

Stone Temple study

 

 

 

 

 

 

 

 

 

 

Although each company seems to have ” a new, unique” function, when we take a closer look, we see many similarities on the design systems and layers. Let’s take a look at The Google Assistant and see what can we find out when we try to deblackbox it.

Google assistant is an AI virtual assistant that is primarily available on mobile and smart home devices. Assistant initially debuted in May 2016 as part of Google’s messaging app Allo, and its voice-activated speaker Google Home. After a period of exclusivity on the Pixel and Pixel XL smartphones, it began to be deployed on other Android devices in February 2017, including third-party smartphones and Android Wear (now Wear OS), and was released as a standalone app on the iOS operating system in May 2017. Alongside the announcement of a software development kit in April 2017, the Assistant has been, and is being, further extended to support a large variety of devices, including cars and third party smart home appliances. The Assistant can engage in a two-way conversation, using Google’s natural language processing algorithms.

As it is explained in the patent, according to various embodiments of the present invention, an intelligent automated assistant is implemented on an electronic device, to facilitate user interaction with a device, and to help the user more effectively engage with local and/or remote services. In various embodiments, the intelligent automated assistant engages with the user in an integrated, conversational manner using natural language dialog, and invokes external services when appropriate to obtain information or perform various actions.

Taking a closer look at the patent, at the core of the functionality are the electrical, magnetic and optical signals. Here is how it is explained:

“Some portions are presented in terms of algorithms and symbolic representations of operations on data bits within a memory of a computing device. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps (instructions) leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic or optical signals capable of being stored, transferred, combined, compared and otherwise manipulated. It is convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. Furthermore, it is also convenient at times, to refer to certain arrangements of steps requiring physical manipulations of physical quantities as modules or code devices, without loss of generality.”

Let’s take a look at the different layers and interfaces on interaction with the assistant:

Voice input: from mobile devices such as mobile telephones and tablets, computers with microphones, Bluetooth headsets, automobile voice control systems, over the telephone system, recordings on answering services, audio voicemail on integrated messaging services, consumer applications with voice input such as clock radios, telephone station, home entertainment control systems, and game consoles.

Text input from keyboards on computers or mobile devices, keypads on remote controls or other consumer electronics devices, email messages sent to the assistant, instant messages or similar short messages sent to the assistant, text received from players in multiuser game environments, and text streamed in message feeds.

Location information coming from sensors or location-based systems. Examples include Global Positioning System (GPS) and Assisted GPS (A-GPS) on mobile phones. In one embodiment, location information is combined with explicit user input. In one embodiment, the system of the present invention is able to detect when a user is at home, based on known address information and current location determination. In this manner, certain inferences may be made about the type of information the user might be interested in when at home as opposed to outside the home, as well as the type of services and actions that should be invoked on behalf of the user depending on whether or not he or she is at home.

Time information from clocks on client devices. This may include, for example, time from telephones or other client devices indicating the local time and time zone. In addition, time may be used in the context of user requests, such as for instance, to interpret phrases such as “in an hour” and “tonight”.

Compass, accelerometer, gyroscope, and/or travel velocity data, as well as other sensor data from mobile or handheld devices or embedded systems such as automobile control systems. This may also include device positioning data from remote controls to appliances and game consoles.

Events from sensors and other data-driven triggers, such as alarm clocks, calendar alerts, price change triggers, location triggers, push notification onto a device from servers, and the like.

Let’s take a look at the different domains and interfaces that work together to complete a task:

Source: google assistant patent

So now that we have an idea of the different domains, let’s see how everything works together:

  • First, you activate google assistant by a voice command or a text input  “Hey Google”.
  • Your request is immediately packaged up and sent to the servers owned by Google. This is why, if you have a poor network connection, your virtual assistant might be slow.
  • Upon arrival, the words and tone of your request are analyzed by an algorithm, which are then matched with a command that it thinks you asked. Because interpreting sounds takes up a lot of computational power, the recording of your speech is sent to Google’s servers to be analyzed more efficiently.
  • While the algorithm is analyzing the question, your phone or smart speaker is trying to figure out if it can handle the command without needing information from the sever. For example, a request like “Can you pause the music?” is simple; if you want the assistant to translate a phrase from Italian to English, that’s more complicated. Assuming your request is more complicated than a local command, your device will communicate back to the server and continue cross-checking your question to make sure it knows what you’re asking.
  • Finally, your request is answered. If you asked your assistant for the answer to a trivial question, it will find that answer from the web (Google) and push the response back to your device. If you asked to turn on your smart lights, a signal will be sent to them via wi-fi, and they will turn on. The complexity is in relation to the speed of task fulfillment and understanding what you want on the first try. Once the assistant knows what it needs to do, that’s a basic process of tapping into a server, third-party computer, or other electronic device.

source: google search

 

 

 

 

Now we know a little bit more about the different interfaces and applications that take place.

References:

Google Assistant: Wikipedia background

Google Assistant: Google Homepage

Google’s Patent Application for “The intelligent automated assistant system” (US Patent Office)

From Natural Language to Natural Language Processing

By Linda Bardha

Language impacts our every day life. Language helps express our feelings, desires, and queries to the world around us. We use words, gestures and tone to portray a broad spectrum of emotion. The unique and diverse methods that we use to communicate through written and spoken language is a large part of what helps us to bond with each-other.

Technology and research in the fields of linguistics, semiotics and computing, had helped us to communicate with people from different countries and cultures through translating tools.

The process of learning a language  is natural and we all are born with the ability to learn it, but language isn’t just a box of words that you string together, put it through a database or dictionary, and “magically” is translated into another language.  There are rules for combining words into grammatical phrases, sentences, and complex sequences. Language is a system that is made of subsystems, and each of these subsystems/layers play an important role for the whole architecture. This might seem like a process that we often overlook, since we don’t think about it when we speak or when we write. But this is not the case when we use tools for translation. That’s why there are issues when you translate text from one language to another through a tool like Google translate. Since each language has it’s own sets or rules and grammar, that makes it harder for a correct and cohesive translation.

As the video on google translate explains, neural networks help with this transitions.

What do we understand with the term Neural Network?

In the field of computer science, an artificial neural network is a classifier. In supervised machine learning, classification is one of the most prominent problems. The aim is to assort objects into classes.  As Jurasfky  and Martin explain, the term “supervised” refers to the fact that the algorithm is previously trained with “tagged” examples for each category (i.e. examples whose classes are made known to the NN) so that it learns to classify new, unseen examples in the future. In supervised machine learning, it is important to have a lot of data available in order to run examples.  As Poibeau points out in his book, a text corpus is necessary for machine translations.  With the increasing amount of translations available on the
Internet, it is now possible to directly design statistical models for machine translation. This approach, known as statistical machine translation, is the most popular today. Robert Mercer, one of the pioneers of statistical translation, proclaimed: “There is no data like more data.” In other words, for Mercer as well as followers of the statistical approach, the best strategy for developing a system consists in accumulating as much data as possible. These data must be representative and diversified, but as these are qualitative criteria that are difficult to evaluate, it is the quantitative criterion that continues to prevail.

Other important part for successful translations in statistical machine translations are machine learning algorithms and natural language processing. Machine Learning in the context of text analytics is a set of statistical techniques for identifying parts of speech, entities, sentiment, and other aspects of text. The techniques can be expressed as a model that is then applied to other text (supervised machine learning). It also could be a set of algorithms that work across large sets of data to extract meaning, which is known as unsupervised machine learning. Different from the supervised machine learning, unsupervised machine learning refers to statistical techniques to get meaning out of a collection of text without pre-training a model. Some are very easy to understand like “clustering” which just means grouping “like” documents together into sets called “clusters.” These can be sorted based on importance using hierarchical clustering from the bottom-up or the top-down.

Now that we know that the process of translation requires a corpus, incorporation of neural networks and statistical techniques, it needs one more component to complete this process: Natural Language Processing. Natural Language Processing(NLP) broadly refers to the study and development of computer systems that can interpret speech and text as humans naturally speak and type it. Human communication is frustratingly vague at times; we all use colloquialisms, abbreviations, sarcasm or irony when we speak, and sometimes even make spelling mistakes. All of these make it computer analysis of natural language difficult. There are three main components  of a given text that need to be understood in order for a good translation to happen:

  1. Semantic Information – which is the specific meaning of each individual word.
  2. Syntax Information – which is the set of rules, principles, and processes that governs the structure of a sentence.
  3. Context Information – which is understanding the context that a word, phrase or sentence appears in.

After we looked at these concepts and how they work, let’s take a look at design principles and mechanisms of Neural Machine Translation. 

  • Translates whole sentences at a time, rather than just piece by piece.
  • This is possible because of end-to-end learning system built on Neural Machine Translation, which basically means that the system learns over time to create better, more natural translations.
  • NMT models use deep learning and representation learning.
  • NMT requires a lot of processing power, which is still one of its main drawbacks. The performance and time requirements are even greater than for statistical machine translation. However, according to Moore’s law, processing power should double every 18 months, which again offers new opportunities for NMT in the near future.

While NMT  is still not perfect, specially with large technical documents, it shows progress from the previous version Phrase Based Machine Translation (PBMT), which is one mode of Statistical Machine Translation. Now the attention is how to improve it even more, and one suggestion is to look at “hybrid” models, which uses both of the previous methods. The efficiency of each depends on a number of factors such as the language used and the available linguistic resources (such as corpus).

References:

Daniel Jurafsky and James H. Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 2nd ed. (Upper Saddle River, N.J: Prentice Hall, 2008). Selections.

Thierry Poibeau, Machine Translation (Cambridge, MA: MIT Press, 2017). Selections.

How Google Translate Works: The Machine Learning Algorithm Explained (Code Emporium). Video.

Barak Turovsky. Found in translation: More accurate, fluent sentences in Google Translate. (Nov. 15, 2016) found at https://blog.google/products/translate/found-translation-more-accurate-fluent-sentences-google-translate/

Seth Redmore. Machine Learning vs. Natural Language Processing, Lexalytics (Sep. 5, 2018) found at https://www.lexalytics.com/lexablog/machine-learning-vs-natural-language-processing-part-1

United Language Group. Statistical Vs. Neural Machine Translation found at https://unitedlanguagegroup.com/blog/statistical-vs-neural-machine-translation/

 

 

Internet Design and Google Search Bar

Today we use the word “data” in many different ways, but in the context of computing and information, it is related to structure, as an instance of a general type. Data is something that can be named, classified, sorted, analyzed. In any way that we use this term, we have to keep in mind that it should always be inseparable by the concept of representation. Ar Irvine suggests, by “representation” we understand a computable structure, usually of “tokens” (instances of something representable) corresponding to “types” (categories or classes of representation, roughly corresponding to a symbolic class like text character, text string, number type, matrix/array of number values, etc.). Representation in information and computing contexts defined byte sequences capable of being assigned to digital memory and interpreted by
whatever software layer or process corresponds to the type of representation — text
character(s), types of numbers, binary arrays, etc. Any form of data representation, then, is (must be) computable; anything computable must be represented as a type of
data. This is the essential precondition for anything to be “data” in a computing and
digital information context.

Computer systems, software, algorithms, Internet and Web protocols, and all
forms of data structures are intentionally and necessarily designed in levels that must “communicate” in an overall system design (termed the “architecture” of the system). The Internet and Web are not only network designs for transmitting digital data in standard formats from one address point (node) to another. They also form a networked computer system 
composed with many software, hardware, and networked computing processes on massively distributed servers that are precisely managed in levels or layers:

By Dr. Martin IrvineBy Alan Simpson

While reading about the web, I started thinking about the google search bar and how much data is stored and retrieved when we search for something, and how does the search bar gives the responses back.  In an article by Larry Page and Sergey Brin, the founders of Google, they explain that they build a search engine that used links to determine the importance of the individual pages on the World Wide Web. This engine was first called “The Backrub”. Soon after, it was renamed to Google. But, how does the search bar work? Since we cannot physically see the process that happens behind this web page, we have to de-blackbox it and look at the “hidden” layers.

Google uses a special algorithm to generate search results. It also uses automated programs called spiders or crawlers (which scan Web pages and create indexes of keywords and links from that page to other sites), and has a large index of keywords and where those words can be found. The most important part of the process is the ranking of the results when we search for something, which determines the order that Google displays results. Google uses a trademark algorithm called PageRank, which assigns each page a score, based on factors like the frequency and location of keywords within the Web page, how long the web page has existed, the number of other Web pages that link to the page in question. So, if you want your web page to be higher in the search results, than you need to provide good content so that other people will link back to your page, and the more links your page gets, the higher the PageRank score will be.

I found this interesting video on code academy made by John, Google’s Chief of Search and AI, and Akshaya, from Microsoft Bing, They cover everything how the search bar works, how special programs called “spiders” scan the Internet before you even type in your search terms to what determines which search results show up first.

References:

Berners-Lee, Tim Weaving the Web: The Original Design and Ultimative Destiny of the World Wide Web. New York, NY: Harper Business, 2000. Excerpts.

Michael Buckland, Information and Society (Cambridge, MA: MIT Press, 2017)

“How We Started and Where We Are Today.” Google. Google, n.d. Web. 29 Nov. 2017. <https://www.google.com/intl/en/about/our-story/>.

Review Irvine, “Using the Model of Levels to Understand “Information,” “Data,” and “Meaning”

The Internet: How search works, found at https://www.youtube.com/watch?v=LVV_93mBfSU

Communication through Information

By Linda Bardha

There is so much information around us. As Floridi puts it, Information is notorius for coming in many forms and having many meanings. Over the past decades , it has been common to adopt a General Definiton of Information (GDI), in terms of data and meaning. That means that we can manipulate it, encode it, decode it as long as the data must comply with the meanings (semantics) of a chosen system, code or language. There has been a transition from analogue data to digital data. The most obvious difference is that analog data can only record information (think of vinyl records) and digital data can encode information, rather than just recording it.

But how is the information measured?

Claude Shannon, in his publication “A mathematical theory of communication”, used the word bit, to measure information, and as he said, a bit is the smallest measuring unit of information. A bit has a single binary value, either 0 or 1.

When I think of information, I almost never associate it with data, but rather with meaning. In a way, information to me serves the function of communicating a message.

As Irvine explains, Information (in the electrical engineering context) is what can be measured and engineered for structuring physical, material signals or substrates (e.g., radio waves, binary digital electronic states in a physical medium like memory cells or Internet packets), which are then said to be the medium or “carrier” of data representations at the physical level.

In today’s society we share and receive information through different mediums. We live in a world where new technologies and devices are changing the way we communicate and interact with each-other. But, how did we get here? What were the main principles and technologies that lead to the invention of the internet and other technologies that we use to communicate today and share messages?

For my 506 project, I did research on the telegraph, and I was fascinated by how this groundbreaking device changed the way people communicated with each-other. Developed in the 1830s and 1840s by Samuel Morse (1791-1872) and other inventors, the telegraph revolutionized long-distance communication. The telegraph eliminated dependence on time and distance by connecting people through electricity and code. Although the telegraph had fallen out of widespread use by the start of the 21st century, replaced by the telephone, fax machine and internet, it laid the groundwork for the communications revolution that led to those later innovations.

Now we rely on the internet’s architecture to share and receive messages. The message that we want to send via email or any other application relies on the data packet switching principle across a network. First, the TCP protocol breaks data into packets or blocks. Then, the packets travel from router to router over the Internet using different paths, according to the IP protocol. Lastly, the TCP protocol reassembles the packets into the original whole, and that’s how the message is delivered.

In this video, Spotify engineer, Lynn Root and Vint Cerf, an Internet pioneer, explain what keeps the internet running, how information is broken down into packets and how messages are transmitted from one point to another.

The internet’s architecture and the design principles make the exchange of messages possible and keep us connected to each other. The information theory gives a different perspective on what information is and how it is measured.

As Gleick suggests, Shanon’s theory made a bridge between information and uncertainty; between information and entropy; and between information and chaos. It led to compact discs and fax machines, computers and cyberspace.

References:

Floridi, Luciano. Information: A very short introduction. (Oxford University Press,2010)

Gleick, James. The Information: A History, a Theory, a Flood. (New York, NY: Pantheon, 2011)

Irvine, Martin. “Introduction to the Technical Theory of Information” (Information Theory + Semiotics)

Shannon, E. Claude and Weaver, Warren.  The Mathematical Theory of Communication (Champaign, IL: University of Illinois, 1949).

Root, Lynn and Cerf, Vint. Sep 9, 2015. The Internet: Packets, Routing & Reliability. Retrieved from URL https://www.youtube.com/watch?v=AYdF7b3nMto

Pattern Recognition and its Applications

Group Study Project

By: Linda Bardha, Dominique Haywood, Yajing Hu

For this project we have divided our presentation into three parts: Key Points from the readings, Case Study of Karpathy and Applications of Pattern Recognition.

Key Points from the readings

  • A pattern is a particular configuration of data; for example, ‘A’ is a composition of three strokes. Pattern recognition is the detection of such patterns.
  • In computer science, there are many tasks for which we have tried to devise “expert systems” programmed with manually specified rules and algorithms.
  • For example, facial recognition. By analyzing different face images of a person, a learning program captures the pattern specific to that person and then checks for that pattern in a given image.
  • The learning algorithm finds those unchanging discriminatory features and the way they are combined to define a particular person’s face by going over a number of images of that person.
  • The sensory results from an e-tongue are dealt with in a similar way to the human case. Electronic signals produced are perceived in terms of pattern recognition – attempting to match a new set of sensor readings with a database of memorized taste spectra.

Case Study of Karpathy

  • Kaparthy designed a script to identify images tagged #selfie to accumulate the images. After initializing the images, convolutional networks are trained to filter the images to accurately identify images that are pulled.
  • The Covnet designed by Kaparthy gathered 5 million images tagged #selfie. Higher numbers of images enables a more accurate filtering of images. Ultimately, the number of selfies were brought down to 2 million, however, the demographic statistics of the data was not discussed. It is unclear whether the demographics of both the sample that trained the covnet and the ultimate pool of selfies impacted the final conclusions.
  • Kaparthy ranked the users which the selfies belonged to based on the number of followers. This ranking was indicative of the reach of the post and allowed Kaparthy to establish the value of the picture. Another approach to establishing the value of the post would be to calculate the percentage of followers which liked each selfie. This would likely be a better indication of the photo’s value because users with higher number of followers may have purchased their followers. Calculating the percentage of followers which liked each selfie would provide an accurate view of follower engagement with the selfie, and it would be a better measure of the photo’s value.
  • Many of the features identified by the Covnet as being contributors to a “good” selfie are the same features of any photo that is pleasing to viewers. Primarily, lighting, borders and filters enhance the visibility of the subject and the background where the subject is taking the photo. It is still unclear how the demographics of the users impacted the patterns of a good selfie, however, the pattern that selfies of women were more likely to be ranked as good selfies likely has to do with the overwhelming number of women on social media applications like Instagram.

Applications of Pattern Recognition 

Case Study: Facebook is using AI and pattern recognition to try to prevent suicide. Guy Rosen, Facebook vice president of product management talks about this initiative in an interview for the Washington Post. (I’ve attached the link in the references section)

Note: Facebook started testing this program only in the United States in March 2017. After proven successful it is now used in many different countries.

Screenshots of the suicide prevention tools in Facebook.Courtesy of Facebook

  • Facebook is using AI and pattern recognition as a tool to stop suicide broadcasts.
  • The aim of this tool is to find and review alarming posts.
  • It uses pattern recognition to scan all posts/comments for certain phrases to identify whether someone needs help.
  • In the case of live video, users can report the video and contact a helpline to seek aid for their friend. Facebook will also provide broadcasters with the option to contact a helpline or another friend.
  • Users are also given information to contact law enforcement if necessary.
  • The algorithm determines not only what posts should be reviewed but also in what order humans should review them.

My attempt to the Algorithmic Description

References:

Geoff Dougherty, Pattern Recognition and Classification: An Introduction (New York: Springer, 2012).

Peter J. Denning and Craig H. Martell. Great Principles of Computing. Cambridge, MA: The MIT Press, 2015.

Andrej Karpathy, “What a Deep Neural Network Thinks About Your #selfie,” Andrej Karpathy Blog (blog), October 25, 2015, http://karpathy.github.io/2015/10/25/selfie/.

Peter Wegner, “Why Interaction Is More Powerful Than Algorithms.” Communications of the ACM 40, no. 5 (May 1, 1997).

Hayley Tsukayama, “Facebook is using AI and pattern recognition to try to prevent suicide”, Financial Post, November 28, 2017, https://business.financialpost.com/technology/personal-tech/facebook-is-using-ai-and-pattern-recognition-to-try-to-prevent-suicide?fbclid=IwAR3Vgn-jIhuwe93dl19wEYsaJuQQ2ujVcfxp0NfgLDQd4MntxEEs_LJDRvY