Otomatik Metin Özetleme Eğer automatic text summarization ilgilendiğiniz gibi geliyor
. Sorunun, ilgili konuların ve mevcut algoritmaların güzel bir genel görünümü için, Das ve Martin'in gazetesine bir göz atın. A Survey on Automatic Text Summarization (2007).
Basit Algoritma
Basit ama oldukça etkili özetleme algoritması sadece yani en sık olanları stop list kelime hariç en sık içerik sözcükleri içeren orijinal metinle (den cümle sınırlı sayıda seçmektir).
Summarizer(originalText, maxSummarySize):
// start with the raw freqs, e.g. [(10,'the'), (3,'language'), (8,'code')...]
wordFrequences = getWordCounts(originalText)
// filter, e.g. [(3, 'language'), (8, 'code')...]
contentWordFrequences = filtStopWords(wordFrequences)
// sort by freq & drop counts, e.g. ['code', 'language'...]
contentWordsSortbyFreq = sortByFreqThenDropFreq(contentWordFrequences)
// Split Sentences
sentences = getSentences(originalText)
// Select up to maxSummarySize sentences
setSummarySentences = {}
foreach word in contentWordsSortbyFreq:
firstMatchingSentence = search(sentences, word)
setSummarySentences.add(firstMatchingSentence)
if setSummarySentences.size() = maxSummarySize:
break
// construct summary out of select sentences, preserving original ordering
summary = ""
foreach sentence in sentences:
if sentence in setSummarySentences:
summary = summary + " " + sentence
return summary
bu algoritma kullanılarak özetleme yapmak Bazı açık kaynak paketleri
şunlardır:
Classifier4J (Java)
Java kullanıyorsanız, sen Classifier4J 'ın modülünü SimpleSummarizer kullanabilirsiniz.
Classifier4J metin üzerinde çalışmak için bir java paketi: örneği kullanarak
orijinal metindir varsayalım here bulundu. Classifier4J bir özetleyici içerir. Bir Özetleyici, metnin özetini sağlar. Bir Summariser gerçekten harika. Başka java summariserleri olduğunu sanmıyorum. Aşağıdaki kod parçasında görüldüğü gibi
, kolayca basit bir cümle özetini oluşturabilir: Yukarıdaki algoritma kullanılarak
// Request a 1 sentence summary
String summary = summariser.summarise(longOriginalText, 1);
, bu Classifier4J includes a summariser.
üretecek.
NClassifier (C#)
C# kullanıyorsanız, C# için Classifier4J bir liman var denilen NClassifier
NLTK için Tristan Havelick en Summarizer (Python)
var bir Python'un Natural Language Toolkit (NLTK) mevcut here ile inşa edilmiş Classifier4J'nin özetleyicisinin Python portu.
Muhtemel kopyası: ** [C# Arama Sonucu Ekranına İlişkin Belge Parçacıkları Bulma] (http: // stackoverflow.com/questions/282002) ** – hippietrail