Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Abbiamo provato il nuovo Galaxy S25 Edge, uno smartphone unico per il suo spessore di soli 5,8 mm e un peso super piuma. Parliamo di un device che ha pro e contro, ma sicuramente si differenzia dalla massa per la sua portabilità, ma non senza qualche compromesso. Ecco la nostra prova completa.
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
Pensato per il professionista sempre in movimento, HP Elitebook Ultra G1i 14 abbina una piattaforma Intel Core Ultra 7 ad una costruzione robusta, riuscendo a mantenere un peso contenuto e una facile trasportabilità. Ottime prestazioni per gli ambiti di produttività personale con un'autonomia lontano dalla presa di corrente che permette di lavorare per tutta la giornata
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Basato su piattaforma Qualcomm Snapdragon X Plus a 8 core, il nuovo Microsoft Surface Pro 12 è un notebook 2 in 1 molto compatto che punta sulla facilità di trasporto, sulla flessibilità d'uso nelle differenti configurazioni, sul funzionamento senza ventola e sull'ampia autonomia lontano dalla presa di corrente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-03-2010, 10:44   #1
gangiaemi
Junior Member
 
Iscritto dal: Jul 2008
Messaggi: 28
[PHP]algoritmo

Buongiorno a tutto lo staff e a tutti gli utenti.
Faccio una semplice domanda : ho la necessita, tramite un documento di testo, di cercare le parole piu rilevanti e le frasi piu rilevanti.
Esiste un modo per poter fare questo tramite php?
gangiaemi è offline   Rispondi citando il messaggio o parte di esso
Old 08-03-2010, 13:04   #2
flx2000
Bannato
 
L'Avatar di flx2000
 
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 810
Sicuramente non troverai un linguaggio che offra una funzione del genere senza doverla programmare a mano, perché è troppo generica.

Di rimando, il PHP è sicuramente in grado di svolgere una funzione del genere se opportunamente programmato.
flx2000 è offline   Rispondi citando il messaggio o parte di esso
Old 08-03-2010, 13:25   #3
gangiaemi
Junior Member
 
Iscritto dal: Jul 2008
Messaggi: 28
ciao, grazie per la tua risposta.
Lo so che non esiste un linguaggio che possa offrire una funzione del genere.
So che bisogna sicuramente implementarla.

Che tipo di ragionamento c'è alla base di una ricerca di frasi o parole all'interno di un file di testo o documento?
Come faccio a dire : bene adesso prendi 10 parole , adesso prendine 6 ?

Credo che possa essere utile un db di appoggio con all'interno un vocabolario di termini.Questo è ok per singole parole, ma per periodi di senso compiuto?

é un po di tempo che ci sto pensando e non riesco proprio a trovare una soluzione o un punto di partenza.Qualche idea?


PS: cortesemente, non postare frasi che non servono praticamente a nulla.
Reputo questo un forum serio e gradirei risposte altrettanto serie, per favore.
Grazie.
gangiaemi è offline   Rispondi citando il messaggio o parte di esso
Old 08-03-2010, 13:56   #4
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Per cominciare a ragionare meglio, prova per esempio a spiegare in maniera più dettagliata quello che ti occorre fare, il tuo problema da risolvere.
Ad esempio in questo:
Quote:
ho la necessita, tramite un documento di testo, di cercare le parole piu rilevanti e le frasi piu rilevanti.
cosa intendi per parole più rilevanti/frasi più rilevanti, all'interno di un documento di testo?

Di solito una cosa è più o meno rilevante rispetto ad un criterio.
Devi eseguire una ricerca per numero di occorrenze del tipo: l'input è una o più parole o una frase, e l'output deve essere un lista di frasi (proposizioni) e la loro posizione nel documento, ordinata in base al numero di volte in cui le parole/frasi cercate sono presenti?
Quale è il criterio di rilevanza?
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 08-03-2010, 15:37   #5
gangiaemi
Junior Member
 
Iscritto dal: Jul 2008
Messaggi: 28
Ciao, grazie anche a te per la risposta, sensata
Hai perfettamente ragione.

Il problema è questo: dato un documento scritto in linguaggio naturale, bisogna estrapolare delle keywords e frasi che mi possano permettere di realizzare un file in formato xml, da salvare in una repository.
Questo file in formato xml , contiene, in maniera sintetica, quello che vi è scritto nel documento , in maniera molto generica.

Mi spiego meglio con un esempio :
"...... l'utente puo effettuare delle operazioni solo è loggato al sistema tramite inserimento di username e password. Le operazioni che puo effettuare sono : inserimento e modifica di un utente(anche se non vi è scritto, la modifica e l'inserimento vengono effettuate in una tabella chiamata utenti o users.)
Non appena l'utente accede al sistema, viene visualizzato l'elenco di tutti i reparti nei quali inserire il nuovo utente"

