globali-cv / src /utils.py
Ashad001's picture
base functionality implemented
14ca0c1
Raw
History Blame Contribute Delete
1.24 kB
import re
import spacy
def save_stop_words():
nlp = spacy.load("en_core_web_sm")
stop_words = nlp.Defaults.stop_words
with open("./data/spacy_stop_words.txt", "w") as file:
for word in stop_words:
file.write(word + "\n")
def is_number(word):
"""
Check if the given word is a number.
Args:
word (_type_): The word to check
Returns:
bool: True if the word is a number
"""
try:
float(word)
return True
except ValueError:
return False
# Read data.skills.csv and remove empty lines and duplicates and save it
def clean_skills():
with open("./data/skills.csv", "r", errors='ignore', encoding='utf-8') as file:
skills = file.readlines()
print(len(skills))
# ignore line if not english
skills = list(set([skill.strip() for skill in skills if len(skill.strip()) > 3 and not is_number(skill.strip()) and not re.search(r'[^\x00-\x7F]+', skill.strip())]))
print(len(skills))
with open("./data/skills_1.csv", "w", errors="ignore", encoding='utf-8') as file:
for skill in skills:
file.write(skill + "\n")
if __name__ == "__main__":
save_stop_words()
clean_skills()