Sunteți pe pagina 1din 72

Information Retrieval

căutarea (regăsirea) informației


поиск информации
Information overload
supraîncărcarea informațională
Информационная перегрузка
Search engine text indexing
indexarea paginilor web

Indexing
web pages
Terminologia IR

• documentul este o unitate de text.


- un articol din ziar, un capitol din carte, un paragraf,
o pagină WEB ş.a.m.d.
• colecţie este un set de documente.
• cuvinte-cheie (key-words) prezintă unităţi lexicale după
care se face selectarea documentelor.
- unităţile lexicale pot fi cuvintele, îmbinările de
cuvinte.
• interogarea (query) utilizatorului : informaţia prezentată
de către utilizator motorului de căutare în baza căruia se
execută selectarea documentelor.
IR: Definiții

• documentul relevant unei interogări

• similaritatea între interogare și document


sau între două documente
IR: Definiții
• documente relevante interogărilor
IR: Definiții
• similaritatea între interogare și document

interogare: ce este prelucrarea limbajului natural

document:
IR: Definiții
• similaritatea între interogare și document

sau între două documente


Terminologia IR:
bag of words
Terminologia IR:
bag of words
Terminologia IR:
bag of words
În IR interogarea utilizatorului şi documentele
sunt prezentate ca
vectori (seturi) de caracteristici (features)
de fapt, cuvintele-cheie care apar
în interogare sau în document.
În IR interogarea utilizatorului şi documentele
sunt prezentate ca
vectori (seturi) de caracteristici (features)
de fapt, cuvintele-cheie care apar
în interogare sau în document.

dj = ( t1,j, t2,j, t3,j, ... tN,j ) qk = ( t1,k, t2,k, t3,k, ... tN,k )

Atunci relevanţa documentului interogării


se calculează ca
similaritatea între document şi interogare:

sim (qk, dj ) =  ti,k × ti,j i=1,N


Exemplu:

Interogarea: speech language processing

Doc 1: Language is important. Speech and language


processing is important.

Doc2: We are studying speech. Speech is interesting.


Processing of speech is difficult. Speech is an audio
record. We have Romanian speech and English speech
records.

Doc 3: Language is our object of study. We learn language.


English language is less difficult than Romanian
language. Processing of language is interesting.
În IR interogarea utilizatorului şi documentele
sunt prezentate ca
vectori (seturi) de caracteristici (features)
de fapt, cuvintele-cheie care apar
în interogare sau în document.

sim (qk, dj ) =  ti,k × ti,j i=1,N


importanţa cuvintelor-cheie
weight - ponderea
importanţa cuvintelor-cheie
weight - ponderea

Matricea de ponderi a cuvintelor Ci în documentele dj


importanţa cuvintelor-cheie
Ponderea cuvîntului
în dependență de mărimea documentului

TF - TERM FREQUENCY

Se sumează pentru
fiecare document
Wi,j = ti,j / j ti,j 2
importanţa cuvintelor-cheie
Ponderea cuvîntului
în dependență de mărimea documentului
TERM FREQUENCY
importanţa cuvintelor-cheie
Ponderea cuvîntului
în dependență de numărul de documente în care
acesta apare

IDF – INVERSE DOCUMENT FREQUENCY

idfi = log(N / ni)

idfi
log(3/2)=log(1,5)=0.176
log(3/2)=log(1,5)=0.176
log(3/3)=log(1)=?
importanţa cuvintelor-cheie
Ponderea cuvîntului

TF-IDF METRICS

idfi = N / ni

idfi
log(3/2)=log(1,5)=0.176
log(3/2)=log(1,5)=0.176
log(3/3)=log(1)=0
importanţa cuvintelor-cheie
Ponderea cuvîntului

TF-IDF METRICS

idfi = N / ni

doc1 doc 2 doc3


speech 0.07 0.17 0.00
language 0.14 0.00 0.17
processing 0.00 0.00 0.00
SAU . . .
• Indexarea booleana

docs
terms
Stop words
de în şi la a să cu nu pe se ce
că mai o un din dar când ca el
iar eu lui care sunt cum tot prin
nici pentru mă este tu ei căci lor
au le am te numai fi asa noi însă
fost prea fără îi toti apoi sau ai
face cel voi decât poate ea ne pot
IR: Similaritatea

• similaritatea între
interogare: speech and language processing

q=( 1 1 1 )

și document doc1, doc2, doc3

sim (q, d) = d x q doc1 doc 2 doc3


speech 0.07 0.17 0.00
language 0.14 0.00 0.17
processing 0.00 0.00 0.00
IR: Similaritatea

• similaritatea între
interogare: speech and language processing

