gnuplot can do that.
It's basically like a histogram and gnuplot has the option
smooth frequency for this.
Keyword appears in the second column it will be counted and summed up.
Adapt the code to your needs.
### count occurrence of a word
1300000000.0,Seeking Green M4M
1300000000.0,Seeking Blue M4M
1310000000.0,Seeking Green M4M
1320000000.0,Seeking Red M4M
1330000000.0,Seeking Black M4M
1340000000.0,Looking for car fun
set datafile separator ","
set xdata time
set timefmt "%s"
set format x "%Y"
Binwidth = 3600.*24*7 # one week
plot $Data u (floor($1/Binwidth)*Binwidth):(strstrt(strcol(2),Keyword)>0) \
smooth freq w lp pt 7 lc rgb "red" title Keyword
### end of code
actually, it might be misleading to plot the result with
linespoints (as above), because it suggests that the result between 2015 and 2017 is 1, which is not true. The plotstyle
with boxes would suggest this as well. These plotstyles could only be applied if there is a value in every bin (here: every week). Well, you could set the value of all other weeks to zero. So, the "correct" plotstyle in any case would be