Esempio n. 1
0
def word_count():
    data = mk30.load_morph()
    word_counter = defaultdict(int)

    for line in data:
        word_counter[line["base"]] += 1

    return word_counter
Esempio n. 2
0
def word_count():
    data = mk30.load_morph()
    word_counter = defaultdict(int)

    for line in data:
        word_counter[line["base"]] += 1

    return word_counter
Esempio n. 3
0
# coding=utf-8

"""
34. 「AのB」
2つの名詞が「の」で連結されている名詞句を抽出せよ.
"""

import mk30

data = mk30.load_morph()
for num, line in enumerate(data):
    if line["surface"] == "の" and data[num - 1]["pos"] == "名詞" and data[num + 1]["pos"] == "名詞":
        print data[num - 1]["surface"] + line["surface"] + data[num + 1]["surface"]

"""
スライディングウィンドウ
"""

"""
$ python mk34.py
彼の掌
掌の上
書生の顔
はずの顔
顔の真中
穴の中
書生の掌
掌の裏
何の事
肝心の母親
藁の上
Esempio n. 4
0
# coding=utf-8

"""
32. 動詞の原形
動詞の原形をすべて抽出せよ.
"""

import mk30

for line in mk30.load_morph():
    if line["pos"] == "動詞":
        print line["base"]

"""
$ python mk32.py
生れる
つく
する
泣く
する
いる
始める
見る
聞く
捕える
煮る
食う
思う
載せる
られる
持ち上げる
Esempio n. 5
0
# coding=utf-8

"""
35. 名詞の連接
名詞の連接(連続して出現する名詞)を最長一致で抽出せよ.
"""

import mk30

data = mk30.load_morph()
noun_ls = list()
for num, line in enumerate(data):
    if line["pos"] == "名詞" and data[num + 1]["pos"] == "名詞":
        # noun = noun + line["surface"]
        noun_ls.append(line["surface"])
    elif line["pos"] == "名詞" and data[num + 1]["pos"] != "名詞":
        noun_ls.append(line["surface"])
        if len(noun_ls) >= 2:
            print "".join(noun_ls)
        noun_ls = list()

"""
itertoolsのgroupby便利!
"""

"""
$ python mk35.py
人間中
一番獰悪
時妙
一毛
Esempio n. 6
0
# coding=utf-8

"""
33. サ変名詞
サ変接続の名詞をすべて抽出せよ.
"""

import mk30

for line in mk30.load_morph():
    if line["pos1"] == "サ変接続":
        print line["surface"]

"""
$ python mk33.py
見当
記憶
話
装飾
突起
運転
記憶
分別
決心
我慢
餓死
訪問
始末
猶予
遭遇
我慢