我试图将例如关于编程的字符串与其他关于编程的字符串,关于物理的字符串与关于物理的其他字符串等进行分组,以涵盖广泛的主题。尽管问题在语言学方面令人眼花aspect乱,但我仍希望使用编程/软件来实际执行此操作。
总结:给定大量字符串,我该如何按语义主题对它们进行分组?
特定的应用程序:我有大约200,000个琐事问题,我想将其归类为常见的组别(汽车,计算机,政治,加拿大,食品,巴拉克·奥巴马(Barack Obama)等)。
我研究的内容: Wikipedia 列出了自然语言处理工具包(假设我要尝试的工作实际上是NLP),因此我查看了一些内容,但似乎没有一个能满足我的需求。
注意:已经指出,这样做需要更多的知识(例如,保时捷是汽车,C ++是编程语言)。当时我认为需要训练数据,但是如果我只有问题和答案的列表,那么如何生成训练数据?然后如何使用训练数据?
更多说明:如果我的问与答帮助的当前格式(尽管看起来像JSON,但基本上是原始文本文件):
// row 1: is metadata
// row 2: is a very specific kind of "category"
// row 3: is the question
// row 4: is the answer
{
15343
A MUSICAL PASTICHE
Of classical music's "three B's", he was the one born in Hamburg in 1833
Johannes Brahms
}
但是在有人指出已经存在一个类别之前,请注意,大约有20万个这样的问题和答案,并且基本上有许多“类别”。我正在尝试将它们分为以上所列的更广泛的组。此外,我可以通过编程方式轻松地针对所有问题更改此格式。
以及更多注意事项:我实际上不知道我需要多少个类别(至少10-20个),因为我自己并未阅读所有问题。我部分期望在分类过程中以某种方式确定有限数。无论如何,我总是可以手动创建多个类别。