我是用于自然语言处理目的的特征提取的初学者。我想知道如何使用哈希图来提取文本的特征。如果每个特征都是hashmap中的一个“key”,而它的value就是这个“value”(所有特征都是二进制,0或者1),是不是意味着我需要有n个hashmap(n是文本中的字数)? 因为对于每个单词,我都需要提取特征。
我对吗?
在此先感谢,爱丽丝
我是用于自然语言处理目的的特征提取的初学者。我想知道如何使用哈希图来提取文本的特征。如果每个特征都是hashmap中的一个“key”,而它的value就是这个“value”(所有特征都是二进制,0或者1),是不是意味着我需要有n个hashmap(n是文本中的字数)? 因为对于每个单词,我都需要提取特征。
我对吗?
在此先感谢,爱丽丝
是的,您可以使用哈希映射来实现这一点,但是根据功能的数量和您的内存要求,它可能不是最好或最快的数据结构,它实际上取决于您的域。通常,将特征表示为存在或不存在都会产生较差的结果。更好的方法是在对特征进行加权时使用 TF-IDF。
您正在谈论的方法是“词袋”方法。这是您根据单词边界对文档进行标记并将单词用作特征的地方。作为第一遍,您应该删除停用词(即“a”、“and”、“the”),然后规范化您的数据(即 Now == now == nOw)。然后,您可以执行词干提取以进一步减小向量大小。
现在低估提取特征的一个好方法是查看MALLET。我有一个非常简单的朴素贝叶斯实现,带有一个用于 RCV-1 的解析器,您可以查看示例朴素贝叶斯