nixon-voxell / UnityNLP

Natural Language Processing in Unity.
https://unitynlp.readthedocs.io/
Apache License 2.0
62 stars 6 forks source link

training custom models #1

Open juliolitwin opened 2 years ago

juliolitwin commented 2 years ago

Hi ~

Where can I get models for other languages? Cheers!

nixon-voxell commented 2 years ago

Hey as far as I know the Open NLP community doesn't have models for other languages. I'm not entirely sure though, you could check them out. However, it's possible to train your own model for your specific language.

I'll be working on training custom model demos and documentations ASAP!

juliolitwin commented 2 years ago

Thanks for answering! I will be waiting for the custom model demos and documentation. :)

nixon-voxell commented 2 years ago

Hey guys, I have created a tutorial on training custom multinomial naive bayes classifier models. Will continue to make more docs on training models like tokenizer, and POS tagger. checkout the new tut: https://unitynlp.readthedocs.io/en/latest/classifier.html#training-a-custom-model

Rafhly commented 2 years ago

Hey @nixon-voxell the tutorial on training a custom model for multinomial naive Bayes classifier models was super helpful. Will there be a tutorial posted too for training a custom model for the named entity recognition?

Thanks!

nixon-voxell commented 2 years ago

tl;dr yes, in short term, especially if requested, no in long term, and why do you choose NLP over state of the art neural networks?

hey @Rafhly , so the original idea was actually to complete the tutorial writeups on all types of models. However, the advancement in the field of deep learning really start to get me thinking if that's worth the time. In the short term tho, I will add in tutorials on models that is being requested, but the real question from me is that, why are you guys considering using NLP as opposed to cool neural networks out there?

Rafhly commented 2 years ago

Ah I see. Well, for me at least, I'm currently doing a project revolving around Unity and NLP with a professor of mine on campus haha. I do agree with you that there are other interesting neural networks out there to tinker with though 🤔 . Nevertheless, thanks for your quick response as always!

nixon-voxell commented 2 years ago

hey @juliolitwin , what I meant by NLP is stuff that doesn't involve using neural networks. Though, it is important to note that neural networks that solve language problems are still generally categorized as NLP/NLU.

a good example of "state of the art" models are GPT-3 or LaMDA (basically massive transformer models). Like they don't even need a NER to understand context. Even for tokenizers, they used subword tokenizer instead of work tokenizer which proofs to be more effective and useful in most cases. I guess what I am trying to say is that traditional method of NLP (tokenize, NER, POS Tag, and even Naive Bayes Classifier) are kind of outdated and loose in all battle when compared with these models.

Wyldhunt commented 2 years ago

I think the better question for me is "What is the best solution that I can run locally, and integrates with Unity?" LAMDA and GPT-3 will never run local, and I haven't found a C#/Unity implementation of GPT-2.

nixon-voxell commented 2 years ago

Yeah, that's a great perspective of looking at things! And yes there wasn't any implementation of great NLP models in c# (at least I don't know of any) and that's why I would think spending the time to try out implementing it would be a great use of time I guess.

most importantly, we would learn so much from implementing neural networks and maybe come up with a framework or sth that can be reused in the future of NN stuff in c# (especially in unity).

I would also like to admit tho, the reason why I became a little inactive here in these Unity packages that I made was bcs I had spent my time learning rust and the bevy game engine. it might not be surprising also, that these projs might be ported to rust in the future.. XD

jmfallone commented 1 year ago

Hi @nixon-voxell, I know it has been a while since your last comment here, if you do have time to revisit this project at any point I would find a tutorial on custom NER training extremely useful.

nixon-voxell commented 1 year ago

good news tho, I am not leaving anytime soon as of right now xd. I will need to look at some priorities right now, work on transformer model inferencing? or the usual old method of NLP...

Currently working on implementing transfomers in Unity.. (you can keep track of that on my other project UnityTTS, tho will port to here as soon as I get transformer working since it is more easier to deploy for language models than TTS models)

answering your question, I will try and see what I can do on NER, I think it should be possible.

jmfallone commented 1 year ago

Glad to hear it! I think you do really some interesting work in this area. Please let me know if I can be of any assistance. You can't see it on my personal github, but I have some experience with Unity.

nixon-voxell commented 1 year ago

any help would definitely be appreciated! If you feel like you could add a feature, feel free to make a pull request, or if you figured how to do sth, you could simply just add it into the docs xd

apoorvapise commented 7 months ago

Hi, is there any update on the NER custom entities or any starting point that anyone could help with for doing the same? Any help will be appreciated, especially with reading the .model and .nbin files.