问题是在大量文本片段中检测重复的单词序列。这是一个近似和效率问题,因为我要处理的数据非常庞大。我希望在索引文本时为文本分配编号,如果它们具有与已经索引的文本匹配的部分。
例如,如果我现在正在索引的 TextB 具有与数据库中的其他 2 个文本匹配的部分。我想给它分配一个数字,p1。如果该匹配部分更长,那么我希望它分配 p2 (p2>p1)。如果 TextB 的匹配部分只有 1 个其他文本,那么它应该给出 p3 (p3 < p1)。这两个参数(序列的长度,匹配组的大小)将具有最大值,这意味着在超过这些最大值之后,分配的数量将停止增加。
我可以想办法以蛮力做到这一点,但我需要效率。我的老板指示我在那里学习 NLP 和搜索解决方案,我正计划通过这个斯坦福视频讲座。
但我怀疑这是否是正确的方法,所以我想问问你的意见。
示例:文本 1:“我想成为一名艺术家并环游世界。” 文本 2:“我想成为一名音乐家。” 文本3:“环游世界。” 文本 4:“她想环游世界。”
有了这些文本,我想要一个数据看起来像这样:-“我想成为”,2 个实例,[1,2] -“环游世界”,3 个实例,[1,3,4]
在有了这些数据之后,最后,我想做这个过程(在有了之前的数据之后,这可能是微不足道的):(一个名为 A 的矩阵在必要的索引处有一些值。我会在一些试验后确定这些。)匹配组有数字值,它们从矩阵 A 中检索。组 1 = A(4,2) % 4 个单词,2 个实例 组 2 = A(3,3) % 3 个单词,3 个实例
然后我将为每个文本分配一个数字,这是它们所在组的数字之和。
我的问题是以有效的方式形成这个数据集。