第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 spaCy 文檔中訪問(wèn)超出范圍的詞:為什么它有效?

在 spaCy 文檔中訪問(wèn)超出范圍的詞:為什么它有效?

心有法竹 2023-05-23 16:17:55
我正在學(xué)習(xí) spaCy 并且正在玩Matchers。我有:一個(gè)非?;镜木渥樱?amp;ldquo;白色牧羊犬”)匹配器對(duì)象,搜索模式(“white shepherd”)顯示匹配項(xiàng)的打印件,以及該匹配項(xiàng)之前的單詞和 POS我只是想檢查如何處理我期望得到的索引超出范圍異常,因?yàn)樵谄ヅ渲皼](méi)有任何內(nèi)容。我沒(méi)想到它會(huì)起作用,但它確實(shí)起作用了,并且在比賽結(jié)束后返回“狗”……現(xiàn)在我很困惑??雌饋?lái) spaCy 使用循環(huán)列表(或者我認(rèn)為的雙端隊(duì)列)?這需要一個(gè)語(yǔ)言模型來(lái)運(yùn)行,如果你想重現(xiàn)它,你可以使用以下命令行安裝它:python -m spacy download en_core_web_md這是代碼import spacyfrom spacy.matcher import Matcher?# Loading language modelnlp = spacy.load("en_core_web_md")# Initialising with shared vocabmatcher = Matcher(nlp.vocab)# Adding statistical predictionsmatcher.add("DOG", None, [{"LOWER": "white"}, {"LOWER": "shepherd"}])? # searching for white shepherddoc = nlp("white shepherd dog")for match_id, start, end in matcher(doc):? ? span = doc[start:end]??? ? print("Matched span: ", span.text)? ?? ? # Get previous token and its POS? ? print("Previous token: ", doc[start - 1].text, doc[start - 1].pos_) # I would expect the error here我得到以下信息:>>> Matched span:? white shepherd>>> Previous token:? dog PROPN有人可以解釋發(fā)生了什么嗎?謝謝 !
查看完整描述

1 回答

?
小怪獸愛吃肉

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊

您在索引 0-1 處尋找一個(gè)評(píng)估為 -1 的標(biāo)記,這是最后一個(gè)標(biāo)記。


我建議使用該Token.nbor方法在跨度之前查找第一個(gè)標(biāo)記,如果不存在先前的標(biāo)記,則將其設(shè)置為 None 或空字符串。


import spacy

from spacy.matcher import Matcher 


# Loading language model

nlp = spacy.load("en_core_web_md")


# Initialising with shared vocab

matcher = Matcher(nlp.vocab)


# Adding statistical predictions

matcher.add("DOG", None, [{"LOWER": "white"}, {"LOWER": "shepherd"}])  # searching for white shepherd

doc = nlp("white shepherd dog")


for match_id, start, end in matcher(doc):

    span = doc[start:end]

    print("Matched span: ", span.text)

    try:

        nbor_tok = span[0].nbor(-1)

        print("Previous token:", nbor_tok, nbor_tok.pos_)

    except IndexError:

        nbor_tok = ''

        print("Previous token: None None")


查看完整回答
反對(duì) 回復(fù) 2023-05-23
  • 1 回答
  • 0 關(guān)注
  • 258 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)