PR

Pythonスクレイピングツールで使う関数まとめ

ChatGPTに生成してもらった基礎編:最初のページはこちら。

ChatGPT入門ガイド: これだけ知っておけばOK!
ChatGPT入門ガイドでは、AI会話エンジンの基本概念や使い方をわかりやすく解説。無料プランと有料プランの違いやAPI利用方法まで網羅。これであなたもChatGPTの達人へ!
スポンサーリンク

Pythonスクレイピングツールで使う関数まとめ

ChatGPTにWeb情報収集ツールを作成してもらっていますが、ChatGPTの指示についていけてないので仕方がなくPythonを勉強しています。そのログになります。

ライブラリのインストール方法

Pythonでスクレイピングを行うために必要なライブラリは、Pythonパッケージ管理ツールであるpipを使って簡単にインストールすることができます。pipはPython本体に同梱されているため、通常は別途インストールする必要はありません。

ライブラリのインストール方法

ライブラリをインストールするには、コマンドプロンプトやターミナル上で以下のように入力します。

pip install ライブラリ名

例えば、スクレイピングによく使われるライブラリであるbeautifulsoup4をインストールする場合は、以下のようになります。

pip install beautifulsoup4

ライブラリのバージョン指定

ライブラリをインストールするときには、バージョン指定もできます。バージョン指定をしない場合は、最新バージョンがインストールされます。

バージョン指定をする場合は、以下のように入力します。

pip install ライブラリ名==バージョン番号

例えば、beautifulsoup4のバージョン4.9.3をインストールする場合は、以下のようになります。

pip install beautifulsoup4==4.9.3

インストールされたライブラリの確認

pipを使ってインストールされたライブラリの一覧を確認するには、以下のように入力します。

pip list

これにより、インストールされたライブラリの一覧が表示されます。また、特定のライブラリの詳細な情報を確認する場合は、以下のように入力します。

sql

pip show ライブラリ名

これにより、指定したライブラリの詳細な情報が表示されます。

Webページの取得方法

Webページを取得するためには、Pythonに標準で搭載されているurllibライブラリや、外部ライブラリであるrequestsライブラリが使用されます。

urllibライブラリを使ったWebページの取得方法

urllibライブラリを使う場合、urllib.requestモジュールのurlopen()関数を使用して、指定したURLのWebページを取得することができます。

python

import urllib.request

url = 'https://www.example.com/'
response = urllib.request.urlopen(url)
html = response.read().decode('utf-8')
print(html)

requestsライブラリを使ったWebページの取得方法

requestsライブラリを使う場合、requestsモジュールのget()メソッドを使用して、指定したURLのWebページを取得することができます。

python

import requests

url = 'https://www.example.com/'
response = requests.get(url)
html = response.text
print(html)

上記の例では、requests.get()メソッドで指定したURLのWebページを取得し、その内容をresponse.textで取得しています。

HTMLの解析方法

Webスクレイピングにおいて、HTMLの解析は非常に重要な作業となります。Pythonには、様々なHTML解析ライブラリが存在しますが、中でもBeautifulSoupが有名です。以下では、BeautifulSoupを用いたHTMLの解析方法について説明します。

BeautifulSoupの基本的な使い方

まずは、BeautifulSoupの基本的な使い方を見ていきましょう。BeautifulSoupを使うには、まずHTMLのテキストデータをパースして、解析用のオブジェクトを生成する必要があります。以下は、HTMLのテキストデータをBeautifulSoupオブジェクトに変換する例です。

python

from bs4 import BeautifulSoup

html = '<html><body><h1>Hello, world!</h1></body></html>'
soup = BeautifulSoup(html, 'html.parser')

上記の例では、HTMLのテキストデータをhtml変数に格納しています。そして、BeautifulSoupクラスのコンストラクタにhtml変数と解析用のパーサーを渡すことで、HTMLを解析用のオブジェクトであるsoupに変換しています。変換されたsoupオブジェクトを使うことで、HTMLの解析が可能となります。

CSSセレクタによる要素の取得

次に、BeautifulSoupを使ってCSSセレクタによる要素の取得方法を見ていきましょう。CSSセレクタは、HTMLの要素を指定するための方法で、BeautifulSoupではselect()メソッドを使ってCSSセレクタにマッチする要素を取得することができます。以下は、CSSセレクタを使ってHTMLから<h1>要素のテキストを取得する例です。

python

from bs4 import BeautifulSoup

html = '<html><body><h1>Hello, world!</h1></body></html>'
soup = BeautifulSoup(html, 'html.parser')

h1 = soup.select('h1')
print(h1[0].text) # => 'Hello, world!'

上記の例では、CSSセレクタでh1要素を指定しています。select()メソッドで取得された要素はリストで返されるため、インデックスで指定してテキストを取り出しています。

要素の属性値の取得

最後に、要素の属性値を取得する方法を見ていきましょう。BeautifulSoupでは、find()メソッドやselect()メソッドで要素を取得した後、辞書のように要素の属性値を取得することができます。以下は、<a>要素のhref属性値を取得する例です。

python

from bs4 import BeautifulSoup

html = '<html><body><a href="https://www.google.com">Google</a></body></html>'

soup = BeautifulSoup(html, 'html.parser')

a_tag = soup.find('a')
href = a_tag['href']
print(href)

この例では、まずBeautifulSoupオブジェクトを作成し、find()メソッドで<a>要素を取得します。取得した<a>要素に対して、辞書のように[]を使って属性値を取得します。ここではhref属性値を取得しています。取得したhref属性値は、変数hrefに格納され、print()関数で出力されます。このように、要素の属性値を取得することができます。

データの抽出方法(テキスト、画像、動画、音声など)

Webページから取得したデータには、テキストだけでなく画像、動画、音声などが含まれている場合があります。それぞれのデータを抽出する方法について見ていきましょう。

テキストの抽出方法

Webページからテキストを抽出する場合、BeautifulSoupの.text属性を使って要素のテキスト内容を取得することができます。また、特定の要素のテキストだけでなく、Webページ全体のテキストを取得することもできます。以下は、Webページから全体のテキストを取得する例です。

python

import requests
from bs4 import BeautifulSoup

url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
text = soup.get_text()
print(text)

画像の抽出方法

Webページから画像を抽出する場合、imgタグのsrc属性から画像のURLを取得し、requestsライブラリを使って画像をダウンロードすることができます。以下は、Webページから画像をダウンロードする例です。

python

import requests
from bs4 import BeautifulSoup

url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
img_tags = soup.find_all('img')

for img in img_tags:
    img_url = img['src']
    response = requests.get(img_url)
    with open('image.jpg', 'wb') as f:
        f.write(response.content)

動画・音声の抽出方法

Webページから動画や音声を抽出する場合、特定の要素の属性値から動画や音声のURLを取得し、requestsライブラリを使ってダウンロードすることができます。ただし、動画や音声の形式によっては、ダウンロードだけでは再生できない場合があります。以下は、Webページから音声をダウンロードする例です。

python

import requests
from bs4 import BeautifulSoup

url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
audio_tag = soup.find('audio')

if audio_tag:
    audio_url = audio_tag['src']
    response = requests.get(audio_url)
    with open('audio.mp3', 'wb') as f:
        f.write(response.content)

この例では、requestsライブラリを使ってWebページの内容を取得しています。BeautifulSoupライブラリを使って、Webページからaudioタグを取得しています。audioタグが存在する場合は、src属性の値から音声ファイルのURLを取得しています。requestsライブラリを使って、取得した音声ファイルをダウンロードし、ローカルのaudio.mp3というファイル名で保存しています。

ただし、この例では音声ファイルの形式がMP3であることを前提としています。音声ファイルの形式が異なる場合は、ダウンロードしたファイルを変換する必要があります。また、一部のWebサイトでは、音声ファイルのURLが暗号化されていたり、音声ファイルがストリーミング形式で提供されていたりするため、抽出方法には注意が必要です。

以上のように、動画や音声の抽出方法は、特定の要素の属性値からURLを取得し、ダウンロードすることが一般的です。ただし、ファイルの形式やストリーミング形式などによっては、追加の処理が必要になる場合があります。

スポンサーリンク

Web情報収集でよく使う関数まとめ

