Skip to content

Search in corpus

Search in Corpora#

Video Tutorial (Arabic)#

Placeholder

Application (Lab)#

Import Libraries#

import pandas as pd
import nltk
from nltk import word_tokenize
nltk.download('punkt')
import numpy as np

Insert Text#

>>> words = pd.read_csv('words.txt', encoding = 'utf-8' , error_bad_lines = False)
>>> text = pd.read_csv('text.txt', encoding = 'utf-8', error_bad_lines = False)

Preview Search Keywords#

>>> words

الكلمات
0   سَقاكَ
1   أَعلَمُهُ
2   الصَفيحِ
3   قَطوب
4   أَجدَبوا

Preview Corpus#

>>> text
النص
0 قَبرَ الغَريب سَقاكَ الرائِحُ الغادي
1 حَقّاً ظَفَرتَ بِأَشلاء ابن عَبّادِ
2 بِالحِلمِ بالعِلمِ بِالنُعمى إِذِ اِتّصلَت
3 بِالخَصبِ إِن أَجدَبوا بالري لِلصادي
4 بالطاعِن الضارِب الرامي إِذا اِقتَتَلوا
5 بِالمَوتِ أَحمَرَ بالضرغمِ العادي
6 بالدَهر في نِقَم بِالبَحر في نِعَمٍ
7 بِالبَدرِ في ظُلمٍ بِالصَدرِ في النادي
8 نَعَم هُوَ الحَقُّ وَافاني بِهِ قَدَرٌ
9 مِنَ السَماءِ فَوافاني لِميعادِ
10 وَلَم أَكُن قَبلَ ذاكَ النَعشِ أَعلَمُهُ
11 أَنَّ الجِبال تَهادى فَوقَ أَعوادِ
12 كَفاكَ فارفُق بِما اِستودِعتَ مِن كَرَمٍ
13 رَوّاكَ كُلُّ قَطوب البَرق رَعّادِ
14 يَبكي أَخاهُ الَّذي غَيَّبتَ وابِلَهُ
15 تَحتَ الصَفيحِ بِدَمعٍ رائِح غادي
16 حَتّى يَجودَكَ دَمعُ الطَلّ مُنهَمِراً
17 مِن أَعيُن الزَهرِ لم تَبخَل بِإِسعادِ
18 وَلا تَزالُ صَلاةُ اللَهِ دائِمَةً
19 عَلى دَفينكَ لا تُحصى بِتعدادِ

Search-words list#

Preparing a list of words to search for (from df to a list)

# column name is الكلمات
>>> words_list = words['الكلمات'].tolist()

Tokenize text in a new column#

>>> text['النص_مفرق'] = text['النص'].apply(word_tokenize)

A new column with search results#

>>> text['نهائي'] = text['النص_مفرق'].apply(lambda x: [i for i in x if i in words_list])

Preview the dataframe#

>>> text
النص النص_مفرق نهائي
0 قَبرَ الغَريب سَقاكَ الرائِحُ الغادي [قَبرَ, الغَريب, سَقاكَ, الرائِحُ, الغادي] [سَقاكَ]
1 حَقّاً ظَفَرتَ بِأَشلاء ابن عَبّادِ [حَقّاً, ظَفَرتَ, بِأَشلاء, ابن, عَبّادِ] []
2 بِالحِلمِ بالعِلمِ بِالنُعمى إِذِ اِتّصلَت [بِالحِلمِ, بالعِلمِ, بِالنُعمى, إِذِ, اِتّصلَت] []
3 بِالخَصبِ إِن أَجدَبوا بالري لِلصادي [بِالخَصبِ, إِن, أَجدَبوا, بالري, لِلصادي] [أَجدَبوا]
4 بالطاعِن الضارِب الرامي إِذا اِقتَتَلوا [بالطاعِن, الضارِب, الرامي, إِذا, اِقتَتَلوا] []
5 بِالمَوتِ أَحمَرَ بالضرغمِ العادي [بِالمَوتِ, أَحمَرَ, بالضرغمِ, العادي] []
6 بالدَهر في نِقَم بِالبَحر في نِعَمٍ [بالدَهر, في, نِقَم, بِالبَحر, في, نِعَمٍ] []
7 بِالبَدرِ في ظُلمٍ بِالصَدرِ في النادي [بِالبَدرِ, في, ظُلمٍ, بِالصَدرِ, في, النادي] []
8 نَعَم هُوَ الحَقُّ وَافاني بِهِ قَدَرٌ [نَعَم, هُوَ, الحَقُّ, وَافاني, بِهِ, قَدَرٌ] []
9 مِنَ السَماءِ فَوافاني لِميعادِ [مِنَ, السَماءِ, فَوافاني, لِميعادِ] []
10 وَلَم أَكُن قَبلَ ذاكَ النَعشِ أَعلَمُهُ [وَلَم, أَكُن, قَبلَ, ذاكَ, النَعشِ, أَعلَمُهُ] [أَعلَمُهُ]
11 أَنَّ الجِبال تَهادى فَوقَ أَعوادِ [أَنَّ, الجِبال, تَهادى, فَوقَ, أَعوادِ] []
12 كَفاكَ فارفُق بِما اِستودِعتَ مِن كَرَمٍ [كَفاكَ, فارفُق, بِما, اِستودِعتَ, مِن, كَرَمٍ] []
13 رَوّاكَ كُلُّ قَطوب البَرق رَعّادِ [رَوّاكَ, كُلُّ, قَطوب, البَرق, رَعّادِ] [قَطوب]
14 يَبكي أَخاهُ الَّذي غَيَّبتَ وابِلَهُ [يَبكي, أَخاهُ, الَّذي, غَيَّبتَ, وابِلَهُ] []
15 تَحتَ الصَفيحِ بِدَمعٍ رائِح غادي [تَحتَ, الصَفيحِ, بِدَمعٍ, رائِح, غادي] [الصَفيحِ]
16 حَتّى يَجودَكَ دَمعُ الطَلّ مُنهَمِراً [حَتّى, يَجودَكَ, دَمعُ, الطَلّ, مُنهَمِراً] []
17 مِن أَعيُن الزَهرِ لم تَبخَل بِإِسعادِ [مِن, أَعيُن, الزَهرِ, لم, تَبخَل, بِإِسعادِ] []
18 وَلا تَزالُ صَلاةُ اللَهِ دائِمَةً [وَلا, تَزالُ, صَلاةُ, اللَهِ, دائِمَةً] []
19 عَلى دَفينكَ لا تُحصى بِتعدادِ [عَلى, دَفينكَ, لا, تُحصى, بِتعدادِ] []

Create a new dataframe with results only#

>>> text2 = text.loc[text.نهائي.str.len()>0]

Export results in xlsx format#

text2.to_excel('final.xlsx', index = False)
Back to top