<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Gpt-3 on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/tags/gpt-3/</link>
		<description>Recent content in Gpt-3 on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Thu, 01 Dec 2022 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/tags/gpt-3/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>OpenAIとStreamlitを使ったAIツイート自動生成サイト with ソースコード</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/12/ai-tweets-generator-with-openai-and-streamlit/</link>
				<pubDate>Thu, 01 Dec 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/12/ai-tweets-generator-with-openai-and-streamlit/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://openai.com/api/&#34;&gt;OpenAI GPT-3 API&lt;/a&gt;を呼び出して、お題に沿った適当なツイートを生成するwebサイトが、ソースと共に公開されています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://tweets.streamlit.app/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/12/ai-tweets-generator-with-openai-and-streamlit/streamlit-tweet-generator-jashin-chan_hu_663cc8de58e2bcc8.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/12/ai-tweets-generator-with-openai-and-streamlit/streamlit-tweet-generator-jashin-chan_hu_2fa08170c16b0447.webp 734w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/12/ai-tweets-generator-with-openai-and-streamlit/streamlit-tweet-generator-jashin-chan.jpg&#34; width=&#34;734&#34; height=&#34;735&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;指定するのは3つ。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;Topic: 語らせたい話題 Mood: どんなムードで語らせるか ([使える形容詞の一覧)](https://github.com/kinosal/tweet/blob/main/moods.txt) Twitterアカウント名: 既存のtwitterユーザーの最近のツイートを真似させる&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Mood と twitterユーザーはオプションなので、topic だけでも何かしら作ってくれます。&lt;/p&gt;&#xA;&lt;p&gt;例えばで以下のように入力してみました&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;Topic: Dropkick on my devil Mood: dreamy, happy, relaxed, tender Twitter: イーロン・マスク(elonmusk)&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;で、生成されたのがこれ&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Just watched an episode of #DropkickOnMyDevil and it made me feel so relaxed and happy - it&amp;rsquo;s the perfect way to end the day 🌃✨ (邪神ちゃんドロップキックを観たとこ。とてもリラックスしてハッピーな気分になった。パーフェクトな一日の締めくくりだ)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;模倣対象とムードを変えると、まったく違うツイートが出来上がってきます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;Topic: Dropkick on my devil Mood: inspirational, thoughtful, dignified Twitter: アメリカ大統領(potus)&lt;/code&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>リクルートメールにGPT-3を使って自動返信する</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/09/reply-recruiter-automatically-with-gpt-3/</link>
				<pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/09/reply-recruiter-automatically-with-gpt-3/</guid>
				<description>&lt;p&gt;転職エージェントや企業が送ってくる(スパムに近い)スカウトメールに対して&lt;a href=&#34;https://matthewbilyeu.com/blog/2022-09-01/responding-to-recruiter-emails-with-gpt-3&#34;&gt;OpenAI の GPT-3 API を使って自動応答をさせる方法を教えてくれるマット・ビリューさんのブログ記事&lt;/a&gt;がありました。&lt;/p&gt;&#xA;&lt;p&gt;転職に興味が無いなら無視してもよいでしょうが、ビリューさんは3つの理由から返事はしたいと考えたそうです。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;それが礼儀正しいから&lt;/li&gt;&#xA;&lt;li&gt;無視しても相手は何度もフォローアップのメールを送ってくるから&lt;/li&gt;&#xA;&lt;li&gt;いつか求職する時のために関係を維持することには興味があるから&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;2番はあるあるですね。リクルーター側も自動化されていると思いますが、〇日後、△日後に「先日メールを送りましたが、その後…」みたいなメールを送ってこられることはよくあります。&lt;/p&gt;&#xA;&lt;p&gt;それで短文の「今は職を探してないけどあなたのことは覚えておくよ」的な返事をするのですが、これも手動は面倒なので、自動化したいと考えたそう。そして、一律の固定文面ではなく相手に応じたパーソナライズをしようとした時に、ルールベースでリクルーターの所属と名前を取り出すよりも、機械学習による処理を考えたと。&lt;/p&gt;&#xA;&lt;p&gt;Python の&lt;a href=&#34;https://github.com/bi1yeu/recruiter_rm&#34;&gt;ソースコードが公開&lt;/a&gt;されているのですが、&lt;a href=&#34;https://openai.com/api/&#34;&gt;OpenAI の GPT-3 API&lt;/a&gt; を使って、相手の文面から企業名と相手の名前を抽出させ、返信のテンプレートにその社名と名前を埋め込んで返答を作っています。&lt;/p&gt;&#xA;&lt;p&gt;メールがリクルートメールなのかその他の一般のメールなのかの分類はこのスクリプトでは行わず、メールサービスの方の機能で分類しフォルダに分けているようです。サンプルの環境変数では&lt;a href=&#34;https://www.fastmail.com/&#34;&gt;Fastmail&lt;/a&gt;の名前がありますね。これを IMAP でアクセスしフォルダ内のメールに自動応答をかけています。&lt;/p&gt;&#xA;&lt;p&gt;スクリプト中ではサンプルのメール文面から&amp;quot;Apple&amp;quot;社の&amp;quot;Steve&amp;quot;さんを抜き出しています。OpenAI で実際にsummarize させてみると、ちゃんと取れてます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://openai.com/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/09/reply-recruiter-automatically-with-gpt-3/openai-gpt-3-summarize-recruiter-mail_hu_526ac1f5dcab8250.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/09/reply-recruiter-automatically-with-gpt-3/openai-gpt-3-summarize-recruiter-mail_hu_cde6ba3811ef3730.webp 482w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/09/reply-recruiter-automatically-with-gpt-3/openai-gpt-3-summarize-recruiter-mail.png&#34; width=&#34;482&#34; height=&#34;260&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;英語のリクルートメールから送信者の名前と社名を抽出する on OpenAI の Playground&lt;/p&gt;&#xA;&lt;p&gt;これは楽ですね。日本語だとどうなのかなと、適当な文面を作って(元ネタはいっぱいありますし)食わせると、これも取れるようです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://openai.com/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/09/reply-recruiter-automatically-with-gpt-3/openai-gpt-3-summarize-recruiter-mail-japanese_hu_c9be3661a274d4c3.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/09/reply-recruiter-automatically-with-gpt-3/openai-gpt-3-summarize-recruiter-mail-japanese_hu_bb8a46bc094dd5fb.webp 517w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/09/reply-recruiter-automatically-with-gpt-3/openai-gpt-3-summarize-recruiter-mail-japanese.png&#34; width=&#34;517&#34; height=&#34;452&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;GPT-3 の話でよく見るのはテキストの自動生成だったので、こういう要素の抽出にも簡単に使えると知れたのは良かったです。&lt;/p&gt;&#xA;&lt;p&gt;リクルートメールの方もどうせ自動化されまくっているので、この先はお互いが自動生成のメールを送りあって関係性を保つみたいなことになるのでしょうか。&lt;/p&gt;&#xA;&lt;p&gt;[追記] &lt;a href=&#34;https://news.ycombinator.com/item?id=32685214&#34;&gt;Hacker News&lt;/a&gt;のトップにも出ました。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Autoregex.xyz - 英語で書いた文章から正規表現を作る変換サービス</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/07/autoregex-converts-english-to-regex/</link>
				<pubDate>Sun, 10 Jul 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/07/autoregex-converts-english-to-regex/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://www.autoregex.xyz/home&#34;&gt;AutoRegex&lt;/a&gt;は、英語から正規表現への変換をしてくれるというwebサービスです。&lt;/p&gt;&#xA;&lt;p&gt;トップには「平易な英文からGPT-3を使って正規表現を生成します」とあります。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.autoregex.xyz/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/07/autoregex-converts-english-to-regex/autoregex-xyz-top_hu_ac68c6348fb38266.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/07/autoregex-converts-english-to-regex/autoregex-xyz-top_hu_e5804c84688e9ded.webp 768w, https://labs.cybozu.co.jp/blog/akky/2022/07/autoregex-converts-english-to-regex/autoregex-xyz-top_hu_8407bb67ef0e51c8.webp 864w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/07/autoregex-converts-english-to-regex/autoregex-xyz-top.png&#34; width=&#34;864&#34; height=&#34;869&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;autoregex.xyz のトップ&lt;/p&gt;&#xA;&lt;p&gt;メールアドレスで登録して試してみました。&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;phone number&amp;quot;と入れて出てきたのはこんな正規表現。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;code&gt;\d{3}-\d{3}-\d{4}&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;北米の番号としてはありうる正規表現かな。文字と桁だけチェックできて、形式も限定されていますが。(参考: &lt;a href=&#34;https://stackoverflow.com/a/25298604/610853&#34;&gt;まじめな正規表現の例&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Japanese phone number&amp;rdquo; だとこれが帰りました。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;code&gt;^\d{2}-\d{4}-\d{4}$&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;うん。だめですねこれ。携帯電話の番号とか地方の局番とかはマッチしなさそう。あと先ほどはなかった行頭行末の条件が増えています。&lt;/p&gt;&#xA;&lt;p&gt;中身がどう動いているかわかりませんが、正規表現とその解説文(英文)をたくさん食わせて学習させてるということだと、その中の日本の電話番号に関する情報が間違ってるのかもしれません。&lt;/p&gt;&#xA;&lt;p&gt;正規表現でよく揉める難しいやつ、&amp;ldquo;email address&amp;quot;を入れると、&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;code&gt;[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;はい。これはもともと簡単そうに見えて&lt;a href=&#34;http://www.din.or.jp/~ohzaki/mail_regex.htm&#34;&gt;非常に難しい問題&lt;/a&gt;なのですが、かなり緩い正規表現になっています。簡易なチェックに使うのも問題ありそう。&lt;/p&gt;&#xA;&lt;p&gt;トップページの例は英文で説明的に書いたものを正規表現化するものが多いので、こういうのも試しました。&amp;ldquo;word starts either a or b, then any alphabet follows, and ends with three digits&amp;rdquo;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;code&gt;^(a|b)[a-zA-Z]{3}[0-9]{3}$&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;言ってない条件が入ってますが、大きくは違ってないかと。&lt;/p&gt;&#xA;&lt;p&gt;変換ボタンをもう一度押すと、出てくる正規表現は変わっていくようです。何回も試す事でより正解に近い正規表現が得られることもあるかもしれませんが、現時点では出てきた正規表現を理解して意図通りになってることを確認・必要に応じて修正するとか、大量にテストケースを書いてテストするとか(まあ、これは自分で作った正規表現でもすることですが)しないといけなさそうに思います。&lt;/p&gt;&#xA;&lt;p&gt;現時点では利用には十分注意した方がいいと思いますが、いつか賢くなっていくなら助かる人もいそうなサービスです。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://www.reddit.com/r/programming/comments/vufpkg/its_2022_we_shouldnt_have_to_write_regex_by_hand/&#34;&gt;reddit&lt;/a&gt;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
