使用LibreOffice Calc來編輯中文詞彙接龍的可能性? [論壇 - Ubuntu 與中文]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



使用LibreOffice Calc來編輯中文詞彙接龍的可能性?
會員五級
註冊日期:
2010/9/16 14:08
所屬群組:
已註冊使用者
等級: 25
HP : 0 / 616
MP : 271 / 16377
EXP: 65
離線
盡可能嘗試描述看看我的問題。
環境和素材為LibreOffice Calc 6.X、中華民國教育部國語辭典群(中華民國教育部國語辭典公眾授權網)。
我正在嘗試編輯盡可能最長的中文詞彙接龍。
詞彙接龍條件範例:
「會心一笑置之不理」(能夠接越多越好)
就是 會心一笑、一笑置之、置之不理
這些在國語辭典內的既有詞條的詞彙接龍。
之前根據網友提供之方向,我將國語辭典的詞條依字數做出排序。
並將其中的「四字部」擷取出來,約有三萬八千多筆的詞條量。
拉捲軸快速瀏覽過,可以發現不少「相同」的「二字部」,有時出現在四字部的前兩字、有時在四字部的後兩字。
LibreOffice Calc既有的操作功能(限定圖形介面操作、避免動用到攥寫一大串的額外的描述指令字串),能否規劃出一套「相對有效率」的「操作流程」,把這三萬八千多筆的「四字部」詞條,整理出盡可能最長的「詞彙接龍」?
當然或許若Calc無法做出全部的流程,但至少要能做出一部分流程。把三萬八千多筆詞條的資料量先整理縮小到某個程度。

9/17 0:07:02
----------------
個人網路文字作品集:
MacOSX10.5.8 安裝、設定、使用,個人經驗分享,正體中文版;以Windows思維用Linux,GNOME桌面篇;PDF
http://www.scribd.com/ianian1979
全字庫注音輸入法表格檔2019 (搭配CNS11643中文全字庫規格的Unicode格式傳統注音輸入法對照表)
https://sites.google.com/site/ianho7979/InputMethodTables
應用擴展 工具箱
回覆: 使用LibreOffice Calc來編輯中文詞彙接龍的可能性?
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 34
HP : 169 / 847
MP : 574 / 18554
EXP: 89
離線
IanHo 寫到:
盡可能嘗試描述看看我的問題。
環境和素材為LibreOffice Calc 6.X、中華民國教育部國語辭典群(中華民國教育部國語辭典公眾授權網)。
我正在嘗試編輯盡可能最長的中文詞彙接龍
詞彙接龍條件範例:
「會心一笑置之不理」(能夠接越多越好)
就是 會心一笑、一笑置之、置之不理
這些在國語辭典內的既有詞條的詞彙接龍。
之前根據網友提供之方向,我將國語辭典的詞條依字數做出排序。
並將其中的「四字部」擷取出來,約有三萬八千多筆的詞條量。
拉捲軸快速瀏覽過,可以發現不少「相同」的「二字部」,有時出現在四字部的前兩字、有時在四字部的後兩字。
LibreOffice Calc既有的操作功能(限定圖形介面操作、避免動用到攥寫一大串的額外的描述指令字串),能否規劃出一套「相對有效率」的「操作流程」,把這三萬八千多筆的「四字部」詞條,整理出盡可能最長的「詞彙接龍」?
當然或許若Calc無法做出全部的流程,但至少要能做出一部分流程。把三萬八千多筆詞條的資料量先整理縮小到某個程度。


根據您上面提到的需求

我寫了一個專案「demo-php-office-for-read-dict-db」放在「GitHub」上。

它並不完全符合您的前提

IanHo 寫到:
限定圖形介面操作、避免動用到攥寫一大串的額外的描述指令字串



不過我還是紀錄一下我目前所做到的成果和作法,提供參考,也許會激發其他的靈感產生。

================================================================================

以下的說明,以「教育部國語辭典公眾授權網 / 《國語辭典簡編本》資料下載」的「dict_concised_2014_20190411.zip」這個檔案內容為例。

================================================================================

## 操作步驟說明

1. 下載「dict_concised_2014_20190411.zip」這個檔案,
並且解開,會得到一個檔案「dict_concised_2014_20190411.xls」。

2. 透過「PHPOffice/PhpSpreadsheet」讀取「dict_concised_2014_20190411.xls」這個檔案的資料,
並且將它轉成「php serialize」的格式,然後存到一個檔案「DictConcised.txt」。
不見得要使用「php serialize」的格式,也可以採用「json」或是「sqlite」的方案。
目前實做出來的範例,以「php serialize」的格式為例。

3. 載入剛剛的檔案「DictConcised.txt」,挑出「四個字」的資料列,
將它轉成「php serialize」的格式,然後存到一個檔案「DictConcised-Four.txt」。

4. 載入剛剛的檔案「DictConcised-Four.txt」,做出一個對照表,是關於某個成語可以承接下一個的成語列表,
最後得到的「對照表」,將它轉成「php serialize」的格式,然後存到一個檔案「DictConcised-Link.txt」。

5. 未來只要載入「DictConcised-Link.txt」,也就是上面「第四點」產生出來的「對照表」,
根據這個「對照表」,就可以透過寫「php script」來產生成語接龍的每個排列組合,也就是您原本提到的核心需求。

相關的步驟,可以對照「demo-php-office-for-read-dict-db」的說明。

================================================================================

## 關於第四點的對照表

### 關於「會心一笑」,後面可以承接的成語


一笑置之



### 關於「一笑置之」,後面可以承接的成語


置之不理
置之度外



### 關於「置之不理」,後面可以承接的成語


不理不睬



而「置之度外」和「不理不睬」後面則是沒有可以承接的成語。

所以第四點提到的「對照表」,就類似如下的資料結構

## json


{
	"會心一笑": [
		"一笑置之"
	],
	"一笑置之": [
		"置之不理",
		"置之度外"
	],
	"置之不理": [
		"不理不睬"
	]
}



## php


[
	'會心一笑' => [
		'一笑置之'
	],
	'一笑置之' => [
		'置之不理',
		'置之度外'
	],
	'置之不理' => [
		'不理不睬'
	]
];



搭配「試算表」對照著看,也許能幫助您理解上面的資料結構。

上面的例子,接龍後的結果,用「試算表」來呈現。

================================================================================

以上提供參考

報告完畢


10/4 1:47:09
應用擴展 工具箱
回覆: 使用LibreOffice Calc來編輯中文詞彙接龍的可能性?
會員五級
註冊日期:
2010/9/16 14:08
所屬群組:
已註冊使用者
等級: 25
HP : 0 / 616
MP : 271 / 16377
EXP: 65
離線
samwhelp 寫到:

根據您上面提到的需求

我寫了一個專案「demo-php-office-for-read-dict-db」放在「GitHub」上。

它並不完全符合您的前提

以下恕刪



對我來說這些的確需要花費時間消化⋯⋯

10/5 0:19:37
----------------
個人網路文字作品集:
MacOSX10.5.8 安裝、設定、使用,個人經驗分享,正體中文版;以Windows思維用Linux,GNOME桌面篇;PDF
http://www.scribd.com/ianian1979
全字庫注音輸入法表格檔2019 (搭配CNS11643中文全字庫規格的Unicode格式傳統注音輸入法對照表)
https://sites.google.com/site/ianho7979/InputMethodTables
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.