我创建了一个程序,接受两组句子作为输入,并在它们之间进行一些比较。组'A'中的每个句子在组'B'中具有一个或多个匹配句子,组'B'中的句子可以匹配'A'中的多个句子。每个关系都有一个数值。我正在尝试创建一个描述这些连接的图表,以便轻松查看连接。我想创建一个二分图,使每个弧都有值,如下图所示(左边是A组,右边是B组)(from here)。
一个双分图对此很有意义,如果你使用networkX
库,你可以轻松创建一个。假设你有A
和B
中的元素以及包含边缘的列表
A = ['a1', 'a2', 'a3', 'a4']
B = ['b1', 'b2', 'b3', 'b4']
edges = [('a1', 'b1', 0.5), ('a1', 'b2', 0.3), ('b3', 'a4', 0.1)]
G = nx.Graph()
G.add_nodes_from(A], bipartite=0) # Add the node attribute "bipartite"
G.add_nodes_from(B, bipartite=1)
G.add_weighted_edges_from(edges)
请注意,这只是一个普通的图形,并且通过属性bipartite
告诉它的唯一方法是bi-partite。如果您需要做一些事情,比如投影图表或仅访问一侧,那么在networkX documentation中就会有更多内容。