Python 如何在numpy数组中找到相同的实体?
我使用polyglot库进行命名实体识别,并将结果存储在numpy数组中。现在,这两个numpy数组的元素彼此不匹配Python 如何在numpy数组中找到相同的实体?,python,numpy,Python,Numpy,我使用polyglot库进行命名实体识别,并将结果存储在numpy数组中。现在,这两个numpy数组的元素彼此不匹配 REL_LIST = np.array(['ریس جمهور', 'تولد', 'استاد', 'کارمند', 'ریس']) SENT_LIST = np.array(['رئیس جمهور محمد اشرف غنی تاکید ورزیده که حکومت افغانستان نباید در گفتگو های صلح در حاشیه رانده شود.
REL_LIST = np.array(['ریس جمهور', 'تولد', 'استاد', 'کارمند', 'ریس'])
SENT_LIST = np.array(['رئیس جمهور محمد اشرف غنی تاکید ورزیده که حکومت افغانستان نباید در گفتگو های صلح در حاشیه رانده شود.'])
FINAL_NER_LIST =[]
for sent in range(len(SENT_LIST)):
list = SENT_LIST[sent].entities
FINAL_NER_LIST.append(list)
for rel in range(len(REL_LIST)):
if REL_LIST[rel] in SENT_LIST:
FINAL_NER_LIST.extend(REL_LIST[rel])
我的目的是检查SENT\u LIST
中是否有REL\u LIST
的任何实体,polyglot-NER的输出如下:
[[I-PER(['محمد', 'اشرف']) I-LOC(['افغانستان'])]
[I-LOC(['میونیخ', 'جرمنی']) I-PER(['عبدالعزیز'])]
[I-PER(['اشرف']) I-LOC(['کابل'])]
[I-PER(['اشرف', 'غنی']) I-LOC(['افغانستان'])]]
也许我仍然不明白这个问题,但也许像这样的事情会奏效
NEW_LIST = []
for sentence in SENT_LIST:
NEW_LIST.append([sentence.entities])
for rel in REL_LIST:
if rel in sentence:
NEW_LIST[-1].append(rel)
NEW\u LIST
将是一个与SENT\u LIST
长度相同的列表。每个条目将首先包含实体,然后是关系。也许我仍然不理解这个问题,但也许类似的东西会起作用
NEW_LIST = []
for sentence in SENT_LIST:
NEW_LIST.append([sentence.entities])
for rel in REL_LIST:
if rel in sentence:
NEW_LIST[-1].append(rel)
NEW\u LIST
将是一个与SENT\u LIST
长度相同的列表。每个条目将首先包含实体,然后包含关系。预期结果是什么?还有SENT_LIST
和REL_LIST
之间的区别是什么?SENT_LIST
是一个文件中所有句子的列表REL_LIST
是一个包含关系的列表,我通过实现polyglot
从SENT_LIST
中提取了这些关系。现在我想在每个句子中检查REL\u LIST
中的任何元素是否在SENT\u LIST
中,是否应该插入NER\u LIST
,以显示两个实体之间的关系,例如,CEO(微软比尔·盖茨)
。在这里,CEO
在REL\u LIST
中,正如它出现在SENT\u LIST
的第一句话中一样,我想在NER\u LIST
的第一个元素中添加预期结果是什么?还有SENT_LIST
和REL_LIST
之间的区别是什么?SENT_LIST
是一个文件中所有句子的列表REL_LIST
是一个包含关系的列表,我通过实现polyglot
从SENT_LIST
中提取了这些关系。现在我想在每个句子中检查REL\u LIST
中的任何元素是否在SENT\u LIST
中,是否应该插入NER\u LIST
,以显示两个实体之间的关系,例如,CEO(微软比尔·盖茨)
。在这里,CEO
位于REL_LIST
中,正如它出现在SENT_LIST
的第一句话中一样,我想添加到NER_LIST
LEN_SENT=0 word=0的第一个元素中,而您共享的word正在工作,但没有附加到特定的实体上。我的意思是一个索引被共享给所有实体我看到了问题,但是如果有两个人实体,程序如何知道将REL_列表中的值分配给哪个实体?此信息不在列表中。您是对的,但为此,我将使用TFIDF和权重向量仅对最著名的一个进行赋值。这就是为什么我现在只研究实体对。当它完成后,我将使用机器学习。感谢您LEN_SENT=0 word=0,您共享的代码正在运行,但未附加到特定实体上。我的意思是一个索引被共享给所有实体我看到了问题,但是如果有两个人实体,程序如何知道将REL_列表中的值分配给哪个实体?此信息不在列表中。您是对的,但为此,我将使用TFIDF和权重向量仅对最著名的一个进行赋值。这就是为什么我现在只研究实体对。当它完成后,我将使用机器学习。非常感谢。