| import csv |
|
|
| def load_word_database(database_filename): |
| with open(database_filename, mode='r', encoding='utf-8') as database_file: |
| return set(word.strip().lower() for word in database_file) |
|
|
| def check_generated_conversation_for_words(csv_filename, word_database): |
| words_scores = [] |
| |
| with open(csv_filename, mode='r', newline='', encoding='utf-8') as csv_file: |
| csv_reader = csv.DictReader(csv_file) |
| |
| for row in csv_reader: |
| generated_conversation = row.get('Generated Conversation', '').lower() |
| word_scores = [] |
|
|
| for word in generated_conversation.split(): |
| score = 1 if word in word_database else 0 |
| word_scores.append({'Word': word, 'Score': score}) |
|
|
| words_scores.extend(word_scores) |
|
|
| return words_scores |
|
|
| def save_word_scores_to_csv(word_scores, output_csv_filename): |
| with open(output_csv_filename, mode='w', newline='', encoding='utf-8') as output_csv_file: |
| csv_writer = csv.DictWriter(output_csv_file, fieldnames=['Word', 'Score']) |
| csv_writer.writeheader() |
|
|
| for word_score in word_scores: |
| csv_writer.writerow(word_score) |
|
|
| def main(): |
| database_filename = 'word_database.txt' |
| csv_filename = 'info.csv' |
| output_csv_filename = 'word_scores.csv' |
|
|
| word_database = load_word_database(database_filename) |
| words_scores = check_generated_conversation_for_words(csv_filename, word_database) |
| save_word_scores_to_csv(words_scores, output_csv_filename) |
|
|
| if __name__ == "__main__": |
| main() |
|
|