私が使った関数をまとめていきます。つまり勉強用のメモです。

Python関数requestsの使い方

Pythonのrequestsモジュールは、HTTPリクエストを行うためのライブラリであり、HTTP GET、POST、PUT、DELETEなど、さまざまなHTTPメソッドをサポートしています。requestsモジュールを使用すると、Webページをスクレイピングしたり、APIからデータを取得したりできます。以下に、requestsを使用してHTTP GETリクエストを送信する方法の例を示します。

python

import requests

response = requests.get('https://www.example.com')
print(response.content)

上記の例では、requests.get()関数を使用してWebサイトのコンテンツを取得しています。response.contentは、Webサイトのコンテンツをバイト形式で返します。requestsを使用してHTTPリクエストを送信する場合は、URLを指定するだけでなく、追加のパラメーターを指定することもできます。例えば、リクエストヘッダーを設定することができます。

python

import requests

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}

response = requests.get('https://www.example.com', headers=headers)
print(response.content)

上記の例では、ユーザーエージェントヘッダーをリクエストに追加しています。これにより、Webサイトからの応答が、通常のWebブラウザーからのリクエストであるかのようになります。HTTPリクエストを送信する方法を理解することは、WebスクレイピングやAPIの使用などの多くのタスクにとって重要な基礎となります。

よく使うrequest関数まとめ

requestsライブラリには以下のような関数が含まれています。

  • requests.get(url, params=None, **kwargs): GETリクエストを送信し、レスポンスオブジェクトを返します。
  • requests.post(url, data=None, json=None, **kwargs): POSTリクエストを送信し、レスポンスオブジェクトを返します。
  • requests.put(url, data=None, **kwargs): PUTリクエストを送信し、レスポンスオブジェクトを返します。
  • requests.delete(url, **kwargs): DELETEリクエストを送信し、レスポンスオブジェクトを返します。
  • requests.head(url, **kwargs): HEADリクエストを送信し、レスポンスオブジェクトを返します。
  • requests.options(url, **kwargs): OPTIONSリクエストを送信し、レスポンスオブジェクトを返します。
  • requests.request(method, url, **kwargs): カスタムHTTPメソッドのリクエストを送信し、レスポンスオブジェクトを返します。

これらの関数はHTTPリクエストを送信し、レスポンスを受信するために使用されます。引数やオプションの指定によって、リクエストの種類やパラメーターをカスタマイズすることができます。また、レスポンスオブジェクトには、HTTPステータスコードやレスポンスヘッダー、レスポンスボディなどの情報が含まれます。

HTTPリクエストとは

HTTPリクエストメソッドとは、クライアントがサーバーに対して行うリクエストの種類を指定するための方法です。主なHTTPリクエストメソッドは以下の通りです。

  1. GET:リソースの取得
  2. POST:リソースの作成や更新
  3. PUT:リソースの更新
  4. DELETE:リソースの削除
  5. HEAD:レスポンスヘッダの取得
  6. OPTIONS:許可されたメソッドの取得
  7. TRACE:リクエストのトレース
  8. CONNECT:トンネリング接続の確立

これらのメソッドは、HTTPリクエストにおいて最初の行に指定され、サーバーはそのメソッドに対応する処理を行います。また、クライアントからのリクエストに応じて、サーバーからはHTTPステータスコードが返されます。

Python関数BeautifulSoupの使い方

BeautifulSoupは、HTMLやXMLなどの文書を解析して、情報を抽出するためのPythonのライブラリです。このライブラリを使うことで、Webページからテキストや画像などの情報をスクレイピングすることができます。

よく使う関数まとめ

  • BeautifulSoup():HTMLデータをパースして、BeautifulSoupオブジェクトを返します。
  • find():指定したHTMLタグを探して、最初に見つかった要素を返します。
  • find_all():指定したHTMLタグをすべて探して、リストとして返します。
  • get_text():要素からテキストを取り出します。
  • prettify():BeautifulSoupオブジェクトを整形して、文字列として返します。
引数とセットの事例

以下は例です。

python

from bs4 import BeautifulSoup

# HTMLデータをパースして、BeautifulSoupオブジェクトを取得する
soup = BeautifulSoup(html_data, 'html.parser')

# find()を使って、最初に見つかったh1タグのテキストを取得する
h1_text = soup.find('h1').get_text()

# find_all()を使って、すべてのaタグのhref属性の値を取得する
a_href_list = [a['href'] for a in soup.find_all('a')]

# get_text()を使って、すべてのpタグのテキストを取得する
p_text_list = [p.get_text() for p in soup.find_all('p')]

# prettify()を使って、BeautifulSoupオブジェクトを整形して出力する
prettified_html = soup.prettify()
print(prettified_html)

実際に使う事例

例えば、以下のようなHTMLのソースコードがあるとします。

php

<html>
  <head>
    <title>Test</title>
  </head>
  <body>
    <div id="container">
      <h1>Welcome to my website</h1>
      <p>This is the first paragraph.</p>
      <p>This is the second paragraph.</p>
    </div>
  </body>
</html>

このHTMLデータから、h1要素とp要素のテキストを取得する場合は、以下のようなコードを書くことができます。

python

from bs4 import BeautifulSoup

html_data = '''
<html>
  <head>
    <title>Test</title>
  </head>
  <body>
    <div id="container">
      <h1>Welcome to my website</h1>
      <p>This is the first paragraph.</p>
      <p>This is the second paragraph.</p>
    </div>
  </body>
</html>
'''

soup = BeautifulSoup(html_data, 'html.parser')

h1_tag = soup.find('h1')
p_tags = soup.find_all('p')

print(h1_tag.get_text())
for p_tag in p_tags:
    print(p_tag.get_text())

このコードを実行すると、以下のような出力が得られます。

vbnetCopy codeWelcome to my website
This is the first paragraph.
This is the second paragraph.

ツール開発で使うよくある事例

ツール開発では、ウェブサイトから必要な情報を自動的に取得するためにBeautifulSoupを使うことがよくあります。

例えば、商品の価格情報を自動的に収集するスクレイピングツールを開発する場合は、商品の価格情報を表示しているHTMLタグを指定して、価格情報を取得することができます。

また、ウェブサイトの更新情報を自動的に取得して、メールで通知するシステムを開発する場合にも、BeautifulSoupを利用して、更新情報を取得することができます。

Python関数datetimeの使い方

Pythonには、日付、時間、タイムゾーンを扱うためのdatetimeモジュールがあります。このモジュールには、日付や時間を扱うクラスや関数が定義されており、多様な日付や時間の操作が可能です。以下では、datetimeモジュールでよく使用される関数やメソッド、またその使い方について紹介します。

よく使う関数まとめ

  • datetime.date(year, month, day):年、月、日の値を引数にとり、dateオブジェクトを返します。日付の操作に使用されます。
  • datetime.time(hour, minute, second, microsecond):時間を表すtimeオブジェクトを返します。
  • datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0):日付と時間を引数にとり、datetimeオブジェクトを返します。
  • datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0):2つの日付、または日付と時間の差分を表すtimedeltaオブジェクトを返します。

実際に使う事例

例えば、現在時刻を取得したい場合は、datetimeモジュールのdatetimeクラスを使用します。

python

import datetime

now = datetime.datetime.now()

print(now)

このコードを実行すると、現在の日時が表示されます。また、timedeltaオブジェクトを使用して、2つの日付の差分を計算することができます。

python

import datetime

date1 = datetime.date(2023, 4, 25)
date2 = datetime.date(2022, 4, 25)
delta = date1 - date2

print(delta.days)

このコードでは、date1とdate2の差分を計算し、その日数を表示しています。

ツール開発で使うよくある事例

日付や時間を操作する必要があるツールを開発する場合、datetimeモジュールを使用することが多いです。

例えば、ログファイルを処理するスクリプトを開発する場合、ログファイルの日付と現在の日付を比較して、古いログファイルを自動的に削除することができます。

また、タイムゾーンを考慮した処理を行いたい場合は、pytzモジュールを使用してタイムゾーンを指定することができます。これらの機能を使うことで、より効率的なツールの開発が可能になります。

Python関数gensimの使い方

gensimは、Pythonの自然言語処理ライブラリの一つで、トピックモデルや文書ベクトルの生成、テキストマイニングなどに利用されます。ここではgensimの基本的な使い方について説明します。

