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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何擴(kuò)展匹配文本輸出的空間范圍以包含下一場比賽之前的所有內(nèi)容?

如何擴(kuò)展匹配文本輸出的空間范圍以包含下一場比賽之前的所有內(nèi)容?

繁華開滿天機(jī) 2021-12-16 15:08:22
我有如下代碼:data = u"Species:cat color:orange and white with yellow spots number feet: 4"from spacy.matcher import PhraseMatcherimport en_core_web_smnlp = en_core_web_sm.load()data=data.lower()matcher = PhraseMatcher(nlp.vocab)terminology_list = [u"species",u"color", u"number feet"]patterns = list(nlp.tokenizer.pipe(terminology_list))matcher.add("TerminologyList", None, *patterns)doc = nlp(data)for idd, (match_id, start, end) in enumerate(matcher(doc)):    span = doc[start:end]    print(span.text)我希望能夠抓住一切,直到下一場比賽。所以比賽看起來像這樣:種類:貓顏色:橙色和白色,有黃色斑點(diǎn)腳數(shù):4我試圖延長跨度,但我不知道如何說在下一場比賽之前停止。我知道我可以讓它像 span = doc[start:end+4] 或其他東西,但這是硬編碼要走多遠(yuǎn),我不知道我應(yīng)該擴(kuò)展索引多遠(yuǎn)。謝謝
查看完整描述

2 回答

?
翻過高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個贊

我發(fā)現(xiàn) spacy 匹配器對匹配術(shù)語的索引進(jìn)行排序,即使它發(fā)現(xiàn)術(shù)語列表中列出的術(shù)語早于另一個術(shù)語。所以我可以在下一個匹配的索引之前結(jié)束跨度。代碼來顯示我的意思:


data = u"Species:cat color:orange and white with yellow spots number feet: 4"

from spacy.matcher import PhraseMatcher

import en_core_web_sm

nlp = en_core_web_sm.load()


data=data.lower()

matcher = PhraseMatcher(nlp.vocab)


terminology_list = [u"species",u"color", u"number feet"]

patterns = list(nlp.tokenizer.pipe(terminology_list))

matcher.add("Terms", None, *patterns)


doc = nlp(data)

matches=matcher(doc)

matched_phrases={}

for idd, (match_id, start, end) in enumerate(matches):

    key_match = doc[start:end]

    if idd != len(matches)-1:

        end_index=matches[idd+1][1]

    else:

        end_index=len(doc)

    phrase = doc[end:end_index]

    if phrase.text != '':

        matched_phrases[key_match] = phrase


print(matched_phrases)


查看完整回答
反對 回復(fù) 2021-12-16
?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個贊

我有一個不使用 spaCy 的想法。


首先,我將字符串拆分為令牌


split = "Species:cat color:orange and white with yellow spots number feet: 4".replace(": ", ":").split()

然后我遍歷令牌列表,保存鍵,然后將值合并到鍵中,因?yàn)橛行骆I


goal = []

key_value = None

for token in split:

    print(token)

    if ":" in token:

        if key_value:

            goal.append(kv)

            key_value = token

        else:

            key_value = token

    else:

        key_value += " " + token

goal.append(key_value)

goal

>>>

['Species:cat', 'color:orange and white with yellow spots number', 'feet:4']


查看完整回答
反對 回復(fù) 2021-12-16
  • 2 回答
  • 0 關(guān)注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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