Dovrei arrivare ad avere un file xml di questo tipo :
<xml......>
<progetto>
<attori>utente</attori>
<Descrizione>Modifica o inserimento di un utente</Descrizione>
<operazioni>
<tipo>
<opt>
Inserimento
</opt>
<cosa>
un nuovo utente
</cosa>
<dove>
in tabella utenti
</dove>
</tipo>
<tipo>
<opt>
Modifica
</opt>
<cosa>
Un utente esistente
</cosa>
<dove>In tabella utenti</dove>
</tipo>

</operazioni>
<pre>
Necessario inserimento di username e password
</pre>
<post>
<msg>
Inserimento o modifica effettuate con successo
</msg>
<post>

</progetto>


Adesso, per passare da un documento molto generico ad uno cosi formale, ho bisogno necessariamente di analizzare il testo.
Non posso prendere in esame tutte le parole presenti nel documento ma devo fare una "scrematura" delle parole e cercare di prendere quelle che potrebbero essere piu rilevanti, come ad esempio : inserimento, modifica, utente.
Devo inoltre anche cercare di prendere le frasi piu importanti , come ad esempio : inserimento e modifica di un untente ; l'utente deve essere loggato al sistema.

Come faccio pero a capire quali sono le frasi piu importanti e le parole piu importanti?
Il mio primo pensiero è stato quello di utilizzare un DB come appoggio dove inserire le parole singole per poter fare un confronto con quelle presenti nel documento. Una specie di whitelist.

Come per le singole parole, mi devo mettere a scrivere nel database tutta una serie di frasi di senso compiuto, per poi verificare che ce ne siano di simili nel documento? (ESEMPIO : nel database inserisco questa frase : l'utente deve essere loggato. Il mio documento pero ha : l'utente deve essere loggato al sistema. La frase è molto simile. che faccio la prendo lo stesso come buona ?)

Spero di essermi spiegato bene e non aver fatto piu confusione di quella che ho gia in testa.

Ti ringrazio ancora per il tempo dedicatomi.
A presto
E.
gangiaemi è offline   Rispondi citando il messaggio o parte di esso
Old 09-03-2010, 08:17   #6
flx2000
Bannato
 
L'Avatar di flx2000
 
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 810
Una ricerca di questo tipo implica, almeno per la seconda parte, un sistema efficace di riconoscimento delle proposizioni, il quale si risolve solo con un algoritmo estremamente sofisticato.

Invece, quello che puoi fare è analizzare il testo alla ricerca delle parole più utilizzate, stilando una classifica delle parole più rilevanti in base a questo semplice criterio.
In tal caso, ti suggerisco di scremare subito le congiunzioni e gli avverbi più utilizzati perché ne troveresti troppo in proporzione alla loro importanza nel contesto.

Insomma, non stai cercando di fare qualcosa di semplice, e l'unica strada è decidere dove limitare le potenzialità dell'algoritmo e lavorare sodo sulle restanti possibilità.
flx2000 è offline   Rispondi citando il messaggio o parte di esso
Old 09-03-2010, 11:33   #7
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12814
Il documento di partenza deve essere ben strutturato e formale per poter fare una cosa del genere in maniera decente.

Considera solo che una macchina non ha alcuna idea del significato delle stringhe che gli passi (istruzioni escluse).

Esistono vari livelli di dettaglio a cui puoi operare, cmq sicuramente il primo passo è trovare le parole chiave in base al dominio applicativo di interesse (e qui dovresti avere un dizionario di termini più o meno tecnici relativi ad esso), dopodiché usare dei termini generici (dei termini chiave che stabilisci a priori e che dovrebbero essere SEMPRE usati quando fai il primo documento) che possono essere d'aiuto al programma a separare le varie aree...
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2010, 23:45   #8
gangiaemi
Junior Member
 
Iscritto dal: Jul 2008
Messaggi: 28
Salve ragazzi, grazie a tutti per le risposte.
Sono giunto alla conclusione che il testo, cosi come scritto , ossia in un linguaggio naturale, è impossibile da far interpretare ad una macchina.Se cosi fosse, google lo avrebbe gia fatto , con la sua miriade di ingegneri impegnati sempre a costruire algoritmi superproduttivi no?

L'idea di fare un documento ben strutturato, mi era passata per la testa e non era male come idea, mi avrebbe risolto non pochi problemi.
Tuttavia il requisito di partenza è che il documento deve essere scritto in linguaggio naturale, come sto scrivendo io ora.

Allora, dopo varie capocciate e molta riflessione con un mio carissimo amico, siamo arrivati a questo : perchè non creare un editor apposito che mi possa dare la possibilità di scrivere testo in linguaggio naturale , ma che allo stesso tempo mi possa guidare nella scelta delle parole chiave e frasi di senso compiuto , per la generazione del mio documento in formato xml?