よく使う関数まとめ

gensimのよく使われる関数は以下の通りです。

  • corpora.Dictionary():テキストデータの辞書化を行います。
  • models.TfidfModel():TF-IDF値を計算します。
  • models.LdaModel():トピックモデリングを行います。
  • similarities.MatrixSimilarity():文書ベクトルの類似度を計算します。
関数使用事例

gensimの関数を使用した例です。

corpora.Dictionary():
css

from gensim import corpora

texts = [['apple', 'pen', 'pineapple'], ['pen', 'orange']]
dictionary = corpora.Dictionary(texts)
models.TfidfModel():
scss

from gensim import corpora, models

texts = [['apple', 'pen', 'pineapple'], ['pen', 'orange']]
dictionary = corpora.Dictionary(texts)
corpus = [dictionary.doc2bow(text) for text in texts]
tfidf = models.TfidfModel(corpus)
tfidf_corpus = tfidf[corpus]
models.LdaModel():
scss

from gensim import corpora, models

texts = [['apple', 'pen', 'pineapple'], ['pen', 'orange']]
dictionary = corpora.Dictionary(texts)
corpus = [dictionary.doc2bow(text) for text in texts]
lda = models.LdaModel(corpus, num_topics=2, id2word=dictionary, passes=10)
similarities.MatrixSimilarity():
scss

from gensim import corpora, models, similarities

texts = [['apple', 'pen', 'pineapple'], ['pen', 'orange']]
dictionary = corpora.Dictionary(texts)
corpus = [dictionary.doc2bow(text) for text in texts]
tfidf = models.TfidfModel(corpus)
tfidf_corpus = tfidf[corpus]
index = similarities.MatrixSimilarity(tfidf_corpus)
sims = index[tfidf_corpus]

実際に使う事例

例えば、gensimを用いて、ある文書集合からトピックモデルを生成する場合を考えます。まず、文書集合を前処理し、各文書を単語のリストに変換します。その後、辞書化を行い、単語にIDを割り当てます。そのIDによって、各文書を単語IDのリストに変換します。次に、TF-IDF値を計算し、トピックモデルを生成します。最後に、トピックに対する文書の割り当てを行い、トピック分析を行います。

python

from gensim import corpora, models

# テキストデータの前処理
texts = preprocess_data()

# 辞書化
dictionary = corpora.Dictionary(texts)
dictionary.save('dictionary.dict')

# 単語IDのリストに変換
corpus = [dictionary.doc2bow(text) for text in texts]
corpora.MmCorpus.serialize('corpus.mm', corpus)

# TF-IDF値の計算
tfidf = models.TfidfModel(corpus)
tfidf.save('tfidf.model')

# トピックモデリング
num_topics = 5
lda_model = models.LdaModel(tfidf[corpus], id2word=dictionary, num_topics=num_topics)
lda_model.save('lda.model')

# トピック分析
topics = lda_model.show_topics(num_topics=num_topics, formatted=False)
for topic in topics:
    print(f'Topic {topic[0]}: {", ".join([word[0] for word in topic[1]])}')
データ処理する場合の考え方

gensimで自然言語処理を行う場合には、テキストデータをPythonの文字列として読み込んで、gensimで処理するためにトークン化・前処理を行う必要があります。

通常、gensimで自然言語処理を行う前には、以下のような前処理を行います。

  1. テキストデータのトークン化
  2. ストップワードの除去
  3. テキストデータのクリーニング(HTMLタグの削除、数字や記号の除去など)
  4. 形態素解析(日本語の場合)

gensimでは、トークン化やストップワードの除去などの前処理を行うための関数が用意されています。具体的には、以下の関数があります。

  • gensim.utils.tokenize
  • gensim.parsing.preprocessing.remove_stopwords
  • gensim.parsing.preprocessing.strip_tags
  • gensim.parsing.preprocessing.strip_punctuation
  • gensim.parsing.preprocessing.strip_numeric

また、gensimでは、コーパスと呼ばれるgensimが扱いやすい形式にデータを変換することができます。これにより、gensimでの自然言語処理を高速化することができます。

コーパスには、以下のような種類があります。

  • Dictionary:単語をIDに変換する辞書オブジェクト
  • MmCorpus:Matrix Market形式のコーパス
  • BleiCorpus:Bleiが提唱する文書のトピック分類法に基づくコーパス
  • TextCorpus:テキスト形式のコーパス

これらのコーパスは、gensimの関数を使って簡単に作成することができます。

実用例

実際にサイトAからテキストを取得して、前処理したデータをgensimで分析する場合にはどのようなコードになるか例示してください。

以下は、サイトAからテキストを取得して、前処理したデータをgensimで分析する例です。この例では、requestsライブラリを使用してWebページのHTMLを取得し、BeautifulSoupライブラリを使用してHTMLを解析しています。また、MeCabを使用してテキストを形態素解析し、gensimを使用してトピックモデリングを行っています。

python

import requests
from bs4 import BeautifulSoup
import MeCab
from gensim import corpora, models

# WebページのHTMLを取得
url = "https://example.com"
response = requests.get(url)
html = response.content

# BeautifulSoupを使用してHTMLを解析
soup = BeautifulSoup(html, "html.parser")

# テキストの抽出と前処理
text = soup.get_text() # テキストの抽出
text = text.replace("\n", "") # 改行の削除

# MeCabを使用してテキストを形態素解析
tagger = MeCab.Tagger("-Owakati")
words = tagger.parse(text).strip().split(" ")

# gensimを使用してトピックモデリング
dictionary = corpora.Dictionary([words])
corpus = [dictionary.doc2bow(words)]
tfidf_model = models.TfidfModel(corpus)
corpus_tfidf = tfidf_model[corpus]
lda_model = models.LdaModel(corpus_tfidf, num_topics=5, id2word=dictionary)

この例では、WebページからHTMLを取得して、BeautifulSoupを使用してテキストを抽出しています。抽出したテキストに対して、改行を削除したり、MeCabを使用して形態素解析したりしています。最後に、gensimを使用してトピックモデリングを行っています。

ツール開発で使うよくある事例

gensimは、自然言語処理に特化したライブラリであり、テキストデータの前処理、トピックモデリング、ベクトル空間モデルなどのタスクを簡単に実装できます。これらの機能を活用することで、テキストデータの分析や検索エンジンの開発など、様々な自然言語処理に関するツール開発に活用されています。また、gensimはPythonで実装されているため、Pythonで開発されているプログラムとの統合も容易です。

Python関数MeCabの使い方

MeCabは、日本語の形態素解析ライブラリで、Pythonでの形態素解析にも使用されます。MeCabを使うことで、日本語の文章を単語や品詞に分解して、機械学習や自然言語処理の前処理に使うことができます。本記事では、MeCabのよく使う関数や実際に使う事例、ツール開発で使うよくある事例について説明します。

よく使う関数まとめ

MeCab.Tagger()

MeCab.Tagger()は、形態素解析を行うための関数で、引数に辞書を指定して解析器を生成します。デフォルトではIPA辞書を使用します。例えば、以下のようにMeCab.Tagger()を使用することができます。

python

import MeCab

m = MeCab.Tagger('-Owakati')  # 分かち書きにする場合
result = m.parse('MeCabを使った形態素解析')  # 文章を解析する
print(result)
node.surface

MeCab.parse()で解析した文を、単語ごとに分解するには、MeCab.Nodeクラスのsurfaceを使用します。以下のように、MeCab.Tagger().parse()で文を解析して、MeCab.Node()で単語ごとに分解することができます。

python

import MeCab

m = MeCab.Tagger()
text = 'PythonでMeCabを使って形態素解析をする。'
node = m.parseToNode(text)

while node:
    print(node.surface)
    node = node.next
node.feature

MeCab.parse()で解析した文を、品詞ごとに分解するには、MeCab.Nodeクラスのfeatureを使用します。以下のように、MeCab.Tagger().parse()で文を解析して、MeCab.Node()で品詞ごとに分解することができます。

pythonCopy codeimport MeCab

m = MeCab.Tagger()
text = 'PythonでMeCabを使って形態素解析をする。'
node = m.parseToNode(text)

