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:
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文件中提取文本,并匹配包含特定关键词的部分,如NLP
和Python
。
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
的变量中。最后,我们遍历matches
rrreee
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
rrreee
Im obigen Codebeispiel verwenden wir die Funktionre.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. 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.
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!