From 38bfd8001651160e37208c2cc8a226325b79316e Mon Sep 17 00:00:00 2001
From: smty2018 <74114936+smty2018@users.noreply.github.com>
Date: Tue, 17 Oct 2023 15:37:04 +0530
Subject: [PATCH 1/4] Added simple usage for NLP package to ReadMe
---
README.md | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 084f5e8..3e63983 100644
--- a/README.md
+++ b/README.md
@@ -94,8 +94,21 @@ ax[1] = vis.radar(df, ax=ax[1], color='C1', alpha=0)
+## 5. NLP Package Usage
-## 5. Command Line Interface
+```python
+from chatminer.nlp import add_sentiment
+```
+### 5.1 Add Sentiment
+
+Extracts sentiment from the message and adds sentiment column to the input dataframe.
+
+```python
+# Adds sentiment column to the DataFrame
+df_with_sentiment = add_sentiment(df)
+```
+
+## 6. Command Line Interface
The CLI supports parsing chat logs into csv files.
As of now, you **can't** create visualizations from the CLI directly.
From a56d8f739b2a834036012c6134e10573a56f4994 Mon Sep 17 00:00:00 2001
From: Sheetali Maity <74114936+smty2018@users.noreply.github.com>
Date: Thu, 19 Oct 2023 00:44:22 +0530
Subject: [PATCH 2/4] Update README.md
Co-authored-by: Jonas Weich
---
README.md | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/README.md b/README.md
index 3e63983..391d001 100644
--- a/README.md
+++ b/README.md
@@ -96,17 +96,12 @@ ax[1] = vis.radar(df, ax=ax[1], color='C1', alpha=0)
## 5. NLP Package Usage
-```python
-from chatminer.nlp import add_sentiment
-```
### 5.1 Add Sentiment
-Extracts sentiment from the message and adds sentiment column to the input dataframe.
-
```python
-# Adds sentiment column to the DataFrame
+from chatminer.nlp import add_sentiment
+
df_with_sentiment = add_sentiment(df)
-```
## 6. Command Line Interface
The CLI supports parsing chat logs into csv files.
From b40f9f6257492b68dedca94d204aba8c328586ee Mon Sep 17 00:00:00 2001
From: smty2018 <74114936+smty2018@users.noreply.github.com>
Date: Sun, 22 Oct 2023 18:58:06 +0530
Subject: [PATCH 3/4] stacked chart
---
README.md | 15 +++++++++++++++
examples/stacked_bar_chart.png | Bin 0 -> 30964 bytes
2 files changed, 15 insertions(+)
create mode 100644 examples/stacked_bar_chart.png
diff --git a/README.md b/README.md
index 391d001..6a75143 100644
--- a/README.md
+++ b/README.md
@@ -102,6 +102,21 @@ ax[1] = vis.radar(df, ax=ax[1], color='C1', alpha=0)
from chatminer.nlp import add_sentiment
df_with_sentiment = add_sentiment(df)
+```
+### 5.2 Stacked Bar Chart:Sentiment per Day of the Week
+
+```python
+grouped = df_with_sentiment.groupby(['weekday', 'sentiment']).size().unstack(fill_value=0)
+ax = grouped.plot(kind='bar', stacked=True, figsize=(10, 6), colormap=plt.cm.get_cmap('Set3'))
+ax.set(xlabel='Day of the Week', ylabel='Count', title='Sentiment per Day of the Week')
+ax.legend(title='Sentiment', loc='upper right')
+plt.show()
+```
+
+
+
+
+
## 6. Command Line Interface
The CLI supports parsing chat logs into csv files.
diff --git a/examples/stacked_bar_chart.png b/examples/stacked_bar_chart.png
new file mode 100644
index 0000000000000000000000000000000000000000..3c75453ec4d8ec613547a74139da2790c57f4fe6
GIT binary patch
literal 30964
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
Y@()Zc`f2p~IQ?sv&t^_ebDFo|U;h(oWdHyG
literal 0
HcmV?d00001
From 5015e03fcb3bfd807d11f2b08896da0e7acb2255 Mon Sep 17 00:00:00 2001
From: Jonas Weich
Date: Sat, 4 Nov 2023 23:55:30 +0100
Subject: [PATCH 4/4] Adapted example to group by author
---
README.md | 15 +-
examples/nlp.svg | 982 +++++++++++++++++++++++++++++++++
examples/stacked_bar_chart.png | Bin 30964 -> 0 bytes
3 files changed, 988 insertions(+), 9 deletions(-)
create mode 100644 examples/nlp.svg
delete mode 100644 examples/stacked_bar_chart.png
diff --git a/README.md b/README.md
index 6a75143..1e5cdea 100644
--- a/README.md
+++ b/README.md
@@ -94,27 +94,24 @@ ax[1] = vis.radar(df, ax=ax[1], color='C1', alpha=0)
-## 5. NLP Package Usage
+## 5. Natural Language Processing
### 5.1 Add Sentiment
```python
from chatminer.nlp import add_sentiment
-df_with_sentiment = add_sentiment(df)
+df_sentiment = add_sentiment(df)
```
-### 5.2 Stacked Bar Chart:Sentiment per Day of the Week
+### 5.2 Example Plot: Sentiment per Author in Groupchat
```python
-grouped = df_with_sentiment.groupby(['weekday', 'sentiment']).size().unstack(fill_value=0)
-ax = grouped.plot(kind='bar', stacked=True, figsize=(10, 6), colormap=plt.cm.get_cmap('Set3'))
-ax.set(xlabel='Day of the Week', ylabel='Count', title='Sentiment per Day of the Week')
-ax.legend(title='Sentiment', loc='upper right')
-plt.show()
+df_grouped = df_sentiment.groupby(['author', 'sentiment']).size().unstack(fill_value=0)
+ax = df_grouped.plot(kind='bar', stacked=True, figsize=(8, 3))
```
-
+
diff --git a/examples/nlp.svg b/examples/nlp.svg
new file mode 100644
index 0000000..11fa55e
--- /dev/null
+++ b/examples/nlp.svg
@@ -0,0 +1,982 @@
+
+
+
diff --git a/examples/stacked_bar_chart.png b/examples/stacked_bar_chart.png
deleted file mode 100644
index 3c75453ec4d8ec613547a74139da2790c57f4fe6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 30964
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