Heim >Backend-Entwicklung >Python-Tutorial >Python für NLP: Wie verarbeite ich PDF-Text mit bestimmten Schlüsselwörtern?

Python für NLP: Wie verarbeite ich PDF-Text mit bestimmten Schlüsselwörtern?

WBOY
WBOYOriginal
2023-09-27 12:58:41997Durchsuche

Python for NLP:如何处理包含特定关键词的PDF文本?

Python für NLP: Wie verarbeite ich PDF-Text mit bestimmten Schlüsselwörtern?

Zusammenfassung: Die Verarbeitung natürlicher Sprache (NLP) ist ein wichtiges Forschungsgebiet im Bereich der künstlichen Intelligenz. In diesem Artikel wird anhand der Python-Sprache erläutert, wie PDF-Text mit bestimmten Schlüsselwörtern verarbeitet wird. Die Artikel enthalten Codebeispiele zum Extrahieren von Text aus PDF, zur Verwendung regulärer Ausdrücke für den Schlüsselwortabgleich und zur Verwendung von Python-Bibliotheken für die PDF-Verarbeitung.

Einführung:
PDF (Portable Document Format) ist ein gängiges elektronisches Dateiformat, das häufig zum Lesen, Teilen und Drucken verschiedener Dokumente verwendet wird. Im NLP ist die Verarbeitung von PDF-Text eine häufige Aufgabe, insbesondere das Extrahieren wichtiger Informationen aus einer großen Anzahl von PDF-Dokumenten. In diesem Artikel erfahren Sie, wie Sie mit Python PDF-Text verarbeiten und wie Sie Textdaten in PDF-Dokumenten analysieren und einen Schlüsselwortabgleich durchführen.

Schritt 1: Abhängige Bibliotheken installieren
Bevor Sie beginnen, stellen Sie sicher, dass Sie die erforderlichen abhängigen Bibliotheken installiert haben. In den Codebeispielen dieses Artikels verwenden wir die folgenden Python-Bibliotheken:

  • PyPDF2: zum Parsen und Bearbeiten von PDF-Dateien
  • re: für den Abgleich regulärer Ausdrücke

Diese Bibliotheken können mit dem folgenden Befehl installiert werden:

pip install PyPDF2

Schritt 2: PDF-Text extrahieren
Zuerst müssen wir die PyPDF2-Bibliothek verwenden, um Text aus dem PDF-Dokument zu extrahieren. Unten finden Sie einen Beispielcode, der Text aus einer PDF-Datei mit dem Namen sample_pdf.pdf extrahiert. sample_pdf.pdf的PDF文件中提取文本。

import PyPDF2

def extract_text_from_pdf(pdf_filename):
    pdf_file = open(pdf_filename, 'rb')
    pdf_reader = PyPDF2.PdfFileReader(pdf_file)
    num_pages = pdf_reader.numPages

    text = ''
    for page in range(num_pages):
        page_obj = pdf_reader.getPage(page)
        text += page_obj.extractText()

    pdf_file.close()

    return text

对于上述代码示例,首先我们打开PDF文件并创建一个PdfFileReader对象。然后,我们使用getNumPages方法获取PDF的总页数,并创建一个空字符串text来存储提取的文本。接下来,我们使用getPage方法来提取每一页的文本,并将其添加到text字符串中。最后,我们关闭PDF文件并返回提取的文本。

步骤3:使用正则表达式匹配关键词
一旦我们提取了PDF文本,我们可以使用Python的正则表达式模块(re)来匹配关键词。下面是一个示例代码,该代码使用正则表达式匹配文本中包含特定关键词的部分。

import re

def match_keywords(text, keywords):
    keyword_matches = []
    for keyword in keywords:
        matches = re.findall(r'' + keyword + r'', text, flags=re.IGNORECASE)
        keyword_matches.append((keyword, len(matches)))
    
    return keyword_matches

在上述代码示例中,我们使用re.findall函数来查找文本中所有匹配给定关键词的实例。使用表示单词的边界,flags=re.IGNORECASE表示忽略大小写。我们将找到的匹配结果存储在一个列表中,并返回匹配到的关键词及其对应的匹配次数。

步骤4:应用到PDF文本处理
现在我们已经定义了从PDF中提取文本和匹配关键词的函数,我们可以将它们应用到我们的PDF文本处理任务中。下面是一个示例代码,该代码演示了如何从一个名为sample_pdf.pdf的PDF文件中提取文本,并匹配包含特定关键词的部分,如NLPPython

