×
Samples Blogs Make Payment About Us Reviews 4.9/5 Order Now

Python Program to Implement AI Essay Writer Assignment Solution

June 28, 2024
Dr. Nicholas Scott
Dr. Nicholas
🇯🇵 Japan
Python
Dr. Nicholas Scott, a distinguished Computer Science expert, holds a PhD from Tokyo University, Japan. With an impressive 8 years of experience, he has completed over 600 Python assignments, showcasing his unparalleled expertise and dedication to the field.
Key Topics
  • Instructions
    • Objective
  • Requirements and Specifications
Tip of the day
Use Python libraries effectively by importing only what you need. For example, if you're working with data, using libraries like pandas and numpy can save time and simplify complex tasks like data manipulation and analysis.
News
In 2024, the Biden-Harris Administration has expanded high-dosage tutoring and extended learning programs to boost academic achievement, helping programming students and others recover from pandemic-related setbacks. These initiatives are funded by federal resources aimed at improving math and literacy skills​

Instructions

Objective

Write a program to implement AI essay writer in python.

Requirements and Specifications

The assignment was " Create an AI research assistant to research and write an essay for you.

Class is : Artificial Intelligence CSC370

Book: Artificial Intelligence by Example: Develop machine intelligence from scratch using real artificial intelligence use cases 1st Edition, by Denis Rothman

Source Code

# Required Imports pip install wikipedia import tensorflow as tf from tensorflow import keras import numpy as np from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.preprocessing.sequence import pad_sequences from keras.utils.data_utils import get_file import sys import io from urllib.request import urlopen from bs4 import BeautifulSoup import re import wikipedia # Search on Wikipedia for topic ### Inf the following cell, you'll see a list with different topics that are related between them. If you want to change the topic, try adding terms related to the same topic so the info researched is bigger topic = [ 'black hole', 'Stephen Hawkings', 'speed of light', 'general relativity', 'albert einstein', 'hawking radiation', 'gravitatonal waves', 'interstellar' ] topic_text = "" for term in topic: # Specify the title of the Wikipedia page wiki = wikipedia.page(term) # Extract the plain text content of the page, excluding images, tables, and other data. text = wiki.content # Replace '==' with '' (an empty string) text = text.replace('==', '') topic_text += text # Tokenize words tokenizer = Tokenizer() corpus = topic_text.lower().split("\n") tokenizer.fit_on_texts(corpus) total_words = len(tokenizer.word_index)+1 print(f"A total of {total_words} words were tokenized") print(tokenizer.word_index) # Vectorization: Convert each line of text into a text sequence input_sequences = [] for line in corpus: token_list = tokenizer.texts_to_sequences([line])[0] for i in range(1, len(token_list)): n_gram_sequence = token_list[:i+1] input_sequences.append(n_gram_sequence) max_sequence_len = max([len(x) for x in input_sequences]) padded = pad_sequences(input_sequences, padding='pre', maxlen=max_sequence_len) # Split the data into X and y X = padded[:,:-1] Y = padded[:,-1] # Categorize the labels (target variable) y = tf.keras.utils.to_categorical(Y, num_classes = total_words) # Model ### **NOTE:** If you want to create the model from zero, just run the following cell. If you want to load a pre-trained model, skip the following cell and execute the next one model = keras.Sequential([ tf.keras.layers.Embedding(total_words, 64, input_length = max_sequence_len-1), tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(64, return_sequences = True)), tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(32)), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(total_words, activation = 'softmax') ]) model.compile(loss='categorical_crossentropy', optimizer = 'adam', metrics=['accuracy']) ###Execute the next cell if you want to load a pre-trained model saved_model_name = 'essay_writer_black_hole.h5' model = keras.models.load_model(saved_model_name) # Show summary of Model model.summary() # Train Model history = model.fit(X, y, epochs=30) topic_str = topic[0].replace(' ', '_') model.save(f'essay_writer_{topic_str}.h5') # Finally, write an essay. In the parameter **next_words** you can declare the length of the Essay # Predict essay_text = "Black holes" next_words = 500 for i in range(next_words): token_list = tokenizer.texts_to_sequences([essay_text])[0] token_list = pad_sequences([token_list], maxlen = max_sequence_len-1, padding='pre') #predicted = model.predict_classes(token_list, verbose=0) y_pred = model.predict(token_list, verbose=0) predicted = np.argmax(y_pred) output_word = "" for word, index in tokenizer.word_index.items(): if index == predicted: output_word = word break essay_text += " " + output_word if i%16 == 0: essay_text += "\n" print(essay_text)

Similar Samples

Explore our comprehensive sample solutions at ProgrammingHomeworkHelp.com, where we specialize in delivering expert programming assistance. Whether it's Java, Python, C++, or any other language, our samples showcase our commitment to quality and precision. Trust our team of experienced programmers to guide you through complex assignments and ensure your academic success. Visit us today to view our exemplary samples and discover how we can help you excel in programming.