Kota Takahashi commited on
Commit
44bec05
1 Parent(s): fbd2a16

説明文を修正

Browse files
cosine_similarity_calculator.py CHANGED
@@ -11,10 +11,10 @@ class CosineSimilarityCalculator:
11
  事前トレーニング済みのWord2Vecモデルをロード
12
 
13
  Parameters:
14
- - なし。
15
 
16
  Returns:
17
- - なし。
18
  """
19
  self.model = gensim.models.Word2Vec.load(CosineSimilarityCalculator.model_path)
20
 
@@ -32,27 +32,27 @@ class CosineSimilarityCalculator:
32
 
33
  def _calculate_cosine_similarity(self, embedding1, embedding2):
34
  """
35
- コサイン類似度を計算
36
 
37
  Parameters:
38
- - embedding1 (numpy.ndarray): 1つ目の埋め込みベクトル(2次元配列)
39
- - embedding2 (numpy.ndarray): 2つ目の埋め込みベクトル(2次元配列)
40
 
41
  Returns:
42
- - similarity (numpy.ndarray): コサイン類似度
43
  """
44
  return cosine_similarity(embedding1, embedding2)
45
 
46
  def calculate_similarity(self, search_word, article_keyword_list):
47
  """
48
- 指定された検索ワードと記事のキーワードリストの間のコサイン類似度を計算
49
  モデルにない単語の場合はエラーメッセージを出力しブレイクする
50
 
51
  Parameters:
52
  - search_word (str): 検索ワード
53
  - article_keyword_list (list): 記事のキーワードリスト
54
  Returns:
55
- - similarities (dict): 記事キーワードとそれぞれの検索ワードのコサイン類似度を含むdictを作成。
56
  モデルにない単語の場合はNoneを返す
57
  """
58
  # 検索ワードの埋め込みベクトルを取得
@@ -72,4 +72,4 @@ class CosineSimilarityCalculator:
72
  similarities[keyword] = similarity[0][0]
73
  else:
74
  similarities[keyword] = None
75
- return similarities
 
11
  事前トレーニング済みのWord2Vecモデルをロード
12
 
13
  Parameters:
14
+ - なし
15
 
16
  Returns:
17
+ - なし
18
  """
19
  self.model = gensim.models.Word2Vec.load(CosineSimilarityCalculator.model_path)
20
 
 
32
 
33
  def _calculate_cosine_similarity(self, embedding1, embedding2):
34
  """
35
+ cos類似度を計算
36
 
37
  Parameters:
38
+ - embedding1 (numpy.ndarray): 1つ目の単語ベクトル(2次元配列)
39
+ - embedding2 (numpy.ndarray): 2つ目の単語ベクトル(2次元配列)
40
 
41
  Returns:
42
+ - similarity (numpy.ndarray): cos類似度
43
  """
44
  return cosine_similarity(embedding1, embedding2)
45
 
46
  def calculate_similarity(self, search_word, article_keyword_list):
47
  """
48
+ 指定された検索ワードと記事のキーワードリストの間のcos類似度を計算
49
  モデルにない単語の場合はエラーメッセージを出力しブレイクする
50
 
51
  Parameters:
52
  - search_word (str): 検索ワード
53
  - article_keyword_list (list): 記事のキーワードリスト
54
  Returns:
55
+ - similarities (dict): 記事キーワードとそれぞれの検索ワードのcos類似度を含むdictを作成
56
  モデルにない単語の場合はNoneを返す
57
  """
58
  # 検索ワードの埋め込みベクトルを取得
 
72
  similarities[keyword] = similarity[0][0]
73
  else:
74
  similarities[keyword] = None
75
+ return similarities
news_scraper.py CHANGED
@@ -7,19 +7,19 @@ from time import sleep
7
  class Scraper:
8
  def __init__(self):
9
  """
10
- Scraperクラスを初期化し、requestsセッションを作成する。
11
  """
12
  self.session = requests.Session()
13
 
14
  def _fetch_content(self, url):
15
  """
16
- 指定されたURLのコンテンツを取得する。
17
 
18
  Parameters:
19
- - url (str): 取得するウェブページのURL
20
 
21
  Returns:
22
- - content (bytes): 取得したコンテンツのバイトデータ。
23
  """
24
  response = self.session.get(url)
25
  response.raise_for_status() # HTTPエラーが発生した場合は例外を投げる
@@ -27,13 +27,13 @@ class Scraper:
27
 
28
  def _parse_html(self, html):
29
  """
30
- HTMLコンテンツをBeautifulSoupでパースする。
31
 
32
  Parameters:
33
- - html (bytes): パースするHTMLコンテンツ。
34
 
35
  Returns:
36
- - soup (BeautifulSoup): パースされたBeautifulSoupオブジェクト。
37
  """
38
  soup = BeautifulSoup(html, 'html.parser')
39
  return soup
@@ -44,7 +44,7 @@ class YahooNewsScraper(Scraper):
44
 
45
  def get_news_urls(self):
46
  """
47
- Yahooニュースのトップページから最新ニュース記事のURLを取得する
48
 
49
  Parameters:
50
  - なし
@@ -129,3 +129,5 @@ class YahooNewsScraper(Scraper):
129
  sleep(1) # サーバー負荷を避けるためにさらに1秒待機
130
  article_text = self.get_full_article_text(detail_url)
131
  return article_text, detail_url
 
 
 
7
  class Scraper:
8
  def __init__(self):
9
  """
10
+ Scraperクラスを初期化し、requestsセッションを作成
11
  """
12
  self.session = requests.Session()
13
 
14
  def _fetch_content(self, url):
15
  """
16
+ 指定されたURLのコンテンツを取得する
17
 
18
  Parameters:
19
+ - url (str): 取得するウェブページのURL
20
 
21
  Returns:
22
+ - content (bytes): 取得したコンテンツのデータ
23
  """
24
  response = self.session.get(url)
25
  response.raise_for_status() # HTTPエラーが発生した場合は例外を投げる
 
27
 
28
  def _parse_html(self, html):
29
  """
30
+ HTMLコンテンツをBeautifulSoupでパース
31
 
32
  Parameters:
33
+ - html (bytes): パースするHTMLコンテンツ
34
 
35
  Returns:
36
+ - soup (BeautifulSoup): パースされたBeautifulSoupオブジェクト
37
  """
38
  soup = BeautifulSoup(html, 'html.parser')
39
  return soup
 
44
 
45
  def get_news_urls(self):
46
  """
47
+ Yahooニュースのトップページから最新ニュース記事のURLを取得
48
 
49
  Parameters:
50
  - なし
 
129
  sleep(1) # サーバー負荷を避けるためにさらに1秒待機
130
  article_text = self.get_full_article_text(detail_url)
131
  return article_text, detail_url
132
+
133
+
tfidf_calculator.py CHANGED
@@ -5,7 +5,7 @@ from sklearn.feature_extraction.text import TfidfVectorizer
5
 
6
  class JapaneseTextVectorizer:
7
  def __init__(self):
8
- """
9
  MeCabのTaggerとTF-IDFベクトライザーを初期化
10
  """
11
  self.mecab_tagger = MeCab.Tagger()
 
5
 
6
  class JapaneseTextVectorizer:
7
  def __init__(self):
8
+ """
9
  MeCabのTaggerとTF-IDFベクトライザーを初期化
10
  """
11
  self.mecab_tagger = MeCab.Tagger()