Wyodrębnij najbardziej pouczające części tekstu z dokumentów

16

Czy są jakieś artykuły lub dyskusje na temat wyodrębnienia części tekstu, która zawiera najwięcej informacji o bieżącym dokumencie.

Na przykład mam duży zbiór dokumentów z tej samej domeny. Istnieją fragmenty tekstu zawierające kluczowe informacje, o których mówi pojedynczy dokument. Chcę wyodrębnić niektóre z tych części i wykorzystać je jako podsumowanie tekstu. Czy jest jakaś przydatna dokumentacja na temat tego, jak osiągnąć coś takiego?

Byłoby naprawdę pomocne, gdyby ktoś mógł skierować mnie we właściwym kierunku, czego powinienem szukać lub czytać, aby uzyskać wgląd w pracę, która mogła być już wykonana w tej dziedzinie przetwarzania języka naturalnego.

MaticDiba
źródło

Odpowiedzi:

23

To, co opisujesz, często osiąga się za pomocą prostej kombinacji TF-IDF i ekstrakcyjnego podsumowania .

W skrócie, TF-IDF informuje o względnej ważności każdego słowa w każdym dokumencie, w porównaniu do reszty korpusu. W tym momencie masz ocenę każdego słowa w każdym dokumencie, co odpowiada jego „znaczeniu”. Następnie możesz użyć tych ocen poszczególnych słów do obliczenia łącznej oceny każdego zdania, sumując wyniki każdego słowa w każdym zdaniu. Na koniec, po prostu weź najwyższe N ​​zdań z każdego dokumentu jako jego podsumowanie.

Na początku tego roku stworzyłem iPython Notebook, którego kulminacją jest implementacja tego w Pythonie przy użyciu NLTK i Scikit-learn: A Smattering of NLP in Python .

Charlie Greenbacker
źródło
2
Tak, prawdopodobnie to by było na tyle. Mógłbym również dodać dodatkowe wagi do niektórych słów, które już wiem, że mają charakter informacyjny. Dziękujemy za pomoc i przydatne linki.
MaticDiba,
Czy mogę tego użyć na pdf? :)
Adam
Tak, możesz użyć tego tekstu w pliku PDF, zakładając, że już wyodrębniłeś zwykły tekst z pliku PDF za pomocą czegoś takiego jak pdftotext.
Charlie Greenbacker,
1

Wiele technik wyodrębniania słów kluczowych zależy od takich czynników, jak:

  1. Gramatyczna jakość tekstu
  2. Długość tekstu
  3. Niezależnie od tego, czy szukasz pojedynczego słowa kluczowego, frazowego itp.

Ale ogólnie, jeśli masz długi tekst i chcesz automatycznie wyodrębnić z niego słowa kluczowe, polecam przejrzenie następujących artykułów:

  1. TextRank

  2. RAKE [Szybka automatyczna ekstrakcja słów kluczowych]

  3. Topica

Aby również wyodrębnić niestandardowe (specjalne) słowa kluczowe, które nie podlegają powyższym technikom, spójrz na poniższy post:

Wyodrębnij niestandardowe słowa kluczowe za pomocą tagera NLTK POS w pythonie

anindya
źródło