# Long-Form Text Misata generates realistic multi-sentence text for content that needs to feel human, product reviews, support tickets, email bodies, social captions, and bios. None of it is Lorem Ipsum. ## Supported text types | `text_type` | Format | Use case | |---|---|---| | `review` | 1–2 sentences, sentiment-weighted | Product/service review columns | | `support_ticket` | Issue description + context | Helpdesk, CRM, support systems | | `email_body` | Greeting + body + closing | Email datasets, inbox simulations | | `caption` | Emoji + hashtag style | Social media posts | | `bio` | Role \| vibe \| optional emoji | Social media user profiles | | `comment_body` | Short reaction | Social comments, forum replies | | `description` | Product feature sentence | E-commerce, catalog data | ## Reviews ```python Column(name="review_text", type="text", distribution_params={"text_type": "review"}) ``` Reviews are sentiment-weighted: 65% positive, 22% neutral, 13% negative, matching real platform distributions. Sample output: ``` Great experience overall. Instructions could be clearer. Highly recommend. Disappointing. Had a minor issue at first but it resolved quickly. Expected much better. Absolutely loved it! The build quality feels premium. Will definitely come back. ``` Reviews are automatically detected for columns named `review`, `review_text`, or `review_body`. ## Support tickets ```python Column(name="issue_body", type="text", distribution_params={"text_type": "support_ticket"}) ``` Sample output: ``` I'm unable to log into my account after the recent update. I've tried clearing cache and it didn't help. The payment keeps failing at checkout — tried three different cards. This is blocking my team from completing their work. My order shows as delivered but I haven't received anything. Please escalate — this is urgent. ``` Auto-detected for columns named `ticket_body`, `issue_body`, or `description` in tables named `tickets`, `issues`, or `support_*`. ## Email bodies ```python Column(name="message_body", type="text", distribution_params={"text_type": "email_body"}) ``` Sample output: ``` Hi, I wanted to follow up on our conversation from last week. Could you share an update? Best regards, ``` Auto-detected for columns named `email_body`, `message_body`, or `body` in tables named `emails`, `messages`, or `inbox`. ## Social captions ```python Column(name="caption", type="text", distribution_params={"text_type": "caption"}) ``` Sample output: ``` loving every moment of this golden journey ✨ #instagood #travel #lifestyle #authentic no filter needed when the hustle is this good 🌿 #daily #instagood #love ``` ## Bios ```python Column(name="bio", type="text", distribution_params={"text_type": "bio"}) ``` Sample output: ``` Developer | building in public 🚀 Writer | sharing what I love Photographer | exploring the world 🌍 ``` ## Full example: review dataset ```python from misata.schema import SchemaConfig, Table, Column, Relationship schema = SchemaConfig( name="Product Reviews", tables=[ Table(name="products", row_count=100), Table(name="reviews", row_count=2000), ], columns={ "products": [ Column(name="product_id", type="int", unique=True, distribution_params={"min": 1, "max": 101}), Column(name="name", type="text", distribution_params={"text_type": "product_name"}), Column(name="category", type="categorical", distribution_params={ "choices": ["electronics", "clothing", "home", "sports"], "probabilities": [0.35, 0.30, 0.20, 0.15], }), ], "reviews": [ Column(name="review_id", type="int", unique=True, distribution_params={"min": 1, "max": 2001}), Column(name="product_id", type="foreign_key"), Column(name="rating", type="float", distribution_params={ "distribution": "beta", "a": 4.0, "b": 1.5, "min": 1.0, "max": 5.0, "decimals": 1, }), Column(name="review_text", type="text", distribution_params={"text_type": "review"}), Column(name="verified", type="boolean", distribution_params={"probability": 0.78}), Column(name="created_at", type="date", distribution_params={"start": "2022-01-01", "end": "2024-12-31"}), ], }, relationships=[ Relationship(parent_table="products", child_table="reviews", parent_key="product_id", child_key="product_id"), ], ) import misata tables = misata.generate_from_schema(schema) print(tables["reviews"][["rating", "review_text"]].head(5).to_string()) ```