q=( 1 1 1 )

și document doc1, doc2, doc3

sim (q, d) = d x q doc1 doc 2 doc3


speech 1 1 0
language 1 0 1
processing 0 0 0
IR: Similaritatea
IR: Similaritatea
Modelul vectorilor în spațiu
Modelul vectorilor în spațiu
Exemplu
Două cuvinte: cats, dogs
Doc 1 vector = ( 3 2 )
Doc 2 vector = ( 1 4 )
Interogarea vector = (1 1)
4

3
Cats

0
0.5 1 1.5 2 2.5 3 3.5 4 4.5
Dogs
Exemplu
Două cuvinte: cats, dogs
Doc 1 vector = ( 3 2 )
Doc 2 vector = ( 1 4 )
Interogarea vector = (1 1)
Amit Singhal
Google, Inc.
Modern Information Retrieval:
A Brief Overview
2001
IR: Implementarea
preprocesarea documentelor
1. Tokenization
împărțirea în cuvinte
Opriți-vă copiii până-n 12 ani
Opriți-vă , până-n - un cuvînt sau două?

 Rowan dă exemplu jocul Grand Theft Auto V 


impărțim Grand Theft Auto V în cuvinte?

Potrivit Ministerului Dezvoltării Regionale și


Construcțiilor, ...  - impărțim?

http://nlp.stanford.edu/IR-book/html/htmledition/irbook.html
IR: Implementarea
preprocesarea documentelor
2. Normalizarea
convertăm tot textul in litere mici
Ce facem cu abrevieri?

Viorel Bostan este noul rector al UTM


viorel
bostan
utm
IR: Implementarea
preprocesarea documentelor
2. Normalizarea
ce facem cu diacritice?
Caut informația despre pește

caut
informatia
despre
peste

măi – mai, român – roman, în - in


IR: Implementarea
preprocesarea documentelor
2. Normalizarea
ce facem cu cifre?

U.S.,  3/12/91 
U.S.,  Mar. 12, 1991.
  Europa, 3 Dec 1991
IR: Implementarea
preprocesarea documentelor
2. Normalizarea
stemming

work
worked work
working
worker ???
IR: Implementarea
preprocesarea documentelor
2. Normalizarea
lemmatization

lucra lucrat
lucrai lucrată
lucram lucrate
lucrară lucrați lucra
lucrarăm lucrau
lucrarăți lucră
lucrași lucrăm
IR: Implementarea
ce facem cu ambiguitatea cuvintelor?

nouă

Lucrarea aceasta este nouă

Lucrarea aceasta este a noua

Lucrarea aceasta ne pare nouă comlicată


IR: Implementarea
ce facem cu ambiguitatea cuvintelor?

Exemplu din google translate:

Деталь оказалась браком

Piesa a devenit căsătorită


IR: Implementarea
ce facem cu ambiguitatea cuvintelor?
From Wikipedia, the free encyclopedia

Washington commonly refers to:

1. George Washington (1732–1799), first president of the United States


2. Washington (state), United States
3. Washington, D.C., the capital of the United States
4. Washington (name), including a list of people with the given name or
surname Washington

Washington may also refer to:

5. The Washington metropolitan area


6. A metonym for the Federal government of
the United States
IR: Implementarea
IR: stocarea datelor
IR: Implementarea
IR: stocarea datelor

• 2.7 Zetabytes of data exist in the digital universe today.


• Facebook stores, accesses, and analyzes 30+ Petabytes of user
generated data.
• 571 new websites are created every minute of the day.
• 2008 Google was processing 20,000 terabytes of data (20 petabytes) a
day.
• Decoding the human genome originally took 10 years to process; now
it can be achieved in one week. 

http://wikibon.org/blog/big-data-statistics/
IR: stocarea datelor
Inverted index (inverted file)
d1 d2 d3 d4 d5 d6 d7

Antony - > d1 d2 d6
Brutus - > d1 d2 d4
Caesar - > d1 d2 d4 d5 d6
Calpurnia - >
Cleopatra - >
mercy - >
worser - >
IR: stocarea datelor Document
Inverted index (inverted file) ID

d1 d2 d3 d4 d5 d6 d7

Antony - > d1 d2 d6
Brutus - > d1 d2 d4
Lexicon
Caesar - > d1 d2 d4 d5 d6 Inverted
Dictionar
Calpurnia - > index lists
Vocabular
Cleopatra - >
mercy - >
worser - >
IR: stocarea datelor
Inverted index (inverted file)

http://nlp.stanford.edu/IR-book/html/htmledition/irbook.html
Search Engines Optimization
Optimizare pentru motoare de căutare
Поиско́вая оптимиза́ция

