我在深度学习方面还是新手。我正在尝试为文本提取标题。
因此,对于每段文本,我有以下内容:
-
标题
-
句子
-
这些句子的标签(全部为0,其中一个与标题的ROUGE1得分最接近的为1)。例如
['Title'], ['s1','s2','s3','s4'], [0,1,0,0]
我已经将所有内容(显然包括标题和句子)进行了向量化处理。
问题是我无法理解如何将这些数据输入网络,以便它能够学习预测一组句子(一个文本)中哪个句子应该是1(即标题)。
我的意思是……我知道在进行文本分类(或句子分类)时,我们有整个文本及其标签。所以我们只需向网络输入类似于
x = ['t1','t2','t3','t4','t5']y= [0,1,0,0,1]
但在这里……我们需要针对一个文本中的每个句子预测标签。所以,我将会有类似于
x = ['s01','s02','s03','s04'] ['s11','s12','s13','s14','s15','s16','s17'] ...['sn1','sn2','sn3']y = [0,1,0,0][0,0,0,0,1,0,0]...[1,0,0]
另外,标题也应该包含在某个地方……(我认为)
如果我想预测新文本(比如)['s1','s2','s3','s4','s5','s6']
中哪些句子是0,哪个是1,我应该以何种形式将其输入到网络中?
回答:
从我看到的情况来看,你的每段文本中都包含句子,并且其中一个句子被标记为“标题”(或1)。让我们总结一下这个问题:在神经网络中,你将有一个输入矩阵,列为特征,行是个体(元素)。在这里,你的行是文档(标题+内容),而据我所见,特征是一个句子。
你的方法存在以下问题:
-
在你的方法中,一个特征就是一个句子(我的意思是每个句子或多或少是独一无二的,对吗?)。因此,你将会有比个体(即文档,即矩阵的行)更多的特征,在这种情况下,神经网络的效果会很差。
-
即使你设法使个体数量超过特征数量,你也将会有大量的特征,这将需要更多的时间和内存来训练。
-
如果你考虑到句子中的单词,你可能会遇到看起来像普通句子的标题,这里会产生歧义。
你为什么不尝试使用简单的规则(不使用机器学习)来做这件事呢?标题通常是文本的第一句话,且比其他句子短,有时没有动词?