作为一个更大项目的一部分,我需要阅读文本并将每个单词表示为一个数字。例如,如果程序读取“每个好男孩都应该得到水果”,那么我会得到一个表格,将 ' every ' 转换为 ' 1742 ',' good ' 转换为 ' 977513 ',等等。
现在,显然我可以使用散列算法来获得这些数字。但是,如果意思相近的词的数值相近,那么“ good ”变成“ 6827 ”,“ great ”变成“ 6835 ”等等,会更有用。
作为另一种选择,而不是表示每个数字的简单整数,最好有一个由多个数字组成的向量,例如(lexical_category,时态,分类,特定字词)其中lexical_category是名词/动词/形容词/等,时态是未来/过去/现在,分类定义了广泛的一般主题,而specific_word与上一段中描述的大致相同。
是否存在这样的算法?如果没有,你能给我一些关于如何开始自己开发的提示吗?我用 C++ 编写代码。