while node:
    print(node.surface, node.feature)
    node = node.next

実際に使う事例

MeCabは形態素解析によって、テキストを単語に分割して形態素情報を抽出することができます。以下は、MeCabを使って日本語のテキストを形態素解析する例です。

pythonCopy codeimport MeCab

text = "この文章を形態素解析してください。"
tagger = MeCab.Tagger("-Ochasen")
node = tagger.parseToNode(text)

while node:
    word = node.surface
    pos = node.feature.split(",")[0]
    print(f"{word}\t{pos}")
    node = node.next

このコードでは、MeCabの Tagger オブジェクトを作成し、parseToNode() メソッドを使用してテキストを解析します。解析結果は、Node オブジェクトを順にたどることで単語と品詞の情報を取得することができます。上記のコードを実行すると、以下のような出力が得られます。

Copy codeこの	連体詞
文章	名詞
を	助詞
形態素解析	名詞
し	動詞
て	助詞
ください	動詞
。	記号

ツール開発で使うよくある事例

MeCabは、形態素解析エンジンとして、さまざまなツールやアプリケーションで利用されています。例えば、以下のような事例が挙げられます。

  • 日本語の検索エンジンや自然言語処理ツールで利用される形態素解析エンジンとして、MeCabが採用されることがあります。
  • テキストマイニングや自然言語処理の研究で、MeCabを使って日本語のテキストデータを前処理することがあります。
  • Pythonの機械学習ライブラリであるscikit-learnのCountVectorizerTfidfVectorizerと組み合わせて、日本語のテキストデータをベクトル化することができます。

MeCabは、高速で精度の高い形態素解析を行うことができるため、日本語の自然言語処理において欠かせないツールの一つです。

Python関数reの使い方

正規表現を扱うPythonの標準ライブラリであるreモジュールは、テキスト処理や検索などの場面で非常に便利です。この記事では、reモジュールでよく使われる関数や正規表現の書き方、またその使い方について紹介していきます。

よく使う関数まとめ

以下は、reモジュールでよく使われる関数の一部です。

  • re.compile(): 正規表現パターンをコンパイルし、正規表現オブジェクトを返します。
  • re.search(): 正規表現パターンに一致する最初の部分文字列を探し、Matchオブジェクトを返します。
  • re.match(): 文字列の先頭から正規表現パターンに一致するかをチェックし、Matchオブジェクトを返します。
  • re.findall(): 正規表現パターンに一致する部分文字列を全て探し、リストとして返します。
  • re.sub(): 正規表現パターンに一致する部分文字列を置換します。
実用的なコード例

まずは正規表現パターンをコンパイルし、正規表現オブジェクトを返すre.compile()関数を使った例を見てみましょう。

pythonCopy codeimport re

# 正規表現パターンをコンパイル
pattern = re.compile(r'(\d{3})-(\d{4})-(\d{4})')

# テスト用文字列
text = '私の電話番号は080-1234-5678です。'

# 正規表現オブジェクトで文字列を検索
match_object = pattern.search(text)

if match_object:
    # グループ化した部分文字列を取得
    print(match_object.group())

この例では、re.compile()関数を使って、電話番号を検索する正規表現パターンをコンパイルしています。re.search()関数で検索を実行し、電話番号に一致する部分文字列を取得しています。正規表現オブジェクトを再利用する必要がある場合、パフォーマンスを向上させることができます。

次に、re.search()関数で正規表現パターンに一致する最初の部分文字列を探し、Matchオブジェクトを返す例を見てみましょう。

pythonCopy codeimport re

# テスト用文字列
text = 'Hello, World!'

# 正規表現で文字列を検索
match_object = re.search(r'World', text)

if match_object:
    print(match_object.group())

この例では、re.search()関数を使って、テキストの中から「World」に一致する部分文字列を検索し、その結果を出力しています。

次に、re.match()関数を使って、文字列の先頭から正規表現パターンに一致するかをチェックし、Matchオブジェクトを返す例を見てみましょう。

pythonCopy codeimport re

# テスト用文字列
text = 'Python is a programming language.'

# 正規表現で文字列を検索
match_object = re.match(r'Python', text)

if match_object:
    print(match_object.group())

この例では、re.match()関数を使って、テキストの先頭が「Python」に一致するかどうかを検索し、その結果を出力しています。

次に、re.findall()関数を使って、正規表現パターンに一致する部分文字列を全て探し、リストとして返す例を見てみましょう。

以下は、re.findall()関数を使って、正規表現パターンに一致する部分文字列を全て探し、リストとして返す例です。

python

import re

# テスト用文字列
text = 'Python is an easy-to-learn programming language.'

# 正規表現で文字列を検索し、マッチする部分文字列を全てリストで返す
result = re.findall(r'\w+', text)

print(result)

出力:

css

['Python', 'is', 'an', 'easy', 'to', 'learn', 'programming', 'language']

実際に使う事例

例えば、文字列の中に特定のパターンが含まれているかをチェックする場合、re.search()を使用することができます。以下は、文字列中に”apple”という単語が含まれているかをチェックする例です。

python

import re

text = "I have an apple."
pattern = "apple"

if re.search(pattern, text):
    print("The pattern was found.")
else:
    print("The pattern was not found.")

re.search()は、文字列の中で最初にパターンが見つかった場合にMatchオブジェクトを返します。この例では、文字列中に”apple”という単語が含まれているので、パターンが見つかります。

実際に使う事例

正規表現を使ったテキスト処理の例をいくつか紹介します。

1. パターンにマッチする文字列を抽出する

正規表現を使えば、あるパターンにマッチする文字列を簡単に抽出できます。以下は、テキスト中に含まれる日付表記を正規表現で抽出する例です。

python

import re

text = "私は2022年5月21日に生まれました。"
pattern = r"\d{4}年\d{1,2}月\d{1,2}日"
match = re.search(pattern, text)
if match:
    print(match.group())  # 2022年5月21日

上記のコードでは、\dは数字を表し、{4}は4回繰り返すことを表しています。同様に、\d{1,2}は1回または2回数字を繰り返すことを表します。re.search関数は、パターンにマッチする最初の文字列を検索します。上記の例では、日付表記にマッチする文字列が1つだけなので、match.group()でその文字列を取得しています。

2. 文字列を置換する

正規表現を使えば、文字列中の一部を簡単に置換できます。以下は、テキスト中のURLを<a>タグに置換する例です。

python

import re

text = "私のブログはhttps://example.comです。"
pattern = r"(https?://[\w/:%#$&\?\(\)~\.=\+\-]+)"
replacement = r"<a href=''></a>"
replaced_text = re.sub(pattern, replacement, text)
print(replaced_text)  # 私のブログは<a href='https://example.com'>https://example.com</a>です。

上記のコードでは、URLを表すパターンを定義し、そのパターンにマッチする文字列を<a>タグに置換しています。re.sub関数は、パターンにマッチする文字列を指定した文字列に置換します。置換する文字列には、パターンにマッチした文字列を参照するためのグループ参照(\1)を含めることができます。

3. 文字列を分割する

正規表現を使えば、文字列を正規表現にマッチする部分で分割することができます。以下は、CSV形式の文字列を正規表現で分割する例です。

以下が続きのコードになります。

python

import re

csv_string = 'apple,orange,grape'
split_csv = re.split(',', csv_string)
print(split_csv) # ['apple', 'orange', 'grape']

この例では、CSV形式の文字列を正規表現','で分割しています。re.split()を使えば、特定の文字や正規表現で文字列を分割することができます。

正規表現を使った置換 正規表現は、文字列の置換にも利用できます。以下は、HTMLタグを除去する例です。

python

import re

html_string = '<div>some text</div>'
cleaned_string = re.sub('<.*?>', '', html_string)
print(cleaned_string) # some text

この例では、<.*?>という正規表現を使って、HTMLタグを置換しています。<で始まり、>で終わる文字列を正規表現で表現しています。.は任意の1文字を表し、*は0回以上の繰り返しを表します。?は、0回か1回の繰り返しを表します。この正規表現を使うことで、HTMLタグを除去することができます。

以上が、Pythonのreモジュールの使い方の例です。正規表現を使えば、文字列の操作をより高度に行うことができます。ただし、正規表現は複雑な場合が多く、誤った使い方をすると思わぬバグを生むこともあるので、注意が必要です。

