2011-03-29 5 views
26

c'è qualche biblioteca, preferibilmente in python, ma almeno open source, che può riassumere e semplificare o di testo in linguaggio naturale?riassumere il testo o semplificare il testo

+0

C'è un'altra libreria che si basa sull'algoritmo 'TextRank' che puoi trovare qui. https://github.com/RaRe-Technologies/gensim – prashanth

+0

Non c'è quasi nessun programma in grado di farlo. – Olaf

risposta

15

non sono sicuro se non è presente alcun librerie che fanno questo, come riepilogo di testo, o almeno comprensibile summarization testo non è qualcosa che sarà facilmente realizzabile da una semplice libreria gioco spina &.

Ecco alcuni link che sono riuscito a trovare per quanto riguarda i progetti/risorse che sono legati alla ricapitolazione di testo per ottenere iniziare:

Speranza che aiuta :)

+1

Alcuni collegamenti morti nella risposta, sostituiti con pagine memorizzate nella cache di https://archive.org/web/ –

2

Non python ma MEAD farà riepilogo di testo (è in Perl). Di solito ciò che viene fuori è comprensibile, se non sempre con un suono particolarmente fluente. Controlla anche summarization.com per un sacco di buone informazioni sull'attività di riepilogo del testo.

+0

, il collegamento per summarization.com è morto. Gentilmente sostituirlo. – GadaaDhaariGeek

2

Prova Open Text Summarizer che viene rilasciato sotto la licenza open source GPL. Funziona abbastanza bene ma non ci sono stati sviluppi dal 2007.

Il codice originale è scritto in C (sia una libreria che un'utilità da riga di comando) ma ci sono wrapper in un certo numero di lingue:

+1

C# http://ots.codeplex.com/ –

4

Avevo bisogno anche della stessa cosa ma non ho trovato nulla in Python che mi ha aiutato a ottenere un risultato completo .

Quindi ho trovato questo servizio Web davvero utile, e hanno un API gratuito che dà un risultato JSON, e volevo condividerlo con voi.

Check it out qui: http://smmry.com

22

forse si può provare sumy. È una libreria piuttosto piccola che ho scritto in Python. Sono stati implementati gli approcci di Luhn ed Edmundson, il metodo LSA, SumBasic, KL-Sum, LexRank e TextRank. È autorizzato Apache2 e supporta le lingue ceca, slovacca, inglese, francese, giapponese, cinese, portoghese, spagnola e tedesca.

Sentitevi liberi di aprire un problema o inviare una richiesta di pull se c'è qualcosa che si sta perdendo.

+1

Amo Sumy. È molto facile da usare. Qual è il tuo metodo preferito? "LSA" non è la più recente metodologia di linguaggio naturale e teoricamente la migliore rispetto alle altre opzioni? – Houman

+3

Ciao, grazie. Come quasi tutto, non c'è un proiettile d'argento, ma LSA è il metodo più avanzato in sumy. –

0

Un po 'di tempo fa, ho scritto una libreria di riepilogo per python usando NLTK, usando un algoritmo dalla libreria Classifier4J. E 'piuttosto semplice, ma può soddisfare le esigenze di tutti coloro che ha bisogno di riepilogo: https://github.com/thavelick/summarize

1

Date un'occhiata a questo article che fa uno studio dettagliato di questi metodi e pacchetti:

  1. Lex_rank (sumy)
  2. LSA (Sumy)
  3. Luhn (Sumy)
  4. PyTeaser
  5. Gensim TextRank
  6. PyTextRank
  7. Google TextSum

La fine di questo articolo fa un 'summary'.

L'autore di sumy @miso.belica ha fornito una descrizione in una risposta sopra.

Diverse altre tecniche ML sono aumentate, come ad esempio Facebook/NAMAS e Google/TextSum, ma hanno ancora bisogno di una formazione approfondita in Gigaword Dataset e circa 7000 ore GPU. Lo stesso set di dati è piuttosto costoso.

In conclusione, direi che sumy è l'opzione migliore sul mercato in questo momento se non si ha accesso a macchine di fascia alta. Grazie mille @ miso.belica per questo meraviglioso pacchetto.