Che ve ne pare?
Guardando un po nella rete, credo che questo si possa fare.

L'ipotesi del software mi sembra discreta, alla fine non è completamente automatico, ma potrebbe essere un buon inizio

Vi tengo aggiornati, se qualcuno dovesse essere interessato a questa cosa qui.
Grazie a tutti quanti
A presto
E.
gangiaemi è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2010, 08:26   #9
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da gangiaemi Guarda i messaggi
...
Sono giunto alla conclusione che il testo, cosi come scritto , ossia in un linguaggio naturale, è impossibile da far interpretare ad una macchina.
...
su questo non ci metterei la mano sul fuoco, anzi.
Dovresti provare a informarti sul "parsing del linguaggio naturale".

Alla fine un linguaggio naturale segue comunque una grammatica, non è campato in aria (certo, la complessità è enorme; poi dipende anche a che scopo si analizza un testo in NL, dipende insomma da che cosa si va cerando).
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2010, 09:53   #10
gangiaemi
Junior Member
 
Iscritto dal: Jul 2008
Messaggi: 28
Ciao, sarebbe possibile realizzare un parser di un linguaggio naturale,ma la complessità è elevatissima.
Bisognerebbe dare delle regole sintattiche e semantiche per la strutturazione del documento.
In italiano soprattutto, quando per esprimere una azione , vi sono moltissimi modi per poterlo fare.In un esempio particolare : l'utente deve essere loggato al sistema; l'utente si deve loggare al sistema.
Queste 2 semplici frasi hanno lo stesso significato, ma sono scritte in un modo differente.
Prendo una frase da un documento che ho :

"........Il sistema mostra l’elenco delle divisioni disponibili da associare al nuovo utente, selezionando per default la divisione di appartenenza del lavoratore selezionato...."

implementare un algoritmo che sia in grado di comprendere questa frase, non credo sia possibile.

Ho creato tempo fa, una grammatica che fosse in grado di generare, dato un sorgente in pascal( sintassi pascal) , un sorgente in c(sintassi C). Il presupposto appunto era che la sintassi e la semantica del linguaggio sono ben strutturati e formalizzati in una data maniera.

Grazie per la risposta. Opinioni interessanti, come questa, sono sempre utili
gangiaemi è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2010, 10:41   #11
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da gangiaemi Guarda i messaggi

"........Il sistema mostra l’elenco delle divisioni disponibili da associare al nuovo utente, selezionando per default la divisione di appartenenza del lavoratore selezionato...."

implementare un algoritmo che sia in grado di comprendere questa frase, non credo sia possibile.
Beh, immagino tutto dipenda da che cosa significa quel "comprendere", per te, in quel contesto (il contesto del tuo problema, che, per inciso, non ho ancora capito con chiarezza).

Per darti un'idea di cosa si riesce a fare, ti cito il software T-LAB.

Altra citazione interessante, PowerSet.
Qui la pagina di wikipedia, e qui un'intervista al suo creatore.

Comunque, ho visto che il campo è definito come NLP, Natural Language Processing.

Qui la pagina di Microsoft Research relativa al NLP, e qui quella dello Stantford Natural Processing Group.

Per dire che il problema è ben conosciuto e studiato.
Capisco che postare link serva a poco o niente, a te personalmente, per risolvere il tuo problema.

Tra l'altro io sono completamente ignorante in materia, quindi i link te li ho postati ingenuamente, pensando di farti un piccolo favore, ma magari già li conoscevi o la cosa non ti interessa a questo livello.
C'è anche caso che magari qualche lettura ti possa ispirare o aiutare a comprendere meglio cosa si può fare, che direzione prendere.
Ciao
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione Samsung Galaxy S25 Edge: il top di gamma ultraso...
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2 Dopo un mese, e 50 foto, cosa abbiamo capito del...
La cometa interstellare 3I/ATLAS potrebb...
Un triste giorno per l'industria videolu...
Il tuo mouse ti spia? La suite di gestio...
Proton presenta Lumo: l'assistente AI co...
Samsung Galaxy S26 Edge: più auto...
Escobar Inc.: una frode che porta il mar...
Apple e la smart home in arrivo? Nuovo H...
Anche Alfa Romeo lancia il suo incentivo...
Un braccialetto che ascolta e registra o...
OPPO Find X8 Ultra: il RE dei cameraphon...
DeepL sempre più potente: arrivan...
Addio a Shunsaku Tamiya, il papà ...
Il volontariato non può essere gr...
Baxi presenta le nuove pompe di calore a...
Solo 104€ per questo robot Lefant da 500...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:43.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v