Python関数collectionsの使い方

Pythonのcollectionsモジュールは、標準のデータ型であるリスト、辞書、セットなどの操作を高速化するためのデータ構造を提供します。具体的には、deque、defaultdict、OrderedDict、Counterなどのデータ構造が用意されており、特定の用途に特化したデータ構造を使用することで、コードの簡略化や実行速度の向上が期待できます。

よく使う関数まとめ

以下は、collectionsモジュールでよく使われる関数の一覧です。

  • deque:スタックやキューを効率的に実装するための双方向キュー。
  • defaultdict:辞書のキーに対応する値が存在しない場合に、初期値を設定して新たに要素を追加することができる辞書。
  • OrderedDict:要素が追加された順番を保持することができる辞書。
  • Counter:リストや文字列などの要素の出現回数をカウントすることができる辞書。

実際に使う事例

以下は、collectionsモジュールを使用して、リストや文字列などの要素の出現回数をカウントする例です。Counterオブジェクトにリストを渡すと、リスト内の各要素の出現回数を辞書として返します。

python

from collections import Counter

lst = [1, 2, 3, 3, 3, 4, 5, 5]
count = Counter(lst)
print(count)
# 出力結果:Counter({3: 3, 5: 2, 1: 1, 2: 1, 4: 1})

text = 'apple orange banana apple apple grape'
count = Counter(text.split())
print(count)
# 出力結果:Counter({'apple': 3, 'orange': 1, 'banana': 1, 'grape': 1})

ツール開発で使うよくある事例

collectionsモジュールは、データ構造を効率的に扱うためのツール開発に広く用いられます。例えば、webアプリケーションのように大量のデータを扱う場合や、科学技術計算などで高速な演算を必要とする場合に使用されます。また、自然言語処理の分野でも、テキストデータを扱う際にCounterやdefaultdictなどのデータ構造が使用されます。以下は、webアプリケーションでの使用例です。

python

from collections import deque

queue = deque(maxlen=10)
for i in range(20):
queue.append(i)
print(queue)

Output: deque([10, 11, 12, 13, 14, 15, 16, 17, 18, 19], maxlen=10)

この例では、先入れ先出し(FIFO)のキューを実装しています。dequeオブジェクトは、maxlen引数を使ってキューサイズを設定できます。これにより、キューにデータが加わりすぎることを防ぎ、容易にデータを削除できます。

さらに、collectionsモジュールには、namedtupleやOrderedDictなどの便利なデータ構造も含まれています。namedtupleは、属性を持つタプルを生成するためのファクトリ関数であり、コードを簡潔にするのに役立ちます。OrderedDictは、キーの挿入順序を保持する辞書であり、その順序に従って要素にアクセスすることができます。これらのデータ構造をうまく活用することで、コードの保守性や可読性が向上し、より効率的なプログラミングが可能となります。

Python関数itertoolsの使い方

Pythonには、反復処理を行うための標準ライブラリの一つであるitertoolsが用意されています。itertoolsを使うことで、複数のイテレータやイテラブルなオブジェクトを簡単に操作することができます。例えば、繰り返し処理を行う場合や、組み合わせや順列を生成する場合に利用されます。

イテレータやイテラブルなオブジェクトとは

イテラブルとは、要素を1つずつ取り出せるオブジェクトを指します。例えば、リスト、タプル、文字列、辞書などがイテラブルです。

一方、イテレータとは、イテラブルオブジェクトから次々と要素を取り出すことができるオブジェクトを指します。イテレータオブジェクトは、__next__()メソッドを持ち、このメソッドを呼び出すことで、次の要素を取り出すことができます。また、__iter__()メソッドを持ち、自身を返すことでイテラブルオブジェクトにもなります。

具体的な例として、リストをイテレータに変換して、次々と要素を取り出すプログラムを示します。

python

lst = [1, 2, 3, 4, 5]
itr = iter(lst)
print(next(itr))  # 1を取り出す
print(next(itr))  # 2を取り出す

ここでは、iter()関数を使ってリストlstをイテレータitrに変換しています。そして、next()関数を使ってitrから要素を取り出しています。next()関数は、引数に渡されたイテレータから次の要素を取り出し、それを返します。次の要素がない場合にはStopIteration例外が発生します。

イテレータとイテラブルは、forループでも利用されます。forループでは、イテラブルオブジェクトから順番に要素を取り出し、反復処理を行います。具体的には、以下のように記述します。

python

lst = [1, 2, 3, 4, 5]
for i in lst:
    print(i)

このプログラムでは、リストlstをイテラブルとしてforループに渡しています。forループは、lstから順番に要素を取り出して、iに代入しています。そして、print()関数でiを出力しています。このように、イテラブルとイテレータはPythonの基本的な概念であり、プログラミングにおいて非常に重要な役割を果たします。

よく使う関数まとめ

itertoolsモジュールには、多くの便利な関数が用意されています。ここでは、よく使われる関数をいくつか紹介します。

  • itertools.chain(): 複数のイテラブルオブジェクトを連結し、1つのイテラブルオブジェクトとして返します。
  • itertools.count(): 無限ループを生成し、指定されたステップ幅でカウントアップします。
  • itertools.cycle(): 指定されたイテラブルオブジェクトを繰り返し返す無限ループを生成します。
  • itertools.product(): 複数のイテラブルオブジェクトから、順列や直積を生成します。
  • itertools.combinations(): 指定されたイテラブルオブジェクトから、要素の組み合わせを生成します。

実際に使う事例

itertoolsを使った実際のコード例を見てみましょう。以下は、2つのリストから要素の組み合わせを生成し、それぞれの組み合わせに対して和を計算する例です。

pythonCopy codeimport itertools

list1 = [1, 2, 3]
list2 = [4, 5, 6]
for i, j in itertools.product(list1, list2):
    print(i + j)

このコードでは、itertools.product()関数を使って、list1とlist2から要素の組み合わせを生成し、forループでそれぞれの組み合わせに対して和を計算しています。

ツール開発で使うよくある事例

itertoolsは、ツール開発においても広く利用されています。例えば、組み合わせ最適化問題や、集合カバー問題などでよく使われます。また、データ分析においても、大量のデータを処理する際にitertoolsを活用することで、高速な処理を実現することができます。

Python関数osの使い方

Pythonのosモジュールは、ファイルシステムを操作するための機能を提供しています。ファイルの読み書き、ディレクトリの操作、環境変数の設定などが行えます。本記事では、osモジュールの概要や、よく使う関数、実際の使用例、ツール開発での使用例について紹介します。

よく使う関数まとめ

ファイル・ディレクトリ操作関連
  • os.chdir(path):作業ディレクトリを変更する。
  • os.mkdir(path):新しいディレクトリを作成する。
  • os.rmdir(path):ディレクトリを削除する。
  • os.listdir(path):指定したディレクトリ内のファイルやサブディレクトリのリストを返す。
  • os.remove(path):指定したファイルを削除する。
パス操作関連
  • os.path.abspath(path):相対パスを絶対パスに変換する。
  • os.path.basename(path):指定したパスの末尾にある要素を取得する。
  • os.path.dirname(path):指定したパスの末尾を除いた要素を取得する。
  • os.path.exists(path):指定したパスが存在するかどうかを確認する。
  • os.path.join(path1, path2, …):複数のパスを結合する。
  • os.path.splitext(path):指定したパスを拡張子とそれ以外の部分に分割する。
環境変数関連
  • os.environ.get(key, default):指定した環境変数の値を取得する。環境変数が存在しない場合はデフォルト値を返す。
  • os.environ.setdefault(key, default):指定した環境変数が存在しない場合に、その環境変数にデフォルト値を設定する。

実際に使う事例

以下は、os.path.join()関数を使って複数のパスを結合する例です。

python

import os

path1 = '/usr'
path2 = 'local'
path3 = 'bin'

result = os.path.join(path1, path2, path3)
print(result)  # /usr/local/bin

ツール開発で使うよくある事例

ツール開発においては、特にファイル操作やディレクトリ操作が必要となることがあります。以下は、ディレクトリ内のファイル一覧を取得して表示する例です。

python

import os

dir_path = '/path/to/directory'

