Nlp 如何自动查找与给定列表中的句子相似的句子?

Nlp 如何自动查找与给定列表中的句子相似的句子?,nlp,polish,Nlp,Polish,我有一个让我们说“禁止的句子”的列表(1000个,每个大约40个单词)。我想创建一个工具,在给定的文档中查找并标记它们 问题是,在这样的文件中,这个被禁止的句子可以用不同的方式表达,与列表中的不同,保持相同的意思,但通过使用同义词、或多或少的几个词、不同的语序、标点符号、语法等来改变。事实上,所有这些都是用波兰语表达的,并没有让每个名词、代词、代词变得更容易,形容词共有14个格,加上修饰语和性别,进一步改变了单词。我也在考虑这样做,这样发现的句子就可以根据它们被禁止的概率进行排序,有些句子的相似

我有一个让我们说“禁止的句子”的列表(1000个,每个大约40个单词)。我想创建一个工具,在给定的文档中查找并标记它们

问题是,在这样的文件中,这个被禁止的句子可以用不同的方式表达,与列表中的不同,保持相同的意思,但通过使用同义词、或多或少的几个词、不同的语序、标点符号、语法等来改变。事实上,所有这些都是用波兰语表达的,并没有让每个名词、代词、代词变得更容易,形容词共有14个格,加上修饰语和性别,进一步改变了单词。我也在考虑这样做,这样发现的句子就可以根据它们被禁止的概率进行排序,有些句子的相似性就比较小了

我学了两年,但我对NLP知识不多。你认为业余爱好者能做到这一点吗?你能给我一些建议,从哪里开始,最好使用什么工具来把它们放在一起?不需要花哨,只要实用。我希望找到一些现成的代码,因为我想这是以前做过的东西。在哪里可以找到这些资源,或者在搜索时使用什么关键字?我真的很感谢你的帮助,因为我对这一点很陌生,需要从基础开始

提前感谢,


Kamila

最简单的第一次尝试可能是使用polish SpaCy,它是流行的生产型NLP库的扩展,支持波兰语

您可以尝试这样做:

  • 把文件分成几个句子
  • 用空格清理这些句子(删除停止词、标点符号、做柠檬化——这将帮助你处理同一个词的许多不同版本)
  • 清洁“禁止的句子”以及
  • 准备每个句子的向量表示-可以使用spaCy方法
  • 计算句子之间的相似度-余弦相似度
  • 您可以设置阈值,若文档中的句子与任何“禁止的句子”相似,则会将其视为禁止
如果有什么不清楚的地方,请告诉我

祝你好运