[51CTO.com クイック翻訳]アナリストとして、私はニュースや業界の最新情報を追跡することに多くの時間を費やしています。私は産休中にこの疑問について考え、グリーンテクノロジーと再生可能エネルギーに関するニュースを追跡するシンプルなアプリを構築することにしました。 AWS Lambda と、EventBridge、SNS、DynamoDB、Sagemaker などの他の AWS サービスを使用すると、開始して数日でプロトタイプを構築するのは非常に簡単です。 このアプリケーションは、一連のサーバーレス Lambda 関数と、SageMaker エンドポイントとしてデプロイされたテキスト要約機械学習モデルによって実行されます。 AWS EventBridge ルールは、24 時間ごとに Lambda 関数をトリガーして、DynamoDB データベースからニュースフィードを取得します。 これらのニュース フィードは SNS トピックとして送信され、複数の Lambda がトリガーされてニュース フィードが分析され、ニュース URL が抽出されます。各サイトは、1 日に数件の記事のみで RSS ニュース フィードを更新します。そのため、特定のニュース発行のリソースを大量に消費する可能性のある大量のトラフィックは送信されません。 しかし、各ウェブサイトはそれぞれ異なるため、記事の全文を抽出することが大きな問題となります。幸いなことに、goose3 のようなライブラリは、機械学習の手法を適用してページの本文を抽出することでこの問題を解決します。著作権の問題により、記事の全文を保存することはできません。そのため、HuggingFace Text Summarizer モデルを適用して短い要約を生成しました。 ここでは、独自の機械学習ベースのニュース集約パイプラインを構築する方法について詳しく説明します。 1. 必要な権限を持つ IAM ロールを設定します。このデータパイプラインはシンプルですが、多くの AWS リソースを接続します。関数に必要なすべてのリソースへのアクセスを許可するには、IAM ロールを設定する必要があります。このロールは、DynamoDB、Sagemaker、CloudWatch、SNS などの他のクラウド リソースを使用する権限を関数に付与します。セキュリティ上の理由から、IAM ロールに完全な AWS 管理アクセス権を与えるのではなく、必要なリソースの使用のみを許可するのが最適です。 2. RSS Dispatcher LambdaでDynamoDBからRSSニュースフィードを取得するAWS Lambda を使用すると、ほぼ何でも実行できます。これは、短時間のタスクに最適な、非常に強力なサーバーレス コンピューティング サービスです。私にとっての主な利点は、AWS エコシステム内の他のサービスに簡単にアクセスできることです。 私はすべての RSS ニュースフィードを DynamoDB テーブルに保存しており、boto3 ライブラリを使用して Lambda からアクセスするのは非常に簡単です。データベースからすべてのニュース フィードを取得したら、それらを SNS メッセージとして送信し、ニュース フィード解析 Lambda をトリガーします。
3. 必要なライブラリでレイヤーを作成するAWS Lambda で特定のライブラリを使用するには、それらをレイヤーとしてインポートする必要があります。ライブラリをインポート用に準備するには、ライブラリを python.zip アーカイブに格納する必要があります。その後、ライブラリを AWS にアップロードして関数で使用できます。レイヤーを作成するには、Python フォルダーに cd し、pip install を実行して zip ファイルに圧縮し、アップロードの準備をします。
しかし、goose3 ライブラリをレイヤーとして展開するのは困難です。簡単に調査したところ、LXML などの一部のライブラリは、Lambda のような環境 (Linux) でコンパイルする必要があることがわかりました。したがって、ライブラリを Windows でコンパイルしてから関数にインポートすると、エラーが発生します。この問題を解決するには、tarball を作成する前に Linux にライブラリをインストールする必要があります。 これを行うには 2 つの方法があります。まず、Docker を使用してシミュレートされた Lambda 環境にインストールします。私にとって最も簡単な方法は、AWS sam build コマンドを使用することです。関数がビルドされたら、ビルド フォルダーから必要なパッケージをコピーし、レイヤーとしてアップロードするだけです。
4. ニュースソースを解析するLambda関数を起動するニュース URL をトピックとして SNS に送信すると、複数の Lambda をトリガーして RSS ニュース フィードからニュース記事を取得できます。一部の RSS ニュースフィードは異なりますが、ニュースフィード パーサー ライブラリを使用すると、さまざまな形式を使用できます。 URL はイベント オブジェクトの一部なので、キーで抽出する必要があります。
5. Sagemakerでテキスト要約モデルを作成してデプロイするSagemaker は、AWS 上で機械学習モデルを簡単に作成、トレーニング、デプロイできるサービスです。 HuggingFace は AWS と提携して、ユーザーがモデルをクラウドに簡単にデプロイできるようにしました。 ここでは、Jupiter ノートブックに簡単なテキスト要約モデルを記述し、deploy() コマンドを使用してデプロイしました。
デプロイされると、Sagemaker -> 推論 -> エンドポイント構成からエンドポイント情報を取得し、Lamdas で使用できるようになります。 6. 記事の全文と要約を取得し、結果をDynamoDBに保存する著作権の関係で全文を保存していないため、すべての処理は Lambda で実行されます。 URL が Dynamo DB テーブルに格納されたら、テキスト処理 Lambda を起動します。これを実現するために、Lambda を起動するトリガーとして DynamoDB アイテム生成を作成しました。 Lambda が一度に 1 つの記事のみを処理するようにバッチ サイズを作成しました。
これは、AWS ツールを使用して最新のニュースを読み取るためのシンプルなサーバーレス データ パイプラインを構築およびデプロイした方法です。 元のタイトル: AWS クラウドで ML を使用してサーバーレス ニュース データ パイプラインを構築する、著者: Maria Zentsova [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください] |
<<: ファーウェイが「天才少年」の業績を初めて明らかに:彼は入社から1年も経たないうちにこの偉業を成し遂げた
>>: 3分レビュー:2021年11月の自動運転業界の完全な概要
私たちが今生きている時代は、これまでで最も技術的に進歩した時代です。これらの新しいテクノロジーの登場...
この記事では、フロントエンド開発と人工知能の関係、そして将来 AI がフロントエンド開発の仕事に取っ...
[[221188]]将来、人工知能が 380 万人以上の銀行員の仕事を全て置き換える日が来るのでし...
有名な科学者ホーキング博士の死からわずか半年後に、世界で最も聡明な科学者たちが歴史的な議論を始めると...
8月29日、2019年世界人工知能会議が上海で開幕した。世界各国の著名なテクノロジー企業や学界、産業...
1. JSP フォーラムのデモテーブルの構造: テーブル名: mybbslist フィールド データ...
[51CTO.com からのオリジナル記事] 今日、メディア業界はデジタル技術の影響を受けて新たな旅...
3G通信技術は広く利用されており、4Gに向けてますます進化しています。通信ネットワーク内のアクセスス...
質問に答えたり、翻訳したり、記事を書いたり、コードを書いたり、数式を計算したり、アイコンを描いたりす...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
[51CTO.com クイック翻訳] AI技術は、ソフトウェアテスト作業を5つの方法で変えています。...
[[279121]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitA...
7月10日、2021年世界人工知能会議(WAIC)が上海で閉幕した。 2011年以来、ビッグデータ...