# 指定したディレクトリ内のファイル一覧を取得して表示
for file_name in os.listdir(dir_path):
    print(file_name)

この例では、os.listdir()関数を使用して指定したディレクトリ内のファイル一覧を取得しています。この関数は、引数に指定したディレクトリ内のファイルやディレクトリの名前をリスト形式で返します。リストの要素には、名前だけが含まれるため、実際のパスが必要な場合は、os.path.join()関数などを使用してパスを結合する必要があります。

他にも、os.makedirs()関数を使用することで、指定したディレクトリを作成することができます。また、os.path.isfile()関数やos.path.isdir()関数を使用することで、指定したパスがファイルかディレクトリかを判定することができます。これらの関数を組み合わせることで、ファイルやディレクトリを操作するツールを開発することができます。

スポンサーリンク

まとめ:「Pythonスクレイピング関数」についての体験談

この項目はChatGPTの出力を待ちながら、考えたことや他の方の意見などを参考にしながら、いろいろなメモを書いておきます。

「Pythonスクレイピング関数」できることメモ

これは本当のメモ。

  • スクレイピングするならPythonは使えたほうがいいみたい
  • ChatGPTは呼吸するようにコードを書けるけど、簡単そうに見えて全くわからない

今後やりたいことメモ

こちらもメモ。

  • APIを利用できるまでのPython基礎編
  • ブログ運営に役立ちそうなChatGPTの利用方法
  • 情報収集した内容を踏まえてブログ記事に投稿する手順
  • 正規表現を利用した有効な検索方法をChatGPTに生成させる
  • 毎日チェックすべき情報をまとめるツール作成(おそらくPython)
  • 毎日のやることをChatGPTに相談できる(秘書化)
  • WordPressの記事をデータベース化してユーザーに任意の情報を抽出・操作できるサイト構造を目指す
  • データ検索機能(キャラ名を入力するとデータテーブルがそれだけになる、的な)

「Pythonスクレイピング関数」に関する口コミや評判

SNS情報のメモです。

Pythonスクレイピング関数に関するTwitter情報

Twitter検索用のリンクはこちら。

「Pythonスクレイピング関数」に関するよくある質問

「Pythonスクレイピング関数」に関するFAQを5セット作成してください。

Q
スクレイピングに必要なPythonライブラリは何ですか?
A

スクレイピングには、主にrequests、BeautifulSoup、lxml、SeleniumなどのPythonライブラリが使用されます。

Q
スクレイピングで使うことのできるHTTPメソッドは何ですか?
A

スクレイピングで使われるHTTPメソッドは主にGETとPOSTです。GETはURLを介してデータを取得する際に、POSTはフォームデータを送信する際に使用されます。

Q
スクレイピングでデータを取得する際に遵守すべき利用規約はありますか?
A

スクレイピングで使われるHTTPメソッドは主にGETとPOSTです。GETはURLを介してデータを取得する際に、POSTはフォームデータを送信する際に使用されます。

Q
スクレイピングでデータを取得する際に遵守すべき利用規約はありますか?
A

はい、スクレイピングでのデータの利用は各Webサイトの利用規約に従う必要があります。Webサイトの利用規約に違反したスクレイピングは法的問題を引き起こす可能性があります。

Q
スクレイピングで取得したデータはどのように処理することができますか?
A

取得したデータは、リストや辞書、PandasデータフレームなどのPythonのデータ構造を使って処理することができます。また、ファイルとして保存することもできます。

Q
スクレイピングで避けるべきことはありますか?
A

スクレイピングにおいては、過剰なリクエストの送信や人工知能を用いた自動スクレイピングなど、Webサイトの負荷を引き起こすことは避けるべきです。また、個人情報や法律で保護されている情報の収集など、倫理的に問題がある行為は避けるべきです。

ChatGPTに関する記事リスト

当サイトでひたすらChatGPTに出力させて記事錬成しているリストはこちらになります。

ChatGPTやAIに関する記事リスト

ブログ更新を自動化させるためにChatGPTの使いかたや生成系AIの技術進歩を勉強するために記事を作成しています。

ChatGPT
スポンサーリンク
シェアする
ぶちくまをフォローする
ぶちくま創作ベース

