【问题标题】:How could I search specific strings from a text file? [closed]如何从文本文件中搜索特定字符串? [关闭]
【发布时间】:2014-08-09 03:30:10
【问题描述】:

我的文件如下所示:

评论/总结:漂亮的基本泵...评论/文字:...但不是 足够的尺寸或颜色。适合我的尺码 8-1/2 英尺。底部 鞋底完全光滑...需要某种纹理或胎面 有助于防止滑倒。评论/文字:太棒了。首先,这个是 不是最初的 Gil Zero,而是 Gil Zero TD,这意味着它没有 有任何技术。但是,这是我穿过的最舒适的运动鞋 曾经知道。没有昂贵的技术,它的中底得到更多 柔软,更耐用。并将其鞋面改为真正的 皮革,它变得更适合脚部。这种变化使它 甚至比昂贵的原装运动鞋更好,只是为了 真正伟大的运动鞋的伟大设计,但不是为了无用,对我们来说 老百姓不是巨星,技术。在球场上,我 发现它有足够的缓冲,它可以给你更快的速度,非常好 一个适合后卫或小前锋。

我想提取quick serviceexcellent serviceamazon is greatexcellent customer service等字符串

我的代码是这样的:

def ethos(file):
    f = open(file)
    raw = f.read()
    tokens = nltk.sent_tokenize(raw)
    text = nltk.Text(tokens)
    sents = []
    matching_strings = ['thanks amazon' , 'great service' , 'reasonable shipping time' , 'quick service']
    for tokens in text:
        if tokens in matching_strings:
            sents.append(tokens)
    return sents

我的输出是空白的,请告诉我如何正确处理它,我对语言处理很陌生

【问题讨论】:

标签: python nltk


【解决方案1】:

我从未使用过 nltk,但我会猜测一下解决方案。由于您的标记是句子,因此您需要在标记中查找匹配的字符串,而不是像现在这样。你的 for 循环应该是这样的:

for tokens in text:
    for match in matching_strings:
        if match in tokens:
            sents.append(tokens)
            break
return sents

【讨论】:

    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 2014-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多