我正在研究nat-js(Javascript中的NLP工具包),我打算将其扩展到处理其他语言,如英语和西班牙语;今天它只处理葡萄牙语。
使用nat-js,当你需要一个tokenizer时,你会写下这样的东西:
var tkz = new nat.tokenizer();
但如何处理其他语言呢?你怎么看待这个:
var nat = new natFactory('pt');
var tkz = new nat.tokenizer();
还有一些我一直在考虑的问题:如果你只需要葡萄牙语的标记器,为什么要加载完整的库?我可以提供一种只加载所需文件的简单方法吗?
答案 0 :(得分:0)
之前我没有听说过,但我看了看nat-js,看起来因为它主要是为葡萄牙语创建的,所以你对于如何重组图书馆有很大的灵活性。我建议查看一些较大的/接受的NLP库,如CoreNLP,nltk和openNLP。它们都以不同方式处理不同的语言标记生成器 我个人喜欢你的方法,开始基于语言的工厂。也许一个改进就像:
var ptnat = new portugueseNatFactory();
var tkz = ptnat.tokenizer();
这样,你可以将更多的主库分离成更小的每种语言的标记符,而不是在工厂类中进行一些解析和猜测