主题
你好。我想在NodeJS.中使用Tensorflow.js实现文本分类功能。
它的工作将是将字符串与一些预定义的主题匹配起来。
示例:
输入:String:“我的狗喜欢在海滩上散步”
["dog", "cat", "cow"]预定义的主题:Array<String>:Array<String>
output :有许多输出变体我对此很满意。这些是一些例子,但如果你能提出更好的建议,就去做吧!
String (最有可能的话题)-例如:“狗”Object (每个主题都有预测的分数)
示例:{"dog": 0.9, "cat": 0.08, "cow": 0.02}研究
我知道,通过过滤主题名称的字符串并执行一些算法,可以获得类似的结果,但也可以使用ML实现。
已经有一些关于使用字符串、对文本进行分类和用TensorFlow创建自动完成(但不确定TFjs__)的文章,如下所示:
你怎么才能帮上忙
我的目标是使用TensorflowJS进行主题预测。我只需要一个最好的方法来训练字符串模型的例子,或者如何分类文本,然后将其余的扩展自己。
发布于 2019-02-26 22:44:31
文本分类还有一个额外的挑战,那就是首先从单词中找到向量。根据所解决问题的性质,有多种方法。在建立模型之前,可以确保将向量与语料库中的所有单词相关联。在从语料库中表示向量之后,又出现了另一个稀疏性问题。这就产生了字嵌入的需求。用于此任务的两种最流行的算法是Wor2Vec和GloVe。在js中有一些实现。或者,我们可以使用概述的这里中的单词袋来创建向量。
一旦有了向量,完全连接的神经网络FCNN就足以预测文本的主题。要考虑的其他事项是决定案文的长度。如果一篇文章是简短的,可能会有一些填充,等等.这是一个模型
const model = tf.sequential();
model.add(tf.layers.dense({units: 100, activation: 'relu', inputShape: [lengthSentence]}));
model.add(tf.layers.dense({units: numTopics, activation: 'softmax'}));
model.compile({optimizer: 'sgd', loss: 'categoricalCrossentropy'});关键技术--模型
该模型简单地将输入连接到分类输出。这是一个非常简单的模型。但是在某些情况下,可以考虑在输入层之后添加一个嵌入层。
model.add(tf.layers.embedding({inputDim: inputDimSize, inputLength: lengthSentence, outputDim: embeddingDims}))在另一些情况下,LSTM层可能是相关的。
tf.layers.lstm({units: lstmUnits, returnSequences: true})发布于 2018-08-15 23:35:34
我干过这样的事。
我的代码https://github.com/ran-j/ChatBotNodeJS/blob/master/routes/index.js
基于https://chatbotsmagazine.com/contextual-chat-bots-with-tensorflow-4391749d0077
而他们
classify('is your shop open today?')
[('opentoday', 0.9264171123504639)]但我的代码还没有预测
https://stackoverflow.com/questions/51698131
复制相似问题