コメント

  1. buchikuma-info より:

    「18 18 搭載 ai」に関する最新情報です。

    最新の情報によると、iOS 18にはAI機能が豊富に搭載される可能性があります。これにより、iPhoneの新機能が提供される見込みです。具体的な機能については明らかにされていませんが、AI技術の進化により、よりスマートで便利な機能が追加されることが期待されています。詳細はまだ不明ですが、iOS 18のリリースが楽しみです。

    https://news.google.com/rss/articles/CBMiSWh0dHBzOi8vd3d3LmxpZmVoYWNrZXIuanAvYXJ0aWNsZS8yNDAyaXBob25lLWZlYXR1cmVzLWV4cGVjdGVkLWluLWlvcy0xOC_SAQA?oc=5

  2. buchikuma-info より:

    「local side effects」に関する最新情報です。

    「前立腺がんの局所療法による副作用が増加する」という記事では、前立腺がんの局所療法(放射線療法や前立腺全摘術など)を受けた男性は、全身療法を受けた患者に比べて、消化器系や性的な問題、尿失禁などの副作用が後年にわたって有意に増加することが示されています。この研究は、米国の5500人の退役軍人を対象に行われ、局所療法を受けた患者の75.2%が2年以上から5年間にわたる副作用を経験したと報告されています。また、局所療法を受けた患者は、全身療法を受けた患者と比較して、消化器系や性的な問題、尿失禁がより頻繁に報告されました。ただし、この研究の結果は他の研究と矛盾しており、ドイツでは異なる結果が得られる可能性があるとされています。

    https://www.medscape.com/viewarticle/more-side-effects-local-therapies-prostate-cancer-2024a100022m

  3. buchikuma-info より:

    「like dragon infinite」に関する最新情報です。

    「龍が如く:無限の富がトーチを継承する」というタイトルの記事は、ゲーム「龍が如く」シリーズの最新作についてのものです。この最新作は、新たな主人公たちにシリーズを引き継ぐことに焦点を当て、ゲームを現代化しています。記事では、主人公の桐生一馬が過去の思い出に浸りながら、新たな陰謀を阻止するために奮闘する様子が描かれています。また、記事では、シリーズのプロデューサーである坂本博之氏のインタビューも紹介されており、彼は「龍が如く」シリーズは前作のストーリーに新たな要素を加えながら進化していると説明しています。さらに、記事では、桐生一馬の復帰がシリーズの過去と未来をつなぐ重要な役割を果たしていることも述べられています。

    https://www.wired.com/story/like-a-dragon-infinite-wealth-passes-the-torch-forward/

  4. buchikuma-info より:

    「quietly website draft」に関する最新情報です。

    中国は、ビデオゲーム業界に関する規制案を公式ウェブサイトから静かに撤回しました。この規制案は、数週間前に発表された際に、現地の大手企業の市場価値を数百億ドルも減少させる結果となりました。この撤回は、規制案の公表に関する扱いについての責任を持つ共産党宣伝部の出版局長も解任された後に行われました。報道によると、当局は提案された規制の一部を見直す可能性があるとされています。

    https://techcrunch.com/2024/01/22/china-quietly-pulls-draft-gaming-rules-from-website/

  5. buchikuma-info より:

    「再生 ストリーミング ストリーミング 再生」に関する最新情報です。

    オーディオブックプラットフォームのaudiobook.jpが、PCやスマホアプリでのストリーミング再生を可能にするアップデートを行った。これは、法人版の好調や利用シーンの多様化を背景に行われたものである。これにより、ダウンロードせずにストリーミング再生することができ、利用環境に合わせて選択することができる。また、2022年1月には法人版が100社に導入され、利用シーンがさらに多様化している。さらに、ストリーミング再生の利用方法やアプリの使い方についても詳細が提供されている。

    https://news.google.com/rss/articles/CBMiQmh0dHBzOi8vbmV3cy5iaWdsb2JlLm5lLmpwL2Vjb25vbXkvMDExNi9wcnRfMjQwMTE2XzE3MzI5NTU1NTQuaHRtbNIBTGh0dHBzOi8vbmV3cy5iaWdsb2JlLm5lLmpwL3NtYXJ0L2FtcC9lY29ub215LzAxMTYvcHJ0XzI0MDExNl8xNzMyOTU1NTU0Lmh0bWw?oc=5

  6. buchikuma-info より:

    「再生 ストリーミング ストリーミング 再生」に関する最新情報です。

    オーディオブックプラットフォームのaudiobook.jpが、PCやスマホアプリでのストリーミング再生を可能にするアップデートを行った。これは、法人版の好調な利用や利用シーンの多様化を背景に行われたものである。2022年1月には法人版が導入され、100社以上の企業が利用している。これにより、作業中や外出中など、さまざまなシーンでストリーミング再生が利用されるようになった。これまではダウンロード再生が主流だったが、ニーズの多様化に応えるためにストリーミング再生が導入された。

    https://news.google.com/rss/articles/CBMiOmh0dHBzOi8vcHJ0aW1lcy5qcC9tYWluL2h0bWwvcmQvcC8wMDAwMDAzNzAuMDAwMDM0Nzk4Lmh0bWzSAQA?oc=5

  7. buchikuma-info より:

    「演算 国力 富岳」に関する最新情報です。

    日本が誇るスーパーコンピュータ「富岳」がAmazonと組んで「バーチャル化」される理由について、以下の要点があります。

    – 「演算力」は「国力」に直結するとされており、日本政府はスーパーコンピュータの開発を支援しています。
    – 「富岳」とは、神戸市にある理化学研究所計算科学研究センター(R-CCS)が開発したスーパーコンピュータで、2021年に世界トップクラスの演算能力を持つことが確認されました。
    – 今回のプロジェクトでは、Amazonのウェブインフラサービス部門であるAmazon Web Services(AWS)と組んで、「富岳」をバーチャル化することが計画されています。
    – バーチャル化により、富岳の演算能力をクラウドサービスとして提供することが可能になります。
    – 2023年12月1日を目標に、富岳を活用した創薬や材料開発などのアプリケーションを提供する予定です。

    また、富岳の詳細な設備や性能についても説明されています。富岳は3000平方メートルの施設に432キャビネットが設置され、15万8976個のプロセッサーを使用しています。消費電力は29.9メガワットで、世界のスーパーコンピュータの性能を測るベンチマークであるGraph500でもトップ

    https://gendai.media/articles/-/121201

  8. buchikuma-info より:

    「コード 出力 生成」に関する最新情報です。

    「生成AI」の出力コードに過信は禁物 – 安全性の確認を

    機械学習技術を用いた生成AIの出力コードについて、プログラマーたちは過信してはいけないと専門家が警鐘を鳴らしています。生成AIはデータから新しいコードを生成する能力を持っており、プログラムの開発において非常に便利なツールとなっています。しかし、その出力コードには脆弱性や安全性の問題が潜んでいる可能性があります。

    生成AIの出力コードは、プログラマーが直接書いたコードとは異なる特徴を持っています。そのため、プログラマーは生成AIの出力コードを使用する際には、注意深く検証し、安全性を確認する必要があります。過信してしまうと、思わぬ事故やセキュリティ上の問題につながるおそれがあります。

    専門家は、生成AIの出力コードを利用する際には、以下の点に注意するよう呼びかけています。まず、生成AIがどのようなデータから学習したのかを把握することが重要です。また、出力コードの脆弱性や安全性についても配慮する必要があります。さらに、生成AIの出力コードを使用する前に、プログラマー自身がコードを確認し、修正や改善を行うことも重要です。

    生成AIは非常に便利なツールであり、プログラマーの作業を効率化すること

    https://news.google.com/rss/articles/CBMiJGh0dHBzOi8vd3d3LnNlY3VyaXR5LW5leHQuY29tLzE1MjAzNdIBAA?oc=5

  9. buchikuma-info より:

    「開発 day day 開発」に関する最新情報です。

    PCゲーム「The Day Before」を開発したFntasticが、わずか4日でスタジオを閉鎖することを発表しました。このゲームは、7日にSteamで早期アクセス版が配信されたばかりでした。Fntasticは、開発スタジオの廃業に関する詳細な情報を提供していません。

    https://www.itmedia.co.jp/news/articles/2312/12/news106.html

  10. buchikuma-info より:

    「year vtuber animated」に関する最新情報です。

    アニメーションVTuberのIronmouseが、Game Awardsでコンテンツクリエイター・オブ・ザ・イヤーを受賞しました。これは、VTuberがアニメーションキャラクターとして初めて受賞したことであり、ストリーミングの世界の広がりを示すものです。また、Ironmouseの受賞は、VTuber現象が既に広まっていることを示し、ジャンルへの信頼性を高めるものとなりました。

    https://techcrunch.com/2023/12/08/ironmouse-vtuber-content-creator-of-the-year/

  11. buchikuma-info より:

    「カーヌーン アルメニア audio」に関する最新情報です。

    アルメニアのスタートアップ企業であるTRIPLE A AUDIO社の製品の取扱いが開始されました。最初の製品は、エキゾチックな音色を持つ伝統楽器「カーヌーン」の音源です。この音源は、KONTAKTライブラリとして提供され、DTMや音楽制作に役立ちます。カーヌーン奏者のMayranush Rubenyanさんの協力のもと、伝統的なカーヌーンの音色を再現しています。この製品は、アルメニアの音楽や異国情緒に満ちたサウンドを楽しむことができます。また、ローンチ記念セールも行われており、2023年12月20日まで20%割引で購入することができます。TRIPLE A AUDIO社は、アルメニアの首都エレバンで設立された新興の音楽ソフトウェア会社であり、創造的なインスピレーションを市場に届けることを使命としています。

    https://prtimes.jp/main/html/rd/p/000000281.000052709.html

  12. buchikuma-info より:

    「hours 24 24 hours」に関する最新情報です。

    タイトル: 『グランド・セフト・オートVI』のトレーラーがMrBeastの24時間でのYouTube再生回数記録を破る

    『グランド・セフト・オートVI』のトレーラーが24時間で最も多くのYouTube再生回数を記録したと報じられた。これにより、これまでの記録を保持していたYouTuberのMrBeastを上回ることとなった。このトレーラーは22時間で最初の24時間の再生回数を獲得し、長らく待ち望まれていたゲームに対する期待が高まっていることを示している。ただし、音楽ビデオは除外されており、K-PopグループBTSの楽曲が最も多く再生された24時間のYouTubeビデオとしての記録を保持している。以前はMrBeastが最も多くの再生回数を記録していたが、彼の人気ビデオは競技や慈善活動に関連していた。一方、『グランド・セフト・オート』は銀行強盗や脱獄などの要素が含まれるため、彼のビデオのような競技を再現することはできないだろう。

    https://techcrunch.com/2023/12/05/grand-theft-auto-vi-trailer-breaks-mrbeasts-record-for-most-youtube-views-in-24-hours/

  13. buchikuma-info より:

    「boccia ボッチャ boccia lite」に関する最新情報です。

    株式会社ワントゥーテンが開発した「CYBER BOCCIA」のLITE版が登場しました。このゲームは、インクルーシブなスポーツの新時代を築くために作られており、あらゆる人が気軽にボッチャを楽しむことができます。ボッチャは、障がいの有無にかかわらず、老若男女が一緒に楽しめるスポーツです。CYBER BOCCIAは、ボッチャのルールに基づいてセンサーがボールの距離を自動計測し、日英の音声ナビゲーションも搭載されています。このゲームは、言葉の壁を超えて楽しむことができ、インクルーシブなコミュニティを創るためのアクティビティとして開発されました。ワントゥーテンは、体験会やイベントでこのゲームを設置し、多くの人々に体験してもらっています。また、ボッチャを楽しむためのコートやボールも提供しており、インクルーシブな社会の実現を目指しています。さまざまな場所でCYBER BOCCIAの導入が進んでおり、スポーツ施設やコミュニティスペースなどで楽しむことができます。

    https://prtimes.jp/main/html/rd/p/000000174.000016942.html

  14. buchikuma-info より:

    「ai ai 倫理 vol」に関する最新情報です。

    Z世代の若者たちは、AIの倫理、セキュリティ、キャリアの混乱についてどのように考えているのかについて、マヤ・ビンガマン(25歳)とディロン・バーナード(23歳)の意見を紹介しています。マヤはAIの活用方法や倫理的な懸念について考える必要があると述べており、AIによって人間関係が希薄になる可能性にも言及しています。一方、ディロンはAIの倫理的な側面を重視し、機密情報の取り扱いに注意する必要があると指摘しています。彼らはAIが自分たちのキャリアパスに影響を与える可能性にも心配を抱いています。Z世代の若者たちは、AIの活用方法や倫理的な問題について関心を持ち、自分たちのキャリアにおいてもAIの影響を意識していることが分かります。

    https://news.google.com/rss/articles/CBMiKmh0dHBzOi8vZGlnaWRheS5qcC9wbGF0Zm9ybXMvZ2VuLXotYWktcS1hL9IBAA?oc=5

  15. buchikuma-info より:

    「テスト コード テスト コード」に関する最新情報です。

    Sansanが新卒向けのテストコードに関する研修資料を無料で公開しました。この資料では、Python上でのテスト方法が解説されています。Sansanは、10月25日にこの研修を実施し、2年間の社員を対象にしています。研修では、PythonのテストフレームワークであるpytestやVSCodeの使い方も解説されています。テストコードの重要性や活用方法についても詳しく説明されており、テストコードの実行結果を確認することで、コードの挙動や変化を理解することができます。Sansanは、この研修を通じて、新卒社員の技術研修を支援しています。

    https://www.itmedia.co.jp/news/articles/2310/26/news122.html

  16. buchikuma-info より:

    「生成 商品 商品 説明」に関する最新情報です。

    Amazonは、出品者向けの生成AIツールを発表しました。このツールは、簡単な商品の説明を入力すると、商品説明、タイトル、商品詳細を自動生成することができます。生成されたコンテンツは公開前に編集することも可能です。このツールは、セラーセントラルの管理画面から利用することができます。また、Amazonは大規模な言語モデル(LLM)を採用しており、データのトレーニングに明示されています。これにより、魅力的で効果的な商品説明が生成されることが期待されています。

    https://www.itmedia.co.jp/news/articles/2309/14/news080.html

  17. buchikuma-info より:

    「学習 自動 apple」に関する最新情報です。

    Appleとカーネギーメロン大学の研究者らは、UI学習向けのクローラーを開発しました。このクローラーは、新しいアプリを自動でインストールし、アプリ内の操作を自動で行いながらデータを収集し、モデルを継続的に自己学習させることができます。具体的には、アプリストアから新しいアプリをインストールし、実際の操作を行いながらスクリーンショットや情報のアノテーションを生成し、学習データを収集します。このクローラーは、UIのセマンティック情報を学習するシステムであり、データの収集やトレーニングに自動化を活用しています。

    https://news.google.com/rss/articles/CBMiPGh0dHBzOi8vd3d3Lml0bWVkaWEuY28uanAvbmV3cy9hcnRpY2xlcy8yMzA5LzEyL25ld3MwNDEuaHRtbNIBAA?oc=5

  18. buchikuma-info より:

    「easy easy get get」に関する最新情報です。

    タイトル:「Starfieldは宇宙で迷いやすくする」

    Starfieldは、Bethesdaのロールプレイングゲームであり、無限の供給とともに世界を大きくしています。プレイヤーは、血に飢えた犯罪者たちの信頼を得るために潜入捜査を強いられます。彼らは、Starfieldの街を歩いているときに多くのキャラクターに出くわすことになります。Starfieldは、そのサイズの大きさだけでなく、フィクションや戦闘システムの豊富さでも注目されています。船の出入りや飛行でクエストアイテムを運びながら待つこともあります。Starfieldの構築には明らかな注意が払われており、相互作用の喜びがあります。戦闘や探索の容易さは、プレイヤーに集中してタスクを完了させることを可能にします。Starfieldは、宇宙の広大さに恐怖を感じさせる一方で、構築の丁寧さも感じられます。ただし、キャラクターの対話や建築物のデザインには改善の余地があります。Starfieldは、サイエンスフィクションの世界を魅力的に表現していますが、その宇宙の広さに比べて内容が少ないと感じることもあります。

    https://www.wired.com/review/starfield-review/

  19. buchikuma-info より:

    「ai メール 提供」に関する最新情報です。

    クラウド営業支援ツールMazricaが売上予測AIを大幅にリニューアルし、キャンペーンメールの自動生成AIを新たに提供開始しました。これにより、マーケティング課題を解決するための新機能が追加され、メールの自動作成や売上予測などの業務を効率化することができます。Mazricaは、顧客データやメール本文に自動的にパーソナライズされた情報を挿入することができ、営業チームの成果を支援するためのツールとして活用されています。株式会社マツリカは、クラウド営業支援ツールMazricaを開発・提供しており、創造性の高い環境で働けるビジョンを掲げています。

    https://news.google.com/rss/articles/CBMiOmh0dHBzOi8vcHJ0aW1lcy5qcC9tYWluL2h0bWwvcmQvcC8wMDAwMDAxMDguMDAwMDE1MTg5Lmh0bWzSAQA?oc=5

  20. buchikuma-info より:

    「動画 ai 生成」に関する最新情報です。

    iPhoneと動画生成AIを組み合わせることで、「映画の予告編」を作成することが可能になったというニュースが話題となっています。具体的には、動画生成AIのRunwayMLを使用して、実写動画からクレイアニメの予告編を作成する実験が行われました。この技術は、静止画やテキストから動画を生成することも可能であり、無料プランや有料プランが提供されています。今後、AI技術の進化により、動画生成の完成度がさらに高まることが期待されています。

    https://news.google.com/rss/articles/CBMiJGh0dHBzOi8vZGlhbW9uZC5qcC9hcnRpY2xlcy8tLzMyODE2MdIBJmh0dHBzOi8vZGlhbW9uZC5qcC9hcnRpY2xlcy9hbXAvMzI4MTYx?oc=5

  21. buchikuma-info より:

    「システム ai 生成」に関する最新情報です。

    みずほ銀行と富士通がシステム開発に生成AIを導入し、品質向上を目指す取り組みを始めました。この取り組みの一部システムとして、「MINORI」というシステムが対象となっています。生成AIの導入により、システムの設計書のレビュー作業を支援し、品質向上を図ることが期待されています。今後は、さらに具体的なシステム開発段階での活用も検討されています。この取り組みにより、システムの安定稼働体制の維持や品質向上に向けた課題に対応するためのノウハウの吸収が期待されています。

    https://news.google.com/rss/articles/CBMiPGh0dHBzOi8veHRlY2gubmlra2VpLmNvbS9hdGNsL254dC9jb2x1bW4vMTgvMDI0MjMvMDcyMDAwMDQ0L9IBAA?oc=5

  22. buchikuma-info より:

    「システム ai 生成」に関する最新情報です。

    みずほ銀行と富士通がシステム開発に生成AIを導入し、品質向上を目指す取り組みを始めました。具体的には、みずほ銀行の勘定系システムの一部である「MINORI」を対象にしています。これにより、システムの設計書のレビューを支援し、品質向上を図ることが期待されています。また、システムの安定稼働や障害発生時の復旧力の向上も目指しています。この取り組みは、将来的な人材不足への対応やノウハウの吸収にも役立つとされています。

    https://news.google.com/rss/articles/CBMiPGh0dHBzOi8veHRlY2gubmlra2VpLmNvbS9hdGNsL254dC9jb2x1bW4vMTgvMDI0MjMvMDcyMDAwMDQ0L9IBAA?oc=5

  23. buchikuma-info より:

    「Été」という水彩ペイントゲームが発表され、プレイヤーは真っ白な世界に色を取り戻しながら、人々と交流しながら作品を制作することができる。また、Paradoxから新作戦略ゲーム「Stellaris Nexus」が発表され、最大6人プレイ対応で約1時間で遊べる宇宙支配バトルが楽しめる。さらに、新作ホラーゲーム「Unholy」のプレビューが公開され、高い没入感と盛りだくさんなゲームプレイをあわせ持つホラーゲームとして注目されている。PSO2:NGSの新クラス「スレイヤー」の仕様や挙動についても紹介されている。

    https://automaton-media.com/articles/newsjp/20230609-251050/

タイトルとURLをコピーしました