• Un proces de
favorizare a vizibilității
site-urilor web sau
paginilor web în
cadrul ordonării
rezultatelor căutării în
lista făcută de
motorul de căutare

http://tools.seobook.com/general/keyword-density/
Search Engines Optimization
Optimizare pentru motoare de căutare
Поиско́вая оптимиза́ция

Se spune că Google are


peste 300 de factori în
componența algoritmului
de afișare a rezultatelor
însă nici o companie ce
dezvoltă motoarele de
căutare nu dezvăluie
algoritmele sale de
indexare a paginilor web.
Search Engines Optimization
SEO
Optimizare pentru motoare de căutare
On-site SEO*
optimizarea elementelor paginilor - meta data, titlul paginii, contentului,
etc.

Off-site SEO*
optimizarea elementelor în afară paginilor – link-uri ce vin pe pagină,
social media, etc.

Google Webmaster Tools

http://www.webdesignstuff.co.uk/fc103 /
IR Theory and Practice
Text Retrieval Conferinte Content classification,
categorisation, clustering
TREC Web and Social Media
European Conference on IR
Blog and online-
Information Retrieval  community search,
ERIC User aspects
User modelling, user
studies, user interaction
IR system
architectures
Crawling and indexing
Compression,
optimisation
Content representation
and processing
Reasoning for IR
Opinion mining,
sentiment analysis,
Cross-language retrieval,
multilingual retrieval
Evaluation
Multimedia and cross-
IR: Evaluarea

Precision – Recall –
rata celor rata celor
relevante în cele selectate în cele
selectate relevante

F-measure = 2PR/(P+R)
Sentiment analysis
analiza sentimentelor
http://sentistrength.wlv.ac.uk/
Sentiment analysis
analiza sentimentelor
https://www.csc.ncsu.edu/faculty/healey/tweet_viz/tweet_app/
SMILE tool
• http://intime.dlsi.ua.es:8080/Smile/pages/
Sentiment analysis
analiza sentimentelor
http://blog.datumbox.com/how-to-build-your-own-twitter-sentiment-analysis-tool/
In order to build the Sentiment Analysis tool we will
need 2 things:
1) connect on Twitter and search for tweets that
contain a particular keyword.
2) evaluate the polarity (positive, negative or neutral)
of the tweets based on their words.
For the first task we will use the Twitter REST API 1.1v
and for the second the Datumbox API 1.0v.
You can find the complete PHP code of the 
Twitter Sentiment Analysis tool on Github.

In order to detect the Sentiment of the tweets we used our Machine Learning
framework to build a classifier capable of detecting Positive, Negative and
Neutral tweets. Our training set consisted of 1.2 million tweets evenly
distributed across the 3 categories.
Semantic search
Căutarea semantică are scopul să
îmbunătățească relevanța
rezultatelor prin înțelegerea
intenției utilizatorului și
semnificația contextuală a
termenilor întroduși analizînd
Pașii spre căutarea semantică apariția lor în spațiu de date
Sistemul semantic trebuie să poată: căutate.
1- procesa forme morfologice ale
cuvintelor
2- găsi sinonimele
3- generaliza
4- găsi conceptele similare
5- găsi cunoștințele corespunzătoare
6- procesa întrebări în limbaj natural
Graful de cunoștințe
Ontologii
Raţionament (inferența)
• Bărcile pot tranversa
mici curgeri de apă 
• Cayac este o barcă

• Cayac a tranversat o
curgere de apă

• Păsării pot zbura


• Pinguin poate zbura
• Pinguin este o pasăre
Multilingual search
Text Analysis
analiza textului
Google's machine learning Inbox
can now reply to your emails
A new feature in Google's Inbox app can recognise the
content of emails and tailor responses using natural
language, without a human being having to do a thing.
Machine learning is used to scan emails and understand if
they need replying to or not, before creating three
response options. An email asking about vacation plans,
for example, could be replied to with "No plans yet", "I
just sent them to you" or "I'm working on them".
The feature, dubbed Smart Reply, is only available in
Google's Inbox app for Android and iOS. It has been
designed for emails that can be answered with a short
reply such as "I'll send it to you" or 'I don't, sorry'.

http://www.wired.co.uk/news/archive/2015-11/03/google-smart-reply-machine-
learning-email
Google is not selling
access to its deep
learning engine. It’s
open sourcing that
engine, freely
sharing the
underlying code with
the world at large.
This software is
called TensorFlow,
and in literally giving
the technology away,
Google believes it
can accelerate the
evolution of AI. 
http://www.wired.com/2015/11/google-open-sources-its-artificial-intelligence-engine/
IR: Similaritatea

S-ar putea să vă placă și