我正在学习我的最后一个项目。
我正试图创建Twitter消息的情绪分析。
我正在使用贝叶斯算法和词袋。
你有一个PHP语言包算法的例子吗?
我找不到任何东西,可能是正面和负面的单词列表
答案 0 :(得分:3)
“词袋”是不是算法。
这只是意味着您将文本视为无序多重集(“包”)用于分析;你做不就像在NLP中一样注意单词顺序。例如,具有字数的稀疏向量。
答案 1 :(得分:0)
我还没有在PHP中实现Bag of Words,但我已经在java中完成了。实现它的一种简单方法是获取训练数据并对其进行标记(例如Stanford Tokenizer)。一旦您将所有训练数据标记化,您就可以从中提取1克。我使用这个http://homepages.inf.ed.ac.uk/lzhang10/ngram.html来提取克数,然后从输出中删除单词的数量,然后使用单词。这将成为您的Bag of Words语料库,可在训练和分类期间使用。确保在训练和测试或分类过程中使用相同的标记器,并在训练模型时使用相同的语料库。
现在实现它非常简单,只需要获取一串数据并使用用于创建单词语料库包的相同标记器对其进行标记。现在获取每个令牌,然后查找该令牌在您的语料库中以及在什么位置可用。例如,您有一个语料库,其中包含以下单词: -
一
名称
的
您好
世界
,
你有一个字符串“你好,我的名字是Jas”。对它进行标记会产生以下标记{hello ,,, my,name,is,Jas},当你尝试将这些标记与语料库匹配时,你的结果将是: -
2:1 4:1 6:1
这意味着,语料库中位置2,4和6中出现的单词name,hello和逗号将出现在传入的测试字符串中。