Example #1
0
def test_similarity():
    # TFIDF.similarity Test
    tfidf1_sample = [['Apple', 1], ['Orange', 2], ['Banana', 1], ['Kiwi', 0]]
    tfidf2_sample = [['Apple', 1], ['Orange', 0], ['Banana', 2], ['Kiwi', 1]]

    # Tf-Idf cosは0.5であること
    r = TFIDF.similarity(tfidf1_sample, tfidf2_sample)
    assert round(r - 0.5, 7) == 0

    # 同じTf-IdfはTf-Idf cosが1.0であること
    r = TFIDF.similarity(tfidf1_sample, tfidf1_sample)
    assert round(r - 1, 7) == 0
Example #2
0
def test_tfidf():
    # 中日
    url = "https://ja.wikipedia.org/wiki/%E6%9D%B1%E4%BA%AC%E3%83%A4%E3%82%AF%E3%83%AB%E3%83%88%E3%82%B9%E3%83%AF%E3%83%AD%E3%83%BC%E3%82%BA"
    tfidf1 = TFIDF.gen_web(url)

    # 山本昌
    url = "https://ja.wikipedia.org/wiki/%E5%B1%B1%E6%9C%AC%E6%98%8C"
    tfidf2 = TFIDF.gen_web(url)

    # print tfidf1
    for k, v in tfidf1:
        print k, v

    print "~~~~~~~~~~~~~~~"

    # print tfidf2
    for k, v in tfidf2:
        print k, v

    print TFIDF.similarity(tfidf1, tfidf2)
Example #3
0
def test_tfidf_multi():
    # 山本昌
    _base_url = "https://ja.wikipedia.org/wiki/%E5%B1%B1%E6%9C%AC%E6%98%8C"

    # 比較対象
    data = [
        ['巨人',
         'https://ja.wikipedia.org/wiki/%E8%AA%AD%E5%A3%B2%E3%82%B8%E3%83%A3%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%84'],
        ['中日', 'https://ja.wikipedia.org/wiki/%E4%B8%AD%E6%97%A5%E3%83%89%E3%83%A9%E3%82%B4%E3%83%B3%E3%82%BA'],
        ['サッカー日本代表',
         'https://ja.wikipedia.org/wiki/%E3%82%B5%E3%83%83%E3%82%AB%E3%83%BC%E6%97%A5%E6%9C%AC%E4%BB%A3%E8%A1%A8'],
    ]

    # 計算
    result = TFIDF.some_similarity(_base_url, data)

    # 結果表示
    result.sort(key=lambda x: x[2], reverse=True)
    for title, url, value in result:
        print title, value