我正在做一些与 NLP 相关的工作,包括训练一个隐藏的马尔可夫模型,并使用该模型来分割句子。对于每个句子,我将标记转换为特征向量。特征是我手动挑的,暂时只能想到20个特征。所有功能都是二进制的。所以在我的例子中,一个示例特征向量就像:
[0, 0, 1, 1, 0…]
在训练 HMM(具有最大似然估计的监督学习)时,我将二进制特征向量转换为整数,并将整数用作 HMM 中的观察值。我的问题是,如果我有更多维度的特征,比如 100 个特征,那么在训练 HMM 时将特征向量映射到整数可能是不可能或有效的。如果特征不是二进制的怎么办。这些问题有哪些常见的解决方案/最佳实践?
PS 我做了一些研究,发现一种解决方案是使用 K-Means 来查找特征向量的集群,并将每个集群视为 HMM 中的单个观察值(也称为向量量化)。但我认为这不是最好的解决方案。