我对使用深度学习和教程进行自动完成很感兴趣,我发现这里总是以特定数量的字符为条件的(给定40个字符,预测下一个字符或整个单词)。但是在现实世界中,自动完成是在输入第一个字母之后完成的。
我正在检查Whatsapp的自动完成功能是如何工作的,我有以下观察:
#1.在收到第一个字母后,自动完成程序已经开始工作。
#2.在我进入一个空格之前,Whatsapp建议继续使用一个单词,例如:输入“L”就会使我联想到L,比如'Like','Last‘。
#3.如果我在一个单词后面输入一个空格,自动完成将建议我使用下一个单词,例如:输入“最后一个”将导致建议“时间”、“夜晚”、“周”。
4.如果我输入“I If ru”,它会建议我“跑”、“跑”。(注意:语法上,运行是错误的)
人们可以使用RNNs/LSTM进行一次热编码或字嵌入来做这样的事情。
然而,我想知道火车数据集应该是什么样子:
通过使用1.1和1.2,我可以涵盖案例#1、#2和#3以及模型2--单词依赖。
通过使用1.1和2.1,我将涵盖案例#1、#2、#3。
问题:
我想知道更好的做法是:使用1.1和1.2或1.1和2.1。
另外,让我知道我的想法是正确的,如果我是完全错误的地方,如果我错过了什么,或者如果你认为有更简单的方法去做。如果有什么建议我会很高兴的。
发布于 2019-07-13 18:29:53
这可以很容易地使用一个标准的Seq2Seq字级模型,而无需在培训过程中进行任何修改。在推理过程中,在译码器中,只需根据所提供的部分词输入来掩蔽词汇表。
通过掩蔽,我的意思是将一个非常高的分数(inf)分配给不以部分单词输入开始的单词,从而限制解码器预测只从部分单词输入开始的单词。
https://datascience.stackexchange.com/questions/55521
复制相似问题