Główna zawartość
Podstawy informatyki - program rozszerzony
Moc sprawcza Big Data
Large data sets present unique challenges, but they also present unique opportunities. Let's explore a few ways that big data has enabled new computing innovations.
Image classification
The explosion of digital data includes millions of images, thanks to the ease of smartphone photography and the spread of surveillance cameras.
Image classification algorithms can improve our lives in many ways: from niceties like identifying a plant in our garden to the life-saving ability of diagnosing a condition based on an MRI.
Robust image classification is only possible in recent years thanks to the advent of machine learning with neural networks. A neural network operates similarly to how we think brains work, with input flowing through many layers of weighted neurons and eventually leading to an output.
Computer programmers don't actually program each neuron. Instead, they feed a neural network with a massive amount of labeled training data. For image classification, that could mean thousands of images labeled as "dog", "cat", "fish", etc. The neural network then learns which combination of neuron weights output the most accurate classification over all the data.
When the neural network sees a novel image, it uses the pre-trained weights and outputs the possible classes and their probabilities.
The strength of a neural network is highly dependent on its training data, both the amount and diversity. Has the network seen the object from multiple angles and lighting conditions? Has it seen the object against many different backgrounds? Has it really seen all varieties of that object?
If we want a neural network to truly understand the world, we need to expose it to the huge diversity of our world.
Natural language processing
Złożoność ludzkiego języka zawsze stanowiła wyzwanie dla informatyków zainteresowanych rozpoznawaniem mowy, rozumieniem tekstu, tłumaczeniem i generowaniem tekstów w języku naturalnym.
Rozważmy problem tłumaczenia: na świecie jest prawie 200 krajów i tysiące języków, którymi posługują się ich obywatele. Już teraz, kiedy żyjemy w globalnej gospodarce, bardzo byśmy chcieli, żeby komputery potrafiły przynajmniej tłumaczyć pomiędzy pięcioma najpopularniejszymi językami.
Poszukiwania algorytmów tłumaczeniowych rozpoczęły się w latach 60 od Rule-Based Machine Translation. Algorytmy RBMT opierają się na gramatyce opisującej strukturę każdego języka oraz na słowniku słów. Aby przetłumaczyć zdanie, starają się przeanalizować je na podstawie gramatyki danego języka, przekształcić strukturę gramatyczną na język docelowy i przetłumaczyć słowa przy użyciu słownika.
Algorytmy RBMT wymagają pracy doświadczonych lingwistów przy analizie gramatyki, jednak ich tłumaczenia wciąż nie oddają złożoności ludzkiego języka. Naukowcy szukali lepszych opcji.
W latach 90 komputery nagle uzyskały dostęp do znacznie większej ilości danych w językach naturalnych. Zdigitalizowano miliony dokumentów tekstowych, jak książki i wiadomości, a wiele z nich zostało przetłumaczonych na wiele języków.
Przygody Harrego Pottera zostały przetłumaczone na ponad 70 języków, więc komputery mogły poznać tłumaczenie słowa „sowa” tylko poprzez porównanie tych tłumaczeń.
angielski | polski |
---|---|
We await your owl by no later than July 31. | Na Twoją sowę czekamy najpóźniej do 31 lipca. |
"What does it mean, they want my owl?" | „Co to znaczy, że chcą mojej sowy?” |
Wszystkie te nowe dane umożliwiły powstanie podejścia zwanego Statistical Machine Translation. Algorytmy SMT dzielą zdanie na mniejsze segmenty, szukają istniejących tłumaczeń tych segmentów i proponują najbardziej prawdopodobne tłumaczenie pełnego zdania.
Przy małym zestawie danych treningowych, algorytmy SMT dają gorsze wyniki niż algorytmy RBMT. Jednakże, z dużymi zbiorami danych, algorytmy SMT mogą produkować dość płynne zdania, lub przynajmniej płynne frazy w zdaniach.
W ostatnich latach popularność zdobył algorytm Neural Machine Translation. NMT to algorytm uczenia maszynowego, który trenuje sieci neuronowe na ogromnych ilościach danych. Kiedy są dobrze wyszkolone i mają wystarczająco dużo danych, te algorytmy mogą nauczyć się, jak produkować zdania, które są płynne od początku do końca.
Business analytics
In the days before the internet, someone who wanted to watch a movie would rent one from their local video rental store. That store could collect data about what movies their customers were renting and generate statistics like the top 10 rentals of the month or the average rentals per customer. With a relatively small amount of data, there was only so much they could learn from the data.
Now we have online video streaming services like Netflix, Hulu, and Amazon Prime, with massive numbers of users and automated data collection across those users.
As of April 2019, Netflix had nearly 150 million subscribers.start superscript, 1, end superscript Netflix can collect basic data like the movies that subscribers watch and rate, but they can also collect details like the time of day, how long they took to select the movie, and whether they watched it all the way through.
What can they do with all that data? Personalization! The more that a business can tailor it's offering to what a customer wants, the more likely that the customer will stay (and pay!).
If Netflix can recommend exactly the movie that will scratch your itch right now, you'll come back for more in the future.
Online businesses feed their recommendation algorithms a massive amount of data. For a given user, an algorithm can find the users that are most like them and find what those similar users are into. But they might also consider the user's stated preferences, what is globally popular, and what's new.
With the results from those algorithms, online stores can show you products that you're most likely to buy, online news sites can show you articles that you're most likely to read, online advertising agencies can show you ads that you're most likely to click.
🤔 All of that personalization is great for businesses, as it increases their ability to stay in business. But is it all good for the user?
Chcesz dołączyć do dyskusji?
Na razie brak głosów w dyskusji