• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
华东 博客
17年国科大博士毕业,曾就职于三星电子,清华博后,目前在某大模型创业公司工作,研究方向大模型、智能体 新浪博客: http://blog.sina.com.cn/u/2463286753
博客园    首页    新随笔    联系   管理    订阅  订阅
JGibbLDA、GibbsLDA++问题解决

       LDA(Latent Dirichlet Allocation )主题模型是一种用统计进行文本挖掘的方法,它是pLSA(概率潜在语义分析)主题模型基础上加上贝叶斯框架而得到的模型。目前已应用于自然语言处理、计算机视觉、机器学习、信息检索等领域,得到了广泛关注。

       LDA模型网上有多个开源代码,用的比较多是JGibbLDA(Java实现)、GibbsLDA++(C++实现)。当我们在Linux平台上运行的时候,可能会遇到一些问题,如果对Java、C++和Linux不太熟悉,就很难解决。

      这里我就将我遇到的问题和解决办法分享给大家,或许初学者有所帮助:

      问题1:对于JGibbLDA,(这里是JGibbLDA-v.1.0.tar.gz)

$ java -mx512M -cp bin:lib/args4j-2.0.6.jar jgibblda.LDA -est -alpha 0.5 -beta 0.1 -ntopics 100 -niters 1000 -savestep 100 -twords 20 -dfile models/casestudy-en/newdocs.dat 

      按照其给的步骤执行时,我这里就出现程序运行特别快,而且相应的参数不能保存,说有数据为空。

     分析:数据为空,基本上是程序没有读取文本数据,问题出在读取数据的路径上,即-dfile models/casestudy-en/newdocs.dat 。

      解决:检查该路径,对路径可以补充更加完整些。比如:

$ java -mx512M -cp bin:lib/args4j-2.0.6.jar jgibblda.LDA -est -alpha 0.5 -beta 0.1 -ntopics 100 -niters 1000 -savestep 100 -twords 20 -dfile ~/models/casestudy-en/newdocs.dat 

    问题2:在测试GibbsLDA++代码时,按照其帮助文档,我们以下操作可能会出错,出错信息是提示我们缺少某个函数。(这里是GibbsLDA++-0.2.tar.gz)

 ~$cd Gibbslda++-0.2

~$make clearn

~$make all

~$src/lda -est -alpha 0.5 -beta 0.1 -ntopics 100 -niters 1000 -savestep 100 -twords 20 -dfile LDA/trndocs.dat

    分析:缺少函数,那基本上是因为该函数所在的类库没有调用。

    解决:需要将其所在的那个类库加到相应C++程序的头文件上。由于记不清楚添加的是什么,这里给出我添加加之后的GibbsLDA++的程序包: http://yun.baidu.com/s/1vsnCU

 

posted on 2015-01-14 15:12  华东博客  阅读(1098)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3