鍍金池/ 問答/數(shù)據(jù)分析&挖掘  Python  網(wǎng)絡(luò)安全/ 如何高效地對兩個excel文件(A,B)進(jìn)行是否A包含B的查詢及標(biāo)記

如何高效地對兩個excel文件(A,B)進(jìn)行是否A包含B的查詢及標(biāo)記

主要是想做命名實(shí)體識別的標(biāo)注;
具體來說,有兩個excel文件,稱之為A(n行1列),B(n行1列)。
舉例來說,A中每一行是一句描述性質(zhì)的話,B中每一行都是一個實(shí)體名
請問該如何高效地實(shí)現(xiàn)類似以下的功能:
for index,row in A.iterrows():

要判斷row['描述']這一句話是否包含了B中的一個或者多個實(shí)體,并在A中進(jìn)行標(biāo)注

求指點(diǎn)思路。

回答
編輯回答
心癌

AC自動機(jī)是最好的選擇,效率足夠高??梢钥纯?a rel="nofollow noreferrer">https://github.com/vi3k6i5/fl... 這個庫,包含了查找和替換的AC自動機(jī)實(shí)現(xiàn)。

2018年3月7日 20:44
編輯回答
涼心人

加入 A 和 B 都足夠大的話可以把 B 的內(nèi)容放在 AC 自動機(jī)里面,然后取用 A 的內(nèi)容匹配)

2018年3月4日 18:16
編輯回答
拼未來

感覺這個類似token解析。
可以把B的每一行作為一個正則表達(dá)式,用或合并為1個正則。
對于A的每一行對上面的正則進(jìn)行匹配,通過re.finditer獲取當(dāng)前行所有匹配的token

2018年8月8日 01:40