我想计算许可证 txt 文件之间的相似性,以便我可以根据 license.txt 识别它对应的许可证。我应该使用什么样的信息检索技术?一旦我编写了 tf-idf 但我不确定这是否适用于这里。你有什么建议?
最佳答案
我已经研究这个问题 3 年多了,让我告诉你,这绝非小事,你不会用单一算法来解决它,更不用说 tf-idf 和余弦相似度了。
有很多挑战,我写了其中一些:
- 相似的许可证文本(agpl/gpl/lgpl、bsd/apache1.1/openssl、mit/isc/curl)非常难以消除歧义,并且具有极高的余弦相似度(除非您非常擅长功能选择) ,也许...)
- 同样适用于同一许可证的不同版本 (lgpl 2.0/2.1)
- LICENSE.TXT 文件通常包含多个许可证
- bsd 通知很难捕捉,即。除了权利持有者之外,您拥有相同的文本
您最终将使用多种方法的组合,不幸的是没有 Elixir 。
关于file - 如何计算两个license.txt文件之间的相似度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8900925/