总的来说,我对机器学习和文本挖掘还很陌生。我注意到一个名为 Liblinear https://github.com/tomz/liblinear-ruby-swig 的 ruby​​ 库的存在。

到目前为止,我想做的是训练软件识别文本是否提及与自行车相关的任何内容。

有人可以强调我应该遵循的步骤(即:预处理文本以及如何),共享资源并最好共享一个简单的示例来帮助我前进。

任何帮助都可以,谢谢!

最佳答案

经典的方法是:

  • 收集输入文本的代表性样本,每个样本都标记为相关/不相关。
  • 将样本划分为训练集和测试集。
  • 提取训练集所有文档中的所有词条;称之为词汇表,V.
  • 对于训练集中的每个文档,将其转换为 bool 值向量,其中第 i 个元素为 true/1,如果词汇表中的第 i 个术语出现在文档中。
  • 将矢量化训练集提供给学习算法。

  • 现在,要对文档进行分类,请按照步骤 4 对其进行矢量化,并将其提供给分类器以获得相关/不相关的标签。将此与实际标签进行比较,看看它是否正确。使用这种简单的方法,您应该能够获得至少 80% 的准确率。

    为了改进这个方法,用术语计数替换 bool 值,按文档长度标准化,或者更好的是,tf-idf 分数。

    关于ruby - Liblinear 如何使用它,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6116718/

    10-12 23:09