Lee Sedol Retired

In late 2019, Lee Sedol, well known for playing the AlphaGo, announced his retirement from playing Go professionally. The reason being that AI had become so good at playing Go and that even if he became the best player in the world, there is still “an entity that cannot be defeated”.

As a human, it is hard not to feel for Lee Sedol. This was a game that he dedicated his life to, and it is one in which he will never be able to beat AI. It is clear that this fact has taken a toll on him, and while he is still one of the top Go players in the world, he decided to retire. It is unfortunate that the cause of his retirement was knowing that he would never be able to beat a computer at a game he has dedicated his life to.

Before the series, the expectation going into the match was that Lee Sedol would win 4 or 5 games in the 5 game series. This changed once spectators realized how skilled the AlphaGo really was. The funny thing is that against an artificial intelligence agent, with sufficient training, it makes no sense that Lee Sedol would have an advantage against AlphaGo. While we have the benefit of hindsight and are more knowledgeable about AI now. It seems that comparing Lee Sedol and AlphaGo is like comparing apples to oranges. Humans and machines are so fundamentally different, and have different strengths that comparing them at the same task and deriving their intrinsic value based on their performance is almost ridiculous. Humans will never have the computational ability that machines do and they will never be free from the psychological influences impacting their decision making. Just like machines will never be able to articulate emotions or utilize intuition based on circumstance. It reminds me of the Einstein quote “Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.”

It is incredible what AlphaGo and AI are capable of doing, and it is also really unfortunate that it has convinced one of the top Go players in the world to stop competing. The whole situation is similar to Kasparov vs Deep Blue. After reflecting on it, Kasparov came to the conclusion that humans and machines will perform best when working together. Allow both to play to their strengths and see what happens.

NHL Player Comparables via KNN + Demo

Since the NHL lockout and the introduction of the salary cap, NHL teams have faced the challenge of building their team with a hard limit of what they can afford to spend on their players. This has introduced a ‘Moneyball’ aspect to hockey. There has been an emergence of analytics as teams search for ways to spend their salary allocation in the most effective manner. The challenge is that General Managers need to determine how they are going to allocate the salary for their players while building a winning team. There are different ways to do this, but ultimately, the GMs need to get better value contracts by signing players for less than what other comparable players (either by play style, role or stats) are making. Now as a hockey fan, I don’t know the internal systems that teams might use to bridge the qualitative and quantitative metrics that players can be compared on. However, one approach that could be used, is utilizing the K-Nearest Neighbours algorithm to cluster to players together to determine which players are similar to each other.

In order to examine this, I obtain data some salary data from Capfriendly and some attribute data (from the NHL 19 video game) and performed a demostration of how this could work. I looked at Mitch Marner, and found his comparables, based on the data I was using, to be David Pastarnak, Evengy Kuznetsov and Jonathon Huberdeau. A more complete version of this analysis, and code can be found here.

HAL 9000 - An Ideal of Computer Human Interaction

Hal 9000, from 2001: A Space Odyssey, is what we should be striving for when trying to create a computer that can talk to humans. The reason for this is that it includes 3 major components of understanding: it can analyze what it being said or the text, it can gather the context and tone of voice, and it can pay attention to the body language of the person that it is interacting with. All are items that humans perform without thinking when interacting with one another. In order to be able to seamlessly interact with computers or AIs, we are going to need a way for them to combine the different aspects of communication together so they can process the data closer to a human level of understanding. Let’s just hope in the future they aren’t as sinister.

PDF Extraction with PyPDF2

Another tool that can be used for PDF extraction in Python is PyPDF2. It is fairly easy to use, however I found Tika performed better for extraction. When using PyPDF2 it often returned a messy output. Below is an example code of how you can use it. You can also check out the documentation here: Link to PyPDF2 Documentation

PDF Extraction with Tika

One of the PDF extraction tools that can be used with Python is called Tika and is by Apache. It is really easy to use for a pdf extractor and produces good results. One thing to note is that it relies on Java so if you don’t have Java installed you will run into an error. Below is an example of its usage.