我正在研究自然语言处理应用程序。我有一个描述30个域的文本。每个域都定义了一个简短的段落来解释它。我的目标是从这个文本构建一个词库,这样我就可以从输入string
确定哪些域有关。文本大约5000个单词,每个领域用150个单词描述。我的问题是:
我是否有足够长的文字来创建同义词库?
我构建同义词库的想法是合法的还是我应该使用NLP库来分析我的语料库和输入字符串?
目前,我已经计算了按域分组的每个单词的出现次数,因为我首先想到的是索引方法。但我真的不确定哪种方法最好。有人在NLP和词库建设方面有经验吗?
答案 0 :(得分:2)
我认为你要找的是主题建模。给定一个单词,您希望获得该单词属于哪个域的概率。我建议使用实现LDA(Latent Dirichlet算法)的现成算法。 或者,您可以访问David Blei's website。他编写了一些很棒的软件来实现LDA,以及一般的主题建模。他还为初学者提供了几个主题建模教程。
答案 1 :(得分:1)
如果你的目标是建立一个词库,那么建立一个词库;如果你的目标不是建立一个词库,那么你最好使用那里的东西。
更一般地说,对于NLP中的任何任务 - 从数据采集到机器翻译 - 你将面临许多问题(技术和理论上的问题),并且很容易偏离路径,因为这些问题是 - 大多数时候 - 很有意思。
无论任务是什么,使用现有资源构建系统。那你得到了大局;然后你就可以开始考虑改进组件A或B.
祝你好运。