-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathanalyzer.py
39 lines (29 loc) · 1.35 KB
/
analyzer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from janome.tokenizer import Tokenizer # janome.tokenizerをインポート
import re
def analyze(text):
"""形態素解析を行う
@param text 解析対象の文章
戻り値 見出しと品詞のペアを格納した多重リスト"""
t = Tokenizer() # Tokenizer オブジェクトを生成
tokens = t.tokenize(text) # 形態素解析を実行
result = [] # 解析結果の見出しと品詞を格納するリスト
# リストからTokensオブジェクトを一つずつ取り出す
for token in tokens:
result.append([token.surface, token.part_of_speech])
return result
def keyword_check(part):
"""品詞が名刺であるか調べる
@param part 形態素解析の品詞の部分
戻り値 名詞であればTrue,そうでなければFalse"""
return re.match('名詞,(一般|固有名詞|サ変接続|形容動詞語幹)', part)
def parse(text):
"""形態素解析によって形態素を取り出す
@param text マルコフ辞書のもとになるテキスト
戻り値 形態素のリスト
"""
t = Tokenizer() # Tokenizerのオブジェクトを生成
tokens = t.tokenize(text) # 形態素分析を実行
result = [] # 形態素を格納するリスト
for token in tokens:
result.append(token.surface)
return result