【问题标题】:Is there a way to find end token有没有办法找到结束令牌
【发布时间】:2019-06-11 17:37:22
【问题描述】:

我试图找出令牌是否是 Spacy 文档中的最后一个。我不想遍历文档,但如果令牌是最后一个令牌,则需要根据令牌的位置进行检查。有没有办法做到这一点?

【问题讨论】:

    标签: python nlp token spacy


    【解决方案1】:

    您可以将其与 spaCy Doc 的长度进行比较。例如。让我们打印所有标记及其索引并指出它何时是最后一个。

    import spacy
    
    str = "the big brown fox"
    nlp = spacy.load("en_core_web_sm")
    doc = nlp(str)
    
    for i, t in enumerate(doc):
        print("{}{}: {}".format(i, " and last" if i == len(doc) - 1 else "", t.text))
    

    结果:

    0: the
    1: big
    2: brown
    3 and last: fox
    

    【讨论】:

    • 谢谢,但这个解决方案不一定适合我。我需要确定一个令牌是否是文档中的最后一个令牌。假设文档是 str = "the big brown fox and brown fox"。只有当我在第二只狐狸时,我才能确定“狐狸”是最后一个标记
    • @MLNLPEnhusiast 应该仍然有效,因为我们正在比较索引而不是单词。
    【解决方案2】:
    test_str = "which string is the last"
    doc = nlp(test_str)
    doc[len(doc)-1:len(doc)]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      相关资源
      最近更新 更多