Examples¶
Practical examples showing how to use Sentimatrix for real-world scenarios.
Example Categories¶
:material-rocket-launch: Basic Usage
Getting started with sentiment analysis and emotion detection.
:material-cart: E-commerce Analysis
Analyze product reviews from Amazon and other platforms.
:material-forum: Social Media
Monitor sentiment on Reddit, YouTube, and social platforms.
:material-chart-line: Review Aggregation
Aggregate and analyze reviews across multiple sources.
Quick Examples¶
Basic Sentiment Analysis¶
import asyncio
from sentimatrix import Sentimatrix
async def main():
async with Sentimatrix() as sm:
# Single analysis
result = await sm.analyze("This product is amazing!")
print(f"Sentiment: {result.sentiment} ({result.confidence:.0%})")
# Batch analysis
texts = [
"Great quality!",
"Terrible experience",
"It's okay",
]
results = await sm.analyze_batch(texts)
for text, result in zip(texts, results):
print(f"{result.sentiment:>10}: {text}")
asyncio.run(main())
Steam Game Analysis¶
import asyncio
from sentimatrix import Sentimatrix
from sentimatrix.config import SentimatrixConfig, LLMConfig
async def analyze_game(app_id: str):
config = SentimatrixConfig(
llm=LLMConfig(provider="groq", model="llama-3.3-70b-versatile")
)
async with Sentimatrix(config) as sm:
# Scrape reviews
reviews = await sm.scrape_reviews(
url=f"https://store.steampowered.com/app/{app_id}",
platform="steam",
max_reviews=100
)
# Analyze sentiments
results = await sm.analyze_batch([r.text for r in reviews])
# Calculate distribution
positive = sum(1 for r in results if r.sentiment == "positive")
total = len(results)
print(f"Positive: {positive/total*100:.1f}%")
# Generate summary
summary = await sm.summarize_reviews(
[{"text": r.text} for r in reviews[:50]]
)
print(f"\nSummary:\n{summary}")
asyncio.run(analyze_game("1245620")) # Elden Ring
Amazon Product Monitoring¶
import asyncio
from sentimatrix import Sentimatrix
async def monitor_product(asin: str):
async with Sentimatrix() as sm:
reviews = await sm.scrape_reviews(
url=asin,
platform="amazon",
max_reviews=50,
use_browser=True
)
# Rating distribution
ratings = {}
for review in reviews:
ratings[review.rating] = ratings.get(review.rating, 0) + 1
print("Rating Distribution:")
for rating in sorted(ratings.keys(), reverse=True):
count = ratings[rating]
bar = "=" * (count * 2)
print(f"{rating}: {bar} ({count})")
# Analyze verified purchases only
verified = [r for r in reviews if r.verified_purchase]
if verified:
results = await sm.analyze_batch([r.text for r in verified])
positive = sum(1 for r in results if r.sentiment == "positive")
print(f"\nVerified purchase sentiment: {positive/len(verified)*100:.0f}% positive")
asyncio.run(monitor_product("B0BSHF7WHW"))
Multi-Platform Comparison¶
import asyncio
from sentimatrix import Sentimatrix
from sentimatrix.config import SentimatrixConfig, LLMConfig
async def compare_platforms():
config = SentimatrixConfig(
llm=LLMConfig(provider="groq", model="llama-3.3-70b-versatile")
)
async with Sentimatrix(config) as sm:
platforms = {
"steam": "https://store.steampowered.com/app/1245620",
"reddit": "https://reddit.com/r/Eldenring",
}
results = {}
for platform, url in platforms.items():
reviews = await sm.scrape_reviews(
url=url,
platform=platform,
max_reviews=50
)
analysis = await sm.analyze_batch([r.text for r in reviews])
positive = sum(1 for r in analysis if r.sentiment == "positive")
results[platform] = positive / len(analysis) * 100
print("Sentiment by Platform:")
for platform, pct in sorted(results.items(), key=lambda x: -x[1]):
print(f" {platform}: {pct:.1f}% positive")
asyncio.run(compare_platforms())
Featured Examples¶
| Example | Difficulty | Features Used |
|---|---|---|
| Basic Analysis | Beginner | Sentiment, Batch |
| E-commerce Analysis | Intermediate | Scraping, Aspects |
| Social Media | Intermediate | Reddit, YouTube |
| Review Aggregation | Advanced | Multi-platform, LLM |
| Real-time Analysis | Advanced | Streaming, Webhooks |
| Batch Processing | Advanced | Large datasets |
Running Examples¶
Clone the examples repository:
git clone https://github.com/sentimatrix/sentimatrix-examples.git
cd sentimatrix-examples
pip install -e .
Run an example:
Contributing Examples¶
We welcome example contributions! See our contribution guide.