Python pour le NLP : Comment traiter un texte PDF contenant des mots-clés spécifiques ?
Résumé : Le traitement du langage naturel (NLP) est un domaine de recherche important dans le domaine de l'intelligence artificielle. Cet article utilisera le langage Python pour présenter comment traiter le texte PDF contenant des mots-clés spécifiques. Les articles comprendront des exemples de code pour extraire du texte d'un PDF, utiliser des expressions régulières pour la correspondance de mots clés et expliquer comment utiliser les bibliothèques Python pour le traitement de PDF.
Introduction :
PDF (Portable Document Format) est un format de fichier électronique courant largement utilisé pour lire, partager et imprimer divers documents. En PNL, le traitement du texte PDF est une tâche courante, en particulier l'extraction d'informations clés à partir d'un grand nombre de documents PDF. Cet article explique comment utiliser Python pour traiter le texte PDF, comment analyser les données textuelles dans les documents PDF et effectuer la correspondance de mots clés.
Étape 1 : Installer les bibliothèques dépendantes
Avant de commencer, assurez-vous d'avoir installé les bibliothèques dépendantes requises. Dans les exemples de code de cet article, nous utiliserons les bibliothèques Python suivantes :
Ces bibliothèques peuvent être installées à l'aide de la commande suivante :
pip install PyPDF2
Étape 2 : Extraire le texte PDF
Tout d'abord, nous devons utiliser la bibliothèque PyPDF2 pour extraire le texte du document PDF. Vous trouverez ci-dessous un exemple de code qui extrait le texte d'un fichier PDF nommé sample_pdf.pdf
. 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
. Ensuite, nous utilisons la méthode getNumPages
pour obtenir le nombre total de pages du PDF et créons une chaîne vide text
pour stocker le texte extrait. Ensuite, nous utilisons la méthode getPage
pour extraire le texte de chaque page et l'ajouter à la chaîne text
. Enfin, nous fermons le fichier PDF et renvoyons le texte extrait.
Étape 3 : Faites correspondre les mots-clés à l'aide d'expressions régulières
rrreee
Dans l'exemple de code ci-dessus, nous utilisons la fonctionre.findall
pour rechercher toutes les instances dans le texte qui correspondent à un mot-clé donné. Utilisez
pour représenter les limites des mots et flags=re.IGNORECASE
pour ignorer la casse. Nous stockons les résultats correspondants trouvés dans une liste et renvoyons les mots-clés correspondants et leur nombre de correspondances correspondant. sample_pdf.pdf
et faire correspondre les parties contenant des mots-clés spécifiques, tels que NLP
et Pythoncode>. <li>rrreee</li>Pour l'exemple de code ci-dessus, nous spécifions d'abord le nom du fichier PDF à traiter et définissons une liste de mots-clés contenant des mots-clés spécifiques. Nous utilisons ensuite la fonction <code>extract_text_from_pdf
pour extraire le texte du PDF et stocker le résultat dans une variable appelée text
. Ensuite, nous faisons correspondre les mots-clés à l'aide de la fonction match_keywords
et stockons les résultats dans une variable appelée matches
. Enfin, nous parcourons la liste des correspondances
et imprimons chaque mot-clé et son nombre d'occurrences dans le texte PDF.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!