0

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

问题是,在这样的文件中,这个被禁止的句子可以用不同的方式表达,而不是在这个列表中保持相同的意思,但通过使用同义词、或多或少的几个词、不同的词序、标点符号、语法等来改变。事实上,这个is all in Polish 并不是让每个名词、代词和形容词总共有 14 个格加上修饰词和进一步改变单词的性别来让事情变得更容易。我也在考虑制作它,以便找到的句子按它们被禁止的概率排列,其中一些显示不太相似。

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

提前致谢,

卡米拉

4

1 回答 1

0

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

http://spacypl.sigmoidal.io/#home

您可以尝试这样做:

  • 将文档拆分为句子。
  • 用 spacy 清理这些句子(删除停用词、标点符号、进行词形还原——它将帮助您处理同一个单词的许多不同版本)
  • 清理“禁句”
  • 准备每个句子的向量表示 - 你可以使用 spaCy 方法
  • 计算句子之间的相似度——余弦相似度
  • 您可以设置阈值,如果文档的句子与任何“禁止句子”相似,则将其视为禁止

如果有任何不清楚的地方,请告诉我。

祝你好运!

于 2020-03-01T12:24:47.800 回答