use*_*116 12 text nlp classification cluster-analysis text-segmentation
以下非结构化文本有三个不同的主题 - 史泰龙,费城和美国革命.但是你会使用哪种算法或技术将这些内容分成不同的段落?
分类器在这种情况下不起作用.我还尝试使用Jaccard相似度分析器来查找连续句子之间的距离,并尝试将连续句子分组为一个段落,如果它们之间的距离小于给定值.有更好的方法吗?
这是我的文字示例:
Sylvester Gardenzio Stallone,绰号Sly Stallone,是美国演员,电影制片人和编剧.史泰龙以其大男子主义和好莱坞动作角色而闻名.史泰龙的电影洛基入选国家电影注册处,并将其电影道具放在史密森尼博物馆.史泰龙使用Rocky系列的费城艺术博物馆正门,使该地区被称为洛基台阶.一个商业,教育和文化中心,费城曾经是大英帝国的第二大城市(仅次于伦敦) ),以及原13个美国殖民地的社会和地理中心.它是美国早期历史的核心,是许多产生美国革命和独立的思想和行动的东西.美国革命是18世纪下半叶的政治动荡,北美的13个殖民地联合起来,摆脱大英帝国,结合成为美利坚合众国.他们首先拒绝了大不列颠议会的权威,无需代理即可从海外治理他们,然后驱逐所有王室官员.到1774年,每个殖民地都建立了省级代表大会或同等的政府机构,以形成个人自治国家.然后驱逐所有王室官员.到1774年,每个殖民地都建立了省级代表大会或同等的政府机构,以形成个人自治国家.然后驱逐所有王室官员.到1774年,每个殖民地都建立了省级代表大会或同等的政府机构,以形成个人自治国家.
ben*_*ith 15
所以我在NLP工作了很长时间,这是你要解决的一个非常棘手的问题.您永远无法以100%的准确度实施解决方案,因此您应该事先决定是否更好地做出假阴性决策(未能找到段落分段点)或假阳性决策(插入虚假分割)点).完成后,组合一组文档并注释您希望找到的真正分段点.
完成后,您将需要一种机制来查找EOS(句末)点.然后,在每对句子之间,你需要做出一个二元决定:是否应该插入一个段落边界?
您可以根据不同的分割点来衡量每个段落中概念的内聚力.例如,在一个包含五个句子的文档(ABCDE)中,有16种不同的分割方式:
ABCDE ABCD|E ABC|DE ABC|D|E AB|CDE AB|CD|E AB|C|DE AB|C|D|E
A|BCDE A|BCD|E A|BC|DE A|BC|D|E A|B|CDE A|B|CD|E A|B|C|DE A|B|C|D|E
Run Code Online (Sandbox Code Playgroud)
为了测量内聚力,您可以使用句子到句子的相似性度量(基于为每个句子提取的一些特征集合).为简单起见,如果两个相邻的句子具有0.95的相似性度量,那么将它们组合到同一段落中的成本为0.05.文档细分计划的总成本是所有句子加入成本的总和.要获得最终细分,请选择成本最低的计划.
当然,对于具有多个句子的文档,存在太多不同的可能的分段排列以蛮力地评估它们的所有成本.所以你需要一些启发式来指导这个过程.动态编程在这里很有帮助.
至于实际的句子特征提取......好吧,那就是它变得非常复杂.
你可能想要忽略高度语法的单词(连接词,如介词,连词,帮助动词和子句标记),并根据更具语义相关的词(名词和动词,以及较小程度的形容词和副词)建立相似性.
一个天真的实现可能只计算每个单词的实例数,并将一个句子中的单词计数与相邻句子中的单词计数进行比较.如果一个重要的单词(如"费城")出现在两个相邻的句子中,那么它们可能会得到很高的相似度.
但问题在于,两个相邻的句子可能具有非常相似的主题,即使这些句子具有完全不重叠的单词集.
因此,您需要评估每个单词的"意义"(给定周围环境的具体含义)并概括该意义以涵盖更广泛的领域.
例如,对其中带有"绿色"一词的句子进行成像.在我的特征提取过程中,我肯定会包含确切的词汇值("绿色"),但我也会应用形态变换,将单词标准化为其根形式("绿色").然后我在分类中查找该单词并发现它是一种颜色,可以进一步推广为可视描述符.因此,基于这一个词,我可能会在我的句子特征集合中添加四个不同的特征("绿色","绿色","[颜色]","[视觉]").如果文档中的下一句话再次提到颜色"绿色",则两个句子将非常相似.如果下一句使用"红色"这个词,那么它们仍然具有一定程度的相似性,
所以,有一些基本的想法.您可以无限制地详细说明这些广告,并调整算法以在您的特定数据集上表现良好.有一百万种不同的方法可以解决这个问题,但我希望其中一些建议有助于您入门.
我对此了解不多,所以这个答案是一个更好的答案的存根。尽管如此,还是有两点