日本語の形態素解析器。 同機能を持つChaSenの3-4倍はやい。 また、はてなキーワードの抽出をTRIE を使って1600倍早くするPerl(&C++)スクリプトを公開している。 http://chasen.org/~taku/blog/archives/2005/09/post_812.html 近頃ではMysqlの全文検索ソフトSennaへの組み込みや、 作者の工藤氏によるAJAXによる日本語変換など、何かと話題になることが多い。
Python 実践 データ加工/可視化 100本ノック」を購入したので、 一通りやっているところです。今日はノック54を行います。 資料は以下から入手できます。 Python実践 データ加工/可視化 100本ノック|サポート|秀和システム ノック54:形態素解析で単語に分解しよう MeCabを使用して文章を最小単位に分解します。 1.MeCabのインストール方法 MeCabのURLに移動します。 taku910.github.io 下にスクロールするとダウンロードと記載されているので、mecab-0.996.exeをダウンロードします。 MeCab HP mecab-0.996.exeを起動す…
タイトルの通りです。 pythonにはneologdnなど文字列を正規化するライブラリが存在していました。 github.com Rubyでは存在しないようだったので、作ってみました。 github.com String型を拡張していて、簡単に使うことができます。 まずはインストール $ gem install normalize_text normalizeメソッドで文字列を正規化します。 require 'normalize_text' '検索 エンジン 自作 入門 を 買い ました!!!'.normalize => "検索エンジン自作入門を買いました!!!" 自然言語処理前の正規化などに…
fortee.jp こういったカンファレンスはiOSDC2020で初めて参加して、「面白かったし発表とかできたらかっこいいなぁ。でも何か発表できるようなネタもないしなぁ…」と思っていました。 今年に入り、仕事の中で「改行位置がiPhone SE(1st)だと微妙だけど、iPhone SE(1st)に合わせて改行しちゃうと今度はiPhone 12 Proで微妙だなぁ…」という状況に出くわしました。 その時は納期に追われて妥協して改行を入れたのですが、そのもやもやが残っていたところにiOSDCのプロポーザル募集を見て、「改行位置制御できたらトークのネタになりそうだなぁ」と思い試したところWORD …
結構詰まりやすいので書きます mecab導入(ubuntu想定) 前提知識:必要なアセットが異なる コマンドライン上で使う: mecab スクリプト上で使う: mecab-python3 mecabの導入 1. MeCabのインストール $ apt install mecab libmecab-dev mecab-ipadic-utf8 2. mecab-python3のインストール $ pip install mecab-python3 3. NEologdのインストール $ git clone --depth 1 https://github.com/neologd/mecab-ipadi…
自然言語処理できるようになりたい 日本語NLPで知ったような事が言いたいので、浅く広く急いで勉強する とりあえす使いたいNLPのソフトウェア 基本言語:Python 形態素解析:Mecab 係り受け解析:CaboCha (計量テキスト分析:KH Coder) 環境構築① ローカル環境 構成 windows10 64bit python 3.7.6 Anaconda 1.7.2 Mecab 公式32bit 0.996 CaboCha 公式 0.69 Mecab-python バインド mecab 情報散在混乱しすぎで焦る 大目的はKH Coder以外はPythonで全部操作できるようにすること。…
これはなに? 前回自然言語処理をする環境構築をやってみたので、GWの宿題として実際に分析をやってみました。 せっかくなので自分が好きな分野で分析してみたかったので、好きなアーティストのポルカドットスティングレイの歌詞データを自然言語処理、分析してみました。
これはなに? 業務で自然言語処理をすることが多くなって、環境構築するのがメンドイのでコンテナ化してみました。 形態素解析のためにMeCab、Word2Vecを利用するためにgensimをそれぞれインストールし、プラットフォームとしてJupyterLabを利用できるようにしています。
2020年もあともう少し、 今年は世界中が大変な1年でした。今年は新型コロナウィルスとかあつもりとかアマビエとか鬼滅の刃とかいろいろあるけど、 これらの言葉がどんな言葉と類似しているかちょっとだけ興味深いです。 fasttextの準備 作業内容 wikipediaの情報でデータ作成 wikipediaのダウンロード 日本語版wikipediaのテキストデータを取得 wikipediaデータ整形 mecabで分かち書き fasttextで評価 skipgram アルゴリズムで単語ベクトルを学習 テスト評価 単語と単語の近さを比較 特定の単語に似ているものを検索 流行語大賞で類似語を探してみる ア…
ふと、桃太郎に似た昔話ってなんだろうと思いコサイン類似度を使って桃太郎に似た昔話を探してみました。今回は mecab にneologd 辞書を使ってます。 昔話の取得先 文章の類似度の計算 コサイン類似度 環境準備 類似度の算出 事前準備(追加インストール) mecab-python3 インストール neologd 辞書インストール 動作確認 昔話のファイル作成 桃太郎 浦島太郎 さるかに合戦 一寸法師 わらしべ長者 pythonスクリプト 実行結果 昔話の取得先 昔話は以下のサイトのものを使わせていただきました。 www.douwa-douyou.jp 文章の類似度の計算 コサイン類似度 コ…
インターネットで「こころ 読書感想文 例文」で検索して得られた文章をまとめて一つのファイルに作成し、そこからMeCabとMarkovifyを使って感想文を作成します。 python code pythonのコード例です。 import MeCab import markovify file_name =open('souseki.txt') text=file_name.read() tagger = MeCab.Tagger("-Owakati") text1 = tagger.parse(text) model = markovify.Text(text1,state_size=2) se…
ノック55:分割したデータをデータフレームで保持しよう 単語に分割されたデータをデータフレーム型にし保存します。 #タイトルと著者名の取得 with open('data/hashire_merosu.txt',mode='r',encoding='shift-jis') as f : title = f.readline() author = f.readline() title = title.replace('\n','') author = author.replace('\n','') #公開日と修正日の取得 with open('data/hashire_merosu.txt',m…
環境構築 GiNZA - Japanese NLP Library | Universal Dependenciesに基づくオープンソース日本語NLPライブラリを眺めてとりあえず$ pip install -U ginza ja_ginzaを試してみると以下のエラー。 raise VersionConflict(dist, req).with_context(dependent_req) pkg_resources.VersionConflict: (setuptools 49.2.1 (/Applications/Xcode.app/Contents/Developer/Library/Fr…
こんにちは!TECH Street編集部です! 2022年2月10日(木)に開催したPythonエンジニア勉強会。今回は、Pythonの歴史から最新トレンド共有までを行う勉強会イベント第2弾を開催した様子をお届けいたします。 登壇者はこの方!阿部 一也さん/Institution for a Global Society株式会社 まずは、Pythonの概要と誕生のきっかけをお話いただきました。 そもそもPythonとは TIOBE Softwareが毎月発表するプログラミング言語の人気ランキング「TIOBEインデックス」では、2022年2月にPythonが1位になりました。数あるレガシーな言語…
自然言語処理において文章分類は一つの重要なタスクである。その際に,各文章に出てくる形態素の数の分布をとることでその文章の特徴として調べる方法があるが,Aさんは,ネット上のいくつかのブログ記事(少なくとも300文字程度はある文章)を分類しようと考え,各ブログ記事のテキストデータをそのままMeCabを用いて形態素に分割し,それぞれのブログ記事において出現回数が最も多かった上位3つの形態素をそれぞれのブログ記事の特徴とした。参考までにMeCabを用いた形態素の分割結果を下記に示す。(/で分割されている) これ/は/、/形態/素/に/MeCab/を/用い/て/分け/た/例/です/。【問題】以下の問に対…
テキストアナリティクスってかっこいい響き!!と思って並んでいた本を買ってしまったので、自分で手を動かしてやってみます。 で、歴代首相の所信表明演説とか分析しても正直つまらんので、最近ドンはまりした日向坂46のブログを使わせてもらいました。 目次 データ集め クリーニング 形態素解析 BoW(Bag of Words)へ整形 平均投稿語数を見てみる データ集め めんどいので省略します。メンバー全員+ポカの23人につき直近10記事ずつ、全230記事を公式サイトからなんやかんやして集めました。 正確な日付は記録してませんでしたが、ひな誕祭の後、コロナの集団感染がプレスリリースされたあたりです。 ひな…
同じ社名の顧客がいくつか存在していて困った事があったので、日本の会社の社名を中心に国税庁が公表している法人番号公表サイトのデータを使って色々分析してみました。 帝国データバンク、SPEEDA、uSonar、商工リサーチなどの有料のサービスを使わずに、個人で費用をかけずにどこまで調査できるかトライした結果です。 ※使用したデータは2022年2月28日時点の法人番号データです。 1. 日本で一番多い会社名(会社名ランキング) 2. 会社名の文字数 3. 同じ市内に同じ名前の会社はあるか?(登記住所の分析) 4. 上場企業と同名法人の登録状況 5. 都道府県別会社数 6.**工業、**建設、**サー…
はじめに 『Rが生産性を高める 〜データ分析ワークフロー効率化の実践』(R登山本)の内容を実際にやってみた記録や気になったことのメモです。 この記事は、6章を読んでやってみた内容です。本とあわせて読んでください。 【前の内容】 www.anarchive-beta.com 【この記事の内容】 はじめに バーチャートレースによる頻出語の可視化 形態素解析 単語の集計 バーチャートレースの作成 参考書籍 おわりに バーチャートレースによる頻出語の可視化 前回は、指定した月に登場した単語の頻度を棒グラフで可視化しました。今回は、期間を指定して、月ごとの単語の推移をバーチャートレースで可視化します。 …
はじめに 『Rが生産性を高める 〜データ分析ワークフロー効率化の実践』(R登山本)の内容を実際にやってみた記録や気になったことのメモです。 この記事は、6章を読んでやってみた内容です。本とあわせて読んでください。 【前の内容】 www.anarchive-beta.com 【この記事の内容】 はじめに 記事テキストのスクレイピング 記事テキストの収集 棒グラフによる頻出語の可視化 形態素解析 単語の集計 棒グラフによる可視化 参考書籍 おわりに 記事テキストのスクレイピング 前回は、はてなブログにおける記事のURLを収集しました。今回は、記事URLを使って、記事のテキストを収集します。 次のパ…
最近改めて感じたことがあったのでメモ。何が言いたいかというと、学んだ技術をそのまま使わなくても、背景にある考え方や設計から学ぶことが多いなあという話。 ちょうど仕事で文章解析ができないかという話すが出てきて、MeCab と fastText を使ってみたり色々と検証をしている。fastText をそのまま使うことはできないかなという印象なのだけど、単語をベクトル化する、数値として扱うという考え方自体は使用できそうだと感じる機会があった。 fastText を使ってなかったら、そのアイディアは出てこなかったし、今回 fastText を使わないにしても概念は他で使えることができた。 前に関数型言…
Word2Vecの概要 基本的には、同じような意味や使われ方をする単語は同じような文脈の中に 登場するという考えのもと、単語をベクトル化しています。 近い意味をもつ単語のコサイン類似度が高くなる。 「日本」ー「東京」+「ソウル」=「韓国」のような、 ベクトルの意味に注目した足し算や引き算が可能になる。 Word2Vecが登場する前はone-hot vectorやSVD(特異値分解)などで 次元圧縮したベクトルを使っていた。 →2017年ではWord2Vecがデファクトスタンダードと言っても過言ではない データ(文書)をコーパスと呼ぶ。 コーパスの取得 まずはWikipediaの記事本文を取得す…
BeTSCAE.db? エミィ単語検索 BeTSCAE.db? PoSP_ID参考 https://github.com/taku910/mecab/blob/master/mecab-ipadic/right-id.def これ、BoS/EoSの区別をしていないから、微修正が必要かも。BeTSCAE側を修正でいいと思うし難しくない気がする。ここ最近エミィにやらせていたツイート取得をふるいにかけたのでそれを基にそれっぽく試す。 とりあえずベースはマルコフ連鎖的なので試す。とりあえず2つ作ってどれくらい雰囲気違うのか試したい。MD 前の単語を覚えているもの 前の品詞を覚えているもの WD 「ID…
こんにちは。kyです。 今日はちょっと昔話というか、お話をしようと思います。ですので気軽に聞いてもらえると嬉しいです。 ここでお伝えしたいことは「テックブログの運営で大変だった話」と「課題を解決するプロダクトを作っていった話」です。僕なりに気づいたこともお伝えします。 昔、テックブログを作ったときの意気込みと大変だったこと 前の会社でPyQというWebサービスを数人で立ち上げたのですが、成長するにつれて、もっとお客様にPyQを知っていただく必要がありました。 マーケターのnanaもチームにジョインし「ブログを通して有益な情報を公開して、それでサービスを知ってもらおう!」と決めました。SEOだけ…
問題46 ルビを付ける 問題のファイルは https://github.com/shellgei/shellgei160 からダウンロードできる。
MeCabは昔使ってたんだけど、あの時はJavaで書いてた。 参考ページのメモ qiita.com github.com taku910.github.io とりあえず mecab-python3 を入れてみた。 pypi.org うごかしてみた