CentOS7でMecabをyum installする時に「Check that the correct key URLs are configured for this repository.」と怒られて失敗するCentOSmecabYumcentos7
BERTを使用した文章ベクトル作成の記事では、日本語BERT学習済みモデルを使った日本語の文章ベクトル作成をしてみました。文章ベクトルを作ることで、文章の分類や、機械学習アプリケーションへの入力として使うなど、色々な自然言語処理に応用することができます。文章ベクトルを作るには自然言語処理モデルを使いますが、モデルには色々な種類がありBERTだけでなく、その進化系のALBERTや、XLNetなど新しいモデルが提案され精度向上を謳っています。 今回はBERT以外のモデルでの文章ベクトル作成を試してみたいと思います。今回使うモデルは、Facebookで開発されたfastTextです。fastTextを自然言語に活用しようと思っていらっしゃる方向けの技術情報になれば幸いです。 Word2Vecを考案したトマス・ミコロフが、GoogleからFacebookの人工知能研究所「Facebook AI R
- はじめに - 近年、IT業界のダジャレは熾烈の一途を辿っている(ITだけに) 。 類義語を巧みに取り入れたダジャレ、難読化されたダジャレなどが増加し、一体どれで「初笑い」すれば良いのか悩む若者も少なくない。 そのような背景があり、ダジャレを判定するアルゴリズムの開発も盛んである。 ルールベースによる判定では、@kurehajimeが提案、開発したdajarep *1 や、@fujit33によるShareka *2が存在する。特にSharekaは、ルールベースのロジックにも関わらず、反復型とされる種類のダジャレに対して高い精度での判定を可能にしている。また、機械学習モデルを用いた判定手法として、谷津(@tuu_yaa)らが開発したDajaRecognizer *3がある。DajaRecognizerは、多くのルールベースによって子音音韻類似度をPMIとして定義、Bag-of-Words、
こんにちは、GMOアドマーケティングのS.Rです。 日本語のNLP(自然言語処理)で形態素解析は大切な処理の1つとなります。 今回は、形態素解析ツール「MeCab」へWikipediaの辞書を追加する方法を紹介します。1. 日本語の形態素解析ツールMeCab MeCabは日本語の形態素解析ツールです。詳細はWikipediaの説明をご覧ください。 MeCabはオープンソースの形態素解析エンジンで、奈良先端科学技術大学院大学出身、現GoogleソフトウェアエンジニアでGoogle 日本語入力開発者の一人である工藤拓によって開発されている。名称は開発者の好物「和布蕪(めかぶ)」から取られた。 MaCab、2019年09月17日、ウィキペディア日本語版、https://ja.wikipedia.org/wiki/MeCab 2. 「MeCab」へWikipediaの辞書を追加する方法の説明 1)
初めに termextractについて以下の記事を読ませてもらいました。 termextractを使って保持データから専門用語を抽出しmecabのユーザ辞書を作成する - Qiita 形態素解析を行うにあたっては、その業界ならではの単語などをまとめた専門用語辞書を作っておくと分かち書きされる際に良い形となりやすいと言うことで、termextractを使ってmecabのユーザ辞書を作ることにした。 今の抽出結果を反映させて確認したいだけだったので、辞書を出力するほどではないな…と。 というわけで、MeCabの出力と同じ形式で文字列を吐き出せるようなクラスを作成しました。 環境 Python 3.7.5 mecab-python 0.996.3 termextract 0.12b0 使い方 `MeCab.parse()の結果を受けながらオブジェクトを作成し、getそれと同じ形式で文字列を返しま
形態素解析は日本語処理の初歩であり、文を単語に分割したり、品詞や活用形、基本形を分析するために行います。本記事では形態素解析のツールをいくつかの出力例を交えて比較していきます。 (SentencePieceでいいじゃん、という人はお呼びでないですが、そういう方には、Twitterのトレンドが変な分割になってたら嫌では?と申し上げておきたいです) MeCab 言わずと知れた形態素解析器。とりあえずMeCabを使うという人は今なお多いことでしょう。とにかく高速であるということと、システムと辞書が分離されているのが特徴です。またPythonから使うのも簡単になりました(Janomeというものがありましたがmecab-python3の方が高速です)。Javaから使いたい人はKuromojiを使えばmecab(+ipadic)相当の結果が得られるはずです。 辞書はIPA辞書が推奨されていますが、Un
TL; DR 文のトークン化のためのライブラリである konoha の紹介をします. (旧 tiny_tokenizer) ↓みたいな感じで使えます.なにとぞ〜 from konoha import WordTokenizer sentence = '自然言語処理を勉強しています' tokenizer = WordTokenizer('MeCab') print(tokenizer.tokenize(sentence)) # -> [自然, 言語, 処理, を, 勉強, し, て, い, ます] tokenizer = WordTokenizer('Kytea') print(tokenizer.tokenize(sentence)) # -> [自然, 言語, 処理, を, 勉強, し, て, い, ま, す] tokenizer = WordTokenizer('Sentencepie
こんにちは、GMOアドマーケティングのS.Rです。 NLP(自然言語処理)は機械学習の中でも人気な分野の一つです。 今回は日本語のNLPで重要な処理である形態素解析のツール「MeCab」へユーザー辞書を追加する方法を紹介します。 1. NLPの基本処理プロセス 日本語を英語へ機械翻訳する例で説明します。 基本処理プロセスは図1の通りです。形態素解析は日本語に関するNLP処理の最初のプロセスです。 図1. 機械翻訳の処理の流れ 2. 形態素解析とは 形態素解析については以下のWikipediaの解説をご覧ください。 形態素解析(けいたいそかいせき、Morphological Analysis)とは、文法的な情報の注記の無い自然言語のテキストデータ(文)から、対象言語の文法や、辞書と呼ばれる単語の品詞等の情報にもとづき、形態素(Morpheme, おおまかにいえば、言語で意味を持つ最小単位)の
こんにちは、AppBrewでアルバイトをしている@Leoです。 自然言語処理の研究室に最近入った大学生で、趣味はKaggleと競技プログラミングです。 AppBrewでは、LIPSの投稿を使ったデータ分析をしています。 今日の記事では、弊社のアプリLIPSにて投稿ジャンルを機械学習を使って自動推定した方法を紹介します。 自然言語処理・確率関係全然わからない!という人でも読みやすい内容になっていると思うので、最後まで読んでいただけると幸いです! LIPSにおけるジャンル 教師データの作成 ナイーブベイズ 単語分割 モデルの実装 分類結果 おわりに LIPSにおけるジャンル 最近、LIPSにジャンル機能が追加されました。 これは投稿されたクチコミにジャンルを設定できる機能です。 適切にジャンルを設定すると、投稿を検索するときにジャンルを使って絞り込めるなどの利点があります。 ジャンルは7種類(
概要 最近文書分類にはまっていまして、ただライブラリを振り回すだけではさみしいなと思い、自分の理解を深めることも兼ねて記事にしたいと思います。 自然言語処理にて文書分類を行う場合、大きく次のようなステップを踏みます。 文書の形態素解析 文書の定量化(ベクトル化) 定量化した文書によるモデルの作成 検証データによるモデルの評価 タイトルにもあるtf-idfは「2. 文書の定量化(ベクトル化)」、単純ベイズ分類器は「3. 定量化した文書によるモデルの作成」と「4. 検証データによるモデルの評価」で使用します。 今回は国会議事録検索APIにより抽出した国会の議事録を分類してみたいと思います。 具体的には上記APIを用いて2008〜2017年の過去10年分の国会の常任委員会の発言内容を学習させ、2018年の発言内容を与えたときに正しく委員会を分類できるかやってみたいと思います。今回の分類対象の委員
はじめに 昨年、Google社から自然言語汎用言語モデル「BERT」が公開(※1)されてから、自然言語処理分野でのさらなる盛り上がりを感じているストックマークの森長です。 ※1) https://github.com/google-research/bert 上記ページでは、BERTの事前学習済モデルやサンプルスクリプトが公開されていますので、気軽にBERTを利用することができ、大変ありがたいです! しかし、日本語で利用してみたい場合、以下のハードルがあります。 Google社から公開されている事前学習済モデルには、日本語専用モデルがなく、104言語で学習されたMultilingual(多言語)モデルを利用しなければならない。 Multilingualモデルは、多言語対応のためかtokenizerがあまり日本語に適しているとは言えず、日本語文をトークン化した場合、トークンが文字単位ぐらいま
ちゃお・・・† 舞い降り・・・† 先日、前処理大全という本を読んで自分なりに何か書きたいなと思ったので、今回は自然言語処理の前処理とそのついでに素性の作り方をPythonコードとともに列挙したいと思います。必ずしも全部やる必要はないので目的に合わせて適宜使ってください。 前処理大全[データ分析のためのSQL/R/Python実践テクニック] 作者:本橋 智光技術評論社Amazon 前処理 余分な改行やスペースなどを除去 with open(path) as fd: for line in fd: line = line.rstrip() アルファベットの小文字化 text = text.lower() 正規化 (半角/全角変換などなど) import neologdn neologdn.normalize('ハンカクカナ') # => 'ハンカクカナ' neologdn.normalize
アーカイブ2024/04 (7) 2024/03 (4) 2024/01 (3) 2023/12 (1) 2023/11 (3) 2023/10 (1) 2023/09 (1) 2023/08 (2) 2023/05 (4) 2023/04 (4) 2023/03 (4) 2023/02 (2) 2023/01 (1) 2022/12 (1) 2022/11 (4) 2022/10 (3) 2022/09 (2) 2022/08 (4) 2022/07 (5) 2022/06 (4) 2022/05 (9) 2022/04 (8) 2022/03 (10) 2022/02 (21) 2022/01 (8) 2021/12 (11) 2021/11 (1) 2021/10 (4) 2021/09 (2) 2021/08 (1) 2021/07 (2) 2021/06 (5) 2021/05
MeCab用のすごい辞書として有名な mecab-ipadic-neologdをVagrant上のUbuntuにインストールしようとしたところ、次のようなエラーが発生しました。 (前略) terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc reading ./mecab-user-dict-seed.20170417.csv ... /home/ubuntu/mecab-ipadic-neologd/bin/../libexec/make-mecab-ipadic-neologd.sh: line 492: 2130 Aborted (core dumped) ${MECAB_LIBEXEC_DIR}/mecab-dict-index -f UTF8 -t UTF8 s
$ wget --no-check-certificate 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE' -O mecab-0.996.tar.gz $ tar zvxf mecab-0.996.tar.gz $ cd mecab-0.996 $ sudo ./configure --enable-utf8-only $ make $ sudo make install $ sudo sh -c "echo '/usr/local/lib' >> /etc/ld.so.conf" $ sudo ldconfig
はじめにこんにちは。DATUM STUDIOの安達です。 最近社内で日本語のテキストを用いた自然言語処理でよく質問を受けるのですが、前処理についてはそこそこ同じような内容になるため、本記事では社内共有の意味も込めて前処理に関して用いてきた&用いれそうな手法を列挙します。 比較的同じ内容を扱った既存の記事としては以下のようなものもあり、読者の方はこれらも参考にされて要件に合わせて取捨選択してください。 自然言語処理における前処理の種類とその威力 – Hironsan自然言語処理の前処理・素性いろいろ 本記事における使用言語、環境は以下の通りです。 ・osx 10.13.6・anaconda 5.2.0・python 3.5.2Table of contents ・形態素解析段階での前処理 ・文字表現の正規化 ・URLテキストの除外 ・Mecab + neologd 辞書による形態素解析 ・形
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く