gpt4 book ai didi

python - 在csv文件中将相似的句子串组合在一起

转载 作者:太空宇宙 更新时间:2023-11-04 03:14:57 25 4
gpt4 key购买 nike

我目前正在使用 Python 开发一个依赖于接收 csv 文件的项目。 csv 文件包含数千个随机句子,某些句子之间有一些相似之处。我的代码的目的是识别哪些句子属于同一类,并在上下文中指代同一事物。

例如,所有引用 Gmail 的句子,例如:

Gmail login
Gmail account login
Gmail account register

指代相同的上下文,但在输入文件中彼此相距很远,嵌套在指代不同上下文的不相关句子中。到目前为止,我一直使用的方法是:

  1. 将句子中的每个单词按字母顺序排序并小写,例如:

    账号gmail登录

  2. 将文件中的原始索引作为自己的列,将 csv 文件中的句子按字母顺序排序,然后将它们加载到 pandas 数据框中

  3. 遍历数据框并将句子相互比较。这是使用 FuzzyWuzzy's 完成的token_set_ratio 方法来识别彼此匹配的术语(相等== 100),相似的词被组合在一起然后写入文件。

  4. 当数据帧被迭代后,我们再次循环它,并将我们在它自己的列中制作的索引与输入文件中的相应行相匹配,以返回原始句子。

    <

这种方法一直很有前途,但它存在匹配不良和句子不在同一上下文中而最终出现在同一组中的问题。是否有更好的方法可以完成我想做的事情?

最佳答案

有很多方法可以实现文档相似性分析,来自文本分析/挖掘领域。

在您的情况下,您似乎拥有标准化的单词文档(行)。然后,您可以执行文档比较,而无需通过 Levenstein 距离的三元组相似度来比较单词。

基本上,使用 inverted file用于存储条款,并执行 cosine similarity in the vector model是一种检测文档相似性的简单有效的方法。

使用一些其他技术,或 distance/similarity scores , 允许优化结果。

编辑:一个 python 模块,gensim , 实现向量空间模型并且似乎功能齐全。 NLTK是一个众所周知的自然语言分析框架,并为此类工作提供了大量功能。

关于python - 在csv文件中将相似的句子串组合在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36585351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com