日本語の形態素解析器。 同機能を持つChaSenの3-4倍はやい。 また、はてなキーワードの抽出をTRIE を使って1600倍早くするPerl(&C++)スクリプトを公開している。 http://chasen.org/~taku/blog/archives/2005/09/post_812.html 近頃ではMysqlの全文検索ソフトSennaへの組み込みや、 作者の工藤氏によるAJAXによる日本語変換など、何かと話題になることが多い。
結論 mecab-ipadic-2.7.0-20070801 を --with-charset=utf8 のオプション付きでビルドする。 $ ./configure --with-charset=utf8 Natto で確認する 期待通りの挙動になっているかを Natto で確認します。 > require 'natto' > nm = Natto::MeCab.new => #<Natto::MeCab:0x00007f2546c63280 @model=#<FFI::Pointer address=0x0000561020b78620>, @tagger=#<FFI::Pointer ad…
はじめに この記事は UEC Advent Calendar 2023 10日目になります。 9日目はへるくんさんの「免許合宿に行きました」でした。 helkun.dev さらに、免許取得したら色んな場所に行きやすくなり、フットワークが軽くなります。世界は広いと実感させられます。 これはかなり真で、普通自動車を運転できることで人類が到達可能な陸地の99%に行けるようになり、さらに限界旅行の手段が格段に増えることが一般に知られている。したがって人類は軽率に普通運転免許を取得し、努めて移動などをするべきです。 また、 UEC 2 Advent Calendar 2023 9日目の記事はこうくんの「…
最近業務でAWSを触ることが多く、その中で形態素解析をする機会があったので、その際の内容を備忘録として残しておきます。 やったこと 手順 手順詳細 参考 やったこと AWSのサービスを使い、ファイルがS3に置かれたら自動で形態素解析ができるようなシステムを作る サービスとして、今回はLambdaを採用した 形態素解析ツールとしてMeCabを利用する 手順 今回実装した大まかな手順は以下になります EC2インスタンスを作成し、SSH接続をする EC2インスタンス上にDockerとAWS CLIをインストールする EC2インスタンス上でDockerfile、requirements.txt、lam…
えー本日は前回の続き。 「人工知能プログラミングのための数学がわかる本」の自然言語処理のところをやっていく。 今回は自然言語処理ということで青空文庫のtxtデータを使って、文学作品の作者を当てるというもの。 まずは文章の形態素解析(要は単語分割)を行わないといけないのですが、 MeCabというソフトウェアを使うらしい。こんなのよく作れんなほんと。 でMeCabをインストールして使おうとしたら、、、 symbol not found in flat namespace '__ZN5MeCab11createModelEPKc' というエラーが出てインポートできなかった。 というわけでいつものよう…
Pythonで自然言語処理を行うためには、MeCabと呼ばれる形態素解析器を使用することができます。MeCabは日本語のテキストを単語や品詞などの形態素に分解することができ、Pythonから簡単に利用することができます。本記事では、MeCabを使った日本語の形態素解析の方法を具体的な例とコードを交えて説明します。 (adsbygoogle = window.adsbygoogle || []).push({}); MeCabのインストール まずはじめに、MeCabをインストールする必要があります。MeCabはPythonのライブラリではなく、コマンドラインツールであるため、別途インストールが必…
MeCabのRuntimeError(Windowsでのpythonにて) エラー内容 環境 解決策 その前に コメント MeCabのRuntimeError(Windowsでのpythonにて) エラー内容 _MeCab.Tagger_swiginit(self, _MeCab.new_Tagger(*args)) RuntimeError 詳細 Traceback (most recent call last): File "mecab_test.py", line 6, in <module> mecab = MeCab.Tagger("-O chasen -d /var/lib/mec…
こんにちは。ふらうです。 今回、Doc2Vecというものに触れていきたいと思います。 使用環境 OS Windows 10 Home Anaconda(windows) Python 3.7.16 CPU Intel(R) Core(TM) i9-10900 CPU @ 2.80GHz 2.80 GHz GPU NVIDIA Geforce RTX 3070 メモリ 32GB gensim 3.8.3 Doc2Vecとは Doc2Vecの2種類のアーキテクチャ PV-DM(Distributed memory Model of Paragraph Vectors) PV-DBOW(Distri…
RMeCabをMac、しかもUTF-8環境で使いたいという条件で色々やって大変だったので、過程をメモしておきます。 ついでにcondaをメインで使っている都合上、Homebrewはインストールしないものとして環境を構築します。また、前提としてXcodeからコンパイラーはインストールされているものとします。 さらにインストールするMeCabは本体が「mecab-0.996.tar.gz」、辞書が「mecab-ipadic-2.7.0-20070801.tar.gz」とします。 MeCabのインストール 1. MeCabのダウンロードとインストール 2. 辞書のインストール 事前にnkfコマンドを…
はじめに: 『R環境で小説のテキストマイニング』の連載シリーズです。 連載シリーズの目次 実行環境 形態素解析と辞書設定 mecabを使った形態素解析 MeCabの辞書設定 辞書による形態素解析結果の違い デフォルトのipadic辞書を使った場合 neologd辞書を使った場合 unidic辞書を使った場合 jumandic辞書を使った場合 RMeCabで辞書設定を変更する方法 RMeCab形態素解析 + neologd辞書を用いた「坊ちゃん」の第1章テキストの形態素解析 RMeCab形態素解析 + neologd辞書を用いた「坊ちゃん」の第2章以降のテキストの形態素解析 まとめ テキスト処理…
はじめまして。キュービックでWebエンジニアを担当しているthと申します。 本年(2022年)は梅雨をすっ飛ばして突然真夏に突入してしまいましたが、みなさんいかがお過ごしでしょうか。 背景・概要 さて、早速ですが今回のお話の概要です。 複数のECサイトにて販売されている商品を一つのサイトにまとめて掲載する、いわゆる「価格比較サイト」のようなサービスの展開を検討しました。 このときに、各ECサイトにてJANコードのような商品が一意に識別できるIDが付与(掲載)されていればそれを元に「同一商品である」と簡単にみなすことができますが、サイトによって付与されているIDがまちまち、またはそもそも掲載され…
テクノロジー事業の為の、Outputブログ。おはようございます🌞 メッチョテック📈です。 今回は、 【テック投資】自然言語処理を、理解しよう! 自然言語処理 『自然言語処理とは...!?』 機械(コンピュータ)に人間の言葉を理解させる為に非常に重要な領域。 自然言語処理を端的に言うと、--- 人間の言葉を機械(コンピュータ)が理解する為のルール作り --- 自然言語処理活用例・Google検索・LINE・アレクサ・チャットボット・PC、スマホ等のかな文字変換 等、自然言語処理は最新テクノロジーに多く用いられている。 「機械(学習)が人間の言葉を理解するには...」 単語理解…文章がどのような単…
音声合成ソフトOpen JTalk 下記のURLを参考にインストールしてRaspberry pi zero 2Wで動かしてみました。 ラズパイでも動く音声合成ソフト3選(Open JTalk、VOICEVOX、VOICEPEAK) | ラズパイダ (raspida.com) まず、aptコマンドで下記のように入力してインストールします。 sudo apt install open-jtalk open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001 インストールが完了したら、しゃべらしてみましょう。 まず、コマンドを実行するシェルス…
Pythonで自然言語処理を行うにあたり、 ブログの諸先輩方から知恵を借りて、 Mecabで分かち書きする処理を作成。 この記事の末尾にソースを貼り付けておく。 このブログでの注意点として「self.tagger.parse("")」を追加。 これがないと、不定値の解析結果が紛れ込んでしまうっぽい。 そのまま動かしてテストできる形になっている。 「if __name__ == "__main__":」以降のdataリストのフレーズを分かち書きする。 (base) C:\PyTest\jobs_new2>python separatewordsj2.py 日本語の分かち書きで、CountVect…
NLTKは元もとペンシルバニア大学で作成されたPythonによる自然言語処理ライブラリー。 バイグラムは単語のペアである。コロケーションは頻繁に共起するバイグラム:例 red wine。 テキストコーパス 語彙資源:語彙項目(見出し語+品詞+語彙定義などで構成する)のリスト、語彙リストコーパス。ストップワードコーパス、発音辞書(単語+音素リスト)、比較語彙リスト(約200の単語をいくつかの言語で記す) WordNet:シソーラスに似ているがよりリッチ。階層構造(概念として上位、下位、最上位語は一般的概念)、メロニムはある要素からそれを含む構成要素への関係(木を構成するのは幹、枝)、ホロニムは構…
こないだX(旧Twitter)でこんなポストを見かけました。 私の顔、「も」とか「ぬ」って感じ「き」とか「さ」みたいな顔になりたい— ガン.D.エン (@kirokiromanga) February 8, 2024 このポスト見てて思いました。 これ数えたら、みんなの今の顔となりたい顔をどう思っているかわかりそう!って。 顔タイプ診断ってあるじゃん? あれのカジュアルな感じと言えそうです。 しかもひらがなになぞらえることが顔タイプ診断と違うのは、ひらがなは歌詞と同じく文字であるということ。 ということは、今の自分の顔に近い歌詞や、なりたい自分に近い歌詞、みたいなものが取り出せるのでは?とも思…
単語 文字Nグラムとは、長さNの部分文字列のこと。N=1はユニグラム、N=2はバイグラムという。文字Nグラムの頻度分布でテキスト中の良く使われている部分文字列を調べたり、隣り合う確率の高い文字を調べることができる。 Physonの形態素解析モジュールにはMeCab、janomeがある。形態素解析で品詞の推定もできる。 bag-of-words:形態素の多重集合で文書を表す。 特徴語:文書の中で内容を表す語のこと。 不要語(stop word):どのような文書でも特徴語になりえない語。日本語の不要語リストにはSlothLibで提供されているものがある。 文書dの特徴語wの条件: ①wはdに高頻度…
しりとりぼっとを作成中で、辞書がほしい。kuromoji.js の辞書から語彙を取得しようと試みたが、難しすぎて諦めた記録。 ※筆者はJavaScript歴半年のぴぇぴぇです。 やりたいこと しりとり辞書:しりとりで、システム(ボット)のターンでの単語選択に使うデータベースを作りたい 指定したカタカナ1文字に対して、その文字から始まる読みをもつ名詞を1つ出力する(「ア」→「朝」、「イ」→「イギリス」…など) 名詞が一般的な名詞かどうかの目安として(「険要」よりも「毛虫」のほうがしりとりっぽいので)何らかの頻度情報がほしい しりとり辞書の構成 「key: カタカナ1文字, value: その文字…
フルスクラッチゲームクリエイター業、4個目。ゲーム自体は https://nabetani.sakura.ne.jp/game24b/ で公開した。もともとタイルマップを使った普通のゲームを作るつもりだったんだけど、日本語の文章からタイツを探す、というアイディアが思いついてしまったのでそっちに行くことにした。ということで、まずは「タイツ」を含む文章を探す必要がある。改変しても法律的に問題ないものということで青空文庫から探そうと思ったけど、漢字かな交じりの文章から「たいつ」を探すのは割と難しい。形態素解析 をすればいいんだと思い、形態素解析といえば mecab。と思ったけど、それは 10年ぐらい…
仕事をしていて時間が有限なのですべての技術を学ぶこと、経験することは難しいですが、仕事上でPythonを学ぶ機会があって、プログラムを学ぶと色々と楽しいです。 Windowsユーザーで開発とまではいきませんが、PowerShellを使用して簡単なスクリプトを作ることはあるかもしれませんが、最近では業務の自動化、効率化が求められるようになっていて、単にサーバーが構築できるなどのスキルではちょっと不足という状態になります。 運用なども含めて自動化というところで、Pythonなどを使いこなせるようになると現場でのニーズはあがりそうです。 さて、今回たまたま知ったワードにスクレイピングというものがあり…
オープンなKindle用英和辞書を転置してオープンなKindle用和英辞書を生成するにあたり、読み仮名をChatGPTに生成させて精度向上を図った。
ブログのテキストを利用してちょっとした実験を行いました。 12月に書いた記事中、私がよく使う語句を抜き出します。それをChatGPT渡して作文をさせたらどんな文章が出てくるか?そんな実験です。
これは、なにをしたくて書いたもの? Transformersかつ日本語で、なにか動かしてみたいなと思って題材を探していたのですが、MLM(Masked Language Modeling)が ちょうど良さそうだったので試してみました。 MLM(Masked Language Modeling) MLM(Masked Language Modeling)は、マスクされたテキストからオリジナルのテキストを予測するものです。 A pretraining task where the model sees a corrupted version of the texts, usually done b…
本日のレシピはこちら。 年末にやりがちなやつです。 # 作業ディレクトリを掘って New-Item -ItemType Directory -Path "mp3", "text", "fixed", "csv", "word", "image" # 2023年は第222回から273回まで for ($i = 222; $i -le 273; $i++) { # エピソードをダウンロードして Invoke-WebRequest -Uri "https://cdn.ossan.fm/audio/$i.mp3" -OutFile "mp3/$i.mp3" # 文字起こしして whisper "mp3…
これまで利用したことがありませんでしたので、google colab で練習 目次 参考url pip install sentencepiece (Tokenizer)とは Pipelines python script Pipelines を使用しない python script 参考url 【日本語 GPT 文章生成】Hugging Face 入門① 〜Pipelineで、学習済みモデルを使ってみよう〜 【with りんなちゃん】 - YouTube 【Tokenizer (トークナイザー) とは?】Hugging Face 入門③ 〜TokenizerとModelオブジェクトの使い方〜…