gengohouseのブックマーク (3,009)

  • 【2023年版】python環境で利用できる日本語形態素解析ライブラリを比較してみた - Qiita

    概要 趣味や業務でpython環境で自然言語処理のコードを書くことが多いが、 形態素解析(分かち書き)をしてくれるライブラリが多くてどれが最適か分からない とりあえず速度と分かち書きの性能を比較してみよう!!! ※2023/11/17修正 遅延評価で実装されているライブラリを適切に評価できていなかったため検証方法を変更、それにともない結論を変更しています 結論 python上での形態素解析ライブラリは、 Vibratoが高速に実行可能 で、 Mecabの結果とvibratoの結果は参照する辞書が同じ場合大差がなかった。 そのため、速度を気にする処理を実装する場合はvibratoの利用を検討するべきと判断した。 python上での形態素解析ライブラリは、 JanomeとVibratoが高速に実行可能 で、 その2つの結果は参照する辞書が同じ場合大差がなかった。 個人的にはJanomeの関数の

    【2023年版】python環境で利用できる日本語形態素解析ライブラリを比較してみた - Qiita
  • IBIS2023チュートリアル「大規模言語モデル活用技術の最前線」

    近年,国内外の企業および研究機関において大規模言語モデルの開発競争が激化している.それに伴い,大規模言語モデルの性能を最大限に引き出すための研究も活発に行われており,大きな発展を見せている.チュートリアルでは,自身の研究や業務で大規模言語モデルを使いたいと考えている初学者を主な対象とし,Chain of ThoughtやReActを始めとする大規模言語モデルを使うために役立つ技術や知見を最新の研究成果に基づいて紹介する.

    IBIS2023チュートリアル「大規模言語モデル活用技術の最前線」
  • GiNZA 5 (=SudachiPy >= 0.6)で49149 bytes以上のテキストをTokenizeする

    1. GiNZA(というかSudachiPy)でデカ目のテキストファイルがTokenizeできなかった話 講談社サイエンティフィク 実践Data ScienceシリーズのPythonではじめるテキストアナリティクス入門を勉強中。 (この、雑に理解していた GiNZA、spaCy、Sudachi の処理が体系的に理解出来てとてもありがたい)。 サンプルコードはGiNZA==4.0.6 + SudachiPy==0.5.4環境での利用が推奨されている。 GiNZA のバージョン上げたら、スピードアップするかしら? と思い試しに、サンプルコードを GiNZA 5.1 環境で実行したところ、江戸川乱歩作「影男」のテキストを Tokenize するコードで下記のエラー。 Exception: Tokenization error: Input is too long, it can't be mo

    GiNZA 5 (=SudachiPy >= 0.6)で49149 bytes以上のテキストをTokenizeする
  • 【自然言語処理入門】日本語ストップワードの考察【品詞別】 - ミエルカAI は、自然言語処理技術を中心とした、RPA開発・サイト改善・流入改善レコメンドエンジンを開発

    ストップワードの除去は自然言語処理やテキストマイニングにおける重要な作業です. 解析の精度を上げるために不要な記号や単語を等をデータセットから除去します. ストップワードの選定にはタスクに特化した分析が必要ですが,ある程度整理されているデータがあるととても助かります. そこで,今回は私が自然言語処理のタスクでよく行う,日語のストップワードについてまとめました. また単語の分布などから,品詞ごとのストップワードに対する考察も行いました. このことからストップワードを介して自然言語処理のあまり語らることのない知識などをご共有できればと思います. (この記事の考察部分は主に自然言語処理の初心者を対象とした入門記事です.) 目次 1. 自然言語処理・ストップワードとは 2. 分析の対象 3. 単語の分布に対する考察 ┣ 出現頻度 上位300件 ┗ 出現頻度と単語 4. 品詞ごとに考察 ┣ 名詞

    【自然言語処理入門】日本語ストップワードの考察【品詞別】 - ミエルカAI は、自然言語処理技術を中心とした、RPA開発・サイト改善・流入改善レコメンドエンジンを開発
  • 自然言語処理で扱うテキストのchunkingについて

    概要 自然言語処理やLLMを扱っている際、長文を何かしらの方法で分割したいケースがあります。 分割することを「Text chunking」というのですが、その方式について纏めた記事がありました。 要約するとchunkingには様々な方式があり、長所短所があるそうです。 代表的なやり方は以下です。 Langchain Character Text Splitter Langchainのテキストスプリッターを使った方式。 全体の文章をセンテンス(句読点等で区切った文)に分割した後、指定した長さの文字数に収まるようにチャンクとして連結する。 センテンスの配列の先頭から、チャンクに詰められていき、チャンクに含まれる文字列長が一定を超えそうなら新たなチャンクに詰め込まれる感じ。 ※コードはこのあたり 文章の意味に関係なく、各チャンクの文字数がある程度均一になります。 NLTK Sentence To

    自然言語処理で扱うテキストのchunkingについて
    gengohouse
    gengohouse 2023/09/13
    “自然言語処理で扱うテキストのchunkingについて”
  • LLM 向け日本語データセット(コーパス)の整備メモ

    背景 LLM 向けに日語データセット(日語コーパス)を用意したい. 最近の主流(?)は web からテキスト取得(主には cc100ja など, Commoncrawl(web をクロールしてアーカイブしているもの)を利用しているもの)であるが, ただそのままだと無駄なテキストがあるので(e.g. "月を選択 2022年11月 2022年10月 2022年9月 2022年8月 2022年7月 2022年6月 2022年5月 2022年4月 ... " とか), あと文章が途中で切れたりほかの文章と混在していたり(div タグレイアウトが原因であろうか)などで, クリーニングが必須となっている. クリーニングして一定の品質を保っていれば, あとは end-to-end にテキストデータを LLM に与えて学習させればいい感じになる... はず. 手っ取り早くやる とりあえず OSCAR

    LLM 向け日本語データセット(コーパス)の整備メモ
  • Transformersライブラリで自然言語生成(NLG)を簡単に!自作ラッパークラスの作成と使い方

    モデルによっては追加でライブラリをインストールする必要があるので注意してください。(rinnaはaccelerateとsentencepieceが必要など) 自然言語生成用のラッパークラスと使い方 自然言語生成用のラッパークラス import torch from transformers import AutoTokenizer, AutoModelForCausalLM from typing import Any, Dict, Optional, Union import os import gc class LanguageModelManager: """ Hugging FaceのTransformersライブラリを使用して、自然言語生成(NLG)を簡単に行うためのラッパークラス。 前提条件: - PyTorchがインストールされていること。 - Hugging FaceのTr

    Transformersライブラリで自然言語生成(NLG)を簡単に!自作ラッパークラスの作成と使い方
  • BERTをわかりやすく解説!日本語版の使い方や他自然言語モデルとの比較まで | メタバース相談室

    BERT(Bidirectional Encoder Representations from Transformers)とGPT-3(Generative Pre-trained Transformer 3)は、共に自然言語処理の領域で高度に評価されていますが、目的と設計哲学には明確な違いがあります。 BERTは主にテキストの理解に優れており、双方向性を活用してコンテキストを深く理解することを目的としています。 一方、GPT-3は強力な生成モデルであり、文章生成や質問応答、対話システムなどに特化しています。 BERTは主に「Masked Language Model」を使用し、文中の単語やフレーズの意味をコンテキストに基づいて理解します。 GPT-3は、一方向(左から右)のテキスト解析に基づき、非常に自然な文章を生成する能力に優れています。 それぞれのモデルが得意とするタスクとしては、B

    gengohouse
    gengohouse 2023/09/11
    “BERTをわかりやすく解説!日本語版の使い方や他自然言語モデルとの比較まで”
  • 225行のコードでGPTの仕組みを理解する

    概要 LLMに関心があり、ChatGPTやtransformerの仕組みを理解したいと思っていたところ、雰囲気を掴むのにこちらの動画がとても参考になりました。 動画の内容としては、以下のコーパスを学習して、直前の数文字から次の1文字(単語ではないことに注意)予測機を作成するというものです。 この動画で完成するコードは以下で、225行しかなくとても読みやすいです。 また短いですがtransformerのエッセンスが詰まっていて勉強になりそうです。 このコードを読み解くことでGPTやtransformerがどのように動いているのか、ざっくり理解してみようと思います。 ちなみに完成するとこんな感じの文字列が生成されます。ぱっと見文章っぽいですね。 first Scitizen: He's enough; but he cannot give his friends. MARCIUS: Do yo

    225行のコードでGPTの仕組みを理解する
    gengohouse
    gengohouse 2023/08/29
    “225行のコードでGPTの仕組みを理解する”
  • Natural Language Processing with Python – Analyzing Text with the Natural Language Toolkit

    Natural Language Processing with Python – Analyzing Text with the Natural Language Toolkit Steven Bird, Ewan Klein, and Edward Loper This version of the NLTK book is updated for Python 3 and NLTK 3. The first edition of the book, published by O'Reilly, is available at http://nltk.org/book_1ed/. (There are currently no plans for a second edition of the book.) 0. Preface 1. Language Processing and P

  • 大規模言語モデルの応答をゲームAI構築に活用する論文の紹介 | BLOG - DeNA Engineering

    gengohouse
    gengohouse 2023/08/23
    “大規模言語モデルの応答をゲームAI構築に活用する論文の紹介 ”
  • より多くの “気づき” を届ける- 世界中のテキストの構造化に挑む Knowledge Unit の紹介 -

    Stockmark の Researcher の広田です。 Stockmark には自然言語処理の研究開発を行う Research チームがあり、 その中の1つの組織に知識グラフの自動構築をテーマとする Knowledge Unit があります。 この記事では Knowledge Unit の取り組みを紹介します。 なぜ知識グラフなのか?ストックマークは企業向けの情報収集ツール Anews を提供しています。 私たちはよくお客様から、まだ自分たちが気づけていない情報があるのではないか不安だ、という声を耳にします。 市場動向や技術動向・競合他社情報などから気づきを得ることはビジネスにおいて非常に重要です。 一方で気づきを得るための情報収集はとても大変です。 インターネット上では日々膨大な量のテキストが公開されており、これらを人力で収集し尽くすことはとても難しくなっています。 また収集を行うに

    より多くの “気づき” を届ける- 世界中のテキストの構造化に挑む Knowledge Unit の紹介 -
    gengohouse
    gengohouse 2023/08/23
    “より多くの “気づき” を届ける- 世界中のテキストの構造化に挑む Knowledge Unit の紹介 -”
  • BERT系モデルで文章をEmbeddingする際のTips - Qiita

    概要 BERT系のモデルを活用した文章のEmbedding取得について、検証を含めていくつかTipsを紹介します。 Paddingの最適化 tokenの平均化 Embeddingを取得するLayer 上記Tipsを複合した文章Embedding取得classの実装 はじめに 近年は、ChatGPTを始めとしたLLM活用が話題となっています(言語処理と言えば初手LLM(GPT系)の雰囲気も一部感じております)。対話型ChatBotにおいてはGPT系の生成AIが一線を画していますが、文章のEmbedding取得では旧来のBERT系のモデルが優れている例も報告されています。 SGPT: GPT Sentence Embeddings for Semantic Search ChatGPT vs BERT:どちらが日語をより理解できるのか? 今回、社内で簡単な情報検索システムを構築する機会があり

    BERT系モデルで文章をEmbeddingする際のTips - Qiita
    gengohouse
    gengohouse 2023/08/10
    “BERT系モデルで文章をEmbeddingする際のTips”
  • 【llama2.c】15Mに満たない言語モデルで小さな物語を紡ぐ|Baku

    OpenAIのAndrej Karpathy氏による「llama2.c」が話題になっていた。 CPU環境で「Llama 2 アーキテクチャをゼロから学習させ、重みを生のバイナリファイルに保存し、シンプルなCファイルにロードしてモデルを推論する」という一連の流れが体験できるという。 My fun weekend hack: llama2.c 🦙🤠https://t.co/CUoF0l07oX Lets you train a baby Llama 2 model in PyTorch, then inference it with one 500-line file with no dependencies, in pure C. My pretrained model (on TinyStories) samples stories in fp32 at 18 tok/s on my

    【llama2.c】15Mに満たない言語モデルで小さな物語を紡ぐ|Baku
  • Jupyter Notebook×MeCabで形態素解析! - Qiita

    こんにちは!今回はこちらの記事を見ていただきありがとうございます。 今回はタイトルにもある通り、最近Jupyter Notebook上で形態素解析エンジンである「MeCab」を動かす機会があったので備忘録として書かせていただきます。 ちなみに余談ですが名称は開発者の好物「和布蕪(めかぶ)」から取られたそうです。(引用) すき家のめかぶオクラ牛丼美味しいですよね。👀 早速ですが導入手順を書いていきたいと思います! 1. Jupyterのインストール 以下のリンクからインストールしてください。説明文にある4つのExtension Packも一緒にインストールすると良いかと思います。 2. MeCabのインストール こちらの参考にさせていただきました🙏 Homebrewがない方はインストールし、以下のコマンドを実行してください。

    Jupyter Notebook×MeCabで形態素解析! - Qiita
    gengohouse
    gengohouse 2023/07/26
    “Jupyter Notebook×MeCabで形態素解析!”
  • ChatGPT(とその周辺)の技術

    はじめに こんにちは。ZENKIGENデータサイエンスチームの栗原です。現在は主に『harutaka EF(エントリーファインダー)』の自然言語処理周りの研究開発に携わっています。 ChatGPTOpenAIから公開され約半年が経ちましたが、この半年の大規模言語モデル、生成AI周りの発展スピードは凄まじいものです。 日でも大きな盛り上がりを見せており、個人から企業、研究機関においてさまざまな活用、日語モデルの開発等が活発に行われている印象です。 ZENKIGENにおいてもChatGPTを含め大規模言語モデル、生成AIをプロダクトに活用する上での様々な検討が進んでおり、その一環として社内勉強会で『ChatGPT(とその周辺)の技術』というお話をしました。 記事は、これを外部向けに公開するものです。 内容は、OpenAIChatGPTに至るまでの変遷として GPT(GPT-1)から

    ChatGPT(とその周辺)の技術
  • Llama 2の性能がGPT-3.5並みだというのが本当かテストしてみた|IT navi

    1.Llama 2の日語能力最初に、Llama 2に日語で話しかけてみました。 入力 こんにちは。日語は話せますか? LLama 2 Konnichiwa! Yes, I can speak Japanese. How may I assist you today? (こんにちは。はい、日語が話せます。今日はどのようなご用件でしょうか?) 入力 富士山はどんな山ですか? Llama 2 Fuji-san is a very famous mountain in Japan, known for its beautiful and iconic shape. It is a stratovolcano, which means it is a type of volcano that is characterized by its steep, conical shape and i

    Llama 2の性能がGPT-3.5並みだというのが本当かテストしてみた|IT navi
    gengohouse
    gengohouse 2023/07/21
    “Llama 2の性能がGPT-3.5並みだというのが本当かテストしてみた”
  • 大規模言語モデルにおける課題と応用例を整理した結果 | AIDB

    大規模言語モデル(Large Language Models:LLMs)の研究が急速に進展する中、未解決の課題や有望な応用分野を特定することが困難になっています。この記事では、大規模言語モデルの現状を理解するための指針を提供する研究を紹介します。 参照論文情報 タイトル:Challenges and Applications of Large Language Models 著者:Jean Kaddour, Joshua Harris, Maximilian Mozes, Herbie Bradley, Roberta Raileanu, Robert McHardy 所属:ケンブリッジ大学、Stability AI、Meta AIなど URL:https://doi.org/10.48550/arXiv.2307.10169 関連研究 Metaが商用利用可能な大規模言語モデル「Llama

    大規模言語モデルにおける課題と応用例を整理した結果 | AIDB
  • 大規模言語モデル(LLM)の作り方 GPT-NeoX編 Part 1

    はじめに Turing 株式会社のリサーチチームでインターンをしている東京工業大学 B4 の藤井(@okoge_kaz)です。 大規模モデルへの注目の高さを肌で感じる今日このごろですが、事前学習の知見については依然として十分に共有されているとは言い難いと個人的に感じています。 Turing株式会社では、次世代の自動運転技術を支える技術の1つとして大規模言語モデルに注目しており、独自に研究開発を行っています。今回は大規模言語モデルを学習する際、用いるライブラリ候補の1つに上がるであろうGPT-NeoXについて解説します。 以下で環境構築方法、学習を行う方法などについて詳しく解説します。 GPT-NeoXとは EleutherAIが管理しているNIDIA/Megatron-LM ベースの大規模言語モデル(Large Language Model: LLM)を学習するためのライブラリです。 Mi

    大規模言語モデル(LLM)の作り方 GPT-NeoX編 Part 1
  • 大規模言語モデル RWKV-worldで学習で巨大なデータ(学会の予稿集のpdf)をファインチューニング(LoRA)する|Kan Hatakeyama

    概要学会の予稿集のような、大規模な文章(pdf)データを大規模言語モデルに学習させてみます 1.5 M tokenほどあります モデルは、学習と出力が高速なRWKVにしました 他のタスクでGPUリソースを使っているので、0.1B/ 1.5Bモデルでのお試しです 1.5Bは学習時にVRAM 7GBほど使います 執筆時、日語最強のオープンLLMと謳われるRWKV-4-World-JPNtunedが命ですが、7bを動かせるGPUが空いていなかったので、小さいモデルで試しています 前提: pdfデータの処理LLMとは直接関係がありませんが、一般論として、テキスト学習にはデータの前処理が必要です。 今回は、数百MBのpdfデータとして存在する学会の予稿集をきれいなテキストに変換しました。 まずは、巨大すぎるpdfを分割しておきます。 #pdfの分割 import os from PyPDF2 i

    大規模言語モデル RWKV-worldで学習で巨大なデータ(学会の予稿集のpdf)をファインチューニング(LoRA)する|Kan Hatakeyama
    gengohouse
    gengohouse 2023/07/18
    “大規模言語モデル RWKV-worldで学習で巨大なデータ(学会の予稿集のpdf)をファインチューニング(LoRA)する”