| | 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() |
| |
|