2010-03-28 17 views
9

Quando si esegue una ricerca in Google "da 100F a C", come fa la conversione da Fahrenheit a Celsius? Allo stesso modo, conversione da valute diverse e calcolo semplice.Come viene implementato Google Calculator?

Qual è la struttura dati utilizzata o è semplice il modello che corrisponde alle stringhe?

+1

hai provato roba a wolfram alpha? Ha un database per molte cose e puoi fare praticamente qualsiasi domanda (che restituisca un numero esatto o simile). Mostra anche come analizza la tua domanda. http://www.wolframalpha.com/input/?i=night+fall+in+Piran –

+0

Concordato con ralu - WolframAlpha utilizza una quantità di Natural Language Processing, che è molto più interessante e copre una più ampia varietà di casi (prova per esempio chiedendo alla popolazione di Findland). – new123456

risposta

1

non è esattamente semplice corrispondenza modello. Valutare le espressioni matematiche che è possibile inserire non è banale. Ad esempio, here's un algoritmo che valuta un'espressione matematica. Questa è solo la valutazione, probabilmente c'è un sacco di codice per rilevare se è addirittura valido.

Per la conversione di valute e altre unità, si tratta di un semplice abbinamento di modelli.

0

è semplice pattern matching

provare
100 kmh in mph = nessun calcolo
100 km orari in mph = 62,1,371192 millions mph

+0

"100 km/h in mph" funziona però: km ​​/ h è l'abbreviazione corretta – gbn

+2

Sono quasi sicuro al 100% che per le espressioni matematiche (ad esempio 100 * (6 +3)) usano un parser poiché non sono regolare. –

+1

@DrJokepu: d'accordo, ma c'è il problema più difficile di riconoscere che è un'espressione adatta per l'invio alla calcolatrice prima di trattarla come una stringa di ricerca. Immagino che ci sia un mucchio di espressioni regolari ed euristiche per quella determinazione. – msw

Problemi correlati