tokenizeDocumentでトークン化したものをそのままSQL データベースに書き込みする方法はありませんでしょうか?
1 回表示 (過去 30 日間)
古いコメントを表示
Text Analytics Toolbox の tokenizedDocumentでトークン化したものをSQLデータベースに書き込みしたいのですが適合するデータ型が存在しないという認識です。
代替策として下記のような手法をとりましたが、処理が回りくどいように思えます。
他に良い方法はありませんでしょうか。
例)
・トークン化した文章を文字列に変換(例えば '["Hello" "," "World" "."]')
・上記を、データ型=varcharで上記レコードをデータベースに書き込み
・文字列として'["Hello" "," "World" "."]'をデータベースから読込
・", [, ] 等の記号をreplaceで抹消した後に、再度tokenizedDocumentでトークン化
0 件のコメント
採用された回答
Kojiro Saito
2025 年 2 月 4 日
編集済み: Kojiro Saito
2025 年 2 月 4 日
tokenizedDocumentのデータ型はそのままデータベースに書き込めないので、stringやcharの文字列に変換する必要があります。また、データベースに書き込んだ後に読み込み直して句読点などを取り除くのはおっしゃるとおり回りくどいので、書き込む前に処理してみてはいかがでしょうか。
%% テキストの前処理
str = [
"An example of a short sentence."
"A second short sentence."];
documents = tokenizedDocument(str); % トークン化
newDocuments = removeStopWords(documents); % aやtheなどのストップワードの除去
newDocuments = erasePunctuation(newDocuments); % ,や.などの句読点の除去
outStr = string(joinWords(newDocuments)); % トークンをstringに変換
%% データベースへの書き込み
conn = database('sql_server', 'username', 'password'); % SQL Serverへの接続
tbl = table(outStr, VariableNames = "txt"); % テーブルに変換する
sqlwrite(conn, 'texttbl', tbl) % データをSQLのテーブルに書き込み
close(conn) % SQL Serverの接続をクローズ
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Database Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!