# Natural Language Processing: where do I start?

**URL:** https://discourse.julialang.org/t/natural-language-processing-where-do-i-start/15509
**Category:** Machine Learning
**Created:** [September 26, 2018, 11:15am UTC](https://discourse.julialang.org/t/natural-language-processing-where-do-i-start/15509 "2018-09-26T11:15:29Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![johann.spies](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johann.spies/32/8805_2.png) [@johann.spies](https://discourse.julialang.org/u/johann.spies)
#### Post date: [September 26, 2018, 11:15am UTC](https://discourse.julialang.org/t/natural-language-processing-where-do-i-start/15509/1 "2018-09-26T11:15:30Z")

</div>

I do not know enough about machine learning to ask an informed question. I am not even sure whether this a Machine Learning question. Maybe.

I will tell you what I want to achieve in the end:

In short we want to classify data based on text. The process will be unsupervised machine learning. The data will be abstracts, keywords, titles of scientific publications. We want to develop a meaningful subject classification system based on phrases and distance between words in the data.

I know that Python has a well developed nltk and good tutorials and I still know Python better than Julia, but I will prefer to do this in Julia. Unfortunately a lot of related tools in Julia are not yet usable in v1.0. And then there are so many Julia Packages that I do not know where to start exploring.

I will appreciate some advice.

---

<div class="post-metadata">

### Author: ![cormullion](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cormullion/32/49131_2.png) [@cormullion](https://discourse.julialang.org/u/cormullion)
#### Post date: [September 26, 2018, 11:22am UTC](https://discourse.julialang.org/t/natural-language-processing-where-do-i-start/15509/2 "2018-09-26T11:22:15Z")

</div>

Did you see this:

[![](https://global.discourse-cdn.com/julialang/original/3X/5/5/5562b3e9f9be926bab730a3f64ce34f0b2f72d79.jpeg "JuliaCon 2018 | Natural Language Processing workshop using Julia | Avik Sengupta") ](https://www.youtube.com/watch?v=f7RNuOLDyM8)

---

<div class="post-metadata">

### Author: ![johann.spies](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johann.spies/32/8805_2.png) [@johann.spies](https://discourse.julialang.org/u/johann.spies)
#### Post date: [September 26, 2018, 11:50am UTC](https://discourse.julialang.org/t/natural-language-processing-where-do-i-start/15509/3 "2018-09-26T11:50:53Z")

</div>

No. Thanks for the link.

---

<div class="post-metadata">

### Author: ![Liso](https://avatars.discourse-cdn.com/v4/letter/l/898d66/32.png) [@Liso](https://discourse.julialang.org/u/Liso)
#### Post date: [November 10, 2018, 10:09am UTC](https://discourse.julialang.org/t/natural-language-processing-where-do-i-start/15509/4 "2018-11-10T10:09:27Z")

</div>

I was trying a little

> **[GitHub - aviks/nlp-workshop](https://github.com/aviks/nlp-workshop)**
>
> Contribute to aviks/nlp-workshop development by creating an account on GitHub.

and found that `matchall` was removed from Julia 1.0

[HISTORY.md](https://github.com/JuliaLang/julia/blob/master/HISTORY.md) says:  
`matchall` has been deprecated in favor of `collect(m.match for m in eachmatch(r, s))` ([#26071](https://github.com/JuliaLang/julia/issues/26071)).

It seems ubelievable design decision at least at first look. 😜

But there seems to be mistake in HISTORY.md too:

```julia
matchall(r,s) = collect(m.match for m in eachmatch(r, s)) # this didn't work
matchall(r,s) = collect(m for m in eachmatch(r, s)) # this could help to run WebScraping.ipynb

```

A little problem could be `HTTP/1.1 429 Too Many Requests` from stackexchange… (which is probably understandable)
