--- language: - en license: apache-2.0 tags: - NLP pipeline_tag: summarization widget: - text: 'Maria: Alright, let''s start dinner. How did everyone''s day go? Steven: It wasn''t too bad. Had a couple of meetings but I did manage to finalize the design for the new project I''ve been working on. Lilly: That''s great, Dad! Finally! Ryan: Cool, does that mean we get to see it now? Steven: Well, I''ll have to keep it under wraps for a bit longer, but soon. Maria: Congrats, Steven. Lilly, how about you? Anything interesting at school today? Lilly: Yeah, we had an astronaut from NASA come in and talk about the space missions he''s been on. It was quite cool. Steven: That sounds really interesting. Anything in particular that stood out? Lilly: Well, he said he was about my age when he first started training. It’s really amazing how much they have to learn and experience. Ryan: Did he talk about aliens? Lilly: He did Ryan, but mostly about how we''re not sure if they exist yet. It was thought-provoking. Maria: Those experiences are definitely something to think about. Ryan, what about your day? Anything exciting in school? Ryan: We did a geography quiz today. I got the highest marks! Steven: That''s my boy! Did you enjoy it? Ryan: Yeah, it was fun! I want to try more at home. Maria: Well, we can definitely help you with that. What do you think about setting up some geography puzzles this weekend? Ryan: Yes, let''s do it! Lilly, you''re helping me. Lilly: Absolutely, I''d love to help, Ryan. We can make it a fun game. Steven: Sounds like a plan. Maria, remember we need to go grocery shopping this weekend. Maria: Yes, thanks for reminding me. We’ll do that on Saturday afternoon. Lilly: Can I go to the library after that? I need to pick up some books for my project. Maria: Sure, just make sure to finish your homework before that. Lilly: Deal. Ryan: Can we go to the park on Saturday? Steven: If it''s not raining, sure. We''ll all go together. Maria: Sounds like we''ve got a fun weekend planned. Let''s make sure to finish all the chores tomorrow so we have time. Lilly: Agreed. Ryan: Can I get extra dessert tonight? Maria: Only if you finish your vegetables, Ryan. Ryan: Deal, but only because you make the best roasted broccoli. Steven: Good job, Ryan. And Maria, thanks for the dinner. It was perfect. Maria: You''re welcome, everyone. Enjoy your meal. Lilly: Is it time for some dessert now? Ryan: Yes, dessert time! Maria: Alright, dessert it is. But remember, tomorrow is chore day, okay? Everyone: Deal!' example_title: Conversation Arc Example 1 --- # Arc of the Conversation Model ## Model Details - **Model Name:** arc_of_conversation - **Model Type:** Fine-tuned `google/t5-small` - **Language:** English - **License:** MIT ## Overview The Conversation Arc Predictor model is designed to predict the arc of a conversation given its text. It is based on the `google/t5-small` model, fine-tuned on a custom dataset of conversations and their corresponding arcs. This model can be used to analyze and categorize conversation texts into predefined arcs. ## Model Description ### Model Architecture The base model architecture is T5 (Text-To-Text Transfer Transformer), which treats every NLP problem as a text-to-text problem. The specific version used here is `google/t5-small`, which has been fine-tuned to understand and predict conversation arcs. ### Fine-Tuning Data The model was fine-tuned on a dataset consisting of conversation texts and their corresponding arcs. The dataset should be formatted in a CSV file with two columns: `conversation` and `arc`. ### Intended Use The model is intended for categorizing the arc of conversation texts. It can be useful for applications in customer service, chatbots, conversational analysis, and other areas where understanding the flow of a conversation is important. ## How to Use ### Inference To use this model for inference, you need to load the fine-tuned model and tokenizer. Here is an example of how to do this using the `transformers` library: Running on CPU ```python # Load model directly from transformers import AutoTokenizer, AutoModelForSeq2SeqLM tokenizer = AutoTokenizer.from_pretrained("Falconsai/arc_of_conversation") model = AutoModelForSeq2SeqLM.from_pretrained("Falconsai/arc_of_conversation") input_text = "Your conversation Here" input_ids = tokenizer(input_text, return_tensors="pt").input_ids outputs = model.generate(input_ids) print(tokenizer.decode(outputs[0])) ``` Running on GPU ```python # pip install accelerate from transformers import AutoTokenizer, AutoModelForSeq2SeqLM tokenizer = AutoTokenizer.from_pretrained("Falconsai/arc_of_conversation") model = AutoModelForSeq2SeqLM.from_pretrained("Falconsai/arc_of_conversation", device_map="auto") input_text = "Your conversation Here" input_ids = tokenizer(input_text, return_tensors="pt").input_ids.to("cuda") outputs = model.generate(input_ids) print(tokenizer.decode(outputs[0])) ``` Running Pipeline ```python # Use a pipeline as a high-level helper from transformers import pipeline convo1 = 'Your conversation text here.' pipe = pipeline("summarization", model="Falconsai/arc_of_conversation") res1 = pipe(convo1, max_length=2048, min_length=1024, do_sample=False) print(res1) ``` ## Training The training process involves the following steps: 1. **Load and Explore Data:** Load the dataset and perform initial exploration to understand the data distribution. 2. **Preprocess Data:** Tokenize the conversations and prepare them for the T5 model. 3. **Fine-Tune Model:** Fine-tune the `google/t5-small` model using the preprocessed data. 4. **Evaluate Model:** Evaluate the model's performance on a validation set to ensure it's learning correctly. 5. **Save Model:** Save the fine-tuned model for future use. ## Evaluation The model's performance should be evaluated on a separate validation set to ensure it accurately predicts the conversation arcs. Metrics such as accuracy, precision, recall, and F1 score can be used to assess its performance. ## Limitations - **Data Dependency:** The model's performance is highly dependent on the quality and representativeness of the training data. - **Generalization:** The model may not generalize well to conversation texts that are significantly different from the training data. ## Ethical Considerations When deploying the model, be mindful of the ethical implications, including but not limited to: - **Privacy:** Ensure that conversation data used for training and inference does not contain sensitive or personally identifiable information. - **Bias:** Be aware of potential biases in the training data that could affect the model's predictions. ## License This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. ## Citation If you use this model in your research, please cite it as follows: ``` @misc{conversation_arc_predictor, author = {Michael Stattelman}, title = {Arc of the Conversation Generator}, year = {2024}, publisher = {Falcons.ai}, } ``` ---