pdf_filename = 'sample_pdf.pdf'
keywords = ['NLP', 'Python']

text = extract_text_from_pdf(pdf_filename)
matches = match_keywords(text, keywords)

for keyword, count in matches:
    print(f'关键词 "{keyword}" 在PDF中出现了 {count} 次.')

对于上述代码示例,我们首先指定要处理的PDF文件的文件名,并定义了一个包含特定关键词的关键词列表。然后,我们使用extract_text_from_pdf函数从PDF中提取文本,并将结果存储在一个名为text的变量中。接下来,我们使用match_keywords函数匹配关键词,并将结果存储在一个名为matches的变量中。最后,我们遍历matchesrrreee

Für das obige Codebeispiel öffnen wir zuerst die PDF-Datei und erstellen ein PdfFileReader-Objekt. Anschließend verwenden wir die Methode getNumPages, um die Gesamtzahl der Seiten der PDF-Datei abzurufen, und erstellen eine leere Zeichenfolge text, um den extrahierten Text zu speichern. Als Nächstes verwenden wir die Methode getPage, um den Text jeder Seite zu extrahieren und ihn der Zeichenfolge text hinzuzufügen. Zum Schluss schließen wir die PDF-Datei und geben den extrahierten Text zurück.


Schritt 3: Schlüsselwörter mit regulären Ausdrücken abgleichen

Sobald wir den PDF-Text extrahiert haben, können wir Pythons Modul für reguläre Ausdrücke (re) verwenden, um Schlüsselwörter abzugleichen. Unten finden Sie einen Beispielcode, der reguläre Ausdrücke verwendet, um Textteile abzugleichen, die bestimmte Schlüsselwörter enthalten.

rrreee

Im obigen Codebeispiel verwenden wir die Funktion re.findall, um alle Vorkommen im Text zu finden, die einem bestimmten Schlüsselwort entsprechen. Verwenden Sie , um Wortgrenzen anzugeben, und flags=re.IGNORECASE, um die Groß-/Kleinschreibung zu ignorieren. Wir speichern die gefundenen passenden Ergebnisse in einer Liste und geben die passenden Schlüsselwörter und die entsprechende Anzahl an Übereinstimmungen zurück.
  1. Schritt 4: Auf die PDF-Textverarbeitung anwenden
  2. Da wir nun Funktionen zum Extrahieren von Text aus PDF und zum Zuordnen von Schlüsselwörtern definiert haben, können wir sie auf unsere PDF-Textverarbeitungsaufgaben anwenden. Nachfolgend finden Sie einen Beispielcode, der zeigt, wie Sie Text aus einer PDF-Datei mit dem Namen sample_pdf.pdf extrahieren und Teile mit bestimmten Schlüsselwörtern wie NLP und Python abgleichen. Code>. <li>rrreee</li>Für das obige Codebeispiel haben wir zunächst den Dateinamen der zu verarbeitenden PDF-Datei angegeben und eine Schlüsselwortliste mit bestimmten Schlüsselwörtern definiert. Anschließend verwenden wir die Funktion <code>extract_text_from_pdf, um Text aus der PDF-Datei zu extrahieren und das Ergebnis in einer Variablen namens text zu speichern. Als Nächstes gleichen wir Schlüsselwörter mithilfe der Funktion match_keywords ab und speichern die Ergebnisse in einer Variablen namens matches. Schließlich durchlaufen wir die matches-Liste und drucken jedes Schlüsselwort und seine Häufigkeit im PDF-Text aus.
🎜Fazit: 🎜In diesem Artikel wird erläutert, wie Sie mit Python PDF-Text verarbeiten, der bestimmte Schlüsselwörter enthält. Wir zeigen, wie Sie dies erreichen können, indem Sie die PyPDF2-Bibliothek verwenden, um Text aus PDFs zu extrahieren und mithilfe regulärer Ausdrücke Schlüsselwörter abzugleichen. Diese Techniken können für eine Vielzahl von NLP-Aufgaben verwendet werden, einschließlich der Extraktion nützlicher Informationen aus großen Mengen an PDF-Dokumenten. 🎜🎜Referenzen: 🎜🎜🎜https://pypi.org/project/PyPDF2/🎜🎜https://docs.python.org/3/library/re.html🎜🎜

Das obige ist der detaillierte Inhalt vonPython für NLP: Wie verarbeite ich PDF-Text mit bestimmten Schlüsselwörtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn