
    !}g7                         d dl Z d dlZd dlmZ d dlmZ  G d d          ZddZe	dk    r!d	Z
 ee
d
          D ]\  ZZ eee           dS dS )    N)
itemgetterc                   $    e Zd ZdZd Zd Zd ZdS )UndirectWeightedGraphg333333?c                 B    t          j        t                    | _        d S N)collectionsdefaultdictlistgraph)selfs    V/var/www/py-google-trends/myenv/lib/python3.11/site-packages/jieba/analyse/textrank.py__init__zUndirectWeightedGraph.__init__   s     ,T22


    c                     | j         |                             |||f           | j         |                             |||f           d S r   )r   append)r   startendweights       r   addEdgezUndirectWeightedGraph.addEdge   sK    
5  %f!5666
3UF344444r   c                     t          j        t                    }t          j        t                    }dt          | j                  z  }| j                                        D ]'\  }}|||<   t          d |D             d          ||<   (t          d          D ]i}| j                                        D ]M\  }}d}|D ]+}	||	d         ||	d                  z  ||	d                  z  z  },d| j        z
  | j        |z  z   ||<   Njt          j
        d         t          j
        d         }}
|                                D ]}||
k     r|}
||k    r|}|                                D ]\  }}||
d	z  z
  ||
d	z  z
  z  ||<   |S )
Ng      ?c              3   &   K   | ]}|d          V  dS )   N ).0es     r   	<genexpr>z-UndirectWeightedGraph.rank.<locals>.<genexpr>   s&      //aQqT//////r   g        
   r   r         g      $@)r   r	   floatlenr   itemssumrangedsys
float_infovalues)r   wsoutSumwsdefnoutxinedgessr   min_rankmax_rankws                r   rankzUndirectWeightedGraph.rank   s   $U++(//c$*oo%j&&(( 	6 	6FAsBqE//3///55F1IIr 	2 	2A"j..00 2 2
7  8 8A1qt,r!A$x77AATVtvz11	2 !$q 13>!3D8 	 	A8||XHHJJ 	I 	IDAqD(X4-GHBqEE	r   N)__name__
__module____qualname__r%   r   r   r4   r   r   r   r   r   	   sF        A3 3 35 5 5
    r   r   r   Fc                 0   t          d          }t                      }t          j        t                    }d}t          t          j        |                     }t          t          |                    D ]w}||         j
        |v rft          |dz   ||z             D ]O}	|	t          |          k    r n9||	         j
        |vr'|||         j        ||	         j        fxx         dz  cc<   Px|                                D ](\  }
}|                    |
d         |
d         |           )|                                }|r2t          |                                t!          d          d          }nt          ||j        d          }|r
|d|         S |S )a  
    Extract keywords from sentence using TextRank algorithm.
    Parameter:
        - topK: return how many top keywords. `None` for all possible words.
        - withWeight: if True, return a list of (word, weight);
                      if False, return a list of words.
    )nsr,   vnv   r   r   T)keyreverseN)	frozensetr   r   r	   intr
   psegcutr$   r!   flagwordr"   r   r4   sortedr   __getitem__)sentencetopK
withWeightpos_filtgcmspanwordsijtermsr3   
nodes_ranktagss                 r   textrankrT   3   s    /00HA		 	%	%BD(##$$E3u:: 8 88=H$$1q5!d(++ 8 8E

??E8=00E!HM58=1222a72222HHJJ ) )q			%(E!Ha((((J Lj&&((jmmTJJJjj&<dKKK ETE{r   __main__uj  此外，公司拟对全资子公司吉林欧亚置业有限公司增资4.3亿元，增资后，吉林欧亚置业注册资本由7000万元增加到5亿元。吉林欧亚置业主要经营范围为房地产开发及百货零售等业务。目前在建吉林欧亚城市商业综合体项目。2013年，实现营业收入0万元，实现净利润-139.13万元。T)rI   )r   F)r&   r   operatorr   jieba.possegpossegrA   r   rT   r5   r0   r.   r3   printr   r   r   <module>rZ      s    


                ' ' ' ' ' ' ' 'T! ! ! !F z 	uAt,,,  1a  r   