我想编写一个程序来查看缩写词,然后弄清楚这些词是什么。例如缩写为“blk comp”,翻译为“black computer”。
为了给它提供更多模棱两可的术语的上下文,我将在每个请求中输入一组单词。所以,如果我输入设置的“键盘、软件、鼠标、显示器”,我希望得到“黑色电脑”。另一方面,如果我输入“本田,变速箱,里程,福特”,那么我会期望得到“黑色紧凑型”,或者至少与汽车有关的东西。
基于上述案例场景,在这种情况下应该应用什么样的算法?
我想编写一个程序来查看缩写词,然后弄清楚这些词是什么。例如缩写为“blk comp”,翻译为“black computer”。
为了给它提供更多模棱两可的术语的上下文,我将在每个请求中输入一组单词。所以,如果我输入设置的“键盘、软件、鼠标、显示器”,我希望得到“黑色电脑”。另一方面,如果我输入“本田,变速箱,里程,福特”,那么我会期望得到“黑色紧凑型”,或者至少与汽车有关的东西。
基于上述案例场景,在这种情况下应该应用什么样的算法?
对于您的第一个问题,看看使用跳过抓取模型来查找缩写文本是什么。skip gram 模型将一个词变成一个向量,允许它被其他机器学习算法处理。或者,您也可以对结果向量做一些非常酷的加法和减法问题。在您的情况下使用skip gram模型,您可以为输入生成一个向量,然后将其与其他skip gram向量进行比较,一旦您找到一个近乎完美的匹配,那么这就是未缩写的单词。
您还可以考虑使用单词的稀疏分布式表示来执行此操作。这种方法类似于skip gram模型,除了一个可能包含500个值的向量,稀疏表示可能包含数千个二进制数字,其中只有一对是正数或1。
如果您想了解这种方法,请查看 cortical.io,它有您可以使用的免费 API。至于您的第二个问题,我建议您将深度神经网络与 skip gram 模型结合使用来产生输出。